mirror of
https://github.com/rreusser/rreusser.github.io.git
synced 2026-01-18 16:13:07 +00:00
1 line
108 KiB
JavaScript
1 line
108 KiB
JavaScript
!function(){return function e(t,n,r){function i(o,f){if(!n[o]){if(!t[o]){var u="function"==typeof require&&require;if(!f&&u)return u(o,!0);if(a)return a(o,!0);var s=new Error("Cannot find module '"+o+"'");throw s.code="MODULE_NOT_FOUND",s}var c=n[o]={exports:{}};t[o][0].call(c.exports,function(e){var n=t[o][1][e];return i(n||e)},c,c.exports,e,t,n,r)}return n[o].exports}for(var a="function"==typeof require&&require,o=0;o<r.length;o++)i(r[o]);return i}}()({1:[function(e,t,n){"use strict";t.exports=function(e,t){var n,s,c=r({element:window,constrainZoom:!1},e||{}),l=f({}),p=c.element,d=!1,h=[null,null],m=[null,null],v=!1,b=0,d=!1,g={},y=0,x={},w=a(p,function(e,t,n,r){y=e,x=r});function A(e,t){return e.preventDefault=t.preventDefault.bind(t),e.stopPropagation=t.stopPropagation.bind(t),e}function _(e){g.type="wheel",g.buttons=y,g.mods=x,g.x0=e.x,g.y0=e.y,g.dx=e.deltaX,g.dy=e.deltaY,g.dz=e.deltaZ,g.dsx=1,g.dsy=1,g.dsz=1,g.theta=0,g.dtheta=0,l.emit("interaction",A(g,e))}function E(e){n=i.x(e),s=i.y(e),g.type="mousedown",g.buttons=y,g.mods=x,g.x0=n,g.y0=s,g.dx=0,g.dy=0,g.dz=0,g.dsx=1,g.dsy=1,g.dsz=1,g.theta=0,g.dtheta=0,l.emit("interactionend",A(g,e))}function k(e){var t=i.x(e),r=i.y(e);g.type="mousemove",g.buttons=y,g.mods=x,g.x0=t,g.y0=r,g.dx=t-n,g.dy=r-s,g.dz=0,g.dsx=1,g.dsy=1,g.dsz=1,g.theta=0,g.dtheta=0,n=t,s=r,l.emit("interaction",A(g,e))}function D(e){for(var t=e.identifier,n=0;n<m.length;n++)if(m[n]&&m[n].touch&&m[n].touch.identifier===t)return n;return-1}function T(e){h=[null,null];for(var t=0;t<e.changedTouches.length;t++){var n=e.changedTouches[t],r=n.identifier,i=D(r);if(-1===i&&b<2){var a=0===b,f=m[0]?1:0,s=m[0]?0:1,c=new u;m[f]=c,b++,c.touch=n,o(n,p,c.position);m[s]&&m[s].touch;a||(v=!1)}}b>0&&(g.type=1===b?"touchstart":"pinchstart",g.buttons=0,g.mods={},g.x0=0,g.y0=0,g.dx=0,g.dy=0,g.dz=0,g.dsx=1,g.dsy=1,g.dsz=1,g.theta=0,g.dtheta=0,l.emit("interactionstart",A(g,e)))}function j(e){for(var t,n=!1,r=0;r<e.changedTouches.length;r++){var i=e.changedTouches[r];-1!==(t=D(i))&&(n=!0,m[t].touch=i,o(i,p,m[t].position))}if(n)if(1===b){for(t=0;t<m.length&&!m[t];t++);if(m[t]&&h[t]){var a=m[t].position[0],f=m[t].position[1],u=a-h[t][0],s=f-h[t][1];g.type="touch",g.buttons=0,g.mods={},g.x0=a,g.y0=f,g.dx=u,g.dy=s,g.dz=0,g.dsx=1,g.dsy=1,g.dsz=1,g.theta=0,g.dtheta=0,l.emit("interaction",A(g,e))}}else if(2===b&&h[0]&&h[1]){var c=h[0],d=h[1],v=d[0]-c[0],y=d[1]-c[1],x=m[0].position,w=m[1].position,_=w[0]-x[0],E=w[1]-x[1],k=Math.sqrt(v*v+y*y),T=Math.atan2(y,v),j=Math.sqrt(_*_+E*E),O=Math.atan2(E,_),S=.5*(d[0]+c[0]),C=.5*(d[1]+c[1]),u=.5*(w[0]+x[0]-c[0]-d[0]),s=.5*(w[1]+x[1]-c[1]-d[1]),L=j/k,F=O-T;g.type="pinch",g.buttons=0,g.mods={},g.x0=S,g.y0=C,g.dx=u,g.dy=s,g.dz=0,g.dsx=L,g.dsy=L,g.dsz=1,g.theta=O,g.dtheta=F,l.emit("interaction",A(g,e)),S,C}m[0]&&(h[0]=m[0].position.slice()),m[1]&&(h[1]=m[1].position.slice())}function O(e){for(var t=0;t<e.changedTouches.length;t++){var n=e.changedTouches[t],r=D(n);if(-1!==r){m[r]=null,b--;var i=0===r?1:0;m[i]&&m[i].touch}}v||2===b||(v=!0),b<2&&(g.type=0===b?"touchend":"pinchend",g.buttons=0,g.mods={},g.x0=0,g.y0=0,g.dx=0,g.dy=0,g.dz=0,g.dsx=1,g.dsy=1,g.dsz=1,g.theta=0,g.dtheta=0,l.emit("interactionend",A(g,e)))}function S(){d||(d=!0,w.enabled=!0,p.addEventListener("wheel",_,!1),p.addEventListener("mousedown",E,!1),p.addEventListener("mousemove",k,!1),p.addEventListener("touchstart",T,!1),p.addEventListener("touchmove",j,!1),p.addEventListener("touchend",O,!1),p.addEventListener("touchcancel",O,!1))}return S(),l.enable=S,l.disable=function(){d&&(d=!1,w.enabled=!1,p.removeEventListener("wheel",_,!1),p.removeEventListener("mousedown",E,!1),p.removeEventListener("mousemove",k,!1),p.removeEventListener("touchstart",T,!1),p.removeEventListener("touchmove",j,!1),p.removeEventListener("touchend",O,!1),p.removeEventListener("touchcancel",O,!1))},l};var r=e("util-extend"),i=e("mouse-event"),a=e("mouse-change"),o=e("mouse-event-offset"),f=e("event-emitter");function u(){this.position=[0,0],this.touch=null}},{"event-emitter":18,"mouse-change":72,"mouse-event":74,"mouse-event-offset":73,"util-extend":76}],2:[function(e,t,n){"use strict";var r=e("es5-ext/object/assign"),i=e("es5-ext/object/normalize-options"),a=e("es5-ext/object/is-callable"),o=e("es5-ext/string/#/contains");(t.exports=function(e,t){var n,a,f,u,s;return arguments.length<2||"string"!=typeof e?(u=t,t=e,e=null):u=arguments[2],null==e?(n=f=!0,a=!1):(n=o.call(e,"c"),a=o.call(e,"e"),f=o.call(e,"w")),s={value:t,configurable:n,enumerable:a,writable:f},u?r(i(u),s):s}).gs=function(e,t,n){var f,u,s,c;return"string"!=typeof e?(s=n,n=t,t=e,e=null):s=arguments[3],null==t?t=void 0:a(t)?null==n?n=void 0:a(n)||(s=n,n=void 0):(s=t,t=n=void 0),null==e?(f=!0,u=!1):(f=o.call(e,"c"),u=o.call(e,"e")),c={get:t,set:n,configurable:f,enumerable:u},s?r(i(s),c):c}},{"es5-ext/object/assign":4,"es5-ext/object/is-callable":7,"es5-ext/object/normalize-options":12,"es5-ext/string/#/contains":15}],3:[function(e,t,n){"use strict";t.exports=function(){}},{}],4:[function(e,t,n){"use strict";t.exports=e("./is-implemented")()?Object.assign:e("./shim")},{"./is-implemented":5,"./shim":6}],5:[function(e,t,n){"use strict";t.exports=function(){var e,t=Object.assign;return"function"==typeof t&&(t(e={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),e.foo+e.bar+e.trzy==="razdwatrzy")}},{}],6:[function(e,t,n){"use strict";var r=e("../keys"),i=e("../valid-value"),a=Math.max;t.exports=function(e,t){var n,o,f,u=a(arguments.length,2);for(e=Object(i(e)),f=function(r){try{e[r]=t[r]}catch(e){n||(n=e)}},o=1;o<u;++o)t=arguments[o],r(t).forEach(f);if(void 0!==n)throw n;return e}},{"../keys":9,"../valid-value":14}],7:[function(e,t,n){"use strict";t.exports=function(e){return"function"==typeof e}},{}],8:[function(e,t,n){"use strict";var r=e("../function/noop")();t.exports=function(e){return e!==r&&null!==e}},{"../function/noop":3}],9:[function(e,t,n){"use strict";t.exports=e("./is-implemented")()?Object.keys:e("./shim")},{"./is-implemented":10,"./shim":11}],10:[function(e,t,n){"use strict";t.exports=function(){try{return Object.keys("primitive"),!0}catch(e){return!1}}},{}],11:[function(e,t,n){"use strict";var r=e("../is-value"),i=Object.keys;t.exports=function(e){return i(r(e)?Object(e):e)}},{"../is-value":8}],12:[function(e,t,n){"use strict";var r=e("./is-value"),i=Array.prototype.forEach,a=Object.create;t.exports=function(e){var t=a(null);return i.call(arguments,function(e){r(e)&&function(e,t){var n;for(n in e)t[n]=e[n]}(Object(e),t)}),t}},{"./is-value":8}],13:[function(e,t,n){"use strict";t.exports=function(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return e}},{}],14:[function(e,t,n){"use strict";var r=e("./is-value");t.exports=function(e){if(!r(e))throw new TypeError("Cannot use null or undefined");return e}},{"./is-value":8}],15:[function(e,t,n){"use strict";t.exports=e("./is-implemented")()?String.prototype.contains:e("./shim")},{"./is-implemented":16,"./shim":17}],16:[function(e,t,n){"use strict";var r="razdwatrzy";t.exports=function(){return"function"==typeof r.contains&&(!0===r.contains("dwa")&&!1===r.contains("foo"))}},{}],17:[function(e,t,n){"use strict";var r=String.prototype.indexOf;t.exports=function(e){return r.call(this,e,arguments[1])>-1}},{}],18:[function(e,t,n){"use strict";var r,i,a,o,f,u,s,c=e("d"),l=e("es5-ext/object/valid-callable"),p=Function.prototype.apply,d=Function.prototype.call,h=Object.create,m=Object.defineProperty,v=Object.defineProperties,b=Object.prototype.hasOwnProperty,g={configurable:!0,enumerable:!1,writable:!0};f={on:r=function(e,t){var n;return l(t),b.call(this,"__ee__")?n=this.__ee__:(n=g.value=h(null),m(this,"__ee__",g),g.value=null),n[e]?"object"==typeof n[e]?n[e].push(t):n[e]=[n[e],t]:n[e]=t,this},once:i=function(e,t){var n,i;return l(t),i=this,r.call(this,e,n=function(){a.call(i,e,n),p.call(t,this,arguments)}),n.__eeOnceListener__=t,this},off:a=function(e,t){var n,r,i,a;if(l(t),!b.call(this,"__ee__"))return this;if(!(n=this.__ee__)[e])return this;if("object"==typeof(r=n[e]))for(a=0;i=r[a];++a)i!==t&&i.__eeOnceListener__!==t||(2===r.length?n[e]=r[a?0:1]:r.splice(a,1));else r!==t&&r.__eeOnceListener__!==t||delete n[e];return this},emit:o=function(e){var t,n,r,i,a;if(b.call(this,"__ee__")&&(i=this.__ee__[e]))if("object"==typeof i){for(n=arguments.length,a=new Array(n-1),t=1;t<n;++t)a[t-1]=arguments[t];for(i=i.slice(),t=0;r=i[t];++t)p.call(r,this,a)}else switch(arguments.length){case 1:d.call(i,this);break;case 2:d.call(i,this,arguments[1]);break;case 3:d.call(i,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,a=new Array(n-1),t=1;t<n;++t)a[t-1]=arguments[t];p.call(i,this,a)}}},u={on:c(r),once:c(i),off:c(a),emit:c(o)},s=v({},u),t.exports=n=function(e){return null==e?h(s):v(Object(e),u)},n.methods=f},{d:2,"es5-ext/object/valid-callable":13}],19:[function(e,t,n){"use strict";var r=e("h");t.exports=function(e,t){return t=t||{},function(n,i){if(!n)return e&&e(i);if(n instanceof Error)n=n.name+": "+n.message;else if("string"!=typeof n)throw new Error("fail-nicely: Oops! the message must be a String or an Error. How ironic.");var a=void 0===t.zIndex?9999:parseInt(t.zIndex),o=void 0===t.bg?"#333":t.bg,f=void 0===t.fg?"#fff":t.fg,u=void 0===t.title?"Sorry!":t.title,s=void 0===t.fontFamily?"Helvetica, Arial, sans-serif":t.fontFamily,c=void 0===t.position?"fixed":t.position;if(void 0!==t.invert&&t.invert){var l=f;f=o,o=l}var p={position:c,top:0,right:0,bottom:0,left:0,"background-color":o,color:f,"text-align":"center","z-index":a},d={"font-family":s},h={"font-family":s,"max-width":"640px","margin-left":"auto","margin-right":"auto","line-height":"1.4",padding:"0 15px"};document.body.appendChild(r("div",{style:p},[r("div",{style:{transform:"translate(0, -50%)","margin-top":"50vh"}},[r("h1",u,{style:d}),r("p",n,{style:h})])]))}}},{h:71}],20:[function(e,t,n){t.exports=function(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=t[4],f=t[5],u=t[6],s=t[7],c=t[8],l=t[9],p=t[10],d=t[11],h=t[12],m=t[13],v=t[14],b=t[15];return e[0]=f*(p*b-d*v)-l*(u*b-s*v)+m*(u*d-s*p),e[1]=-(r*(p*b-d*v)-l*(i*b-a*v)+m*(i*d-a*p)),e[2]=r*(u*b-s*v)-f*(i*b-a*v)+m*(i*s-a*u),e[3]=-(r*(u*d-s*p)-f*(i*d-a*p)+l*(i*s-a*u)),e[4]=-(o*(p*b-d*v)-c*(u*b-s*v)+h*(u*d-s*p)),e[5]=n*(p*b-d*v)-c*(i*b-a*v)+h*(i*d-a*p),e[6]=-(n*(u*b-s*v)-o*(i*b-a*v)+h*(i*s-a*u)),e[7]=n*(u*d-s*p)-o*(i*d-a*p)+c*(i*s-a*u),e[8]=o*(l*b-d*m)-c*(f*b-s*m)+h*(f*d-s*l),e[9]=-(n*(l*b-d*m)-c*(r*b-a*m)+h*(r*d-a*l)),e[10]=n*(f*b-s*m)-o*(r*b-a*m)+h*(r*s-a*f),e[11]=-(n*(f*d-s*l)-o*(r*d-a*l)+c*(r*s-a*f)),e[12]=-(o*(l*v-p*m)-c*(f*v-u*m)+h*(f*p-u*l)),e[13]=n*(l*v-p*m)-c*(r*v-i*m)+h*(r*p-i*l),e[14]=-(n*(f*v-u*m)-o*(r*v-i*m)+h*(r*u-i*f)),e[15]=n*(f*p-u*l)-o*(r*p-i*l)+c*(r*u-i*f),e}},{}],21:[function(e,t,n){t.exports=function(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},{}],22:[function(e,t,n){t.exports=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},{}],23:[function(e,t,n){t.exports=function(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},{}],24:[function(e,t,n){t.exports=function(e){var t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],f=e[6],u=e[7],s=e[8],c=e[9],l=e[10],p=e[11],d=e[12],h=e[13],m=e[14],v=e[15];return(t*o-n*a)*(l*v-p*m)-(t*f-r*a)*(c*v-p*h)+(t*u-i*a)*(c*m-l*h)+(n*f-r*o)*(s*v-p*d)-(n*u-i*o)*(s*m-l*d)+(r*u-i*f)*(s*h-c*d)}},{}],25:[function(e,t,n){t.exports=function(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n+n,f=r+r,u=i+i,s=n*o,c=r*o,l=r*f,p=i*o,d=i*f,h=i*u,m=a*o,v=a*f,b=a*u;return e[0]=1-l-h,e[1]=c+b,e[2]=p-v,e[3]=0,e[4]=c-b,e[5]=1-s-h,e[6]=d+m,e[7]=0,e[8]=p+v,e[9]=d-m,e[10]=1-s-l,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},{}],26:[function(e,t,n){t.exports=function(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],f=r+r,u=i+i,s=a+a,c=r*f,l=r*u,p=r*s,d=i*u,h=i*s,m=a*s,v=o*f,b=o*u,g=o*s;return e[0]=1-(d+m),e[1]=l+g,e[2]=p-b,e[3]=0,e[4]=l-g,e[5]=1-(c+m),e[6]=h+v,e[7]=0,e[8]=p+b,e[9]=h-v,e[10]=1-(c+d),e[11]=0,e[12]=n[0],e[13]=n[1],e[14]=n[2],e[15]=1,e}},{}],27:[function(e,t,n){t.exports=function(e,t,n,r,i,a,o){var f=1/(n-t),u=1/(i-r),s=1/(a-o);return e[0]=2*a*f,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*a*u,e[6]=0,e[7]=0,e[8]=(n+t)*f,e[9]=(i+r)*u,e[10]=(o+a)*s,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*s,e[15]=0,e}},{}],28:[function(e,t,n){t.exports=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},{}],29:[function(e,t,n){t.exports={create:e("./create"),clone:e("./clone"),copy:e("./copy"),identity:e("./identity"),transpose:e("./transpose"),invert:e("./invert"),adjoint:e("./adjoint"),determinant:e("./determinant"),multiply:e("./multiply"),translate:e("./translate"),scale:e("./scale"),rotate:e("./rotate"),rotateX:e("./rotateX"),rotateY:e("./rotateY"),rotateZ:e("./rotateZ"),fromRotationTranslation:e("./fromRotationTranslation"),fromQuat:e("./fromQuat"),frustum:e("./frustum"),perspective:e("./perspective"),perspectiveFromFieldOfView:e("./perspectiveFromFieldOfView"),ortho:e("./ortho"),lookAt:e("./lookAt"),str:e("./str")}},{"./adjoint":20,"./clone":21,"./copy":22,"./create":23,"./determinant":24,"./fromQuat":25,"./fromRotationTranslation":26,"./frustum":27,"./identity":28,"./invert":30,"./lookAt":31,"./multiply":32,"./ortho":33,"./perspective":34,"./perspectiveFromFieldOfView":35,"./rotate":36,"./rotateX":37,"./rotateY":38,"./rotateZ":39,"./scale":40,"./str":41,"./translate":42,"./transpose":43}],30:[function(e,t,n){t.exports=function(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=t[4],f=t[5],u=t[6],s=t[7],c=t[8],l=t[9],p=t[10],d=t[11],h=t[12],m=t[13],v=t[14],b=t[15],g=n*f-r*o,y=n*u-i*o,x=n*s-a*o,w=r*u-i*f,A=r*s-a*f,_=i*s-a*u,E=c*m-l*h,k=c*v-p*h,D=c*b-d*h,T=l*v-p*m,j=l*b-d*m,O=p*b-d*v,S=g*O-y*j+x*T+w*D-A*k+_*E;if(!S)return null;return S=1/S,e[0]=(f*O-u*j+s*T)*S,e[1]=(i*j-r*O-a*T)*S,e[2]=(m*_-v*A+b*w)*S,e[3]=(p*A-l*_-d*w)*S,e[4]=(u*D-o*O-s*k)*S,e[5]=(n*O-i*D+a*k)*S,e[6]=(v*x-h*_-b*y)*S,e[7]=(c*_-p*x+d*y)*S,e[8]=(o*j-f*D+s*E)*S,e[9]=(r*D-n*j-a*E)*S,e[10]=(h*A-m*x+b*g)*S,e[11]=(l*x-c*A-d*g)*S,e[12]=(f*k-o*T-u*E)*S,e[13]=(n*T-r*k+i*E)*S,e[14]=(m*y-h*w-v*g)*S,e[15]=(c*w-l*y+p*g)*S,e}},{}],31:[function(e,t,n){var r=e("./identity");t.exports=function(e,t,n,i){var a,o,f,u,s,c,l,p,d,h,m=t[0],v=t[1],b=t[2],g=i[0],y=i[1],x=i[2],w=n[0],A=n[1],_=n[2];if(Math.abs(m-w)<1e-6&&Math.abs(v-A)<1e-6&&Math.abs(b-_)<1e-6)return r(e);l=m-w,p=v-A,d=b-_,h=1/Math.sqrt(l*l+p*p+d*d),a=y*(d*=h)-x*(p*=h),o=x*(l*=h)-g*d,f=g*p-y*l,(h=Math.sqrt(a*a+o*o+f*f))?(a*=h=1/h,o*=h,f*=h):(a=0,o=0,f=0);u=p*f-d*o,s=d*a-l*f,c=l*o-p*a,(h=Math.sqrt(u*u+s*s+c*c))?(u*=h=1/h,s*=h,c*=h):(u=0,s=0,c=0);return e[0]=a,e[1]=u,e[2]=l,e[3]=0,e[4]=o,e[5]=s,e[6]=p,e[7]=0,e[8]=f,e[9]=c,e[10]=d,e[11]=0,e[12]=-(a*m+o*v+f*b),e[13]=-(u*m+s*v+c*b),e[14]=-(l*m+p*v+d*b),e[15]=1,e}},{"./identity":28}],32:[function(e,t,n){t.exports=function(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],f=t[4],u=t[5],s=t[6],c=t[7],l=t[8],p=t[9],d=t[10],h=t[11],m=t[12],v=t[13],b=t[14],g=t[15],y=n[0],x=n[1],w=n[2],A=n[3];return e[0]=y*r+x*f+w*l+A*m,e[1]=y*i+x*u+w*p+A*v,e[2]=y*a+x*s+w*d+A*b,e[3]=y*o+x*c+w*h+A*g,y=n[4],x=n[5],w=n[6],A=n[7],e[4]=y*r+x*f+w*l+A*m,e[5]=y*i+x*u+w*p+A*v,e[6]=y*a+x*s+w*d+A*b,e[7]=y*o+x*c+w*h+A*g,y=n[8],x=n[9],w=n[10],A=n[11],e[8]=y*r+x*f+w*l+A*m,e[9]=y*i+x*u+w*p+A*v,e[10]=y*a+x*s+w*d+A*b,e[11]=y*o+x*c+w*h+A*g,y=n[12],x=n[13],w=n[14],A=n[15],e[12]=y*r+x*f+w*l+A*m,e[13]=y*i+x*u+w*p+A*v,e[14]=y*a+x*s+w*d+A*b,e[15]=y*o+x*c+w*h+A*g,e}},{}],33:[function(e,t,n){t.exports=function(e,t,n,r,i,a,o){var f=1/(t-n),u=1/(r-i),s=1/(a-o);return e[0]=-2*f,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*s,e[11]=0,e[12]=(t+n)*f,e[13]=(i+r)*u,e[14]=(o+a)*s,e[15]=1,e}},{}],34:[function(e,t,n){t.exports=function(e,t,n,r,i){var a=1/Math.tan(t/2),o=1/(r-i);return e[0]=a/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+r)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*r*o,e[15]=0,e}},{}],35:[function(e,t,n){t.exports=function(e,t,n,r){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),f=Math.tan(t.rightDegrees*Math.PI/180),u=2/(o+f),s=2/(i+a);return e[0]=u,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=-(o-f)*u*.5,e[9]=(i-a)*s*.5,e[10]=r/(n-r),e[11]=-1,e[12]=0,e[13]=0,e[14]=r*n/(n-r),e[15]=0,e}},{}],36:[function(e,t,n){t.exports=function(e,t,n,r){var i,a,o,f,u,s,c,l,p,d,h,m,v,b,g,y,x,w,A,_,E,k,D,T,j=r[0],O=r[1],S=r[2],C=Math.sqrt(j*j+O*O+S*S);if(Math.abs(C)<1e-6)return null;j*=C=1/C,O*=C,S*=C,i=Math.sin(n),a=Math.cos(n),o=1-a,f=t[0],u=t[1],s=t[2],c=t[3],l=t[4],p=t[5],d=t[6],h=t[7],m=t[8],v=t[9],b=t[10],g=t[11],y=j*j*o+a,x=O*j*o+S*i,w=S*j*o-O*i,A=j*O*o-S*i,_=O*O*o+a,E=S*O*o+j*i,k=j*S*o+O*i,D=O*S*o-j*i,T=S*S*o+a,e[0]=f*y+l*x+m*w,e[1]=u*y+p*x+v*w,e[2]=s*y+d*x+b*w,e[3]=c*y+h*x+g*w,e[4]=f*A+l*_+m*E,e[5]=u*A+p*_+v*E,e[6]=s*A+d*_+b*E,e[7]=c*A+h*_+g*E,e[8]=f*k+l*D+m*T,e[9]=u*k+p*D+v*T,e[10]=s*k+d*D+b*T,e[11]=c*k+h*D+g*T,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]);return e}},{}],37:[function(e,t,n){t.exports=function(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[4],o=t[5],f=t[6],u=t[7],s=t[8],c=t[9],l=t[10],p=t[11];t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]);return e[4]=a*i+s*r,e[5]=o*i+c*r,e[6]=f*i+l*r,e[7]=u*i+p*r,e[8]=s*i-a*r,e[9]=c*i-o*r,e[10]=l*i-f*r,e[11]=p*i-u*r,e}},{}],38:[function(e,t,n){t.exports=function(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],f=t[2],u=t[3],s=t[8],c=t[9],l=t[10],p=t[11];t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]);return e[0]=a*i-s*r,e[1]=o*i-c*r,e[2]=f*i-l*r,e[3]=u*i-p*r,e[8]=a*r+s*i,e[9]=o*r+c*i,e[10]=f*r+l*i,e[11]=u*r+p*i,e}},{}],39:[function(e,t,n){t.exports=function(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],f=t[2],u=t[3],s=t[4],c=t[5],l=t[6],p=t[7];t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]);return e[0]=a*i+s*r,e[1]=o*i+c*r,e[2]=f*i+l*r,e[3]=u*i+p*r,e[4]=s*i-a*r,e[5]=c*i-o*r,e[6]=l*i-f*r,e[7]=p*i-u*r,e}},{}],40:[function(e,t,n){t.exports=function(e,t,n){var r=n[0],i=n[1],a=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},{}],41:[function(e,t,n){t.exports=function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}},{}],42:[function(e,t,n){t.exports=function(e,t,n){var r,i,a,o,f,u,s,c,l,p,d,h,m=n[0],v=n[1],b=n[2];t===e?(e[12]=t[0]*m+t[4]*v+t[8]*b+t[12],e[13]=t[1]*m+t[5]*v+t[9]*b+t[13],e[14]=t[2]*m+t[6]*v+t[10]*b+t[14],e[15]=t[3]*m+t[7]*v+t[11]*b+t[15]):(r=t[0],i=t[1],a=t[2],o=t[3],f=t[4],u=t[5],s=t[6],c=t[7],l=t[8],p=t[9],d=t[10],h=t[11],e[0]=r,e[1]=i,e[2]=a,e[3]=o,e[4]=f,e[5]=u,e[6]=s,e[7]=c,e[8]=l,e[9]=p,e[10]=d,e[11]=h,e[12]=r*m+f*v+l*b+t[12],e[13]=i*m+u*v+p*b+t[13],e[14]=a*m+s*v+d*b+t[14],e[15]=o*m+c*v+h*b+t[15]);return e}},{}],43:[function(e,t,n){t.exports=function(e,t){if(e===t){var n=t[1],r=t[2],i=t[3],a=t[6],o=t[7],f=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=n,e[6]=t[9],e[7]=t[13],e[8]=r,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=f}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}},{}],44:[function(e,t,n){t.exports=function(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e}},{}],45:[function(e,t,n){t.exports=function(e){var t=new Float32Array(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],46:[function(e,t,n){t.exports=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],47:[function(e,t,n){t.exports=function(){var e=new Float32Array(4);return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e}},{}],48:[function(e,t,n){t.exports=function(e,t){var n=t[0]-e[0],r=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return Math.sqrt(n*n+r*r+i*i+a*a)}},{}],49:[function(e,t,n){t.exports=function(e,t,n){return e[0]=t[0]/n[0],e[1]=t[1]/n[1],e[2]=t[2]/n[2],e[3]=t[3]/n[3],e}},{}],50:[function(e,t,n){t.exports=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}},{}],51:[function(e,t,n){t.exports=function(e,t,n,r){var i=new Float32Array(4);return i[0]=e,i[1]=t,i[2]=n,i[3]=r,i}},{}],52:[function(e,t,n){t.exports={create:e("./create"),clone:e("./clone"),fromValues:e("./fromValues"),copy:e("./copy"),set:e("./set"),add:e("./add"),subtract:e("./subtract"),multiply:e("./multiply"),divide:e("./divide"),min:e("./min"),max:e("./max"),scale:e("./scale"),scaleAndAdd:e("./scaleAndAdd"),distance:e("./distance"),squaredDistance:e("./squaredDistance"),length:e("./length"),squaredLength:e("./squaredLength"),negate:e("./negate"),inverse:e("./inverse"),normalize:e("./normalize"),dot:e("./dot"),lerp:e("./lerp"),random:e("./random"),transformMat4:e("./transformMat4"),transformQuat:e("./transformQuat")}},{"./add":44,"./clone":45,"./copy":46,"./create":47,"./distance":48,"./divide":49,"./dot":50,"./fromValues":51,"./inverse":53,"./length":54,"./lerp":55,"./max":56,"./min":57,"./multiply":58,"./negate":59,"./normalize":60,"./random":61,"./scale":62,"./scaleAndAdd":63,"./set":64,"./squaredDistance":65,"./squaredLength":66,"./subtract":67,"./transformMat4":68,"./transformQuat":69}],53:[function(e,t,n){t.exports=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e}},{}],54:[function(e,t,n){t.exports=function(e){var t=e[0],n=e[1],r=e[2],i=e[3];return Math.sqrt(t*t+n*n+r*r+i*i)}},{}],55:[function(e,t,n){t.exports=function(e,t,n,r){var i=t[0],a=t[1],o=t[2],f=t[3];return e[0]=i+r*(n[0]-i),e[1]=a+r*(n[1]-a),e[2]=o+r*(n[2]-o),e[3]=f+r*(n[3]-f),e}},{}],56:[function(e,t,n){t.exports=function(e,t,n){return e[0]=Math.max(t[0],n[0]),e[1]=Math.max(t[1],n[1]),e[2]=Math.max(t[2],n[2]),e[3]=Math.max(t[3],n[3]),e}},{}],57:[function(e,t,n){t.exports=function(e,t,n){return e[0]=Math.min(t[0],n[0]),e[1]=Math.min(t[1],n[1]),e[2]=Math.min(t[2],n[2]),e[3]=Math.min(t[3],n[3]),e}},{}],58:[function(e,t,n){t.exports=function(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e[3]=t[3]*n[3],e}},{}],59:[function(e,t,n){t.exports=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e}},{}],60:[function(e,t,n){t.exports=function(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=n*n+r*r+i*i+a*a;o>0&&(o=1/Math.sqrt(o),e[0]=n*o,e[1]=r*o,e[2]=i*o,e[3]=a*o);return e}},{}],61:[function(e,t,n){var r=e("./normalize"),i=e("./scale");t.exports=function(e,t){return t=t||1,e[0]=Math.random(),e[1]=Math.random(),e[2]=Math.random(),e[3]=Math.random(),r(e,e),i(e,e,t),e}},{"./normalize":60,"./scale":62}],62:[function(e,t,n){t.exports=function(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}},{}],63:[function(e,t,n){t.exports=function(e,t,n,r){return e[0]=t[0]+n[0]*r,e[1]=t[1]+n[1]*r,e[2]=t[2]+n[2]*r,e[3]=t[3]+n[3]*r,e}},{}],64:[function(e,t,n){t.exports=function(e,t,n,r,i){return e[0]=t,e[1]=n,e[2]=r,e[3]=i,e}},{}],65:[function(e,t,n){t.exports=function(e,t){var n=t[0]-e[0],r=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return n*n+r*r+i*i+a*a}},{}],66:[function(e,t,n){t.exports=function(e){var t=e[0],n=e[1],r=e[2],i=e[3];return t*t+n*n+r*r+i*i}},{}],67:[function(e,t,n){t.exports=function(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e[3]=t[3]-n[3],e}},{}],68:[function(e,t,n){t.exports=function(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3];return e[0]=n[0]*r+n[4]*i+n[8]*a+n[12]*o,e[1]=n[1]*r+n[5]*i+n[9]*a+n[13]*o,e[2]=n[2]*r+n[6]*i+n[10]*a+n[14]*o,e[3]=n[3]*r+n[7]*i+n[11]*a+n[15]*o,e}},{}],69:[function(e,t,n){t.exports=function(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[0],f=n[1],u=n[2],s=n[3],c=s*r+f*a-u*i,l=s*i+u*r-o*a,p=s*a+o*i-f*r,d=-o*r-f*i-u*a;return e[0]=c*s+d*-o+l*-u-p*-f,e[1]=l*s+d*-f+p*-o-c*-u,e[2]=p*s+d*-u+c*-f-l*-o,e[3]=t[3],e}},{}],70:[function(e,t,n){t.exports=function(e){"string"==typeof e&&(e=[e]);for(var t=[].slice.call(arguments,1),n=[],r=0;r<e.length-1;r++)n.push(e[r],t[r]||"");return n.push(e[r]),n.join("")}},{}],71:[function(e,t,n){!function(){function e(){var e=[].slice.call(arguments),t=null;function n(e){if(null==e);else if("string"==typeof e)t?t.appendChild(document.createTextNode(e)):e.split(/([\.#]?[a-zA-Z0-9_-]+)/).forEach(function(e){var n=e.substring(1,e.length);e&&(t?"."===e[0]?t.classList.add(n):"#"===e[0]&&t.setAttribute("id",n):t=document.createElement(e))});else if("number"==typeof e||"boolean"==typeof e||e instanceof Date||e instanceof RegExp)t.appendChild(document.createTextNode(e.toString()));else if(Array.isArray(e))e.forEach(n);else if(e instanceof HTMLElement)t.appendChild(e);else if("object"==typeof e)for(var r in e)if("function"==typeof e[r])t.addEventListener(r,e[r]);else if("style"===r)for(var i in e[r])t.style.setProperty(i,e[r][i]);else t.setAttribute(r,e[r])}for(;e.length;)n(e.shift());return t}"object"==typeof t?t.exports=e:this.h=e}()},{}],72:[function(e,t,n){"use strict";t.exports=function(e,t){t||(t=e,e=window);var n=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},f=!1;function u(e){var t=!1;return"altKey"in e&&(t=t||e.altKey!==o.alt,o.alt=!!e.altKey),"shiftKey"in e&&(t=t||e.shiftKey!==o.shift,o.shift=!!e.shiftKey),"ctrlKey"in e&&(t=t||e.ctrlKey!==o.control,o.control=!!e.ctrlKey),"metaKey"in e&&(t=t||e.metaKey!==o.meta,o.meta=!!e.metaKey),t}function s(e,f){var s=r.x(f),c=r.y(f);"buttons"in f&&(e=0|f.buttons),(e!==n||s!==i||c!==a||u(f))&&(n=0|e,i=s||0,a=c||0,t&&t(n,i,a,o))}function c(e){s(0,e)}function l(){(n||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,n=0,o.shift=o.alt=o.control=o.meta=!1,t&&t(0,0,0,o))}function p(e){u(e)&&t&&t(n,i,a,o)}function d(e){0===r.buttons(e)?s(0,e):s(n,e)}function h(e){s(n|r.buttons(e),e)}function m(e){s(n&~r.buttons(e),e)}function v(){f||(f=!0,e.addEventListener("mousemove",d),e.addEventListener("mousedown",h),e.addEventListener("mouseup",m),e.addEventListener("mouseleave",c),e.addEventListener("mouseenter",c),e.addEventListener("mouseout",c),e.addEventListener("mouseover",c),e.addEventListener("blur",l),e.addEventListener("keyup",p),e.addEventListener("keydown",p),e.addEventListener("keypress",p),e!==window&&(window.addEventListener("blur",l),window.addEventListener("keyup",p),window.addEventListener("keydown",p),window.addEventListener("keypress",p)))}v();var b={element:e};return Object.defineProperties(b,{enabled:{get:function(){return f},set:function(t){t?v():f&&(f=!1,e.removeEventListener("mousemove",d),e.removeEventListener("mousedown",h),e.removeEventListener("mouseup",m),e.removeEventListener("mouseleave",c),e.removeEventListener("mouseenter",c),e.removeEventListener("mouseout",c),e.removeEventListener("mouseover",c),e.removeEventListener("blur",l),e.removeEventListener("keyup",p),e.removeEventListener("keydown",p),e.removeEventListener("keypress",p),e!==window&&(window.removeEventListener("blur",l),window.removeEventListener("keyup",p),window.removeEventListener("keydown",p),window.removeEventListener("keypress",p)))},enumerable:!0},buttons:{get:function(){return n},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),b};var r=e("mouse-event")},{"mouse-event":74}],73:[function(e,t,n){var r={left:0,top:0};t.exports=function(e,t,n){t=t||e.currentTarget||e.srcElement,Array.isArray(n)||(n=[0,0]);var i=e.clientX||0,a=e.clientY||0,o=(f=t,f===window||f===document||f===document.body?r:f.getBoundingClientRect());var f;return n[0]=i-o.left,n[1]=a-o.top,n}},{}],74:[function(e,t,n){"use strict";function r(e){return e.target||e.srcElement||window}n.buttons=function(e){if("object"==typeof e){if("buttons"in e)return e.buttons;if("which"in e){if(2===(t=e.which))return 4;if(3===t)return 2;if(t>0)return 1<<t-1}else if("button"in e){var t;if(1===(t=e.button))return 4;if(2===t)return 2;if(t>=0)return 1<<t}}return 0},n.element=r,n.x=function(e){if("object"==typeof e){if("offsetX"in e)return e.offsetX;var t=r(e).getBoundingClientRect();return e.clientX-t.left}return 0},n.y=function(e){if("object"==typeof e){if("offsetY"in e)return e.offsetY;var t=r(e).getBoundingClientRect();return e.clientY-t.top}return 0}},{}],75:[function(e,t,n){var r,i;r=this,i=function(){function e(e,t){this.id=W++,this.type=e,this.data=t}function t(e){return"["+function e(t){if(0===t.length)return[];var n=t.charAt(0),r=t.charAt(t.length-1);if(1<t.length&&n===r&&('"'===n||"'"===n))return['"'+t.substr(1,t.length-2).replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];if(n=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(t))return e(t.substr(0,n.index)).concat(e(n[1])).concat(e(t.substr(n.index+n[0].length)));if(1===(n=t.split(".")).length)return['"'+t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];for(t=[],r=0;r<n.length;++r)t=t.concat(e(n[r]));return t}(e).join("][")+"]"}function n(e){return"string"==typeof e?e.split():e}function r(e){return"string"==typeof e?document.querySelector(e):e}function i(e){var t,i,a,o,f=e||{};e={};var u=[],s=[],c="undefined"==typeof window?1:window.devicePixelRatio,l=!1,p=function(e){},d=function(){};if("string"==typeof f?t=document.querySelector(f):"object"==typeof f&&("string"==typeof f.nodeName&&"function"==typeof f.appendChild&&"function"==typeof f.getBoundingClientRect?t=f:"function"==typeof f.drawArrays||"function"==typeof f.drawElements?a=(o=f).canvas:("gl"in f?o=f.gl:"canvas"in f?a=r(f.canvas):"container"in f&&(i=r(f.container)),"attributes"in f&&(e=f.attributes),"extensions"in f&&(u=n(f.extensions)),"optionalExtensions"in f&&(s=n(f.optionalExtensions)),"onDone"in f&&(p=f.onDone),"profile"in f&&(l=!!f.profile),"pixelRatio"in f&&(c=+f.pixelRatio))),t&&("canvas"===t.nodeName.toLowerCase()?a=t:i=t),!o){if(!a){if(!(t=function(e,t,n){function r(){var t=window.innerWidth,r=window.innerHeight;e!==document.body&&(t=(r=e.getBoundingClientRect()).right-r.left,r=r.bottom-r.top),i.width=n*t,i.height=n*r,H(i.style,{width:t+"px",height:r+"px"})}var i=document.createElement("canvas");return H(i.style,{border:0,margin:0,padding:0,top:0,left:0}),e.appendChild(i),e===document.body&&(i.style.position="absolute",H(e.style,{margin:0,padding:0})),window.addEventListener("resize",r,!1),r(),{canvas:i,onDestroy:function(){window.removeEventListener("resize",r),e.removeChild(i)}}}(i||document.body,0,c)))return null;a=t.canvas,d=t.onDestroy}o=function(e,t){function n(n){try{return e.getContext(n,t)}catch(e){return null}}return n("webgl")||n("experimental-webgl")||n("webgl-experimental")}(a,e)}return o?{gl:o,canvas:a,container:i,extensions:u,optionalExtensions:s,pixelRatio:c,profile:l,onDone:p,onDestroy:d}:(d(),p("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function a(e){return!!e&&"object"==typeof e&&Array.isArray(e.shape)&&Array.isArray(e.stride)&&"number"==typeof e.offset&&e.shape.length===e.stride.length&&(Array.isArray(e.data)||N(e.data))}function o(e,t){for(var n=Array(e),r=0;r<e;++r)n[r]=t(r);return n}function f(e){var t,n;return t=(65535<e)<<4,t|=n=(255<(e>>>=t))<<3,(t|=n=(15<(e>>>=n))<<2)|(n=(3<(e>>>=n))<<1)|e>>>n>>1}function u(e){e:{for(var t=16;268435456>=t;t*=16)if(e<=t){e=t;break e}e=0}return 0<(t=G[f(e)>>2]).length?t.pop():new ArrayBuffer(e)}function s(e){G[f(e.byteLength)>>2].push(e)}function c(e,t,n,r,i,a){for(var o=0;o<t;++o)for(var f=e[o],u=0;u<n;++u)for(var s=f[u],c=0;c<r;++c)i[a++]=s[c]}function l(e){return 0|K[Object.prototype.toString.call(e)]}function p(e,t){for(var n=0;n<t.length;++n)e[n]=t[n]}function d(e,t,n,r,i,a,o){for(var f=0,u=0;u<n;++u)for(var s=0;s<r;++s)e[f++]=t[i*u+a*s+o]}function h(e,t,n){function r(t){this.id=u++,this.buffer=e.createBuffer(),this.type=t,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,n.profile&&(this.stats={size:0})}function i(t,n,r){t.byteLength=n.byteLength,e.bufferData(t.type,n,r)}function o(e,t,n,r,o,f){if(e.usage=n,Array.isArray(t)){if(e.dtype=r||5126,0<t.length)if(Array.isArray(t[0])){o=ee(t);for(var u=r=1;u<o.length;++u)r*=o[u];e.dimension=r,i(e,t=$(t,o,e.dtype),n),f?e.persistentData=t:Y.freeType(t)}else"number"==typeof t[0]?(e.dimension=o,p(o=Y.allocType(e.dtype,t.length),t),i(e,o,n),f?e.persistentData=o:Y.freeType(o)):N(t[0])&&(e.dimension=t[0].length,e.dtype=r||l(t[0])||5126,i(e,t=$(t,[t.length,t[0].length],e.dtype),n),f?e.persistentData=t:Y.freeType(t))}else if(N(t))e.dtype=r||l(t),e.dimension=o,i(e,t,n),f&&(e.persistentData=new Uint8Array(new Uint8Array(t.buffer)));else if(a(t)){o=t.shape;var s=t.stride,c=(u=t.offset,0),h=0,m=0,v=0;1===o.length?(c=o[0],h=1,m=s[0],v=0):2===o.length&&(c=o[0],h=o[1],m=s[0],v=s[1]),e.dtype=r||l(t.data)||5126,e.dimension=h,d(o=Y.allocType(e.dtype,c*h),t.data,c,h,m,v,u),i(e,o,n),f?e.persistentData=o:Y.freeType(o)}}function f(n){t.bufferCount--,e.deleteBuffer(n.buffer),n.buffer=null,delete s[n.id]}var u=0,s={};r.prototype.bind=function(){e.bindBuffer(this.type,this.buffer)},r.prototype.destroy=function(){f(this)};var c=[];return n.profile&&(t.getTotalBufferSize=function(){var e=0;return Object.keys(s).forEach(function(t){e+=s[t].stats.size}),e}),{create:function(i,u,c,h){function m(t){var r=35044,i=null,f=0,u=0,s=1;return Array.isArray(t)||N(t)||a(t)?i=t:"number"==typeof t?f=0|t:t&&("data"in t&&(i=t.data),"usage"in t&&(r=J[t.usage]),"type"in t&&(u=Z[t.type]),"dimension"in t&&(s=0|t.dimension),"length"in t&&(f=0|t.length)),v.bind(),i?o(v,i,r,u,s,h):(e.bufferData(v.type,f,r),v.dtype=u||5121,v.usage=r,v.dimension=s,v.byteLength=f),n.profile&&(v.stats.size=v.byteLength*te[v.dtype]),m}t.bufferCount++;var v=new r(u);return s[v.id]=v,c||m(i),m._reglType="buffer",m._buffer=v,m.subdata=function(t,n){var r,i=0|(n||0);if(v.bind(),N(t))e.bufferSubData(v.type,i,t);else if(Array.isArray(t)){if(0<t.length)if("number"==typeof t[0]){var o=Y.allocType(v.dtype,t.length);p(o,t),e.bufferSubData(v.type,i,o),Y.freeType(o)}else(Array.isArray(t[0])||N(t[0]))&&(r=ee(t),o=$(t,r,v.dtype),e.bufferSubData(v.type,i,o),Y.freeType(o))}else if(a(t)){r=t.shape;var f=t.stride,u=o=0,s=0,c=0;1===r.length?(o=r[0],u=1,s=f[0],c=0):2===r.length&&(o=r[0],u=r[1],s=f[0],c=f[1]),r=Array.isArray(t.data)?v.dtype:l(t.data),d(r=Y.allocType(r,o*u),t.data,o,u,s,c,t.offset),e.bufferSubData(v.type,i,r),Y.freeType(r)}return m},n.profile&&(m.stats=v.stats),m.destroy=function(){f(v)},m},createStream:function(e,t){var n=c.pop();return n||(n=new r(e)),n.bind(),o(n,t,35040,0,1,!1),n},destroyStream:function(e){c.push(e)},clear:function(){V(s).forEach(f),c.forEach(f)},getBuffer:function(e){return e&&e._buffer instanceof r?e._buffer:null},restore:function(){V(s).forEach(function(t){t.buffer=e.createBuffer(),e.bindBuffer(t.type,t.buffer),e.bufferData(t.type,t.persistentData||t.byteLength,t.usage)})},_initBuffer:o}}function m(e,t,n,r){function i(e){this.id=s++,u[this.id]=this,this.buffer=e,this.primType=4,this.type=this.vertCount=0}function o(r,i,o,f,u,s,c){if(r.buffer.bind(),i){var l=c;c||N(i)&&(!a(i)||N(i.data))||(l=t.oes_element_index_uint?5125:5123),n._initBuffer(r.buffer,i,o,l,3)}else e.bufferData(34963,s,o),r.buffer.dtype=l||5121,r.buffer.usage=o,r.buffer.dimension=3,r.buffer.byteLength=s;if(l=c,!c){switch(r.buffer.dtype){case 5121:case 5120:l=5121;break;case 5123:case 5122:l=5123;break;case 5125:case 5124:l=5125}r.buffer.dtype=l}r.type=l,0>(i=u)&&(i=r.buffer.byteLength,5123===l?i>>=1:5125===l&&(i>>=2)),r.vertCount=i,i=f,0>f&&(i=4,1===(f=r.buffer.dimension)&&(i=0),2===f&&(i=1),3===f&&(i=4)),r.primType=i}function f(e){r.elementsCount--,delete u[e.id],e.buffer.destroy(),e.buffer=null}var u={},s=0,c={uint8:5121,uint16:5123};t.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var l=[];return{create:function(e,t){function u(e){if(e)if("number"==typeof e)s(e),l.primType=4,l.vertCount=0|e,l.type=5121;else{var t=null,n=35044,r=-1,i=-1,f=0,p=0;Array.isArray(e)||N(e)||a(e)?t=e:("data"in e&&(t=e.data),"usage"in e&&(n=J[e.usage]),"primitive"in e&&(r=ne[e.primitive]),"count"in e&&(i=0|e.count),"type"in e&&(p=c[e.type]),"length"in e?f=0|e.length:(f=i,5123===p||5122===p?f*=2:5125!==p&&5124!==p||(f*=4))),o(l,t,n,r,i,f,p)}else s(),l.primType=4,l.vertCount=0,l.type=5121;return u}var s=n.create(null,34963,!0),l=new i(s._buffer);return r.elementsCount++,u(e),u._reglType="elements",u._elements=l,u.subdata=function(e,t){return s.subdata(e,t),u},u.destroy=function(){f(l)},u},createStream:function(e){var t=l.pop();return t||(t=new i(n.create(null,34963,!0,!1)._buffer)),o(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){l.push(e)},getElements:function(e){return"function"==typeof e&&e._elements instanceof i?e._elements:null},clear:function(){V(u).forEach(f)}}}function v(e){for(var t=Y.allocType(5123,e.length),n=0;n<e.length;++n)if(isNaN(e[n]))t[n]=65535;else if(1/0===e[n])t[n]=31744;else if(-1/0===e[n])t[n]=64512;else{re[0]=e[n];var r=(a=ie[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;t[n]=-24>i?r:-14>i?r+(a+1024>>-14-i):15<i?r+31744:r+(i+15<<10)+a}return t}function b(e){return Array.isArray(e)||N(e)}function g(e){return Array.isArray(e)&&(0===e.length||"number"==typeof e[0])}function y(e){return!(!Array.isArray(e)||0===e.length||!b(e[0]))}function x(e){return Object.prototype.toString.call(e)}function w(e){if(!e)return!1;var t=x(e);return 0<=ue.indexOf(t)||(g(e)||y(e)||a(e))}function A(e,t){36193===e.type?(e.data=v(t),Y.freeType(t)):e.data=t}function _(e,t,n,r,i,a){if(e=void 0!==ce[e]?ce[e]:fe[e]*se[t],a&&(e*=6),i){for(r=0;1<=n;)r+=e*n*n,n/=2;return r}return e*n*r}function E(e,t,n,r,i,o,f){function u(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function s(e,t){e.internalformat=t.internalformat,e.format=t.format,e.type=t.type,e.compressed=t.compressed,e.premultiplyAlpha=t.premultiplyAlpha,e.flipY=t.flipY,e.unpackAlignment=t.unpackAlignment,e.colorSpace=t.colorSpace,e.width=t.width,e.height=t.height,e.channels=t.channels}function c(e,t){if("object"==typeof t&&t){"premultiplyAlpha"in t&&(e.premultiplyAlpha=t.premultiplyAlpha),"flipY"in t&&(e.flipY=t.flipY),"alignment"in t&&(e.unpackAlignment=t.alignment),"colorSpace"in t&&(e.colorSpace=q[t.colorSpace]),"type"in t&&(e.type=U[t.type]);var n=e.width,r=e.height,i=e.channels,a=!1;"shape"in t?(n=t.shape[0],r=t.shape[1],3===t.shape.length&&(i=t.shape[2],a=!0)):("radius"in t&&(n=r=t.radius),"width"in t&&(n=t.width),"height"in t&&(r=t.height),"channels"in t&&(i=t.channels,a=!0)),e.width=0|n,e.height=0|r,e.channels=0|i,n=!1,"format"in t&&(n=t.format,r=e.internalformat=Q[n],e.format=ie[r],n in U&&!("type"in t)&&(e.type=U[n]),n in G&&(e.compressed=!0),n=!0),!a&&n?e.channels=fe[e.format]:a&&!n&&e.channels!==oe[e.format]&&(e.format=e.internalformat=oe[e.channels])}}function l(t){e.pixelStorei(37440,t.flipY),e.pixelStorei(37441,t.premultiplyAlpha),e.pixelStorei(37443,t.colorSpace),e.pixelStorei(3317,t.unpackAlignment)}function p(){u.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function d(e,t){var n=null;if(w(t)?n=t:t&&(c(e,t),"x"in t&&(e.xOffset=0|t.x),"y"in t&&(e.yOffset=0|t.y),w(t.data)&&(n=t.data)),t.copy){var r=i.viewportWidth,o=i.viewportHeight;e.width=e.width||r-e.xOffset,e.height=e.height||o-e.yOffset,e.needsCopy=!0}else if(n){if(N(n))e.channels=e.channels||4,e.data=n,"type"in t||5121!==e.type||(e.type=0|K[Object.prototype.toString.call(n)]);else if(g(n)){switch(e.channels=e.channels||4,o=(r=n).length,e.type){case 5121:case 5123:case 5125:case 5126:(o=Y.allocType(e.type,o)).set(r),e.data=o;break;case 36193:e.data=v(r)}e.alignment=1,e.needsFree=!0}else if(a(n)){r=n.data,Array.isArray(r)||5121!==e.type||(e.type=0|K[Object.prototype.toString.call(r)]);o=n.shape;var f,u,s,l,p=n.stride;3===o.length?(s=o[2],l=p[2]):l=s=1,f=o[0],u=o[1],o=p[0],p=p[1],e.alignment=1,e.width=f,e.height=u,e.channels=s,e.format=e.internalformat=oe[s],e.needsFree=!0,f=l,n=n.offset,s=e.width,l=e.height,u=e.channels;for(var d=Y.allocType(36193===e.type?5126:e.type,s*l*u),h=0,m=0;m<l;++m)for(var _=0;_<s;++_)for(var E=0;E<u;++E)d[h++]=r[o*_+p*m+f*E+n];A(e,d)}else if("[object HTMLCanvasElement]"===x(n)||"[object CanvasRenderingContext2D]"===x(n))"[object HTMLCanvasElement]"===x(n)?e.element=n:e.element=n.canvas,e.width=e.element.width,e.height=e.element.height,e.channels=4;else if("[object HTMLImageElement]"===x(n))e.element=n,e.width=n.naturalWidth,e.height=n.naturalHeight,e.channels=4;else if("[object HTMLVideoElement]"===x(n))e.element=n,e.width=n.videoWidth,e.height=n.videoHeight,e.channels=4;else if(y(n)){for(r=e.width||n[0].length,o=e.height||n.length,p=e.channels,p=b(n[0][0])?p||n[0][0].length:p||1,f=X.shape(n),s=1,l=0;l<f.length;++l)s*=f[l];s=Y.allocType(36193===e.type?5126:e.type,s),X.flatten(n,f,"",s),A(e,s),e.alignment=1,e.width=r,e.height=o,e.channels=p,e.format=e.internalformat=oe[p],e.needsFree=!0}}else e.width=e.width||1,e.height=e.height||1,e.channels=e.channels||4}function h(t,n,i,a,o){var f=t.element,u=t.data,s=t.internalformat,c=t.format,p=t.type,d=t.width,h=t.height;l(t),f?e.texSubImage2D(n,o,i,a,c,p,f):t.compressed?e.compressedTexSubImage2D(n,o,i,a,s,d,h,u):t.needsCopy?(r(),e.copyTexSubImage2D(n,o,i,a,t.xOffset,t.yOffset,d,h)):e.texSubImage2D(n,o,i,a,d,h,c,p,u)}function m(){return ue.pop()||new p}function E(e){e.needsFree&&Y.freeType(e.data),p.call(e),ue.push(e)}function k(e,t,n){var r=e.images[0]=m();e.mipmask=1,r.width=e.width=t,r.height=e.height=n,r.channels=e.channels=4}function D(e,t){var n=null;if(w(t))s(n=e.images[0]=m(),e),d(n,t),e.mipmask=1;else if(c(e,t),Array.isArray(t.mipmap))for(var r=t.mipmap,i=0;i<r.length;++i)s(n=e.images[i]=m(),e),n.width>>=i,n.height>>=i,d(n,r[i]),e.mipmask|=1<<i;else s(n=e.images[0]=m(),e),d(n,t),e.mipmask=1;s(e,e.images[0])}function T(t,n){for(var i=t.images,a=0;a<i.length&&i[a];++a){var o=i[a],f=n,u=a,s=o.element,c=o.data,p=o.internalformat,d=o.format,h=o.type,m=o.width,v=o.height;l(o),s?e.texImage2D(f,u,d,d,h,s):o.compressed?e.compressedTexImage2D(f,u,p,m,v,0,c):o.needsCopy?(r(),e.copyTexImage2D(f,u,d,o.xOffset,o.yOffset,m,v,0)):e.texImage2D(f,u,d,m,v,0,d,h,c)}}function j(){var e=se.pop()||new function(){u.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)};u.call(e);for(var t=e.mipmask=0;16>t;++t)e.images[t]=null;return e}function O(e){for(var t=e.images,n=0;n<t.length;++n)t[n]&&E(t[n]),t[n]=null;se.push(e)}function S(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function C(e,t){"min"in t&&(e.minFilter=W[t.min],0<=ae.indexOf(e.minFilter)&&(e.genMipmaps=!0)),"mag"in t&&(e.magFilter=R[t.mag]);var n=e.wrapS,r=e.wrapT;if("wrap"in t){var i=t.wrap;"string"==typeof i?n=r=I[i]:Array.isArray(i)&&(n=I[i[0]],r=I[i[1]])}else"wrapS"in t&&(n=I[t.wrapS]),"wrapT"in t&&(r=I[t.wrapT]);if(e.wrapS=n,e.wrapT=r,"anisotropic"in t&&(e.anisotropic=t.anisotropic),"mipmap"in t){switch(n=!1,typeof t.mipmap){case"string":e.mipmapHint=P[t.mipmap],n=e.genMipmaps=!0;break;case"boolean":n=e.genMipmaps=t.mipmap;break;case"object":e.genMipmaps=!1,n=!0}!n||"min"in t||(e.minFilter=9984)}}function L(n,r){e.texParameteri(r,10241,n.minFilter),e.texParameteri(r,10240,n.magFilter),e.texParameteri(r,10242,n.wrapS),e.texParameteri(r,10243,n.wrapT),t.ext_texture_filter_anisotropic&&e.texParameteri(r,34046,n.anisotropic),n.genMipmaps&&(e.hint(33170,n.mipmapHint),e.generateMipmap(r))}function F(t){u.call(this),this.mipmask=0,this.internalformat=6408,this.id=ce++,this.refCount=1,this.target=t,this.texture=e.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new S,f.profile&&(this.stats={size:0})}function M(t){e.activeTexture(33984),e.bindTexture(t.target,t.texture)}function z(){var t=de[0];t?e.bindTexture(t.target,t.texture):e.bindTexture(3553,null)}function B(t){var n=t.texture,r=t.unit,i=t.target;0<=r&&(e.activeTexture(33984+r),e.bindTexture(i,null),de[r]=null),e.deleteTexture(n),t.texture=null,t.params=null,t.pixels=null,t.refCount=0,delete le[t.id],o.textureCount--}var P={"don't care":4352,"dont care":4352,nice:4354,fast:4353},I={repeat:10497,clamp:33071,mirror:33648},R={nearest:9728,linear:9729},W=H({mipmap:9987,"nearest mipmap nearest":9984,"linear mipmap nearest":9985,"nearest mipmap linear":9986,"linear mipmap linear":9987},R),q={none:0,browser:37444},U={uint8:5121,rgba4:32819,rgb565:33635,"rgb5 a1":32820},Q={alpha:6406,luminance:6409,"luminance alpha":6410,rgb:6407,rgba:6408,rgba4:32854,"rgb5 a1":32855,rgb565:36194},G={};t.ext_srgb&&(Q.srgb=35904,Q.srgba=35906),t.oes_texture_float&&(U.float32=U.float=5126),t.oes_texture_half_float&&(U.float16=U["half float"]=36193),t.webgl_depth_texture&&(H(Q,{depth:6402,"depth stencil":34041}),H(U,{uint16:5123,uint32:5125,"depth stencil":34042})),t.webgl_compressed_texture_s3tc&&H(G,{"rgb s3tc dxt1":33776,"rgba s3tc dxt1":33777,"rgba s3tc dxt3":33778,"rgba s3tc dxt5":33779}),t.webgl_compressed_texture_atc&&H(G,{"rgb atc":35986,"rgba atc explicit alpha":35987,"rgba atc interpolated alpha":34798}),t.webgl_compressed_texture_pvrtc&&H(G,{"rgb pvrtc 4bppv1":35840,"rgb pvrtc 2bppv1":35841,"rgba pvrtc 4bppv1":35842,"rgba pvrtc 2bppv1":35843}),t.webgl_compressed_texture_etc1&&(G["rgb etc1"]=36196);var Z=Array.prototype.slice.call(e.getParameter(34467));Object.keys(G).forEach(function(e){var t=G[e];0<=Z.indexOf(t)&&(Q[e]=t)});var J=Object.keys(Q);n.textureFormats=J;var $=[];Object.keys(Q).forEach(function(e){$[Q[e]]=e});var ee=[];Object.keys(U).forEach(function(e){ee[U[e]]=e});var te=[];Object.keys(R).forEach(function(e){te[R[e]]=e});var ne=[];Object.keys(W).forEach(function(e){ne[W[e]]=e});var re=[];Object.keys(I).forEach(function(e){re[I[e]]=e});var ie=J.reduce(function(e,t){var n=Q[t];return 6409===n||6406===n||6409===n||6410===n||6402===n||34041===n?e[n]=n:32855===n||0<=t.indexOf("rgba")?e[n]=6408:e[n]=6407,e},{}),ue=[],se=[],ce=0,le={},pe=n.maxTextureUnits,de=Array(pe).map(function(){return null});return H(F.prototype,{bind:function(){this.bindCount+=1;var t=this.unit;if(0>t){for(var n=0;n<pe;++n){var r=de[n];if(r){if(0<r.bindCount)continue;r.unit=-1}de[n]=this,t=n;break}f.profile&&o.maxTextureUnits<t+1&&(o.maxTextureUnits=t+1),this.unit=t,e.activeTexture(33984+t),e.bindTexture(this.target,this.texture)}return t},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&B(this)}}),f.profile&&(o.getTotalTextureSize=function(){var e=0;return Object.keys(le).forEach(function(t){e+=le[t].stats.size}),e}),{create2D:function(t,n){function r(e,t){var n=i.texInfo;S.call(n);var a=j();return"number"==typeof e?k(a,0|e,"number"==typeof t?0|t:0|e):e?(C(n,e),D(a,e)):k(a,1,1),n.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,s(i,a),i.internalformat=a.internalformat,r.width=a.width,r.height=a.height,M(i),T(a,3553),L(n,3553),z(),O(a),f.profile&&(i.stats.size=_(i.internalformat,i.type,a.width,a.height,n.genMipmaps,!1)),r.format=$[i.internalformat],r.type=ee[i.type],r.mag=te[n.magFilter],r.min=ne[n.minFilter],r.wrapS=re[n.wrapS],r.wrapT=re[n.wrapT],r}var i=new F(3553);return le[i.id]=i,o.textureCount++,r(t,n),r.subimage=function(e,t,n,a){t|=0,n|=0,a|=0;var o=m();return s(o,i),o.width=0,o.height=0,d(o,e),o.width=o.width||(i.width>>a)-t,o.height=o.height||(i.height>>a)-n,M(i),h(o,3553,t,n,a),z(),E(o),r},r.resize=function(t,n){var a=0|t,o=0|n||a;if(a===i.width&&o===i.height)return r;r.width=i.width=a,r.height=i.height=o,M(i);for(var u=0;i.mipmask>>u;++u)e.texImage2D(3553,u,i.format,a>>u,o>>u,0,i.format,i.type,null);return z(),f.profile&&(i.stats.size=_(i.internalformat,i.type,a,o,!1,!1)),r},r._reglType="texture2d",r._texture=i,f.profile&&(r.stats=i.stats),r.destroy=function(){i.decRef()},r},createCube:function(t,n,r,i,a,u){function l(e,t,n,r,i,a){var o,u=p.texInfo;for(S.call(u),o=0;6>o;++o)v[o]=j();if("number"!=typeof e&&e){if("object"==typeof e)if(t)D(v[0],e),D(v[1],t),D(v[2],n),D(v[3],r),D(v[4],i),D(v[5],a);else if(C(u,e),c(p,e),"faces"in e)for(e=e.faces,o=0;6>o;++o)s(v[o],p),D(v[o],e[o]);else for(o=0;6>o;++o)D(v[o],e)}else for(e=0|e||1,o=0;6>o;++o)k(v[o],e,e);for(s(p,v[0]),p.mipmask=u.genMipmaps?(v[0].width<<1)-1:v[0].mipmask,p.internalformat=v[0].internalformat,l.width=v[0].width,l.height=v[0].height,M(p),o=0;6>o;++o)T(v[o],34069+o);for(L(u,34067),z(),f.profile&&(p.stats.size=_(p.internalformat,p.type,l.width,l.height,u.genMipmaps,!0)),l.format=$[p.internalformat],l.type=ee[p.type],l.mag=te[u.magFilter],l.min=ne[u.minFilter],l.wrapS=re[u.wrapS],l.wrapT=re[u.wrapT],o=0;6>o;++o)O(v[o]);return l}var p=new F(34067);le[p.id]=p,o.cubeCount++;var v=Array(6);return l(t,n,r,i,a,u),l.subimage=function(e,t,n,r,i){n|=0,r|=0,i|=0;var a=m();return s(a,p),a.width=0,a.height=0,d(a,t),a.width=a.width||(p.width>>i)-n,a.height=a.height||(p.height>>i)-r,M(p),h(a,34069+e,n,r,i),z(),E(a),l},l.resize=function(t){if((t|=0)!==p.width){l.width=p.width=t,l.height=p.height=t,M(p);for(var n=0;6>n;++n)for(var r=0;p.mipmask>>r;++r)e.texImage2D(34069+n,r,p.format,t>>r,t>>r,0,p.format,p.type,null);return z(),f.profile&&(p.stats.size=_(p.internalformat,p.type,l.width,l.height,!1,!0)),l}},l._reglType="textureCube",l._texture=p,f.profile&&(l.stats=p.stats),l.destroy=function(){p.decRef()},l},clear:function(){for(var t=0;t<pe;++t)e.activeTexture(33984+t),e.bindTexture(3553,null),de[t]=null;V(le).forEach(B),o.cubeCount=0,o.textureCount=0},getTexture:function(e){return null},restore:function(){V(le).forEach(function(t){t.texture=e.createTexture(),e.bindTexture(t.target,t.texture);for(var n=0;32>n;++n)if(0!=(t.mipmask&1<<n))if(3553===t.target)e.texImage2D(3553,n,t.internalformat,t.width>>n,t.height>>n,0,t.internalformat,t.type,null);else for(var r=0;6>r;++r)e.texImage2D(34069+r,n,t.internalformat,t.width>>n,t.height>>n,0,t.internalformat,t.type,null);L(t.texInfo,t.target)})}}}function k(e,t,n,r,i,a){function o(e,t,n){this.target=e,this.texture=t,this.renderbuffer=n;var r=e=0;t?(e=t.width,r=t.height):n&&(e=n.width,r=n.height),this.width=e,this.height=r}function f(e){e&&(e.texture&&e.texture._texture.decRef(),e.renderbuffer&&e.renderbuffer._renderbuffer.decRef())}function u(e,t,n){e&&(e.texture?e.texture._texture.refCount+=1:e.renderbuffer._renderbuffer.refCount+=1)}function s(t,n){n&&(n.texture?e.framebufferTexture2D(36160,t,n.target,n.texture._texture.texture,0):e.framebufferRenderbuffer(36160,t,36161,n.renderbuffer._renderbuffer.renderbuffer))}function c(e){var t=3553,n=null,r=null,i=e;return"object"==typeof e&&(i=e.data,"target"in e&&(t=0|e.target)),"texture2d"===(e=i._reglType)?n=i:"textureCube"===e?n=i:"renderbuffer"===e&&(r=i,t=36161),new o(t,n,r)}function l(e,t,n,a,f){return n?((e=r.create2D({width:e,height:t,format:a,type:f}))._texture.refCount=0,new o(3553,e,null)):((e=i.create({width:e,height:t,format:a}))._renderbuffer.refCount=0,new o(36161,null,e))}function p(e){return e&&(e.texture||e.renderbuffer)}function d(e,t,n){e&&(e.texture?e.texture.resize(t,n):e.renderbuffer&&e.renderbuffer.resize(t,n))}function h(){this.id=_++,E[this.id]=this,this.framebuffer=e.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function m(e){e.colorAttachments.forEach(f),f(e.depthAttachment),f(e.stencilAttachment),f(e.depthStencilAttachment)}function v(t){e.deleteFramebuffer(t.framebuffer),t.framebuffer=null,a.framebufferCount--,delete E[t.id]}function b(t){var r;e.bindFramebuffer(36160,t.framebuffer);var i=t.colorAttachments;for(r=0;r<i.length;++r)s(36064+r,i[r]);for(r=i.length;r<n.maxColorAttachments;++r)e.framebufferTexture2D(36160,36064+r,3553,null,0);e.framebufferTexture2D(36160,33306,3553,null,0),e.framebufferTexture2D(36160,36096,3553,null,0),e.framebufferTexture2D(36160,36128,3553,null,0),s(36096,t.depthAttachment),s(36128,t.stencilAttachment),s(33306,t.depthStencilAttachment),e.checkFramebufferStatus(36160),e.bindFramebuffer(36160,y.next),y.cur=y.next,e.getError()}function g(e,t){function n(e,t){var i,a=0,o=0,f=!0,s=!0;i=null;var d=!0,h="rgba",v="uint8",g=1,y=null,A=null,_=null,E=!1;"number"==typeof e?(a=0|e,o=0|t||a):e?("shape"in e?(a=(o=e.shape)[0],o=o[1]):("radius"in e&&(a=o=e.radius),"width"in e&&(a=e.width),"height"in e&&(o=e.height)),("color"in e||"colors"in e)&&(i=e.color||e.colors,Array.isArray(i)),i||("colorCount"in e&&(g=0|e.colorCount),"colorTexture"in e&&(d=!!e.colorTexture,h="rgba4"),"colorType"in e&&(v=e.colorType,!d)&&("half float"===v||"float16"===v?h="rgba16f":"float"!==v&&"float32"!==v||(h="rgba32f")),"colorFormat"in e&&(h=e.colorFormat,0<=x.indexOf(h)?d=!0:0<=w.indexOf(h)&&(d=!1))),("depthTexture"in e||"depthStencilTexture"in e)&&(E=!(!e.depthTexture&&!e.depthStencilTexture)),"depth"in e&&("boolean"==typeof e.depth?f=e.depth:(y=e.depth,s=!1)),"stencil"in e&&("boolean"==typeof e.stencil?s=e.stencil:(A=e.stencil,f=!1)),"depthStencil"in e&&("boolean"==typeof e.depthStencil?f=s=e.depthStencil:(_=e.depthStencil,s=f=!1))):a=o=1;var k=null,D=null,T=null,j=null;if(Array.isArray(i))k=i.map(c);else if(i)k=[c(i)];else for(k=Array(g),i=0;i<g;++i)k[i]=l(a,o,d,h,v);for(a=a||k[0].width,o=o||k[0].height,y?D=c(y):f&&!s&&(D=l(a,o,E,"depth","uint32")),A?T=c(A):s&&!f&&(T=l(a,o,!1,"stencil","uint8")),_?j=c(_):!y&&!A&&s&&f&&(j=l(a,o,E,"depth stencil","depth stencil")),f=null,i=0;i<k.length;++i)u(k[i]),k[i]&&k[i].texture&&(s=de[k[i].texture._texture.format]*he[k[i].texture._texture.type],null===f&&(f=s));return u(D),u(T),u(j),m(r),r.width=a,r.height=o,r.colorAttachments=k,r.depthAttachment=D,r.stencilAttachment=T,r.depthStencilAttachment=j,n.color=k.map(p),n.depth=p(D),n.stencil=p(T),n.depthStencil=p(j),n.width=r.width,n.height=r.height,b(r),n}var r=new h;return a.framebufferCount++,n(e,t),H(n,{resize:function(e,t){var i=0|e,a=0|t||i;if(i===r.width&&a===r.height)return n;for(var o=r.colorAttachments,f=0;f<o.length;++f)d(o[f],i,a);return d(r.depthAttachment,i,a),d(r.stencilAttachment,i,a),d(r.depthStencilAttachment,i,a),r.width=n.width=i,r.height=n.height=a,b(r),n},_reglType:"framebuffer",_framebuffer:r,destroy:function(){v(r),m(r)},use:function(e){y.setFBO({framebuffer:n},e)}})}var y={cur:null,next:null,dirty:!1,setFBO:null},x=["rgba"],w=["rgba4","rgb565","rgb5 a1"];t.ext_srgb&&w.push("srgba"),t.ext_color_buffer_half_float&&w.push("rgba16f","rgb16f"),t.webgl_color_buffer_float&&w.push("rgba32f");var A=["uint8"];t.oes_texture_half_float&&A.push("half float","float16"),t.oes_texture_float&&A.push("float","float32");var _=0,E={};return H(y,{getFramebuffer:function(e){return"function"==typeof e&&"framebuffer"===e._reglType&&(e=e._framebuffer)instanceof h?e:null},create:g,createCube:function(e){function t(e){var i,a={color:null},o=0,f=null;i="rgba";var u="uint8",s=1;if("number"==typeof e?o=0|e:e?("shape"in e?o=e.shape[0]:("radius"in e&&(o=0|e.radius),"width"in e?o=0|e.width:"height"in e&&(o=0|e.height)),("color"in e||"colors"in e)&&(f=e.color||e.colors,Array.isArray(f)),f||("colorCount"in e&&(s=0|e.colorCount),"colorType"in e&&(u=e.colorType),"colorFormat"in e&&(i=e.colorFormat)),"depth"in e&&(a.depth=e.depth),"stencil"in e&&(a.stencil=e.stencil),"depthStencil"in e&&(a.depthStencil=e.depthStencil)):o=1,f)if(Array.isArray(f))for(e=[],i=0;i<f.length;++i)e[i]=f[i];else e=[f];else for(e=Array(s),f={radius:o,format:i,type:u},i=0;i<s;++i)e[i]=r.createCube(f);for(a.color=Array(e.length),i=0;i<e.length;++i)s=e[i],o=o||s.width,a.color[i]={target:34069,data:e[i]};for(i=0;6>i;++i){for(s=0;s<e.length;++s)a.color[s].target=34069+i;0<i&&(a.depth=n[0].depth,a.stencil=n[0].stencil,a.depthStencil=n[0].depthStencil),n[i]?n[i](a):n[i]=g(a)}return H(t,{width:o,height:o,color:e})}var n=Array(6);return t(e),H(t,{faces:n,resize:function(e){var r=0|e;if(r===t.width)return t;var i=t.color;for(e=0;e<i.length;++e)i[e].resize(r);for(e=0;6>e;++e)n[e].resize(r);return t.width=t.height=r,t},_reglType:"framebufferCube",destroy:function(){n.forEach(function(e){e.destroy()})}})},clear:function(){V(E).forEach(v)},restore:function(){V(E).forEach(function(t){t.framebuffer=e.createFramebuffer(),b(t)})}})}function D(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function T(e,t,n,r){function i(e,t,n,r){this.name=e,this.id=t,this.location=n,this.info=r}function a(e,t){for(var n=0;n<e.length;++n)if(e[n].id===t.id)return void(e[n].location=t.location);e.push(t)}function o(n,r,i){if(!(o=(i=35632===n?s:c)[r])){var a=t.str(r),o=e.createShader(n);e.shaderSource(o,a),e.compileShader(o),i[r]=o}return o}function f(e,t){this.id=d++,this.fragId=e,this.vertId=t,this.program=null,this.uniforms=[],this.attributes=[],r.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function u(n,f){var u,s;u=o(35632,n.fragId),s=o(35633,n.vertId);var c=n.program=e.createProgram();e.attachShader(c,u),e.attachShader(c,s),e.linkProgram(c);var l=e.getProgramParameter(c,35718);r.profile&&(n.stats.uniformsCount=l);var p=n.uniforms;for(u=0;u<l;++u)if(s=e.getActiveUniform(c,u))if(1<s.size)for(var d=0;d<s.size;++d){var h=s.name.replace("[0]","["+d+"]");a(p,new i(h,t.id(h),e.getUniformLocation(c,h),s))}else a(p,new i(s.name,t.id(s.name),e.getUniformLocation(c,s.name),s));for(l=e.getProgramParameter(c,35721),r.profile&&(n.stats.attributesCount=l),p=n.attributes,u=0;u<l;++u)(s=e.getActiveAttrib(c,u))&&a(p,new i(s.name,t.id(s.name),e.getAttribLocation(c,s.name),s))}var s={},c={},l={},p=[],d=0;return r.profile&&(n.getMaxUniformsCount=function(){var e=0;return p.forEach(function(t){t.stats.uniformsCount>e&&(e=t.stats.uniformsCount)}),e},n.getMaxAttributesCount=function(){var e=0;return p.forEach(function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)}),e}),{clear:function(){var t=e.deleteShader.bind(e);V(s).forEach(t),s={},V(c).forEach(t),c={},p.forEach(function(t){e.deleteProgram(t.program)}),p.length=0,l={},n.shaderCount=0},program:function(e,t,r){var i=l[t];i||(i=l[t]={});var a=i[e];return a||(a=new f(t,e),n.shaderCount++,u(a),i[e]=a,p.push(a)),a},restore:function(){s={},c={};for(var e=0;e<p.length;++e)u(p[e])},shader:o,frag:-1,vert:-1}}function j(e,t,n,r,i,a){function o(i){var a;a=null===t.next?5121:t.next.colorAttachments[0].texture._texture.type;var o=0,f=0,u=r.framebufferWidth,s=r.framebufferHeight,c=null;return N(i)?c=i:i&&(o=0|i.x,f=0|i.y,u=0|(i.width||r.framebufferWidth-o),s=0|(i.height||r.framebufferHeight-f),c=i.data||null),n(),i=u*s*4,c||(5121===a?c=new Uint8Array(i):5126===a&&(c=c||new Float32Array(i))),e.pixelStorei(3333,4),e.readPixels(o,f,u,s,6408,a,c),c}return function(e){return e&&"framebuffer"in e?function(e){var n;return t.setFBO({framebuffer:e.framebuffer},function(){n=o(e)}),n}(e):o(e)}}function O(e){return Array.prototype.slice.call(e)}function S(e){return O(e).join("")}function C(){function e(){var e=[],t=[];return H(function(){e.push.apply(e,O(arguments))},{def:function(){var r="v"+n++;return t.push(r),0<arguments.length&&(e.push(r,"="),e.push.apply(e,O(arguments)),e.push(";")),r},toString:function(){return S([0<t.length?"var "+t+";":"",S(e)])}})}function t(){function t(e,t){r(e,t,"=",n.def(e,t),";")}var n=e(),r=e(),i=n.toString,a=r.toString;return H(function(){n.apply(n,O(arguments))},{def:n.def,entry:n,exit:r,save:t,set:function(e,r,i){t(e,r),n(e,r,"=",i,";")},toString:function(){return i()+a()}})}var n=0,r=[],i=[],a=e(),o={};return{global:a,link:function(e){for(var t=0;t<i.length;++t)if(i[t]===e)return r[t];return t="g"+n++,r.push(t),i.push(e),t},block:e,proc:function(e,n){function r(){var e="a"+i.length;return i.push(e),e}var i=[];n=n||0;for(var a=0;a<n;++a)r();var f=(a=t()).toString;return o[e]=H(a,{arg:r,toString:function(){return S(["function(",i.join(),"){",f(),"}"])}})},scope:t,cond:function(){var e=S(arguments),n=t(),r=t(),i=n.toString,a=r.toString;return H(n,{then:function(){return n.apply(n,O(arguments)),this},else:function(){return r.apply(r,O(arguments)),this},toString:function(){var t=a();return t&&(t="else{"+t+"}"),S(["if(",e,"){",i(),"}",t])}})},compile:function(){var e=['"use strict";',a,"return {"];Object.keys(o).forEach(function(t){e.push('"',t,'":',o[t].toString(),",")}),e.push("}");var t=S(e).replace(/;/g,";\n").replace(/}/g,"}\n").replace(/{/g,"{\n");return Function.apply(null,r.concat(t)).apply(null,i)}}}function L(e){return Array.isArray(e)||N(e)||a(e)}function F(e){return e.sort(function(e,t){return"viewport"===e?-1:"viewport"===t?1:e<t?-1:1})}function M(e,t,n,r){this.thisDep=e,this.contextDep=t,this.propDep=n,this.append=r}function z(e){return e&&!(e.thisDep||e.contextDep||e.propDep)}function B(e){return new M(!1,!1,!1,e)}function P(e,t){var n=e.type;return 0===n?new M(!0,1<=(n=e.data.length),2<=n,t):4===n?new M((n=e.data).thisDep,n.contextDep,n.propDep,t):new M(3===n,2===n,1===n,t)}function I(e,t,n,r,i,a,f,u,s,c,l,p,d,h,m){function v(e){return e.replace(".","_")}function g(e,t,n){var r=v(e);re.push(e),te[r]=ee[r]=!!n,ie[r]=t}function y(e,t,n){var r=v(e);re.push(e),Array.isArray(n)?(ee[r]=n.slice(),te[r]=n.slice()):ee[r]=te[r]=n,ae[r]=t}function x(){var e=C(),n=e.link,r=e.global;e.id=ue++,e.batchId="0";var i=n(oe),a=e.shared={props:"a0"};Object.keys(oe).forEach(function(e){a[e]=r.def(i,".",e)});var o=e.next={},f=e.current={};Object.keys(ae).forEach(function(e){Array.isArray(ee[e])&&(o[e]=r.def(a.next,".",e),f[e]=r.def(a.current,".",e))});var u=e.constants={};Object.keys(fe).forEach(function(e){u[e]=r.def(JSON.stringify(fe[e]))}),e.invoke=function(t,r){switch(r.type){case 0:var i=["this",a.context,a.props,e.batchId];return t.def(n(r.data),".call(",i.slice(0,Math.max(r.data.length+1,4)),")");case 1:return t.def(a.props,r.data);case 2:return t.def(a.context,r.data);case 3:return t.def("this",r.data);case 4:return r.data.append(e,t),r.data.ref}},e.attribCache={};var s={};return e.scopeAttrib=function(e){if((e=t.id(e))in s)return s[e];var r=c.scope[e];return r||(r=c.scope[e]=new X),s[e]=n(r)},e}function w(e,t){var n=e.static,r=e.dynamic;if("framebuffer"in n){var i=n.framebuffer;return i?(i=u.getFramebuffer(i),B(function(e,t){var n=e.link(i),r=e.shared;return t.set(r.framebuffer,".next",n),r=r.context,t.set(r,".framebufferWidth",n+".width"),t.set(r,".framebufferHeight",n+".height"),n})):B(function(e,t){var n=e.shared;return t.set(n.framebuffer,".next","null"),n=n.context,t.set(n,".framebufferWidth",n+".drawingBufferWidth"),t.set(n,".framebufferHeight",n+".drawingBufferHeight"),"null"})}if("framebuffer"in r){var a=r.framebuffer;return P(a,function(e,t){var n=e.invoke(t,a),r=e.shared,i=r.framebuffer;n=t.def(i,".getFramebuffer(",n,")");return t.set(i,".next",n),r=r.context,t.set(r,".framebufferWidth",n+"?"+n+".width:"+r+".drawingBufferWidth"),t.set(r,".framebufferHeight",n+"?"+n+".height:"+r+".drawingBufferHeight"),n})}return null}function A(e){function n(e){if(e in r){var n=t.id(r[e]);return(e=B(function(){return n})).id=n,e}if(e in i){var a=i[e];return P(a,function(e,t){var n=e.invoke(t,a);return t.def(e.shared.strings,".id(",n,")")})}return null}var r=e.static,i=e.dynamic,a=n("frag"),o=n("vert"),f=null;return z(a)&&z(o)?(f=l.program(o.id,a.id),e=B(function(e,t){return e.link(f)})):e=new M(a&&a.thisDep||o&&o.thisDep,a&&a.contextDep||o&&o.contextDep,a&&a.propDep||o&&o.propDep,function(e,t){var n,r,i=e.shared.shader;return n=a?a.append(e,t):t.def(i,".","frag"),r=o?o.append(e,t):t.def(i,".","vert"),t.def(i+".program("+r+","+n+")")}),{frag:a,vert:o,progVar:e,program:f}}function _(e,t){function n(e,t){if(e in r){var n=0|r[e];return B(function(e,r){return t&&(e.OFFSET=n),n})}if(e in i){var a=i[e];return P(a,function(e,n){var r=e.invoke(n,a);return t&&(e.OFFSET=r),r})}return t&&o?B(function(e,t){return e.OFFSET="0",0}):null}var r=e.static,i=e.dynamic,o=function(){if("elements"in r){var e=r.elements;L(e)?e=a.getElements(a.create(e,!0)):e&&(e=a.getElements(e));var t=B(function(t,n){if(e){var r=t.link(e);return t.ELEMENTS=r}return t.ELEMENTS=null});return t.value=e,t}if("elements"in i){var n=i.elements;return P(n,function(e,t){var r=(i=e.shared).isBufferArgs,i=i.elements,a=e.invoke(t,n),o=t.def("null");r=t.def(r,"(",a,")"),a=e.cond(r).then(o,"=",i,".createStream(",a,");").else(o,"=",i,".getElements(",a,");");return t.entry(a),t.exit(e.cond(r).then(i,".destroyStream(",o,");")),e.ELEMENTS=o})}return null}(),f=n("offset",!0);return{elements:o,primitive:function(){if("primitive"in r){var e=r.primitive;return B(function(t,n){return ne[e]})}if("primitive"in i){var t=i.primitive;return P(t,function(e,n){var r=e.constants.primTypes,i=e.invoke(n,t);return n.def(r,"[",i,"]")})}return o?z(o)?o.value?B(function(e,t){return t.def(e.ELEMENTS,".primType")}):B(function(){return 4}):new M(o.thisDep,o.contextDep,o.propDep,function(e,t){var n=e.ELEMENTS;return t.def(n,"?",n,".primType:",4)}):null}(),count:function(){if("count"in r){var e=0|r.count;return B(function(){return e})}if("count"in i){var t=i.count;return P(t,function(e,n){return e.invoke(n,t)})}return o?z(o)?o?f?new M(f.thisDep,f.contextDep,f.propDep,function(e,t){return t.def(e.ELEMENTS,".vertCount-",e.OFFSET)}):B(function(e,t){return t.def(e.ELEMENTS,".vertCount")}):B(function(){return-1}):new M(o.thisDep||f.thisDep,o.contextDep||f.contextDep,o.propDep||f.propDep,function(e,t){var n=e.ELEMENTS;return e.OFFSET?t.def(n,"?",n,".vertCount-",e.OFFSET,":-1"):t.def(n,"?",n,".vertCount:-1")}):null}(),instances:n("instances",!1),offset:f}}function E(e,n){var r=e.static,a=e.dynamic,o={};return Object.keys(r).forEach(function(e){var n=r[e],a=t.id(e),f=new X;if(L(n))f.state=1,f.buffer=i.getBuffer(i.create(n,34962,!1,!0)),f.type=0;else if(s=i.getBuffer(n))f.state=1,f.buffer=s,f.type=0;else if(n.constant){var u=n.constant;f.buffer="null",f.state=2,"number"==typeof u?f.x=u:me.forEach(function(e,t){t<u.length&&(f[e]=u[t])})}else{var s=L(n.buffer)?i.getBuffer(i.create(n.buffer,34962,!1,!0)):i.getBuffer(n.buffer),c=0|n.offset,l=0|n.stride,p=0|n.size,d=!!n.normalized,h=0;"type"in n&&(h=Z[n.type]),n=0|n.divisor,f.buffer=s,f.state=1,f.size=p,f.normalized=d,f.type=h||s.dtype,f.offset=c,f.stride=l,f.divisor=n}o[e]=B(function(e,t){var n=e.attribCache;if(a in n)return n[a];var r={isStream:!1};return Object.keys(f).forEach(function(e){r[e]=f[e]}),f.buffer&&(r.buffer=e.link(f.buffer),r.type=r.type||r.buffer+".dtype"),n[a]=r})}),Object.keys(a).forEach(function(e){var t=a[e];o[e]=P(t,function(e,n){function r(e){n(u[e],"=",i,".",e,"|0;")}var i=e.invoke(n,t),a=e.shared,o=a.isBufferArgs,f=a.buffer,u={isStream:n.def(!1)},s=new X;s.state=1,Object.keys(s).forEach(function(e){u[e]=n.def(""+s[e])});var c=u.buffer,l=u.type;return n("if(",o,"(",i,")){",u.isStream,"=true;",c,"=",f,".createStream(",34962,",",i,");",l,"=",c,".dtype;","}else{",c,"=",f,".getBuffer(",i,");","if(",c,"){",l,"=",c,".dtype;",'}else if("constant" in ',i,"){",u.state,"=",2,";","if(typeof "+i+'.constant === "number"){',u[me[0]],"=",i,".constant;",me.slice(1).map(function(e){return u[e]}).join("="),"=0;","}else{",me.map(function(e,t){return u[e]+"="+i+".constant.length>="+t+"?"+i+".constant["+t+"]:0;"}).join(""),"}}else{","if(",o,"(",i,".buffer)){",c,"=",f,".createStream(",34962,",",i,".buffer);","}else{",c,"=",f,".getBuffer(",i,".buffer);","}",l,'="type" in ',i,"?",a.glTypes,"[",i,".type]:",c,".dtype;",u.normalized,"=!!",i,".normalized;"),r("size"),r("offset"),r("stride"),r("divisor"),n("}}"),n.exit("if(",u.isStream,"){",f,".destroyStream(",c,");","}"),u})}),o}function k(e,t,n,r,i){var a=w(e),f=function(e,t,n){function r(e){if(e in i){var n=i[e];e=!0;var r,o,f=0|n.x,u=0|n.y;return"width"in n?r=0|n.width:e=!1,"height"in n?o=0|n.height:e=!1,new M(!e&&t&&t.thisDep,!e&&t&&t.contextDep,!e&&t&&t.propDep,function(e,t){var i=e.shared.context,a=r;"width"in n||(a=t.def(i,".","framebufferWidth","-",f));var s=o;return"height"in n||(s=t.def(i,".","framebufferHeight","-",u)),[f,u,a,s]})}if(e in a){var s=a[e];return e=P(s,function(e,t){var n=e.invoke(t,s),r=e.shared.context,i=t.def(n,".x|0"),a=t.def(n,".y|0");return[i,a,t.def('"width" in ',n,"?",n,".width|0:","(",r,".","framebufferWidth","-",i,")"),n=t.def('"height" in ',n,"?",n,".height|0:","(",r,".","framebufferHeight","-",a,")")]}),t&&(e.thisDep=e.thisDep||t.thisDep,e.contextDep=e.contextDep||t.contextDep,e.propDep=e.propDep||t.propDep),e}return t?new M(t.thisDep,t.contextDep,t.propDep,function(e,t){var n=e.shared.context;return[0,0,t.def(n,".","framebufferWidth"),t.def(n,".","framebufferHeight")]}):null}var i=e.static,a=e.dynamic;if(e=r("viewport")){var o=e;e=new M(e.thisDep,e.contextDep,e.propDep,function(e,t){var n=o.append(e,t),r=e.shared.context;return t.set(r,".viewportWidth",n[2]),t.set(r,".viewportHeight",n[3]),n})}return{viewport:e,scissor_box:r("scissor.box")}}(e,a),u=_(e),s=function(e,t){var n=e.static,r=e.dynamic,i={};return re.forEach(function(e){function t(t,o){if(e in n){var f=t(n[e]);i[a]=B(function(){return f})}else if(e in r){var u=r[e];i[a]=P(u,function(e,t){return o(e,t,e.invoke(t,u))})}}var a=v(e);switch(e){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":return t(function(e){return e},function(e,t,n){return n});case"depth.func":return t(function(e){return ge[e]},function(e,t,n){return t.def(e.constants.compareFuncs,"[",n,"]")});case"depth.range":return t(function(e){return e},function(e,t,n){return[t.def("+",n,"[0]"),t=t.def("+",n,"[1]")]});case"blend.func":return t(function(e){return[be["srcRGB"in e?e.srcRGB:e.src],be["dstRGB"in e?e.dstRGB:e.dst],be["srcAlpha"in e?e.srcAlpha:e.src],be["dstAlpha"in e?e.dstAlpha:e.dst]]},function(e,t,n){function r(e,r){return t.def('"',e,r,'" in ',n,"?",n,".",e,r,":",n,".",e)}e=e.constants.blendFuncs;var i=r("src","RGB"),a=r("dst","RGB"),o=(i=t.def(e,"[",i,"]"),t.def(e,"[",r("src","Alpha"),"]"));return[i,a=t.def(e,"[",a,"]"),o,e=t.def(e,"[",r("dst","Alpha"),"]")]});case"blend.equation":return t(function(e){return"string"==typeof e?[K[e],K[e]]:"object"==typeof e?[K[e.rgb],K[e.alpha]]:void 0},function(e,t,n){var r=e.constants.blendEquations,i=t.def(),a=t.def();return(e=e.cond("typeof ",n,'==="string"')).then(i,"=",a,"=",r,"[",n,"];"),e.else(i,"=",r,"[",n,".rgb];",a,"=",r,"[",n,".alpha];"),t(e),[i,a]});case"blend.color":return t(function(e){return o(4,function(t){return+e[t]})},function(e,t,n){return o(4,function(e){return t.def("+",n,"[",e,"]")})});case"stencil.mask":return t(function(e){return 0|e},function(e,t,n){return t.def(n,"|0")});case"stencil.func":return t(function(e){return[ge[e.cmp||"keep"],e.ref||0,"mask"in e?e.mask:-1]},function(e,t,n){return[e=t.def('"cmp" in ',n,"?",e.constants.compareFuncs,"[",n,".cmp]",":",7680),t.def(n,".ref|0"),t=t.def('"mask" in ',n,"?",n,".mask|0:-1")]});case"stencil.opFront":case"stencil.opBack":return t(function(t){return["stencil.opBack"===e?1029:1028,ye[t.fail||"keep"],ye[t.zfail||"keep"],ye[t.zpass||"keep"]]},function(t,n,r){function i(e){return n.def('"',e,'" in ',r,"?",a,"[",r,".",e,"]:",7680)}var a=t.constants.stencilOps;return["stencil.opBack"===e?1029:1028,i("fail"),i("zfail"),i("zpass")]});case"polygonOffset.offset":return t(function(e){return[0|e.factor,0|e.units]},function(e,t,n){return[t.def(n,".factor|0"),t=t.def(n,".units|0")]});case"cull.face":return t(function(e){var t=0;return"front"===e?t=1028:"back"===e&&(t=1029),t},function(e,t,n){return t.def(n,'==="front"?',1028,":",1029)});case"lineWidth":return t(function(e){return e},function(e,t,n){return n});case"frontFace":return t(function(e){return xe[e]},function(e,t,n){return t.def(n+'==="cw"?2304:2305')});case"colorMask":return t(function(e){return e.map(function(e){return!!e})},function(e,t,n){return o(4,function(e){return"!!"+n+"["+e+"]"})});case"sample.coverage":return t(function(e){return["value"in e?e.value:1,!!e.invert]},function(e,t,n){return[t.def('"value" in ',n,"?+",n,".value:1"),t=t.def("!!",n,".invert")]})}}),i}(e),c=A(e),l=f.viewport;return l&&(s.viewport=l),(f=f[l=v("scissor.box")])&&(s[l]=f),(a={framebuffer:a,draw:u,shader:c,state:s,dirty:f=0<Object.keys(s).length}).profile=function(e){var t,n=e.static;if(e=e.dynamic,"profile"in n){var r=!!n.profile;(t=B(function(e,t){return r})).enable=r}else if("profile"in e){var i=e.profile;t=P(i,function(e,t){return e.invoke(t,i)})}return t}(e),a.uniforms=function(e,t){var n=e.static,r=e.dynamic,i={};return Object.keys(n).forEach(function(e){var t,r=n[e];if("number"==typeof r||"boolean"==typeof r)t=B(function(){return r});else if("function"==typeof r){var a=r._reglType;"texture2d"===a||"textureCube"===a?t=B(function(e){return e.link(r)}):"framebuffer"!==a&&"framebufferCube"!==a||(t=B(function(e){return e.link(r.color[0])}))}else b(r)&&(t=B(function(e){return e.global.def("[",o(r.length,function(e){return r[e]}),"]")}));t.value=r,i[e]=t}),Object.keys(r).forEach(function(e){var t=r[e];i[e]=P(t,function(e,n){return e.invoke(n,t)})}),i}(n),a.attributes=E(t),a.context=function(e){var t=e.static,n=e.dynamic,r={};return Object.keys(t).forEach(function(e){var n=t[e];r[e]=B(function(e,t){return"number"==typeof n||"boolean"==typeof n?""+n:e.link(n)})}),Object.keys(n).forEach(function(e){var t=n[e];r[e]=P(t,function(e,n){return e.invoke(n,t)})}),r}(r),a}function D(e,t,n){var r=e.shared.context,i=e.scope();Object.keys(n).forEach(function(a){t.save(r,"."+a),i(r,".",a,"=",n[a].append(e,t),";")}),t(i)}function T(e,t,n,r){var i,a=(f=e.shared).gl,o=f.framebuffer;$&&(i=t.def(f.extensions,".webgl_draw_buffers"));var f=(u=e.constants).drawBuffer,u=u.backBuffer;e=n?n.append(e,t):t.def(o,".next"),r||t("if(",e,"!==",o,".cur){"),t("if(",e,"){",a,".bindFramebuffer(",36160,",",e,".framebuffer);"),$&&t(i,".drawBuffersWEBGL(",f,"[",e,".colorAttachments.length]);"),t("}else{",a,".bindFramebuffer(",36160,",null);"),$&&t(i,".drawBuffersWEBGL(",u,");"),t("}",o,".cur=",e,";"),r||t("}")}function j(e,t,n){var r=e.shared,i=r.gl,a=e.current,f=e.next,u=r.current,s=r.next,c=e.cond(u,".dirty");re.forEach(function(t){var r,l;if(!((t=v(t))in n.state))if(t in f){r=f[t],l=a[t];var p=o(ee[t].length,function(e){return c.def(r,"[",e,"]")});c(e.cond(p.map(function(e,t){return e+"!=="+l+"["+t+"]"}).join("||")).then(i,".",ae[t],"(",p,");",p.map(function(e,t){return l+"["+t+"]="+e}).join(";"),";"))}else r=c.def(s,".",t),p=e.cond(r,"!==",u,".",t),c(p),t in ie?p(e.cond(r).then(i,".enable(",ie[t],");").else(i,".disable(",ie[t],");"),u,".",t,"=",r,";"):p(i,".",ae[t],"(",r,");",u,".",t,"=",r,";")}),0===Object.keys(n.state).length&&c(u,".dirty=false;"),t(c)}function O(e,t,n,r){var i=e.shared,a=e.current,o=i.current,f=i.gl;F(Object.keys(n)).forEach(function(i){var u=n[i];if(!r||r(u)){var s=u.append(e,t);if(ie[i]){var c=ie[i];z(u)?t(f,s?".enable(":".disable(",c,");"):t(e.cond(s).then(f,".enable(",c,");").else(f,".disable(",c,");")),t(o,".",i,"=",s,";")}else if(b(s)){var l=a[i];t(f,".",ae[i],"(",s,");",s.map(function(e,t){return l+"["+t+"]="+e}).join(";"),";")}else t(f,".",ae[i],"(",s,");",o,".",i,"=",s,";")}})}function S(e,t){J&&(e.instancing=t.def(e.shared.extensions,".angle_instanced_arrays"))}function I(e,t,n,r,i){function a(){return"undefined"==typeof performance?"Date.now()":"performance.now()"}function o(e){e(s=t.def(),"=",a(),";"),"string"==typeof i?e(p,".count+=",i,";"):e(p,".count++;"),h&&(r?e(c=t.def(),"=",m,".getNumPendingQueries();"):e(m,".beginQuery(",p,");"))}function f(e){e(p,".cpuTime+=",a(),"-",s,";"),h&&(r?e(m,".pushScopeStats(",c,",",m,".getNumPendingQueries(),",p,");"):e(m,".endQuery();"))}function u(e){var n=t.def(d,".profile");t(d,".profile=",e,";"),t.exit(d,".profile=",n,";")}var s,c,l=e.shared,p=e.stats,d=l.current,m=l.timer;if(n=n.profile){if(z(n))return void(n.enable?(o(t),f(t.exit),u("true")):u("false"));u(n=n.append(e,t))}else n=t.def(d,".profile");o(l=e.block()),t("if(",n,"){",l,"}"),f(e=e.block()),t.exit("if(",n,"){",e,"}")}function R(e,t,n,r,i){function a(n,r,i){function a(){t("if(!",c,".buffer){",u,".enableVertexAttribArray(",s,");}");var n,a=i.type;n=i.size?t.def(i.size,"||",r):r,t("if(",c,".type!==",a,"||",c,".size!==",n,"||",d.map(function(e){return c+"."+e+"!=="+i[e]}).join("||"),"){",u,".bindBuffer(",34962,",",l,".buffer);",u,".vertexAttribPointer(",[s,n,a,i.normalized,i.stride,i.offset],");",c,".type=",a,";",c,".size=",n,";",d.map(function(e){return c+"."+e+"="+i[e]+";"}).join(""),"}"),J&&(a=i.divisor,t("if(",c,".divisor!==",a,"){",e.instancing,".vertexAttribDivisorANGLE(",[s,a],");",c,".divisor=",a,";}"))}function f(){t("if(",c,".buffer){",u,".disableVertexAttribArray(",s,");","}if(",me.map(function(e,t){return c+"."+e+"!=="+p[t]}).join("||"),"){",u,".vertexAttrib4f(",s,",",p,");",me.map(function(e,t){return c+"."+e+"="+p[t]+";"}).join(""),"}")}var u=o.gl,s=t.def(n,".location"),c=t.def(o.attributes,"[",s,"]");n=i.state;var l=i.buffer,p=[i.x,i.y,i.z,i.w],d=["buffer","normalized","offset","stride"];1===n?a():2===n?f():(t("if(",n,"===",1,"){"),a(),t("}else{"),f(),t("}"))}var o=e.shared;r.forEach(function(r){var o,f=r.name,u=n.attributes[f];if(u){if(!i(u))return;o=u.append(e,t)}else{if(!i(we))return;var s=e.scopeAttrib(f);o={},Object.keys(new X).forEach(function(e){o[e]=t.def(s,".",e)})}a(e.link(r),function(e){switch(e){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(r.info.type),o)})}function H(e,n,r,i,a){for(var f,u=e.shared,s=u.gl,c=0;c<i.length;++c){var l,p=(m=i[c]).name,d=m.info.type,h=r.uniforms[p],m=e.link(m)+".location";if(h){if(!a(h))continue;if(z(h)){if(p=h.value,35678===d||35680===d)n(s,".uniform1i(",m,",",(d=e.link(p._texture||p.color[0]._texture))+".bind());"),n.exit(d,".unbind();");else if(35674===d||35675===d||35676===d)p=e.global.def("new Float32Array(["+Array.prototype.slice.call(p)+"])"),h=2,35675===d?h=3:35676===d&&(h=4),n(s,".uniformMatrix",h,"fv(",m,",false,",p,");");else{switch(d){case 5126:f="1f";break;case 35664:f="2f";break;case 35665:f="3f";break;case 35666:f="4f";break;case 35670:case 5124:f="1i";break;case 35671:case 35667:f="2i";break;case 35672:case 35668:f="3i";break;case 35673:f="4i";break;case 35669:f="4i"}n(s,".uniform",f,"(",m,",",b(p)?Array.prototype.slice.call(p):p,");")}continue}l=h.append(e,n)}else{if(!a(we))continue;l=n.def(u.uniforms,"[",t.id(p),"]")}switch(35678===d?n("if(",l,"&&",l,'._reglType==="framebuffer"){',l,"=",l,".color[0];","}"):35680===d&&n("if(",l,"&&",l,'._reglType==="framebufferCube"){',l,"=",l,".color[0];","}"),p=1,d){case 35678:case 35680:n(s,".uniform1i(",m,",",d=n.def(l,"._texture"),".bind());"),n.exit(d,".unbind();");continue;case 5124:case 35670:f="1i";break;case 35667:case 35671:f="2i",p=2;break;case 35668:case 35672:f="3i",p=3;break;case 35669:case 35673:f="4i",p=4;break;case 5126:f="1f";break;case 35664:f="2f",p=2;break;case 35665:f="3f",p=3;break;case 35666:f="4f",p=4;break;case 35674:f="Matrix2fv";break;case 35675:f="Matrix3fv";break;case 35676:f="Matrix4fv"}if(n(s,".uniform",f,"(",m,","),"M"===f.charAt(0)){m=Math.pow(d-35674+2,2);var v=e.global.def("new Float32Array(",m,")");n("false,(Array.isArray(",l,")||",l," instanceof Float32Array)?",l,":(",o(m,function(e){return v+"["+e+"]="+l+"["+e+"]"}),",",v,")")}else n(1<p?o(p,function(e){return l+"["+e+"]"}):l);n(");")}}function W(e,t,n,r){function i(i){var a=p[i];return a?a.contextDep&&r.contextDynamic||a.propDep?a.append(e,n):a.append(e,t):t.def(l,".",i)}function a(){function e(){n(u,".drawElementsInstancedANGLE(",[h,v,b,m+"<<(("+b+"-5121)>>1)",f],");")}function t(){n(u,".drawArraysInstancedANGLE(",[h,m,v,f],");")}d?g?e():(n("if(",d,"){"),e(),n("}else{"),t(),n("}")):t()}function o(){function e(){n(c+".drawElements("+[h,v,b,m+"<<(("+b+"-5121)>>1)"]+");")}function t(){n(c+".drawArrays("+[h,m,v]+");")}d?g?e():(n("if(",d,"){"),e(),n("}else{"),t(),n("}")):t()}var f,u,s=e.shared,c=s.gl,l=s.draw,p=r.draw,d=function(){var i=p.elements,a=t;return i?((i.contextDep&&r.contextDynamic||i.propDep)&&(a=n),i=i.append(e,a)):i=a.def(l,".","elements"),i&&a("if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);"),i}(),h=i("primitive"),m=i("offset"),v=function(){var i=p.count,a=t;return i?((i.contextDep&&r.contextDynamic||i.propDep)&&(a=n),i=i.append(e,a)):i=a.def(l,".","count"),i}();if("number"==typeof v){if(0===v)return}else n("if(",v,"){"),n.exit("}");J&&(f=i("instances"),u=e.instancing);var b=d+".type",g=p.elements&&z(p.elements);J&&("number"!=typeof f||0<=f)?"string"==typeof f?(n("if(",f,">0){"),a(),n("}else if(",f,"<0){"),o(),n("}")):a():o()}function U(e,t,n,r,i){return i=(t=x()).proc("body",i),J&&(t.instancing=i.def(t.shared.extensions,".angle_instanced_arrays")),e(t,i,n,r),t.compile().body}function Q(e,t,n,r){S(e,t),R(e,t,n,r.attributes,function(){return!0}),H(e,t,n,r.uniforms,function(){return!0}),W(e,t,t,n)}function N(e,t,n,r){function i(){return!0}e.batchId="a1",S(e,t),R(e,t,n,r.attributes,i),H(e,t,n,r.uniforms,i),W(e,t,t,n)}function V(e,t,n,r){function i(e){return e.contextDep&&o||e.propDep}function a(e){return!i(e)}S(e,t);var o=n.contextDep,f=t.def(),u=t.def();e.shared.props=u,e.batchId=f;var s=e.scope(),c=e.scope();t(s.entry,"for(",f,"=0;",f,"<","a1",";++",f,"){",u,"=","a0","[",f,"];",c,"}",s.exit),n.needsContext&&D(e,c,n.context),n.needsFramebuffer&&T(e,c,n.framebuffer),O(e,c,n.state,i),n.profile&&i(n.profile)&&I(e,c,n,!1,!0),r?(R(e,s,n,r.attributes,a),R(e,c,n,r.attributes,i),H(e,s,n,r.uniforms,a),H(e,c,n,r.uniforms,i),W(e,s,c,n)):(t=e.global.def("{}"),r=n.shader.progVar.append(e,c),u=c.def(r,".id"),s=c.def(t,"[",u,"]"),c(e.shared.gl,".useProgram(",r,".program);","if(!",s,"){",s,"=",t,"[",u,"]=",e.link(function(t){return U(N,e,n,t,2)}),"(",r,");}",s,".call(this,a0[",f,"],",f,");"))}function G(e,n){function r(t){var r=n.shader[t];r&&i.set(a.shader,"."+t,r.append(e,i))}var i=e.proc("scope",3);e.batchId="a2";var a=e.shared,o=a.current;D(e,i,n.context),n.framebuffer&&n.framebuffer.append(e,i),F(Object.keys(n.state)).forEach(function(t){var r=n.state[t].append(e,i);b(r)?r.forEach(function(n,r){i.set(e.next[t],"["+r+"]",n)}):i.set(a.next,"."+t,r)}),I(e,i,n,!0,!0),["elements","offset","count","instances","primitive"].forEach(function(t){var r=n.draw[t];r&&i.set(a.draw,"."+t,""+r.append(e,i))}),Object.keys(n.uniforms).forEach(function(r){i.set(a.uniforms,"["+t.id(r)+"]",n.uniforms[r].append(e,i))}),Object.keys(n.attributes).forEach(function(t){var r=n.attributes[t].append(e,i),a=e.scopeAttrib(t);Object.keys(new X).forEach(function(e){i.set(a,"."+e,r[e])})}),r("vert"),r("frag"),0<Object.keys(n.state).length&&(i(o,".dirty=true;"),i.exit(o,".dirty=true;")),i("a1(",e.shared.context,",a0,",e.batchId,");")}function Y(e,t,n){var r=t.static[n];if(r&&function(e){if("object"==typeof e&&!b(e)){for(var t=Object.keys(e),n=0;n<t.length;++n)if(q.isDynamic(e[t[n]]))return!0;return!1}}(r)){var i=e.global,a=Object.keys(r),o=!1,f=!1,u=!1,s=e.global.def("{}");a.forEach(function(t){var n=r[t];if(q.isDynamic(n))"function"==typeof n&&(n=r[t]=q.unbox(n)),t=P(n,null),o=o||t.thisDep,u=u||t.propDep,f=f||t.contextDep;else{switch(i(s,".",t,"="),typeof n){case"number":i(n);break;case"string":i('"',n,'"');break;case"object":Array.isArray(n)&&i("[",n.join(),"]");break;default:i(e.link(n))}i(";")}}),t.dynamic[n]=new q.DynamicVariable(4,{thisDep:o,contextDep:f,propDep:u,ref:s,append:function(e,t){a.forEach(function(n){var i=r[n];q.isDynamic(i)&&(i=e.invoke(t,i),t(s,".",n,"=",i,";"))})}}),delete t.static[n]}}var X=c.Record,K={add:32774,subtract:32778,"reverse subtract":32779};n.ext_blend_minmax&&(K.min=32775,K.max=32776);var J=n.angle_instanced_arrays,$=n.webgl_draw_buffers,ee={dirty:!0,profile:m.profile},te={},re=[],ie={},ae={};g("dither",3024),g("blend.enable",3042),y("blend.color","blendColor",[0,0,0,0]),y("blend.equation","blendEquationSeparate",[32774,32774]),y("blend.func","blendFuncSeparate",[1,0,1,0]),g("depth.enable",2929,!0),y("depth.func","depthFunc",513),y("depth.range","depthRange",[0,1]),y("depth.mask","depthMask",!0),y("colorMask","colorMask",[!0,!0,!0,!0]),g("cull.enable",2884),y("cull.face","cullFace",1029),y("frontFace","frontFace",2305),y("lineWidth","lineWidth",1),g("polygonOffset.enable",32823),y("polygonOffset.offset","polygonOffset",[0,0]),g("sample.alpha",32926),g("sample.enable",32928),y("sample.coverage","sampleCoverage",[1,!1]),g("stencil.enable",2960),y("stencil.mask","stencilMask",-1),y("stencil.func","stencilFunc",[519,0,-1]),y("stencil.opFront","stencilOpSeparate",[1028,7680,7680,7680]),y("stencil.opBack","stencilOpSeparate",[1029,7680,7680,7680]),g("scissor.enable",3089),y("scissor.box","scissor",[0,0,e.drawingBufferWidth,e.drawingBufferHeight]),y("viewport","viewport",[0,0,e.drawingBufferWidth,e.drawingBufferHeight]);var oe={gl:e,context:d,strings:t,next:te,current:ee,draw:p,elements:a,buffer:i,shader:l,attributes:c.state,uniforms:s,framebuffer:u,extensions:n,timer:h,isBufferArgs:L},fe={primTypes:ne,compareFuncs:ge,blendFuncs:be,blendEquations:K,stencilOps:ye,glTypes:Z,orientationType:xe};$&&(fe.backBuffer=[1029],fe.drawBuffer=o(r.maxDrawbuffers,function(e){return 0===e?[0]:o(e,function(e){return 36064+e})}));var ue=0;return{next:te,current:ee,procs:function(){var t=x(),n=t.proc("poll"),i=t.proc("refresh"),a=t.block();n(a),i(a);var f=t.shared,u=f.gl,s=f.next,c=f.current;a(c,".dirty=false;"),T(t,n),T(t,i,null,!0);var l,p=e.getExtension("angle_instanced_arrays");p&&(l=t.link(p));for(var d=0;d<r.maxAttributes;++d){var h=i.def(f.attributes,"[",d,"]"),m=t.cond(h,".buffer");m.then(u,".enableVertexAttribArray(",d,");",u,".bindBuffer(",34962,",",h,".buffer.buffer);",u,".vertexAttribPointer(",d,",",h,".size,",h,".type,",h,".normalized,",h,".stride,",h,".offset);").else(u,".disableVertexAttribArray(",d,");",u,".vertexAttrib4f(",d,",",h,".x,",h,".y,",h,".z,",h,".w);",h,".buffer=null;"),i(m),p&&i(l,".vertexAttribDivisorANGLE(",d,",",h,".divisor);")}return Object.keys(ie).forEach(function(e){var r=ie[e],o=a.def(s,".",e),f=t.block();f("if(",o,"){",u,".enable(",r,")}else{",u,".disable(",r,")}",c,".",e,"=",o,";"),i(f),n("if(",o,"!==",c,".",e,"){",f,"}")}),Object.keys(ae).forEach(function(e){var r,f,l=ae[e],p=ee[e],d=t.block();d(u,".",l,"("),b(p)?(l=p.length,r=t.global.def(s,".",e),f=t.global.def(c,".",e),d(o(l,function(e){return r+"["+e+"]"}),");",o(l,function(e){return f+"["+e+"]="+r+"["+e+"];"}).join("")),n("if(",o(l,function(e){return r+"["+e+"]!=="+f+"["+e+"]"}).join("||"),"){",d,"}")):(r=a.def(s,".",e),f=a.def(c,".",e),d(r,");",c,".",e,"=",r,";"),n("if(",r,"!==",f,"){",d,"}")),i(d)}),t.compile()}(),compile:function(e,t,n,r,i){var a=x();return a.stats=a.link(i),Object.keys(t.static).forEach(function(e){Y(a,t,e)}),ve.forEach(function(t){Y(a,e,t)}),n=k(e,t,n,r),function(e,t){var n=e.proc("draw",1);S(e,n),D(e,n,t.context),T(e,n,t.framebuffer),j(e,n,t),O(e,n,t.state),I(e,n,t,!1,!0);var r=t.shader.progVar.append(e,n);if(n(e.shared.gl,".useProgram(",r,".program);"),t.shader.program)Q(e,n,t,t.shader.program);else{var i=e.global.def("{}"),a=n.def(r,".id"),o=n.def(i,"[",a,"]");n(e.cond(o).then(o,".call(this,a0);").else(o,"=",i,"[",a,"]=",e.link(function(n){return U(Q,e,t,n,1)}),"(",r,");",o,".call(this,a0);"))}0<Object.keys(t.state).length&&n(e.shared.current,".dirty=true;")}(a,n),G(a,n),function(e,t){function n(e){return e.contextDep&&i||e.propDep}var r=e.proc("batch",2);e.batchId="0",S(e,r);var i=!1,a=!0;Object.keys(t.context).forEach(function(e){i=i||t.context[e].propDep}),i||(D(e,r,t.context),a=!1);var o=!1;if((f=t.framebuffer)?(f.propDep?i=o=!0:f.contextDep&&i&&(o=!0),o||T(e,r,f)):T(e,r,null),t.state.viewport&&t.state.viewport.propDep&&(i=!0),j(e,r,t),O(e,r,t.state,function(e){return!n(e)}),t.profile&&n(t.profile)||I(e,r,t,!1,"a1"),t.contextDep=i,t.needsContext=a,t.needsFramebuffer=o,(a=t.shader.progVar).contextDep&&i||a.propDep)V(e,r,t,null);else if(a=a.append(e,r),r(e.shared.gl,".useProgram(",a,".program);"),t.shader.program)V(e,r,t,t.shader.program);else{var f=e.global.def("{}"),u=(o=r.def(a,".id"),r.def(f,"[",o,"]"));r(e.cond(u).then(u,".call(this,a0,a1);").else(u,"=",f,"[",o,"]=",e.link(function(n){return U(V,e,t,n,2)}),"(",a,");",u,".call(this,a0,a1);"))}0<Object.keys(t.state).length&&r(e.shared.current,".dirty=true;")}(a,n),a.compile()}}}function R(e,t){for(var n=0;n<e.length;++n)if(e[n]===t)return n;return-1}var H=function(e,t){for(var n=Object.keys(t),r=0;r<n.length;++r)e[n[r]]=t[n[r]];return e},W=0,q={DynamicVariable:e,define:function(n,r){return new e(n,t(r+""))},isDynamic:function(t){return"function"==typeof t&&!t._reglType||t instanceof e},unbox:function(t,n){return"function"==typeof t?new e(0,t):t},accessor:t},U={next:"function"==typeof requestAnimationFrame?function(e){return requestAnimationFrame(e)}:function(e){return setTimeout(e,16)},cancel:"function"==typeof cancelAnimationFrame?function(e){return cancelAnimationFrame(e)}:clearTimeout},Q="undefined"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},N=function(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array||e instanceof Uint8ClampedArray},V=function(e){return Object.keys(e).map(function(t){return e[t]})},G=o(8,function(){return[]}),Y={alloc:u,free:s,allocType:function(e,t){var n=null;switch(e){case 5120:n=new Int8Array(u(t),0,t);break;case 5121:n=new Uint8Array(u(t),0,t);break;case 5122:n=new Int16Array(u(2*t),0,t);break;case 5123:n=new Uint16Array(u(2*t),0,t);break;case 5124:n=new Int32Array(u(4*t),0,t);break;case 5125:n=new Uint32Array(u(4*t),0,t);break;case 5126:n=new Float32Array(u(4*t),0,t);break;default:return null}return n.length!==t?n.subarray(0,t):n},freeType:function(e){s(e.buffer)}},X={shape:function(e){for(var t=[];e.length;e=e[0])t.push(e.length);return t},flatten:function(e,t,n,r){var i=1;if(t.length)for(var a=0;a<t.length;++a)i*=t[a];else i=0;switch(n=r||Y.allocType(n,i),t.length){case 0:break;case 1:for(r=t[0],t=0;t<r;++t)n[t]=e[t];break;case 2:for(r=t[0],t=t[1],a=i=0;a<r;++a)for(var o=e[a],f=0;f<t;++f)n[i++]=o[f];break;case 3:c(e,t[0],t[1],t[2],n,0);break;default:!function e(t,n,r,i,a){for(var o=1,f=r+1;f<n.length;++f)o*=n[f];var u=n[r];if(4==n.length-r){var s=n[r+1],l=n[r+2];for(n=n[r+3],f=0;f<u;++f)c(t[f],s,l,n,i,a),a+=o}else for(f=0;f<u;++f)e(t[f],n,r+1,i,a),a+=o}(e,t,0,n,0)}return n}},K={"[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},Z={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},J={dynamic:35048,stream:35040,static:35044},$=X.flatten,ee=X.shape,te=[];te[5120]=1,te[5122]=2,te[5124]=4,te[5121]=1,te[5123]=2,te[5125]=4,te[5126]=4;var ne={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},re=new Float32Array(1),ie=new Uint32Array(re.buffer),ae=[9984,9986,9985,9987],oe=[0,6409,6410,6407,6408],fe={};fe[6409]=fe[6406]=fe[6402]=1,fe[34041]=fe[6410]=2,fe[6407]=fe[35904]=3,fe[6408]=fe[35906]=4;var ue=Object.keys(K).concat(["[object HTMLCanvasElement]","[object CanvasRenderingContext2D]","[object HTMLImageElement]","[object HTMLVideoElement]"]),se=[];se[5121]=1,se[5126]=4,se[36193]=2,se[5123]=2,se[5125]=4;var ce=[];ce[32854]=2,ce[32855]=2,ce[36194]=2,ce[34041]=4,ce[33776]=.5,ce[33777]=.5,ce[33778]=1,ce[33779]=1,ce[35986]=.5,ce[35987]=1,ce[34798]=1,ce[35840]=.5,ce[35841]=.25,ce[35842]=.5,ce[35843]=.25,ce[36196]=.5;var le=[];le[32854]=2,le[32855]=2,le[36194]=2,le[33189]=2,le[36168]=1,le[34041]=4,le[35907]=4,le[34836]=16,le[34842]=8,le[34843]=6;var pe=function(e,t,n,r,i){function a(e){this.id=s++,this.refCount=1,this.renderbuffer=e,this.format=32854,this.height=this.width=0,i.profile&&(this.stats={size:0})}function o(t){var n=t.renderbuffer;e.bindRenderbuffer(36161,null),e.deleteRenderbuffer(n),t.renderbuffer=null,t.refCount=0,delete c[t.id],r.renderbufferCount--}var f={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};t.ext_srgb&&(f.srgba=35907),t.ext_color_buffer_half_float&&(f.rgba16f=34842,f.rgb16f=34843),t.webgl_color_buffer_float&&(f.rgba32f=34836);var u=[];Object.keys(f).forEach(function(e){u[f[e]]=e});var s=0,c={};return a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.profile&&(r.getTotalRenderbufferSize=function(){var e=0;return Object.keys(c).forEach(function(t){e+=c[t].stats.size}),e}),{create:function(t,n){function o(t,n){var r=0,a=0,c=32854;if("object"==typeof t&&t?("shape"in t?(r=0|(a=t.shape)[0],a=0|a[1]):("radius"in t&&(r=a=0|t.radius),"width"in t&&(r=0|t.width),"height"in t&&(a=0|t.height)),"format"in t&&(c=f[t.format])):"number"==typeof t?(r=0|t,a="number"==typeof n?0|n:r):t||(r=a=1),r!==s.width||a!==s.height||c!==s.format)return o.width=s.width=r,o.height=s.height=a,s.format=c,e.bindRenderbuffer(36161,s.renderbuffer),e.renderbufferStorage(36161,c,r,a),i.profile&&(s.stats.size=le[s.format]*s.width*s.height),o.format=u[s.format],o}var s=new a(e.createRenderbuffer());return c[s.id]=s,r.renderbufferCount++,o(t,n),o.resize=function(t,n){var r=0|t,a=0|n||r;return r===s.width&&a===s.height?o:(o.width=s.width=r,o.height=s.height=a,e.bindRenderbuffer(36161,s.renderbuffer),e.renderbufferStorage(36161,s.format,r,a),i.profile&&(s.stats.size=le[s.format]*s.width*s.height),o)},o._reglType="renderbuffer",o._renderbuffer=s,i.profile&&(o.stats=s.stats),o.destroy=function(){s.decRef()},o},clear:function(){V(c).forEach(o)},restore:function(){V(c).forEach(function(t){t.renderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(36161,t.renderbuffer),e.renderbufferStorage(36161,t.format,t.width,t.height)}),e.bindRenderbuffer(36161,null)}}},de=[];de[6408]=4;var he=[];he[5121]=1,he[5126]=4,he[36193]=2;var me=["x","y","z","w"],ve="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),be={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},ge={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},ye={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},xe={cw:2304,ccw:2305},we=new M(!1,!1,!1,function(){});return function(e){function t(){if(0===Y.length)A&&A.update(),J=null;else{J=U.next(t),l();for(var e=Y.length-1;0<=e;--e){var n=Y[e];n&&n(C,null,0)}v.flush(),A&&A.update()}}function n(){!J&&0<Y.length&&(J=U.next(t))}function r(){J&&(U.cancel(t),J=null)}function a(e){e.preventDefault(),r(),X.forEach(function(e){e()})}function o(e){v.getError(),g.restore(),z.restore(),F.restore(),B.restore(),P.restore(),W.restore(),A&&A.restore(),N.procs.refresh(),n(),K.forEach(function(e){e()})}function f(e){function t(e){var t={},n={};return Object.keys(e).forEach(function(r){var i=e[r];q.isDynamic(i)?n[r]=q.unbox(i,r):t[r]=i}),{dynamic:n,static:t}}var n=t(e.context||{}),r=t(e.uniforms||{}),i=t(e.attributes||{}),a=t(function(e){function t(e){if(e in n){var t=n[e];delete n[e],Object.keys(t).forEach(function(r){n[e+"."+r]=t[r]})}}var n=H({},e);return delete n.uniforms,delete n.attributes,delete n.context,"stencil"in n&&n.stencil.op&&(n.stencil.opBack=n.stencil.opFront=n.stencil.op,delete n.stencil.op),t("blend"),t("depth"),t("cull"),t("stencil"),t("polygonOffset"),t("scissor"),t("sample"),n}(e));e={gpuTime:0,cpuTime:0,count:0};var o=(n=N.compile(a,i,r,n,e)).draw,f=n.batch,u=n.scope,s=[];return H(function(e,t){var n;if("function"==typeof e)return u.call(this,null,e,0);if("function"==typeof t)if("number"==typeof e)for(n=0;n<e;++n)u.call(this,null,t,n);else{if(!Array.isArray(e))return u.call(this,e,t,0);for(n=0;n<e.length;++n)u.call(this,e[n],t,n)}else if("number"==typeof e){if(0<e)return f.call(this,function(e){for(;s.length<e;)s.push(null);return s}(0|e),0|e)}else{if(!Array.isArray(e))return o.call(this,e);if(e.length)return f.call(this,e,e.length)}},{stats:e})}function u(e,t){var n=0;N.procs.poll();var r=t.color;r&&(v.clearColor(+r[0]||0,+r[1]||0,+r[2]||0,+r[3]||0),n|=16384),"depth"in t&&(v.clearDepth(+t.depth),n|=256),"stencil"in t&&(v.clearStencil(0|t.stencil),n|=1024),v.clear(n)}function s(e){return Y.push(e),n(),{cancel:function(){var t=R(Y,e);Y[t]=function e(){var t=R(Y,e);Y[t]=Y[Y.length-1],--Y.length,0>=Y.length&&r()}}}}function c(){var e=V.viewport,t=V.scissor_box;e[0]=e[1]=t[0]=t[1]=0,C.viewportWidth=C.framebufferWidth=C.drawingBufferWidth=e[2]=t[2]=v.drawingBufferWidth,C.viewportHeight=C.framebufferHeight=C.drawingBufferHeight=e[3]=t[3]=v.drawingBufferHeight}function l(){C.tick+=1,C.time=d(),c(),N.procs.poll()}function p(){c(),N.procs.refresh(),A&&A.update()}function d(){return(Q()-_)/1e3}if(!(e=i(e)))return null;var v=e.gl,b=v.getContextAttributes();v.isContextLost();var g=function(e,t){function n(t){var n;t=t.toLowerCase();try{n=r[t]=e.getExtension(t)}catch(e){}return!!n}for(var r={},i=0;i<t.extensions.length;++i){var a=t.extensions[i];if(!n(a))return t.onDestroy(),t.onDone('"'+a+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return t.optionalExtensions.forEach(n),{extensions:r,restore:function(){Object.keys(r).forEach(function(e){if(!n(e))throw Error("(regl): error restoring extension "+e)})}}}(v,e);if(!g)return null;var y=function(){var e={"":0},t=[""];return{id:function(n){var r=e[n];return r||(r=e[n]=t.length,t.push(n),r)},str:function(e){return t[e]}}}(),x={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},w=g.extensions,A=function(e,t){function n(e,t,n){var r=o.pop()||new function(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null};r.startQueryIndex=e,r.endQueryIndex=t,r.sum=0,r.stats=n,f.push(r)}var r=t.ext_disjoint_timer_query;if(!r)return null;var i=[],a=[],o=[],f=[],u=[],s=[];return{beginQuery:function(e){var t=i.pop()||r.createQueryEXT();r.beginQueryEXT(35007,t),a.push(t),n(a.length-1,a.length,e)},endQuery:function(){r.endQueryEXT(35007)},pushScopeStats:n,update:function(){var e,t;if(0!==(e=a.length)){s.length=Math.max(s.length,e+1),u.length=Math.max(u.length,e+1),u[0]=0;var n=s[0]=0;for(t=e=0;t<a.length;++t){var c=a[t];r.getQueryObjectEXT(c,34919)?(n+=r.getQueryObjectEXT(c,34918),i.push(c)):a[e++]=c,u[t+1]=n,s[t+1]=e}for(a.length=e,t=e=0;t<f.length;++t){var l=(n=f[t]).startQueryIndex;c=n.endQueryIndex,n.sum+=u[c]-u[l],l=s[l],(c=s[c])===l?(n.stats.gpuTime+=n.sum/1e6,o.push(n)):(n.startQueryIndex=l,n.endQueryIndex=c,f[e++]=n)}f.length=e}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var e=0;e<i.length;e++)r.deleteQueryEXT(i[e]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,w),_=Q(),O=v.drawingBufferWidth,S=v.drawingBufferHeight,C={tick:0,time:0,viewportWidth:O,viewportHeight:S,framebufferWidth:O,framebufferHeight:S,drawingBufferWidth:O,drawingBufferHeight:S,pixelRatio:e.pixelRatio},L=function(e,t){var n=1;t.ext_texture_filter_anisotropic&&(n=e.getParameter(34047));var r=1,i=1;return t.webgl_draw_buffers&&(r=e.getParameter(34852),i=e.getParameter(36063)),{colorBits:[e.getParameter(3410),e.getParameter(3411),e.getParameter(3412),e.getParameter(3413)],depthBits:e.getParameter(3414),stencilBits:e.getParameter(3415),subpixelBits:e.getParameter(3408),extensions:Object.keys(t).filter(function(e){return!!t[e]}),maxAnisotropic:n,maxDrawbuffers:r,maxColorAttachments:i,pointSizeDims:e.getParameter(33901),lineWidthDims:e.getParameter(33902),maxViewportDims:e.getParameter(3386),maxCombinedTextureUnits:e.getParameter(35661),maxCubeMapSize:e.getParameter(34076),maxRenderbufferSize:e.getParameter(34024),maxTextureUnits:e.getParameter(34930),maxTextureSize:e.getParameter(3379),maxAttributes:e.getParameter(34921),maxVertexUniforms:e.getParameter(36347),maxVertexTextureUnits:e.getParameter(35660),maxVaryingVectors:e.getParameter(36348),maxFragmentUniforms:e.getParameter(36349),glsl:e.getParameter(35724),renderer:e.getParameter(7937),vendor:e.getParameter(7936),version:e.getParameter(7938)}}(v,w),F=h(v,x,e),M=m(v,w,F,x),z=(O=function(e,t,n,r,i){for(e=n.maxAttributes,t=Array(e),n=0;n<e;++n)t[n]=new D;return{Record:D,scope:{},state:t}}(v,w,L),T(v,y,x,e)),B=E(v,w,L,function(){N.procs.poll()},C,x,e),P=pe(v,w,0,x,e),W=k(v,w,L,B,P,x),N=I(v,y,w,L,F,M,0,W,{},O,z,{elements:null,primitive:4,count:-1,offset:0,instances:-1},C,A,e),V=(y=j(v,W,N.procs.poll,C),N.next),G=v.canvas,Y=[],X=[],K=[],Z=[e.onDestroy],J=null;G&&(G.addEventListener("webglcontextlost",a,!1),G.addEventListener("webglcontextrestored",o,!1));var $=W.setFBO=f({framebuffer:q.define.call(null,1,"framebuffer")});return p(),b=H(f,{clear:function(e){if("framebuffer"in e)if(e.framebuffer&&"framebufferCube"===e.framebuffer_reglType)for(var t=0;6>t;++t)$(H({framebuffer:e.framebuffer.faces[t]},e),u);else $(e,u);else u(0,e)},prop:q.define.bind(null,1),context:q.define.bind(null,2),this:q.define.bind(null,3),draw:f({}),buffer:function(e){return F.create(e,34962,!1,!1)},elements:function(e){return M.create(e,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:P.create,framebuffer:W.create,framebufferCube:W.createCube,attributes:b,frame:s,on:function(e,t){var n;switch(e){case"frame":return s(t);case"lost":n=X;break;case"restore":n=K;break;case"destroy":n=Z}return n.push(t),{cancel:function(){for(var e=0;e<n.length;++e)if(n[e]===t){n[e]=n[n.length-1],n.pop();break}}}},limits:L,hasExtension:function(e){return 0<=L.extensions.indexOf(e.toLowerCase())},read:y,destroy:function(){Y.length=0,r(),G&&(G.removeEventListener("webglcontextlost",a),G.removeEventListener("webglcontextrestored",o)),z.clear(),W.clear(),P.clear(),B.clear(),M.clear(),F.clear(),A&&A.clear(),Z.forEach(function(e){e()})},_gl:v,_refresh:p,poll:function(){l(),A&&A.update()},now:d,stats:x}),e.onDone(null,b),b}},"object"==typeof n&&void 0!==t?t.exports=i():"function"==typeof define&&define.amd?define(i):r.createREGL=i()},{}],76:[function(e,t,n){t.exports=function(e,t){if(!t||"object"!=typeof t)return e;var n=Object.keys(t),r=n.length;for(;r--;)e[n[r]]=t[n[r]];return e}},{}],77:[function(e,t,n){t.exports=function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)r.call(n,i)&&(e[i]=n[i])}return e};var r=Object.prototype.hasOwnProperty},{}],78:[function(e,t,n){"use strict";var r=e("../../lib/interaction-events"),i=e("xtend/mutable"),a=e("gl-mat4"),o=e("event-emitter"),f=e("gl-vec4");a.viewport=function(e,t,n,r,i,a,o){return e[0]=.5*r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=.5*i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=.5*(o-a),e[11]=0,e[12]=t+.5*r,e[13]=n+.5*i,e[14]=.5*(o+a),e[15]=1,e},t.exports=function(e,t){var n=i({element:(t=t||{}).element||e._gl.canvas},t||{}).element,u=!0,s=n===window?function(){return n.innerWidth}:function(){return n.offsetWidth},c=n===window?function(){return n.innerHeight}:function(){return n.offsetHeight},l=void 0===t.xrange?[-1,1]:t.xrange,p=void 0===t.yrange?[-1,1]:t.yrange,d=void 0===t.aspectRatio?1:t.aspectRatio,h=s(),m=c(),v=.5*(l[1]+l[0]),b=.5*(p[1]+p[0]),g=.5*(l[1]-l[0]),y=g/d/h*m,x=a.identity([]);x[0]=1/g,x[5]=1/y,x[12]=-v/g,x[13]=-b/y;var w=a.identity([]),A=a.identity([]);function _(){h=s(),m=c(),a.viewport(w,0,m,h,-m,0,1),a.invert(A,w)}_();var E=[];r({element:n}).on("interactionstart",function(e){e.preventDefault()}).on("interactionend",function(e){e.preventDefault()}).on("interaction",function(e){switch(e.type){case"wheel":e.dsx=e.dsy=Math.exp(-e.dy/100),e.dx=e.dy=0}(e.buttons||-1!==["wheel","touch","pinch"].indexOf(e.type))&&(e.preventDefault(),E[0]=e.dsx,E[1]=0,E[2]=0,E[3]=0,E[4]=0,E[5]=e.dsy,E[6]=0,E[7]=0,E[8]=0,E[9]=0,E[10]=1,E[11]=0,E[12]=-e.dsx*e.x0+e.x0+e.dx,E[13]=-e.dsy*e.y0+e.y0+e.dy,E[14]=0,E[15]=1,a.multiply(E,E,w),a.multiply(E,A,E),a.multiply(x,E,x),u=!0);var t=f.transformMat4([],f.transformMat4([],[e.x0,e.y0,0,1],A),a.invert([],x));e.x=t[0],e.y=t[1],D.emit("move",e)});var k=e({context:{view:e.prop("view")}}),D=new o;return{draw:function(e){k({view:x},function(){e({dirty:u})}),u=!1},on:function(e,t){D.on(e,t)},off:function(e,t){D.off(e,t)},taint:function(){u=!0},resize:function(){_(),x[5]=x[0]*d*h/m,u=!0}}}},{"../../lib/interaction-events":1,"event-emitter":18,"gl-mat4":29,"gl-vec4":52,"xtend/mutable":77}],79:[function(e,t,n){var r=e("glslify");e("regl")({pixelRatio:Math.min(1.5,window.devicePixelRatio),attributes:{antialias:!1},extensions:["oes_standard_derivatives"],onDone:e("fail-nicely")(function(t){var n=e("./camera-2d")(t,{xrange:[-5.1,5.1],yrange:[-5.1,5.1]}),i=e("./uniforms")(t);window.addEventListener("resize",n.resize);var a=t({vert:"\n precision highp float;\n attribute vec2 xy;\n varying vec2 uv;\n uniform mat4 view, iview;\n void main () {\n uv = (iview * vec4(xy, 0.0, 1.0)).xy;\n gl_Position = vec4(xy, 0, 1);\n }\n ",frag:r(["\n #extension GL_OES_standard_derivatives : enable\n precision highp float;\n#define GLSLIFY 1\n\n\n float arrow (vec2 uv_0, float tl, float tw, float ar) {\n float oar = 1.0 / ar;\n vec2 uvrel = vec2(abs(uv_0.x - 0.5), uv_0.y - tl);\n\n vec2 dr = vec2((1.0 - tl) * oar, 0.5);\n dr /= length(dr);\n dr.y *= oar;\n\n return\n max(\n dot(uvrel - vec2(0.5, 0.0), dr),\n min(\n (tl - uv_0.y) * oar,\n max(\n uvrel.x - tw * 0.5,\n -uv_0.y * oar\n )\n )\n )\n ;\n}\n\n highp float random(vec2 co)\n{\n highp float a = 12.9898;\n highp float b = 78.233;\n highp float c = 43758.5453;\n highp float dt= dot(co.xy ,vec2(a,b));\n highp float sn= mod(dt,3.14);\n return fract(sin(sn) * c);\n}\n\n vec4 rainbow_soft_1604150559 (float x_0) {\n const float e0 = 0.0;\n const vec4 v0 = vec4(0.49019607843137253,0,0.7019607843137254,1);\n const float e1 = 0.1;\n const vec4 v1 = vec4(0.7803921568627451,0,0.7058823529411765,1);\n const float e2 = 0.2;\n const vec4 v2 = vec4(1,0,0.4745098039215686,1);\n const float e3 = 0.3;\n const vec4 v3 = vec4(1,0.4235294117647059,0,1);\n const float e4 = 0.4;\n const vec4 v4 = vec4(0.8705882352941177,0.7607843137254902,0,1);\n const float e5 = 0.5;\n const vec4 v5 = vec4(0.5882352941176471,1,0,1);\n const float e6 = 0.6;\n const vec4 v6 = vec4(0,1,0.21568627450980393,1);\n const float e7 = 0.7;\n const vec4 v7 = vec4(0,0.9647058823529412,0.5882352941176471,1);\n const float e8 = 0.8;\n const vec4 v8 = vec4(0.19607843137254902,0.6549019607843137,0.8705882352941177,1);\n const float e9 = 0.9;\n const vec4 v9 = vec4(0.403921568627451,0.2,0.9215686274509803,1);\n const float e10 = 1.0;\n const vec4 v10 = vec4(0.48627450980392156,0,0.7294117647058823,1);\n float a0 = smoothstep(e0,e1,x_0);\n float a1 = smoothstep(e1,e2,x_0);\n float a2 = smoothstep(e2,e3,x_0);\n float a3 = smoothstep(e3,e4,x_0);\n float a4 = smoothstep(e4,e5,x_0);\n float a5 = smoothstep(e5,e6,x_0);\n float a6 = smoothstep(e6,e7,x_0);\n float a7 = smoothstep(e7,e8,x_0);\n float a8 = smoothstep(e8,e9,x_0);\n float a9 = smoothstep(e9,e10,x_0);\n return max(mix(v0,v1,a0)*step(e0,x_0)*step(x_0,e1),\n max(mix(v1,v2,a1)*step(e1,x_0)*step(x_0,e2),\n max(mix(v2,v3,a2)*step(e2,x_0)*step(x_0,e3),\n max(mix(v3,v4,a3)*step(e3,x_0)*step(x_0,e4),\n max(mix(v4,v5,a4)*step(e4,x_0)*step(x_0,e5),\n max(mix(v5,v6,a5)*step(e5,x_0)*step(x_0,e6),\n max(mix(v6,v7,a6)*step(e6,x_0)*step(x_0,e7),\n max(mix(v7,v8,a7)*step(e7,x_0)*step(x_0,e8),\n max(mix(v8,v9,a8)*step(e8,x_0)*step(x_0,e9),mix(v9,v10,a9)*step(e9,x_0)*step(x_0,e10)\n )))))))));\n}\n\n varying vec2 uv;\n uniform float time;\n\n void main () {\n //float sdf = arrow(uv, tailLength, tailWidth, aspectRatio);\n float th = atan(uv.y, uv.x);\n\n float n = 3.0;\n float r = length(uv) * n;\n float r0 = floor(r);\n float r1 = ceil(r);\n float ravg = 0.5 * (r0 + r1);\n\n float num = r0 * 0.5 + 1.0;\n float speed = 2.0 / ravg;\n float u = -0.1 + 1.2 * fract((th / 3.14159) * num - speed * time + random(vec2(ravg, 0.0)));\n float v = -0.1 + 1.2 * fract(r);\n\n float correction = (ravg - 0.2) / ravg;\n float tailLength = 0.9 * correction;\n float sdf = arrow(vec2(v, u), tailLength, 0.5, 1.0 / 6.28 / correction);\n\n float dx = dFdx(sdf);\n float dy = dFdy(sdf);\n float wid = inversesqrt(dx * dx + dy * dy);\n\n sdf += 0.30 * (1.0 - 1.0 / (1.0 + ravg / 10.0)) - 0.15;\n\n sdf *= wid;\n\n float border = 5.0;\n float alpha = smoothstep(0.0, -2.0, sdf);\n vec3 color = mix(\n rainbow_soft_1604150559(clamp(1.0 - r0 / 20.0, 0.2, 1.0)).xyz,\n vec3(0.0),\n smoothstep(-border, -border + 2.0, sdf)\n );\n\n gl_FragColor = vec4(vec3(color), alpha);\n }\n "]),depth:{enable:!1},blend:{enable:!0,func:{srcRGB:"src alpha",srcAlpha:1,dstRGB:"one minus src alpha",dstAlpha:1},equation:{rgb:"add",alpha:"add"}},attributes:{xy:[-4,-4,0,4,4,-4]},count:3});t.frame(function(e){e.tick;n.draw(function(e){e.dirty;t.clear({color:[.2,.3,.4,1]}),i({tailLength:.5,tailWidth:.5},function(){a()})})})})})},{"./camera-2d":78,"./uniforms":80,"fail-nicely":19,glslify:70,regl:75}],80:[function(e,t,n){var r=e("gl-mat4");function i(e,t){return[t.aspectRatio,0,0,0,0,1,0,0,0,0,1,0,.5-.5*t.aspectRatio,0,0,1]}t.exports=function(e){return e({uniforms:{view:function(e){return e.view},iview:function(e){return r.invert([],e.view)},tailLength:e.prop("tailLength"),tailWidth:e.prop("tailWidth"),border:e.prop("border"),aspectRatio:e.prop("aspectRatio"),model:i,time:e.context("time")}})}},{"gl-mat4":29}]},{},[79]); |