handsfree
Version:
Quickly integrate face, hand, and/or pose tracking to your frontend projects in a snap ✨👌
112 lines (111 loc) • 70.6 kB
JavaScript
/**
* Jeeliz Weboji - https://github.com/jeeliz/jeelizWeboji
*
* Copyright 2018 Jeeliz ( https://jeeliz.com )
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var JEEFACETRANSFERAPI=(function(){function da(b){var c=new XMLHttpRequest;c.open("GET",a.Bb+a.neuralNetworkPath,!0);c.withCredentials=!1;c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&0!==c.status||b(c.responseText)};c.send()}function ea(){for(var b=a.vc,c=Array(b),f=0;f<b;++f)c[f]=0;return c}function ma(b,c){if(0===c||"object"!==typeof b)return b;b=Object.assign({},b);c=void 0===c||-1===c?-1:c-1;for(var f in b)b[f]=ma(b[f],c);return b}
function na(b,c,f){b=Math.min(Math.max((f-b)/(c-b),0),1);return b*b*(3-2*b)}function qa(b,c,f){return Math.min(Math.max((f-b)/(c-b),0),1)}function ra(b,c,f,g){return Math.pow(Math.min(Math.max((g-b)/(c-b),0),1),f)}
function ta(b){switch(b){case "relu":return"gl_FragColor=max(vec4(0.,0.,0.,0.),gl_FragColor);";case "elu":return"gl_FragColor=mix(exp(-abs(gl_FragColor))-vec4(1.,1.,1.,1.),gl_FragColor,step(0.,gl_FragColor));";case "elu01":return"gl_FragColor=mix(0.1*exp(-abs(gl_FragColor))-vec4(0.1,0.1,0.1,0.1),gl_FragColor,step(0.,gl_FragColor));";case "arctan":return"gl_FragColor=atan(3.14159265359*texture2D(u0,vUV))/3.14159265359;";case "copy":return"";default:return!1}}
function Aa(b,c){var f=c%8;return b[(c-f)/8]>>7-f&1}
function Ba(b){var c=JSON.parse(b);b=c.ne;var f=c.nf,g=c.n;var u="undefined"===typeof btoa?Buffer.from(c.data,"base64").toString("latin1"):atob(c.data);var h=u.length;c=new Uint8Array(h);for(var v=0;v<h;++v)c[v]=u.charCodeAt(v);u=new Float32Array(g);h=new Float32Array(f);v=b+f+1;for(var m=0;m<g;++m){for(var e=v*m,t=0===Aa(c,e)?1:-1,d=e+1,l=1,p=0,k=d+b-1;k>=d;--k)p+=l*Aa(c,k),l*=2;d=p;e=e+1+b;l=h.length;p=0;for(k=e;k<e+l;++k)h[p]=Aa(c,k),++p;for(l=e=0;l<f;++l)e+=h[l]*Math.pow(2,-l-1);u[m]=0===e&&0===
d?0:t*(1+e)*Math.pow(2,1+d-Math.pow(2,b-1))}return u}
var E=function(){function b(w,r,B){r=w.createShader(r);w.shaderSource(r,B);w.compileShader(r);return w.getShaderParameter(r,w.COMPILE_STATUS)?r:!1}function c(w,r,B){r=b(w,w.VERTEX_SHADER,r);B=b(w,w.FRAGMENT_SHADER,B);w===C&&v.push(r,B);var O=w.createProgram();w.attachShader(O,r);w.attachShader(O,B);w.linkProgram(O);return O}function f(w,r){void 0===r.ia&&(r.ia="precision lowp float;attribute vec2 a0;varying vec2 vv0;void main(){gl_Position=vec4(a0,0.,1.),vv0=a0*.5+vec2(.5,.5);}");void 0===r.la&&(r.la=
["a0"]);void 0===r.fa&&(r.fa=[2]);if(void 0===r.precision||"highp"===r.precision)r.precision=l;r.id=t++;void 0!==r.Jc&&(r.Jc.forEach(function(O,A){r.h=r.h.replace(O,r.Ea[A])}),r.Jc.splice(0));r.zb=0;r.fa.forEach(function(O){r.zb+=4*O});r.Z=c(w,r.ia,"precision "+r.precision+" float;\n"+r.h);r.s={};r.i.forEach(function(O){r.s[O]=w.getUniformLocation(r.Z,O)});r.attributes={};r.ga=[];r.la.forEach(function(O){var A=w.getAttribLocation(r.Z,O);r.attributes[O]=A;r.ga.push(A)});if(r.j){w.useProgram(r.Z);e=
r;m=r.id;for(var B in r.j)w.uniform1i(r.s[B],r.j[B])}r.gb=!0}function g(w){Ca.he(V);m!==w.id&&(V.K(),m=w.id,e=w,C.useProgram(w.Z),w.ga.forEach(function(r){0!==r&&C.enableVertexAttribArray(r)}))}function u(w,r,B){f(w,r,B);w.useProgram(r.Z);w.enableVertexAttribArray(0);m=-1;return e=r}function h(){return{h:"uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vv0);}",i:["u1"],j:{u1:0}}}var v=[],m=-1,e=null,t=0,d=!1,l="highp",p=["u1"],k=["u0"],D={u1:0},K={u0:0},J={u1:0,u2:1},M=
{u3:0},F={s0:h(),s1:{h:"uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vv0);}",i:p,j:D,precision:"lowp"},s2:{h:"uniform sampler2D u1,u2;varying vec2 vv0;void main(){vec4 a=texture2D(u2,vv0),b=texture2D(u1,vv0);gl_FragColor=a*b;}",i:["u1","u2"],j:J},s3:{h:"uniform sampler2D u1;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u1,vv0);gl_FragColor=a.r*f;}",i:p,j:D},s4:{h:"uniform sampler2D u1,u2;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u2,vv0),b=texture2D(u1,vv0);gl_FragColor=a.a*b.r*f;}",
i:["u1","u2"],j:J},s5:{h:"uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vec2(1.-vv0.x,vv0.y));}",i:p,j:D},s6:{h:"uniform sampler2D u1;varying vec2 vv0;void main(){gl_FragColor=texture2D(u1,vec2(vv0.x,1.-vv0.y));}",i:p,j:D},s7:{h:"uniform sampler2D u0;uniform float u4;varying vec2 vv0;void main(){vec4 a=texture2D(u0,vv0);gl_FragColor=a*u4;}",i:["u0","u4"],j:K},s8:{h:"uniform sampler2D u0;uniform float u4;varying vec2 vv0;const vec4 f=vec4(.25,.25,.25,.25),g=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u0,vv0);float b=dot(a*u4,f);gl_FragColor=b*g;}",
i:["u0","u4"],j:K},s9:{h:"uniform sampler2D u1;varying vec2 vv0;const vec4 e=vec4(1.,1.,1.,1.);void main(){float a=.25*dot(e,texture2D(u1,vv0));gl_FragColor=a*e;}",i:p,j:D},s10:{h:"uniform sampler2D u1,u5;uniform float u6;const vec4 f=vec4(1.,1.,1.,1.);varying vec2 vv0;void main(){vec4 a=texture2D(u1,vv0),b=texture2D(u5,vv0);gl_FragColor=mix(b,a,u6*f);}",i:["u1","u5","u6"],j:{u1:0,u5:1}},s11:{h:"uniform sampler2D u1;uniform vec2 u7;varying vec2 vv0;void main(){gl_FragColor=.25*(texture2D(u1,vv0+u7)+texture2D(u1,vv0+u7*vec2(1.,-1.))+texture2D(u1,vv0+u7*vec2(-1.,-1.))+texture2D(u1,vv0+u7*vec2(-1.,1.)));}",
i:["u1","u7"],j:D},s12:{h:"uniform sampler2D u1;uniform vec4 u8;varying vec2 vv0;float g(float a,float b){a=floor(a)+.5;return floor(a/exp2(b));}float h(float a,float b){return floor(a*exp2(b)+.5);}float i(float a,float b){return mod(a,h(1.,b));}float e(float c,float a,float b){a=floor(a+.5),b=floor(b+.5);return i(g(c,a),b-a);}vec4 j(float a){if(a==0.)return vec4(0.,0.,0.,0.);float k=128.*step(a,0.);a=abs(a);float c=floor(log2(a)),l=c+127.,b=(a/exp2(c)-1.)*8388608.,d=l/2.,m=fract(d)*2.,n=floor(d),o=e(b,0.,8.),p=e(b,8.,16.),q=m*128.+e(b,16.,23.),r=k+n;return vec4(o,p,q,r)/255.;}void main(){float a=dot(texture2D(u1,vv0),u8);gl_FragColor=j(a);}",
i:["u1","u8"],j:D},s13:{h:"uniform sampler2D u0;varying vec2 vv0;const vec4 e=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u0,vv0),b=e/(e+exp(-a));gl_FragColor=b;}",i:k,j:K},s14:{h:"uniform sampler2D u0;varying vec2 vv0;const vec4 f=vec4(0.,0.,0.,0.);void main(){vec4 a=texture2D(u0,vv0);gl_FragColor=max(f,a);}",i:k,j:K},s15:{h:"uniform sampler2D u0;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u0,vv0);gl_FragColor=mix(exp(-abs(a))-f,a,step(0.,a));}",i:k,j:K},s16:{h:"uniform sampler2D u0;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u0,vv0),b=exp(-abs(a))-f;gl_FragColor=mix(.1*b,a,step(0.,a));}",
i:k,j:K},s17:{h:"uniform sampler2D u0,u6,u9;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u0,vv0),c=texture2D(u6,vv0),d=texture2D(u9,vv0),b=a/d;gl_FragColor=c*mix(exp(-abs(b))-f,b,step(0.,a));}",i:["u0","u6","u9"],j:{u0:0,u6:1,u9:2}},s18:{h:"uniform sampler2D u0;const float e=3.141593;varying vec2 vv0;void main(){gl_FragColor=atan(e*texture2D(u0,vv0))/e;}",i:k,j:K},s19:{h:"uniform sampler2D u0;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=texture2D(u0,vv0),b=log(f+a);gl_FragColor=b;}",
i:k,j:K},s20:{h:"uniform sampler2D u0,u10;uniform float u11;const vec2 e=vec2(.5,.5);const float f=1e-5;const vec4 g=vec4(1.,1.,1.,1.),i=vec4(0.,0.,0.,0.);varying vec2 vv0;void main(){vec4 a=texture2D(u10,e);float b=u11*u11;vec4 c=max(b*a,f*g);gl_FragColor=texture2D(u0,vv0)/c;}",i:["u0","u10","u11"],j:{u0:0,u10:1}},s21:{h:"uniform sampler2D u1;uniform vec2 u12;varying vec2 vv0;void main(){float a=u12.x*u12.y;vec2 b=floor(vv0*a)/a,c=fract(vv0*a),d=floor(b*u12.y),f=floor(u12.x*fract(b*u12.y)),g=(f*u12.y+d)/a;gl_FragColor=texture2D(u1,g+c/a);}",
i:["u1","u12"],j:D},s22:{h:"uniform sampler2D u13,u14,u15;varying vec2 vv0;void main(){vec4 a=texture2D(u15,vv0);vec2 b=a.rg,c=a.ba;vec4 d=texture2D(u13,b),f=texture2D(u14,c);gl_FragColor=d*f;}",i:["u13","u14","u15"],j:{u14:0,u13:1,u15:2}},s23:{h:"uniform float u16;uniform sampler2D u13,u14;varying vec2 vv0;void main(){vec2 a=fract(vv0*u16);vec4 b=texture2D(u13,vv0),c=texture2D(u14,a);gl_FragColor=b*c;}",i:["u14","u13","u16"],j:{u14:0,u13:1}},s24:{h:"uniform float u16;uniform sampler2D u13,u14,u17,u18,u19,u20;varying vec2 vv0;const vec4 e=vec4(1.,1.,1.,1.),g=vec4(1e-3,1e-3,1e-3,1e-3);void main(){vec2 h=vv0*u16,l=floor(h),c=h-l;vec4 m=texture2D(u13,vv0),d=texture2D(u14,c),a=texture2D(u20,vv0);a=a*255.;vec4 n=texture2D(u17,c),o=texture2D(u18,c),p=texture2D(u19,c),i=step(-g,-a),b=e-i,j=b*step(-e-g,-a);b*=e-j;vec4 k=b*step(-2.*e-g,-a);b*=e-k;vec4 q=b;d=i*d+j*n+k*o+q*p,gl_FragColor=m*d;}",
i:"u13 u14 u16 u20 u17 u18 u19".split(" "),j:{u14:0,u13:1,u20:3,u17:4,u18:5,u19:6}},s25:{h:"uniform sampler2D u13,u14,u21;uniform float u16,u22,u23,u24;varying vec2 vv0;const vec2 j=vec2(1.,1.);void main(){vec2 a=floor(u22*vv0),b=u22*vv0-a;float c=u16/u22;vec2 d=floor(b*c),f=b*c-d,g=(a+f)/u22;float k=u22*u24/u16;vec2 l=k*d,h=(l+f*u23)/u24,i=step(h,j);vec4 m=texture2D(u13,g),n=texture2D(u14,h),o=m*n*i.x*i.y,p=texture2D(u21,g);gl_FragColor=o*u23*u23+p;}",i:"u13 u14 u16 u22 u23 u24 u21".split(" "),j:{u14:0,
u13:1,u21:2}},s26:{h:"uniform sampler2D u13,u14;varying vec2 vv0;void main(){vec4 a=texture2D(u13,vv0),b=texture2D(u14,vv0);gl_FragColor=a*b;}",i:["u13","u14"],j:{u14:0,u13:1}},s27:{h:"uniform sampler2D u1,u21;uniform float u25;varying vec2 vv0;void main(){gl_FragColor=texture2D(u21,vv0)+u25*texture2D(u1,vv0);}",i:["u1","u21","u25"],j:{u1:0,u21:1}},s28:{h:"varying vec2 vv0;uniform sampler2D u1;const vec4 f=vec4(1.,1.,1.,1.),g=vec4(.299,.587,.114,0.);void main(){vec4 a=texture2D(u1,vv0);gl_FragColor=dot(a,g)*f;}",
i:p,j:D,precision:"lowp"},s29:{h:"varying vec2 vv0;uniform sampler2D u1;uniform float u26;const vec3 f=vec3(.299,.587,.114);void main(){vec3 a=texture2D(u1,vv0).rgb,b=texture2D(u1,vv0+vec2(0.,u26)).rgb,c=texture2D(u1,vv0+vec2(u26,u26)).rgb,d=texture2D(u1,vv0+vec2(u26,0.)).rgb;gl_FragColor=vec4(dot(a,f),dot(b,f),dot(c,f),dot(d,f));}",i:["u1","u26"],j:D,precision:"lowp"},s30:{h:"varying vec2 vv0;uniform sampler2D u1;uniform float u26;const vec3 f=vec3(.299,.587,.114);void main(){vec3 a=texture2D(u1,vv0).rgb,b=texture2D(u1,vv0+vec2(0.,u26)).rgb,c=texture2D(u1,vv0+vec2(u26,u26)).rgb,d=texture2D(u1,vv0+vec2(u26,0.)).rgb;gl_FragColor=vec4(a.r,b.g,c.b,dot(d,f));}",
i:["u1","u26"],j:D,precision:"lowp"},s31:{h:"varying vec2 vv0;uniform sampler2D u1,u2;uniform float u27;const vec4 f=vec4(1.,1.,1.,1.);void main(){vec4 a=vec4(0.);a-=texture2D(u1,vec2(vv0.x-u27,vv0.y-u27))*1.,a-=texture2D(u1,vec2(vv0.x-u27,vv0.y))*2.,a-=texture2D(u1,vec2(vv0.x-u27,vv0.y+u27))*1.,a+=texture2D(u1,vec2(vv0.x+u27,vv0.y-u27))*1.,a+=texture2D(u1,vec2(vv0.x+u27,vv0.y))*2.,a+=texture2D(u1,vec2(vv0.x+u27,vv0.y+u27))*1.;vec4 b=vec4(0.);b-=texture2D(u1,vec2(vv0.x-u27,vv0.y-u27))*1.,b-=texture2D(u1,vec2(vv0.x,vv0.y-u27))*2.,b-=texture2D(u1,vec2(vv0.x+u27,vv0.y-u27))*1.,b+=texture2D(u1,vec2(vv0.x-u27,vv0.y+u27))*1.,b+=texture2D(u1,vec2(vv0.x,vv0.y+u27))*2.,b+=texture2D(u1,vec2(vv0.x+u27,vv0.y+u27))*1.;vec3 c=sqrt(a.rgb*a.rgb+b.rgb*b.rgb);vec4 e=vec4(c,texture2D(u1,vv0).a),g=texture2D(u2,vv0);gl_FragColor=g.a*e.r*f;}",
i:["u1","u2","u27"],j:J},s32:{h:"varying vec2 vv0;uniform sampler2D u1,u2;uniform float u27;const vec4 j=vec4(1.,1.,1.,1.);const vec2 k=vec2(1.,1.);void main(){float h=0.;vec2 l=k*u27,a,b;float c,d,i=0.;for(float e=-4.;e<=4.;e+=1.)for(float f=-4.;f<=4.;f+=1.)a=vec2(e,f),c=length(a)/2.,d=exp(-c*c),b=vv0+l*a,h+=d*texture2D(u1,b).r,i+=d;vec4 m=texture2D(u2,vv0);gl_FragColor=m.a*(texture2D(u1,b).r-h/i)*j;}",i:["u1","u2","u27"],j:J},s33:{h:"uniform sampler2D u3;uniform vec2 u7;varying vec2 vv0;vec4 e(vec4 a,vec4 b){vec4 c=step(a,b);return mix(a,b,c);}const vec2 g=vec2(.5,.5),h=vec2(1.,0.),i=vec2(0.,1.);void main(){vec2 a=vv0-u7*g;vec4 b=texture2D(u3,a),c=texture2D(u3,a+u7*h),d=texture2D(u3,a+u7*i),j=texture2D(u3,a+u7),k=e(b,c),l=e(d,j);gl_FragColor=e(k,l);}",
i:["u3","u7"],j:M},s34:{h:"uniform sampler2D u3;uniform vec2 u7;varying vec2 vv0;const vec2 k=vec2(1.,0.),l=vec2(0.,1.),m=vec2(2.,0.),n=vec2(0.,2.);vec4 e(vec4 a,vec4 b){vec4 c=step(a,b);return mix(a,b,c);}vec4 f(vec2 a){vec4 b=texture2D(u3,a),c=texture2D(u3,a+u7*k),d=texture2D(u3,a+u7*l),g=texture2D(u3,a+u7),h=e(b,c),i=e(d,g);return e(h,i);}void main(){vec2 a=vv0+u7*vec2(-.55,-1.05);vec4 b=f(a),c=f(a+u7*m),d=f(a+u7*2.),g=f(a+u7*n),h=e(b,c),i=e(d,g);gl_FragColor=e(h,i);}",i:["u3","u7"],j:M},s35:{h:"uniform sampler2D u1;varying vec2 vv0;void main(){vec4 a=texture2D(u1,vv0);gl_FragColor=a*a;}",
i:["u1"],j:D,precision:"lowp"},s36:{h:"uniform sampler2D u1;uniform vec2 u7;varying vec2 vv0;const float e=15444.;void main(){vec4 a=1001./e*texture2D(u1,vv0-3.*u7)+2002./e*texture2D(u1,vv0-2.*u7)+3003./e*texture2D(u1,vv0-u7)+3432./e*texture2D(u1,vv0)+3003./e*texture2D(u1,vv0+u7)+2002./e*texture2D(u1,vv0+2.*u7)+1001./e*texture2D(u1,vv0+3.*u7);gl_FragColor=a;}",i:["u7","u1"],j:D,precision:"lowp"},s37:{h:"uniform sampler2D u1,u28,u29;varying vec2 vv0;const vec4 f=vec4(1.,1.,1.,1.);const float g=.1;void main(){vec4 a=texture2D(u28,vv0),b=texture2D(u29,vv0),c=texture2D(u1,vv0),d=max(f*g,b-a*a),h=sqrt(d);gl_FragColor=(c-a)/h;}",
i:["u1","u28","u29"],j:{u1:0,u28:1,u29:2}}},I={s38:{h:"uniform float u16,u30;uniform sampler2D u13,u14,u21;varying vec2 vv0;const vec2 ZERO2=vec2(0.,0.),ONE2=vec2(1.,1.),HALF2=vec2(.5,.5),EPS2=vec2(1e-5,1e-5);void main(){vec4 sum=texture2D(u21,vv0);float toSparsity=1.1111;vec2 uvFrom,uvWeight,xyPatch=ZERO2,eps2=EPS2/u16,xyTo=floor(vv0*u16+eps2);float weightSize=toSparsity*u16;vec2 halfFromSparsity=ONE2*(toSparsity-1.)/2.;for(float patch_x=0.;patch_x<1.1111;patch_x+=1.){xyPatch.x=patch_x;for(float patch_y=0.;patch_y<1.1111;patch_y+=1.)xyPatch.y=patch_y,uvFrom=(xyTo+HALF2+u30*(xyPatch-halfFromSparsity))/u16,uvFrom+=step(uvFrom,-eps2),uvFrom-=step(ONE2-eps2,uvFrom),uvWeight=(xyTo*toSparsity+xyPatch+HALF2)/weightSize,sum+=texture2D(u13,uvWeight)*texture2D(u14,uvFrom);}gl_FragColor=sum,gl_FragColor*=2.2222;}",
i:["u16","u13","u14","u21","u30"],Ea:["1.1111","gl_FragColor\\*=2.2222;"]},s39:{h:"uniform float u16,u30,u24;uniform sampler2D u13,u14,u21;varying vec2 vv0;const vec2 ZERO2=vec2(0.,0.),ONE2=vec2(1.,1.),HALF2=vec2(.5,.5),EPS2=vec2(1e-4,1e-4);void main(){vec4 sum=texture2D(u21,vv0);float fromSparsity=1.1111,shrinkFactor=3.3333;vec2 uvFrom,uvWeight,xyFrom,xyPatchTo,xyPatch=ZERO2,xyShrink=ZERO2,eps2=EPS2/u24,xyTo=floor(vv0*u16+eps2);float weightSize=fromSparsity*u24;vec2 halfFromSparsity=ONE2*(fromSparsity-1.)/2.;float toSparsity=weightSize/u16;vec2 xyFrom0=xyTo*shrinkFactor;for(float patch_x=0.;patch_x<1.1111;patch_x+=1.){xyPatch.x=patch_x;for(float patch_y=0.;patch_y<1.1111;patch_y+=1.){xyPatch.y=patch_y;for(float shrink_x=0.;shrink_x<3.3333;shrink_x+=1.){xyShrink.x=shrink_x;for(float shrink_y=0.;shrink_y<3.3333;shrink_y+=1.)xyShrink.y=shrink_y,xyFrom=xyFrom0+xyShrink+shrinkFactor*u30*(xyPatch-halfFromSparsity),uvFrom=(xyFrom+HALF2)/u24,uvFrom+=step(uvFrom,-eps2),uvFrom-=step(ONE2-eps2,uvFrom),xyPatchTo=xyPatch*shrinkFactor+xyShrink,uvWeight=(xyTo*toSparsity+xyPatchTo+HALF2)/weightSize,sum+=texture2D(u13,uvWeight)*texture2D(u14,uvFrom);}}}gl_FragColor=sum,gl_FragColor*=2.2222;}",
i:"u16 u24 u13 u14 u21 u30".split(" "),Ea:["1.1111","gl_FragColor\\*=2.2222;","3.3333"]}},L=null,Y=null,V={ya:function(){return d},o:function(){if(!d){L=ma(F,2);Y=ma(I,2);l="highp";for(var w in L)f(C,L[w],w);E.set("s0");C.enableVertexAttribArray(0);d=!0}},Tc:function(w){w.forEach(function(r){V.Eb(r)})},Eb:function(w){L[w.id]=w;f(C,w,w.id)},ec:function(w,r,B){r||(r=w);L[r]=Object.create(Y[w]);L[r].Jd=!0;Y[w].Ea&&Y[w].Ea.forEach(function(O,A){L[r].h=L[r].h.replace(new RegExp(O,"g"),B[A])});f(C,L[r],
r)},set:function(w){g(L[w])},Fa:function(w){return u(w,h(),"s40")},rb:function(w){return u(w,{h:"void main(){gl_FragColor=vec4(.5,.5,.5,.5);}",i:[],precision:"highp"},"s41")},pd:function(w){return"undefined"===typeof L[w]?!1:L[w].gb},K:function(){-1!==m&&(m=-1,e.ga.forEach(function(w){0!==w&&C.disableVertexAttribArray(w)}))},tb:function(){var w=0;e.ga.forEach(function(r,B){B=e.fa[B];C.vertexAttribPointer(r,B,C.FLOAT,!1,e.zb,w);w+=4*B})},He:function(){C.enableVertexAttribArray(0)},Ga:function(){V.Ha(C)},
Ha:function(w){w.vertexAttribPointer(e.ga[0],2,w.FLOAT,!1,8,0)},kf:function(w,r){C.uniform1i(e.s[w],r)},I:function(w,r){C.uniform1f(e.s[w],r)},ha:function(w,r,B){C.uniform2f(e.s[w],r,B)},lf:function(w,r){C.uniform2fv(e.s[w],r)},Mc:function(w,r){C.uniform3fv(e.s[w],r)},mf:function(w,r,B,O){C.uniform3f(e.s[w],r,B,O)},pf:function(w,r,B,O,A){C.uniform4f(e.s[w],r,B,O,A)},sb:function(w,r){C.uniform4fv(e.s[w],r)},qf:function(w,r){C.uniformMatrix2fv(e.s[w],!1,r)},rf:function(w,r){C.uniformMatrix3fv(e.s[w],
!1,r)},sf:function(w,r){C.uniformMatrix4fv(e.s[w],!1,r)},G:function(w,r){V.set(w);r.forEach(function(B){switch(B.type){case "4f":C.uniform4fv(e.s[B.name],B.value);break;case "3f":C.uniform3fv(e.s[B.name],B.value);break;case "2f":C.uniform2fv(e.s[B.name],B.value);break;case "1f":C.uniform1f(e.s[B.name],B.value);break;case "1i":C.uniform1i(e.s[B.name],B.value);break;case "mat2":C.uniformMatrix2fv(e.s[B.name],!1,B.value);break;case "mat3":C.uniformMatrix3fv(e.s[B.name],!1,B.value);break;case "mat4":C.uniformMatrix4fv(e.s[B.name],
!1,B.value)}})},Re:function(){return"lowp"},m:function(){C.disableVertexAttribArray(0);V.K();for(var w in L){var r=L[w];r.gb&&(r.gb=!1,C.deleteProgram(r.Z));r.Jd&&delete L[w]}v.forEach(function(B){C.deleteShader(B)});v.splice(0);t=0;d=!1;e=null;m=-1}};return V}(),C=null,Ka=function(){function b(l){console.log("ERROR in ContextFF: ",l);return!1}function c(l){function p(){Ha.m();D.getExtension("WEBGL_lose_context").loseContext()}if(navigator.userAgent&&-1!==navigator.userAgent.indexOf("forceWebGL1"))return!1;
var k=document.createElement("canvas");k.setAttribute("width",1);k.setAttribute("height",1);var D=null;try{D=k.getContext("webgl2",l)}catch(K){return!1}if(!D)return!1;f(D);Ia.Ob(D);l=Ia.Ua(D);if(!l.T&&!l.U)return p(),!1;l=Ha.Jb(D,l);p();return l?!0:!1}function f(l){l.clearColor(0,0,0,0);l.disable(l.DEPTH_TEST);l.disable(l.BLEND);l.disable(l.DITHER);l.disable(l.STENCIL_TEST);l.disable(l.CULL_FACE);l.GENERATE_MIPMAP_HINT&&l.hint(l.GENERATE_MIPMAP_HINT,l.FASTEST);l.disable(l.SAMPLE_ALPHA_TO_COVERAGE);
l.disable(l.SAMPLE_COVERAGE);l.depthFunc(l.LEQUAL);l.clearDepth(1)}var g=null,u=null,h=null,v=null,m=!0,e=null,t=null,d={A:function(){return g.width},M:function(){return g.height},ta:function(){return g},Je:function(){return C},V:function(){return m},flush:function(){C.flush()},td:function(){e||(e=new Uint8Array(g.width*g.height*4));C.readPixels(0,0,g.width,g.height,C.RGBA,C.UNSIGNED_BYTE,e);return e},Le:function(){return g.toDataURL("image/jpeg")},Me:function(){Ja.J();u||(u=document.createElement("canvas"),
h=u.getContext("2d"));u.width=g.width;u.height=g.height;for(var l=d.td(),p=h.createImageData(u.width,u.height),k=u.width,D=u.height,K=p.data,J=0;J<D;++J)for(var M=D-J-1,F=0;F<k;++F){var I=4*(J*k+F),L=4*(M*k+F);K[I]=l[L];K[I+1]=l[L+1];K[I+2]=l[L+2];K[I+3]=l[L+3]}h.putImageData(p,0,0);return u.toDataURL("image/png")},Ke:function(l){!u&&l&&(u=document.createElement("canvas"),h=u.getContext("2d"));var p=l?u:document.createElement("canvas");p.width=g.width;p.height=g.height;(l?h:p.getContext("2d")).drawImage(g,
0,0);return p},o:function(l){l.Nb&&!l.Mb?g=document.getElementById(l.Nb):l.Mb&&(g=l.Mb);g||(g=document.createElement("canvas"));g.width=l&&void 0!==l.width?l.width:512;g.height=l&&void 0!==l.height?l.height:512;"undefined"===typeof l&&(l={});void 0===l.premultipliedAlpha&&(l.premultipliedAlpha=!1);void 0===l.fb&&(l.fb=!0);void 0===l.antialias&&(l.antialias=!1);if(C)m=C instanceof WebGL2RenderingContext;else{m=!0;var p={antialias:l.antialias,alpha:!0,preserveDrawingBuffer:!0,premultipliedAlpha:l.premultipliedAlpha,
stencil:!1,depth:l.fb};navigator&&navigator.userAgent&&-1!==navigator.userAgent.indexOf("noAntialiasing")&&(p.antialias=!1);var k=c(p);!k&&p.antialias&&(p.antialias=!1,k=c(p));k&&(C=g.getContext("webgl2",p));C?m=!0:((C=g.getContext("webgl",p))||(C=g.getContext("experimental-webgl",p)),m=!1)}if(!C)return b("WebGL1 and 2 are not enabled");(v=C.getExtension("WEBGL_lose_context"))&&l.xc&&(t=l.xc,g.addEventListener("webglcontextlost",t,!1));if(!Ia.o())return b("Not enough GL capabilities");f(C);E.o();
H.o();return Ha.Jb(C,Ia.rd())?!0:b("Cannot filter float textures")},m:function(){C&&(Ia.m(),Ha.m());v&&t&&(g.removeEventListener("webglcontextlost",t,!1),v=t=null);C=e=h=u=g=null}};return d}(),Ca=function(){function b(){null===c&&("undefined"!==typeof E?c=E:"undefined"!==typeof JEShaders&&(c=JEShaders))}var c=null;b();return{he:function(f){c!==f&&(c&&c.K(),c=f)},ya:function(){return c.ya()},Ga:function(){return c.Ga()},Ha:function(f){return c.Ha(f)},tb:function(){return c.tb()},K:function(){return c.K()},
set:function(f){return c.set(f)},Fa:function(f){b();return c.Fa(f)},rb:function(f){b();return c.rb(f)},m:function(){return c.m()}}}(),R=function(){function b(n){C.bindTexture(C.TEXTURE_2D,n)}function c(n){r[0]=n;n=B[0];var N=n>>16&32768,G=n>>12&2047,q=n>>23&255;return 103>q?N:142<q?N|31744|((255==q?0:1)&&n&8388607):113>q?(G|=2048,N|(G>>114-q)+(G>>113-q&1)):N=(N|q-112<<10|G>>1)+(G&1)}function f(n){var N=new Uint16Array(n.length);n.forEach(function(G,q){N[q]=c(G)});return N}function g(){if(null!==O.bb)return O.bb;
var n=h(f([1,1,1,1]));return null===n?!0:O.bb=n}function u(){if(null!==O.cb)return O.cb;var n=h(new Uint8Array([255,255,255,255]));return null===n?!0:O.cb=n}function h(n){if(!Ca.ya()||!K)return null;var N=null;try{var G=C.getError();if("FUCKING_BIG_ERROR"===G)return!1;N=A.instance({isFloat:!1,D:!0,array:n,width:1});G=C.getError();if(G!==C.NO_ERROR)return!1}catch(q){return!1}Ja.J();C.viewport(0,0,1,1);C.clearColor(0,0,0,0);C.clear(C.COLOR_BUFFER_BIT);Ca.set("s0");N.Hb(0);H.l(!0,!0);n=new Uint8Array(4);
C.readPixels(0,0,1,1,C.RGBA,C.UNSIGNED_BYTE,n);n=.9<n[0];N.remove();Ja.S();return n}var v=0,m=null,e=0,t=null,d=null,l=null,p=null,k=null,D=null,K=!1,J=[],M={isFloat:!1,isPot:!0,isLinear:!1,isMipmap:!1,isAnisotropicFiltering:!1,isMirrorX:!1,isMirrorY:!1,isSrgb:!1,isKeepArray:!1,isFlipY:null,width:0,height:0,url:null,array:null,data:null,C:null,bc:null,Id:!1,D:!1,Y:null,Aa:4,ib:0},F=!1,I=null,L=null,Y=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],V=!1,w=!1,r=new Float32Array(1),B=new Int32Array(r.buffer),
O={bb:null,cb:null},A={o:function(){K||(k=[C.RGB,null,C.RGB,C.RGBA],D=[C.RGB,null,C.RGB,C.RGBA],m=[C.TEXTURE0,C.TEXTURE1,C.TEXTURE2,C.TEXTURE3,C.TEXTURE4,C.TEXTURE5,C.TEXTURE6,C.TEXTURE7],V="undefined"!==typeof JEContext,w="undefined"!==typeof Ia,V&&JEContext.df()&&m.push(C.TEXTURE8,C.TEXTURE9),t=[-1,-1,-1,-1,-1,-1,-1,-1],p=[C.UNSIGNED_BYTE,C.FLOAT,C.FLOAT],K=!0)},Ed:function(){if(!d){for(var n=new Float32Array(16384),N=0;16384>N;++N)n[N]=2*Math.random()-1;d={random:A.instance({isFloat:!0,isPot:!0,
array:n,width:64}),Qc:A.instance({isFloat:!1,isPot:!0,width:1,array:new Uint8Array([0,0,0,0])})}}A.se()},We:function(){return d.Qc},se:function(){p[1]=Ia.Za(C)},fe:function(){D=k=[C.RGBA,C.RGBA,C.RGBA,C.RGBA]},Zd:function(n,N){E.set("s1");Ja.J();var G=n.A(),q=n.M();C.viewport(0,0,G,q);n.g(0);H.l(!1,!1);C.readPixels(0,0,G,q,C.RGBA,C.UNSIGNED_BYTE,N)},Vb:function(n,N,G,q,aa,ha,ca){n.activeTexture(n.TEXTURE0);var U=n.createTexture();n.bindTexture(n.TEXTURE_2D,U);aa=aa instanceof Float32Array?aa:new Float32Array(aa);
0!==Math.log2(aa.length)%1&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE));n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST);n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST);n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,ha);n.texImage2D(n.TEXTURE_2D,0,n.RGBA,G,q,0,n.RGBA,n.FLOAT,aa);n.bindTexture(n.TEXTURE_2D,null);n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1);ca&&(Ja.S(),E.set("s0"));n.viewport(0,0,G,q);n.framebufferTexture2D(n.FRAMEBUFFER,
n.COLOR_ATTACHMENT0,n.TEXTURE_2D,N,0);n.bindTexture(n.TEXTURE_2D,U);ca?H.l(!0,!0):H.ra(n);n.deleteTexture(U);K&&(t[0]=-1,l=null,v=0)},Qa:function(n){n!==v&&(C.activeTexture(m[n]),v=n)},instance:function(n){function N(z){var S=C.getError();if("FUCKING_BIG_ERROR"===S)return!1;C.texImage2D(C.TEXTURE_2D,0,ia,fa,ja,z);S=C.getError();S!==C.NO_ERROR&&fa!==C.RGBA&&(fa=C.RGBA,C.texImage2D(C.TEXTURE_2D,0,ia,fa,ja,z));return!0}function G(){if(!Ra){b(x);oa&&C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,oa);q.isPot?(C.texParameteri(C.TEXTURE_2D,
C.TEXTURE_WRAP_S,q.isMirrorX?C.MIRRORED_REPEAT:C.REPEAT),C.texParameteri(C.TEXTURE_2D,C.TEXTURE_WRAP_T,q.isMirrorY?C.MIRRORED_REPEAT:C.REPEAT)):(C.texParameteri(C.TEXTURE_2D,C.TEXTURE_WRAP_S,C.CLAMP_TO_EDGE),C.texParameteri(C.TEXTURE_2D,C.TEXTURE_WRAP_T,C.CLAMP_TO_EDGE));q.isAnisotropicFiltering&&"undefined"!==typeof JESETTINGS&&C.texParameterf(C.TEXTURE_2D,JEContext.Oe().TEXTURE_MAX_ANISOTROPY_EXT,JESETTINGS.we);C.texParameteri(C.TEXTURE_2D,C.TEXTURE_MAG_FILTER,q.isLinear?C.LINEAR:C.NEAREST);q.isLinear?
C.texParameteri(C.TEXTURE_2D,C.TEXTURE_MIN_FILTER,q.isMipmap&&!ua?C.NEAREST_MIPMAP_LINEAR:C.LINEAR):C.texParameteri(C.TEXTURE_2D,C.TEXTURE_MIN_FILTER,q.isMipmap&&!ua?C.NEAREST_MIPMAP_NEAREST:C.NEAREST);fa=k[q.Aa-1];ia=D[q.Aa-1];ja=p[ha];if(Ia.V()){var z=C.RGBA32F;fa===C.RGBA&&ja===C.FLOAT?q.isMipmap||q.isLinear?ia=Ha.ud(C):Ia.Kb()?z&&(ia=z):ia=C.RGBA16F||C.RGBA:fa===C.RGB&&ja===C.FLOAT&&z&&(ia=z,fa=C.RGBA)}if(q.D&&!q.isFloat||q.isFloat&&q.isMipmap&&Ha.Nd())(z=C.RGBA16F)&&(ia=z),ja=Ia.Za(C);q.ib&&
(Da=q.ib);q.isSrgb&&4===q.Aa&&(fa=JEContext.Ue());if(q.C)N(q.C);else if(q.url)N(T);else if(Z){z=Z;try{"FUCKING_BIG_ERROR"!==C.getError()&&(C.texImage2D(C.TEXTURE_2D,0,ia,P,Q,0,fa,ja,z),C.getError()!==C.NO_ERROR&&(C.texImage2D(C.TEXTURE_2D,0,ia,P,Q,0,fa,ja,null),C.getError()!==C.NO_ERROR&&C.texImage2D(C.TEXTURE_2D,0,C.RGBA,P,Q,0,C.RGBA,C.UNSIGNED_BYTE,null)))}catch(vb){C.texImage2D(C.TEXTURE_2D,0,ia,P,Q,0,fa,ja,null)}q.isKeepArray||(Z=null)}else z=C.getError(),"FUCKING_BIG_ERROR"!==z&&(C.texImage2D(C.TEXTURE_2D,
0,ia,P,Q,0,fa,ja,null),z=C.getError(),z!==C.NO_ERROR&&(fa=C.RGBA,q.D&&ja!==C.FLOAT&&(ja=C.FLOAT,C.texImage2D(C.TEXTURE_2D,0,ia,P,Q,0,fa,ja,null))));if(q.isMipmap)if(!ua&&ba)ba.Ya(),Ea=!0;else if(ua){z=Math.log2(Math.min(P,Q));ya=Array(1+z);ya[0]=x;for(var S=1;S<=z;++S){var ka=Math.pow(2,S),X=P/ka;ka=Q/ka;var va=C.createTexture();b(va);C.texParameteri(C.TEXTURE_2D,C.TEXTURE_MIN_FILTER,C.NEAREST);C.texParameteri(C.TEXTURE_2D,C.TEXTURE_MAG_FILTER,C.NEAREST);C.texImage2D(C.TEXTURE_2D,0,ia,X,ka,0,fa,ja,
null);b(null);ya[S]=va}Ea=!0}b(null);t[v]=-1;oa&&C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,!1);Fa=!0;q.Y&&ba&&(q.Y(ba),q.Y=null)}}var q=Object.assign({},M,n),aa=e++;null===q.isFlipY&&(q.isFlipY=q.url||q.array?!0:!1);q.data&&(q.array="string"===typeof q.data?Ba(q.data):q.isFloat?new Float32Array(q.data):new Uint8Array(q.data),q.isFlipY=!1);var ha=0,ca=q.C?!0:!1,U=null,wa=null,la=!1,y=null;q.D=q.D||q.isFloat;q.D&&(ha=1);q.Id||Ia.V()||!q.isFloat||!w||Ia.Kb()||(q.isFloat=!1);q.isFloat&&(ha=2);q.isAnisotropicFiltering&&
V&&!JEContext.Ze()&&(q.isAnisotropicFiltering=!1);var x=q.bc||C.createTexture(),T=null,Z=!1,P=0,Q=0,Fa=!1,Ra=!1,Ga=!1,pa=null,sa=null,Ma=null,za=null,ia=null,fa=null,ja=null,oa=q.isFlipY,fb=(n=q.D&&q.isMipmap)&&Ha.cd(),ua=n&&fb?!0:!1,ya=null,Da=-1,Ea=!1,xa={mc:!1,Ib:null,Wb:null};q.width&&(P=q.width,Q=q.height?q.height:P);var ba={get:function(){return x},A:function(){return P},M:function(){return Q},Xe:function(){return q.url},$e:function(){return q.isFloat},bf:function(){return q.D},cf:function(){return q.isLinear},
Ya:function(){C.generateMipmap(C.TEXTURE_2D)},ad:function(z,S){ua?(z||(z=ba.Zb()),A.Qa(S),b(ya[z]),t[S]=-1):ba.g(S)},Zb:function(){-1===Da&&(Da=Math.log(P)/Math.log(2));return Da},qd:function(z){if(ua){z||(z=ba.Zb());E.set("s11");A.Qa(0);for(var S=P,ka=Q,X=1;X<=z;++X)S/=2,ka/=2,E.ha("u7",.25/S,.25/ka),C.viewport(0,0,S,ka),b(ya[X-1]),C.framebufferTexture2D(Ja.va(),C.COLOR_ATTACHMENT0,C.TEXTURE_2D,ya[X],0),H.l(!1,1===X);t[0]=-1}else ba.Ya()},g:function(z){if(!Fa)return!1;A.Qa(z);if(t[z]===aa)return!1;
b(x);t[z]=aa;return!0},Hb:function(z){C.activeTexture(m[z]);v=z;b(x);t[z]=aa},u:function(){l=ba;C.framebufferTexture2D(Ja.va(),C.COLOR_ATTACHMENT0,C.TEXTURE_2D,x,0)},P:function(){l=ba;C.viewport(0,0,P,Q);C.framebufferTexture2D(Ja.va(),C.COLOR_ATTACHMENT0,C.TEXTURE_2D,x,0)},yb:A.yb,resize:function(z,S){P=z;Q=S;G()},clone:function(z){z=A.instance({width:P,height:Q,D:q.D,isFloat:q.isFloat,isLinear:q.isLinear,isMirrorY:q.isMirrorY,isFlipY:z?!oa:oa,isPot:q.isPot});Ca.set("s0");Ja.S();z.u();C.viewport(0,
0,P,Q);ba.g(0);H.l(!0,!0);return z},ie:function(){C.viewport(0,0,P,Q)},remove:function(){C.deleteTexture(x);Ra=!0;J.splice(J.indexOf(ba),1);ba=null},refresh:function(){ba.Hb(0);oa&&C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,!0);ca?C.texImage2D(C.TEXTURE_2D,0,ia,fa,C.UNSIGNED_BYTE,q.C):C.texImage2D(C.TEXTURE_2D,0,ia,P,Q,0,fa,ja,Z);oa&&C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,!1)},Lb:function(){var z=P*Q*4;sa=[new Uint8Array(z),new Uint8Array(z),new Uint8Array(z),new Uint8Array(z)];pa=[new Float32Array(sa[0].buffer),
new Float32Array(sa[1].buffer),new Float32Array(sa[2].buffer),new Float32Array(sa[3].buffer)];Ma=new Uint8Array(4*z);za=new Float32Array(Ma.buffer);Ga=!0},qb:function(){Ga||ba.Lb();C.readPixels(0,0,P,4*Q,C.RGBA,C.UNSIGNED_BYTE,Ma);for(var z=P*Q,S=2*z,ka=3*z,X=0;X<z;++X)pa[0][X]=za[X],pa[1][X]=za[X+z],pa[2][X]=za[X+S],pa[3][X]=za[X+ka];return pa},Yd:function(){xa.mc||(xa.Ib=new Uint8Array(P*Q*4),xa.Wb=new Float32Array(xa.buffer),xa.mc=!0);C.readPixels(0,0,P,Q,C.RGBA,C.UNSIGNED_BYTE,xa.Ib);return xa.Wb},
Va:function(z){Ja.J();E.set("s12");ba.g(0);if(z)C.viewport(0,0,P,Q),E.sb("u8",.25,.25,.25,.25),H.l(!1,!0);else for(z=0;4>z;++z)C.viewport(0,Q*z,P,Q),E.sb("u8",Y[z]),H.l(!1,0===z)},wf:function(z){var S=ja===p[0]&&!u();b(x);oa&&C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,!0);S?(la||(U=document.createElement("canvas"),U.width=P,U.height=Q,wa=U.getContext("2d"),y=wa.createImageData(P,Q),la=!0),y.data.set(z),wa.putImageData(y,0,0),C.texImage2D(C.TEXTURE_2D,0,ia,fa,ja,U)):C.texImage2D(C.TEXTURE_2D,0,ia,P,Q,0,fa,
ja,z);t[v]=aa;oa&&C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,!1)},xf:function(z,S){b(x);S&&C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,!0);C.texImage2D(C.TEXTURE_2D,0,ia,fa,ja,z);t[v]=aa;S&&C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,!1)},gf:function(z,S){var ka=P*Q,X=4*ka;z=q.D?z?"RGBE":"JSON":"RGBA";S&&(z=S);S=Ia.V()&&!1;var va=null;switch(z){case "RGBE":va="s42";break;case "JSON":va=S?"s0":"s12";break;case "RGBA":case "RGBAARRAY":va="s6"}Ga||("RGBA"===z||"RGBE"===z||"RGBAARRAY"===z?(sa=new Uint8Array(X),Ga=!0):"JSON"!==
z||S||ba.Lb());Ja.J();E.set(va);ba.g(0);X=null;if("RGBA"===z||"RGBE"===z||"RGBAARRAY"===z){C.viewport(0,0,P,Q);H.l(!0,!0);C.readPixels(0,0,P,Q,C.RGBA,C.UNSIGNED_BYTE,sa);if("RGBAARRAY"===z)return{data:sa};F||(I=document.createElement("canvas"),L=I.getContext("2d"),F=!0);I.width=P;I.height=Q;ka=L.createImageData(P,Q);ka.data.set(sa);L.putImageData(ka,0,0);X=I.toDataURL("image/png")}else if("JSON"===z)if(S)X=new Float32Array(ka),C.viewport(0,0,P,Q),H.l(!0,!0),C.readPixels(0,0,P,Q,C.RGBA,C.FLOAT,X);
else{for(X=0;4>X;++X)C.viewport(0,Q*X,P,Q),E.sb("u8",Y[X]),H.l(!X,!X);ba.qb();X=Array(ka);for(S=0;S<ka;++S)X[4*S]=pa[0][S],X[4*S+1]=pa[1][S],X[4*S+2]=pa[2][S],X[4*S+3]=pa[3][S]}return{format:z,data:X,width:P,height:Q,isMirrorY:q.isMirrorY,isFlipY:"RGBA"===z?q.isFlipY:!q.isFlipY}}};q.isMipmap&&!ua&&Fa&&!Ea&&(ba.Ya(),Ea=!0);if(q.url)b(x),C.texImage2D(C.TEXTURE_2D,0,C.RGBA,1,1,0,C.RGBA,C.UNSIGNED_BYTE,null),T=new Image,T.Ee="Anonymous",T.crossOrigin="Anonymous",T.src=q.url,T.onload=function(){P=T.width;
Q=T.height;G()};else if(q.C){var Sa=function(){P=void 0!==q.C.videoWidth?q.C.videoWidth:q.C.width;Q=void 0!==q.C.videoHeight?q.C.videoHeight:q.C.height;P?G():setTimeout(Sa,1)};Sa()}else q.array?(q.D&&!q.isFloat?q.array instanceof Uint16Array?(Z=q.array,G()):g()?(Z=f(q.array),G()):(G(),A.Vb(C,x,ba.A(),ba.M(),q.array,oa,!0)):(Z=q.isFloat?q.array instanceof Float32Array?q.array:new Float32Array(q.array):q.array instanceof Uint8Array?q.array:new Uint8Array(q.array),G()),q.isKeepArray||(Z&&Z!==q.array&&
(Z=null),delete q.array)):q.bc||G();ba.Te=ba.A;q.Y&&Fa&&(q.Y(ba),q.Y=null);J.push(ba);return ba},J:function(n){n!==v&&(C.activeTexture(m[n]),v=n);t[n]=-1;b(null)},ze:function(n){d.random.g(n)},yb:function(){l=null;C.framebufferTexture2D(Ja.va(),C.COLOR_ATTACHMENT0,C.TEXTURE_2D,null,0)},reset:function(){for(var n=0;n<m.length;++n)t[n]=-1;v=-1},ff:function(){v=-1},pe:function(){for(var n=0;n<m.length;++n)A.J(n)},Xb:function(){d&&(d.random.remove(),d.Qc.remove())},uf:function(n,N){if("RGBA"===n.format||
"RGBE"===n.format){var G=new Image;G.src=n.data;G.onload=function(){A.instance({isMirrorY:n.isMirrorY,isFlipY:n.isFlipY,isFloat:!1,C:G,Y:function(q){if("RGBA"===n.format)N(q);else{var aa=n.width,ha=n.height,ca=A.instance({isMirrorY:n.isMirrorY,isFloat:!0,width:aa,height:ha,isFlipY:n.isFlipY});Ja.S();C.viewport(0,0,aa,ha);E.set("s43");ca.u();q.g(0);H.l(!0,!0);A.J(0);N(ca);C.flush();setTimeout(q.remove,50)}}})}}else"JSON"===n.format?N(A.instance({isFloat:!0,isFlipY:n.isFlipY,width:n.width,height:n.height,
array:new Float32Array(n.data)})):N(!1)},m:function(){l&&(Ja.S(),A.yb(),Ja.J());A.pe();J.slice(0).forEach(function(n){n.remove()});J.splice(0);K=!1;e=0;"undefined"!==typeof Ha&&Ha.m();d=null}};return A}(),Na={instance:function(b){var c=[R.instance(b),R.instance(b)],f=[c[1],c[0]],g=f,u={Lc:function(h){g[1].u();g[0].g(h);u.Pc()},jf:function(h){g[1].P();g[0].g(h);u.Pc()},Pc:function(){g=g===c?f:c},refresh:function(){g[0].refresh();g[1].refresh()},g:function(h){g[0].g(h)},ye:function(h){g[1].g(h)},xd:function(){return g[0]},
remove:function(){g[0].remove();g[1].remove();g=null}};return u}},H=function(){function b(e){var t={R:null,B:null};t.R=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,t.R);e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),e.STATIC_DRAW);t.B=e.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t.B);e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2]),e.STATIC_DRAW);return t}var c=null,f=0,g=!1,u=[],h=-2,v=-2,m={reset:function(){v=h=-2},o:function(){g||(c=b(C),m.Ra(),g=!0)},instance:function(e){var t=
f++,d=e.B?e.B.length:0,l="undefined"===typeof e.mode?C.STATIC_DRAW:e.mode,p=C.createBuffer();C.bindBuffer(C.ARRAY_BUFFER,p);C.bufferData(C.ARRAY_BUFFER,e.R instanceof Float32Array?e.R:new Float32Array(e.R),l);h=t;var k=null,D=null,K=null;if(e.B){k=C.createBuffer();C.bindBuffer(C.ELEMENT_ARRAY_BUFFER,k);var J=null;65536>e.B.length?(J=Uint16Array,D=C.UNSIGNED_SHORT,K=2):(J=Uint32Array,D=C.UNSIGNED_INT,K=4);J=e.B instanceof J?e.B:new J(e.B);C.bufferData(C.ELEMENT_ARRAY_BUFFER,J,l);v=t}var M={bd:function(F){h!==
t&&(C.bindBuffer(C.ARRAY_BUFFER,p),h=t);F&&Ca.tb()},Zc:function(){v!==t&&(C.bindBuffer(C.ELEMENT_ARRAY_BUFFER,k),v=t)},bind:function(F){M.bd(F);M.Zc()},Fe:function(){C.drawElements(C.TRIANGLES,d,D,0)},Ge:function(F,I){C.drawElements(C.TRIANGLES,F,D,I*K)},remove:function(){C.deleteBuffer(p);e.B&&C.deleteBuffer(k);M=null}};u.push(M);return M},Ra:function(){-1!==h&&(C.bindBuffer(C.ARRAY_BUFFER,c.R),h=-1);-1!==v&&(C.bindBuffer(C.ELEMENT_ARRAY_BUFFER,c.B),v=-1)},l:function(e,t){e&&H.Ra();t&&Ca.Ga();C.drawElements(C.TRIANGLES,
3,C.UNSIGNED_SHORT,0)},ra:function(e){e=e||C;var t=b(e);e.bindBuffer(e.ARRAY_BUFFER,t.R);e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t.B);Ca.Ha(e);e.drawElements(e.TRIANGLES,3,e.UNSIGNED_SHORT,0);e.deleteBuffer(t.R);e.deleteBuffer(t.B);m.reset();g&&(m.Ra(),Ca.Ga())},Xb:function(){var e=C,t=c;e.deleteBuffer(t.R);e.deleteBuffer(t.B)},m:function(){m.Xb();u.forEach(function(e){e.remove()});C.bindBuffer(C.ARRAY_BUFFER,null);C.bindBuffer(C.ELEMENT_ARRAY_BUFFER,null);m.reset();g=!1;u.splice(0);f=0}};return m}(),
Ja=function(){var b=null,c=null,f=null,g=!1,u=[],h={v:-2,Ub:1},v={ya:function(){return g},o:function(){if(!g){b=C.createFramebuffer();var m=Ia.V();c=m&&C.DRAW_FRAMEBUFFER?C.DRAW_FRAMEBUFFER:C.FRAMEBUFFER;f=m&&C.READ_FRAMEBUFFER?C.READ_FRAMEBUFFER:C.FRAMEBUFFER;g=!0}},Pe:function(){return c},vd:function(){return f},va:function(){return C.FRAMEBUFFER},Se:function(){return h},Ie:function(){return b},instance:function(m){void 0===m.jc&&(m.jc=!1);var e=m.da?m.da:null,t=m.width,d=void 0!==m.height?m.height:
m.width,l=b,p=null,k=!1,D=!1,K=0;e&&(t=t?t:e.A(),d=d?d:e.M());var J={Kc:function(){k||(l=C.createFramebuffer(),k=!0,K=h.Ub++)},Sc:function(){J.Kc();J.u();p=C.createRenderbuffer();C.bindRenderbuffer(C.RENDERBUFFER,p);C.renderbufferStorage(C.RENDERBUFFER,C.DEPTH_COMPONENT16,t,d);C.framebufferRenderbuffer(c,C.DEPTH_ATTACHMENT,C.RENDERBUFFER,p);C.clearDepth(1)},bind:function(M,F){K!==h.v&&(C.bindFramebuffer(c,l),h.v=K);e&&e.u();F&&C.viewport(0,0,t,d);M&&C.clear(C.COLOR_BUFFER_BIT|C.DEPTH_BUFFER_BIT)},
xe:function(){K!==h.v&&(C.bindFramebuffer(c,l),h.v=K)},clear:function(){C.clear(C.COLOR_BUFFER_BIT|C.DEPTH_BUFFER_BIT)},Ce:function(){C.clear(C.COLOR_BUFFER_BIT)},De:function(){C.clear(C.DEPTH_BUFFER_BIT)},ie:function(){C.viewport(0,0,t,d)},u:function(){K!==h.v&&(C.bindFramebuffer(c,l),h.v=K)},rtt:function(M){e=M;h.v!==K&&(C.bindFramebuffer(C.FRAMEBUFFER,l),h.v=K);M.u()},J:function(){C.bindFramebuffer(c,null);h.v=-1},resize:function(M,F){t=M;d=F;p&&(C.bindRenderbuffer(C.RENDERBUFFER,p),C.renderbufferStorage(C.RENDERBUFFER,
C.DEPTH_COMPONENT16,t,d))},remove:function(){l===b||D||(C.bindFramebuffer(c,l),C.framebufferTexture2D(c,C.COLOR_ATTACHMENT0,C.TEXTURE_2D,null,0),p&&C.framebufferRenderbuffer(c,C.DEPTH_ATTACHMENT,C.RENDERBUFFER,null),C.bindFramebuffer(c,null),C.deleteFramebuffer(l),p&&C.deleteRenderbuffer(p));D=!0}};m.jc&&J.Sc();u.push(J);return J},J:function(){C.bindFramebuffer(c,null);h.v=-1},qe:function(){C.bindFramebuffer(c,null);C.clear(C.COLOR_BUFFER_BIT|C.DEPTH_BUFFER_BIT);C.viewport(0,0,Ia.A(),Ia.M());h.v=
-1},reset:function(){h.v=-2},S:function(){0!==h.v&&(C.bindFramebuffer(c,b),h.v=0)},clear:function(){C.viewport(0,0,Ia.A(),Ia.M());C.clear(C.COLOR_BUFFER_BIT)},m:function(){v.J();u.forEach(function(m){m.remove()});C.deleteFramebuffer(b);v.reset();g=!1;u.splice(0);h.v=-2;h.Ub=1}};return v}(),Ia=function(){function b(){f="undefined"===typeof Ka?JEContext:Ka;g=!0}function c(d,l){for(var p=0;p<d.length;++p){var k=l.getExtension(d[p]);if(k)return k}return null}var f=null,g=!1,u={kc:!1,ub:null,vb:null,nc:!1,
Ld:!1,wb:null,oc:!1,xb:null,lc:!1,Sa:null,Gd:!1,Ta:null,Hd:!1},h=null,v={T:!0,U:!0,Xa:!0},m=null,e="undefined"===typeof window?{}:window,t={o:function(){if(g)return!0;h=Object.assign({},u);m=Object.assign({},v);g||b();var d=C;if(!h.kc){h.ub=t.Rb(d);e.GL_EXT_FLOAT=h.ub;h.nc=h.ub?!0:!1;if(h.nc||t.V())h.vb=t.Sb(d),h.Ld=h.vb?!0:!1,e.GL_EXT_FLOATLINEAR=h.vb;h.kc=!0}if(!h.lc){h.wb=t.qa(d);h.wb&&(h.oc=!0,e.GL_EXT_HALFFLOAT=h.wb);if(h.oc||t.V())h.xb=t.Tb(d),e.GL_EXT_HALFFLOATLINEAR=h.xb;h.Ye=h.xb?!0:!1;h.lc=
!0}h.Sa=t.Pb(d);h.Gd=h.Sa?!0:!1;e.GL_EXT_COLORBUFFERFLOAT=h.Sa;h.Ta=t.Qb(d);h.Hd=h.Ta?!0:!1;e.GL_EXT_COLORBUFFERHALFFLOAT=h.Ta;Ja.o();R.o();if(!t.kd())return!1;H.o();R.Ed();return!0},A:function(){g||b();return f.A()},M:function(){g||b();return f.M()},V:function(){g||b();return f.V()},Ob:function(d){t.Pb(d);t.Qb(d);t.Rb(d);t.Sb(d);t.qa(d);t.Tb(d)},Pb:c.bind(null,["EXT_color_buffer_float","WEBGL_color_buffer_float","OES_color_buffer_float"]),Qb:c.bind(null,["EXT_color_buffer_half_float","WEBGL_color_buffer_half_float",
"OES_color_buffer_half_float"]),Rb:c.bind(null,["OES_texture_float","MOZ_OES_texture_float","WEBKIT_OES_texture_float"]),Sb:c.bind(null,["OES_texture_float_linear","MOZ_OES_texture_float_linear","WEBKIT_OES_texture_float_linear"]),qa:c.bind(null,["OES_texture_half_float","MOZ_OES_texture_half_float","WEBKIT_OES_texture_half_float"]),Tb:c.bind(null,["OES_texture_half_float_linear","MOZ_OES_texture_half_float_linear","WEBKIT_OES_texture_half_float_linear"]),Za:function(d){var l=t.qa(d);return l&&l.HALF_FLOAT_OES?
l.HALF_FLOAT_OES:d.HALF_FLOAT||d.FLOAT},rd:function(){return m},Kb:function(){return m.T},Be:function(){return m.U},Ae:function(){return m.Xa},Ka:function(d,l,p){function k(){d.bindTexture(d.TEXTURE_2D,null);d.bindFramebuffer(D,null);d.deleteTexture(M);d.deleteFramebuffer(J)}var D=d.FRAMEBUFFER,K=d.NEAREST,J=d.createFramebuffer();d.bindFramebuffer(D,J);var M=d.createTexture();d.bindTexture(d.TEXTURE_2D,M);d.pixelStorei(d.UNPACK_FLIP_Y_WEBGL,!1);d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MAG_FILTER,K);
d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MIN_FILTER,K);d.texImage2D(d.TEXTURE_2D,0,l,1,1,0,d.RGBA,p,null);d.framebufferTexture2D(d.FRAMEBUFFER,d.COLOR_ATTACHMENT0,d.TEXTURE_2D,M,0);if(d.checkFramebufferStatus(d.READ_FRAMEBUFFER||d.FRAMEBUFFER)!==d.FRAMEBUFFER_COMPLETE)return k(),!1;Ca.rb(d);d.clearColor(0,0,0,0);d.viewport(0,0,1,1);d.disable(d.DEPTH_TEST);d.clear(d.COLOR_BUFFER_BIT);H.ra(d);d.bindFramebuffer(D,null);Ca.Fa(d);d.activeTexture(d.TEXTURE0);d.bindTexture(d.TEXTURE_2D,M);H.ra(d);l=new Uint8Array(4);
d.readPixels(0,0,1,1,d.RGBA,d.UNSIGNED_BYTE,l);k();return 3<Math.abs(l[0]-127)?!1:!0},Ua:function(d){var l={T:!1,U:!1};d.disable(d.BLEND);d.clearColor(0,0,0,0);d.clear(d.COLOR_BUFFER_BIT);d.RGBA32F&&t.Ka(d,d.RGBA32F,d.FLOAT)&&(l.T=!0);!l.T&&t.Ka(d,d.RGBA,d.FLOAT)&&(l.T=!0);var p=t.Za(d);d.RGBA16F&&t.Ka(d,d.RGBA16F,p)&&(l.U=!0);!l.U&&t.Ka(d,d.RGBA,p)&&(l.U=!0);return l},ld:function(){var d=Ja.instance({width:1});d.Kc();var l=R.instance({width:1,isFloat:!0,Aa:3});d.u();l.u();C.flush();C.checkFramebufferStatus(Ja.vd())!==
C.FRAMEBUFFER_COMPLETE?(R.fe(),m.Xa=!1):m.Xa=!0;d.remove();l.remove()},kd:function(){var d=t.Ua(C);Object.assign(m,d);if(!m.T&&!m.U)return!1;t.ld();return!0},m:function(){R.m();Ca.m();Ja.m();H.m();g=!1}};return t}(),Ha=function(){function b(F,I,L,Y){k.texParameteri(k.TEXTURE_2D,k.TEXTURE_MIN_FILTER,Y?k.NEAREST_MIPMAP_NEAREST:k.LINEAR);var V=null;if(null!==L)try{V=k.getError();if("FUCKING_BIG_ERROR"===V)return!1;k.texImage2D(k.TEXTURE_2D,0,F,2,2,0,k.RGBA,I,L);V=k.getError();if(V!==k.NO_ERROR)return!1}catch(w){return!1}Y&&
k.generateMipmap(k.TEXTURE_2D);k.clear(k.COLOR_BUFFER_BIT);H.ra(k);V=k.getError();if("FUCKING_BIG_ERROR"===V)return!1;k.readPixels(0,0,1,1,k.RGBA,k.UNSIGNED_BYTE,d);V=k.getError();V===k.INVALID_OPERATION&&"undefined"!==typeof k.PIXEL_PACK_BUFFER&&(k.bindBuffer(k.PIXEL_PACK_BUFFER,null),k.readPixels(0,0,1,1,k.RGBA,k.UNSIGNED_BYTE,d),V=k.getError());if(V!==k.NO_ERROR)return!1;if(L=0!==d[0])e.zc=I,e.ic=F;return L}function c(F,I){return D.T&&b(F,k.FLOAT,new Float32Array(p),I)?(m=v.Cb,!0):!1}function f(F,
I,L){if(!D.U)return!1;var Y=Ia.qa(k);if(Y&&Y.HALF_FLOAT_OES&&b(F,Y.HALF_FLOAT_OES,new Uint16Array(p),I)||k.HALF_FLOAT&&b(F,k.HALF_FLOAT,new Uint16Array(p),I)||b(F,k.FLOAT,new Float32Array(p),I))return m=v.ea,!0;k.bindTexture(k.TEXTURE_2D,L);k.texImage2D(k.TEXTURE_2D,0,k.RGBA,1,1,0,k.RGBA,k.UNSIGNED_BYTE,null);k.bindFramebuffer(e.oa,M);R.Vb(k,L,1,1,new Float32Array(p),!1,!1);k.bindFramebuffer(e.oa,null);k.bindTexture(k.TEXTURE_2D,L);return b(F,null,null,I)?(m=v.ea,!0):!1}function g(F,I,L){t=!0;if(f(F,
!0,L)||c(I,!0))return!0;t=!1;return f(F,!1,L)||c(I,!1)?!0:!1}function u(F){if(m===v.K){k=F||C;m=v.RGBA8;t=!0;Ia.Ob(k);D||(D=Ia.Ua(k));Ja.reset();M=k.createFramebuffer();e.oa=k.DRAW_FRAMEBUFFER||k.FRAMEBUFFER;k.bindFramebuffer(e.oa,null);k.clearColor(0,0,0,0);k.viewport(0,0,1,1);E.K();K=E.Fa(k);F=k.createTexture();k.activeTexture(k.TEXTURE0);k.bindTexture(k.TEXTURE_2D,F);k.texParameteri(k.TEXTURE_2D,k.TEXTURE_WRAP_S,k.REPEAT);k.texParameteri(k.TEXTURE_2D,k.TEXTURE_WRAP_T,k.REPEAT);k.texParameteri(k.TEXTURE_2D,
k.TEXTURE_MAG_FILTER,k.NEAREST);J=F;var I=F=k.RGBA,L=k.RGBA16F,Y=k.RGBA32F;Y&&(F=Y);L&&(I=L);if((L||Y)&&g(I,F,J))return h(),!0;F=I=k.RGBA;if(g(I,F,J))return h(),!0;m=v.RGBA8;h();return!1}}function h(){k.deleteProgram(K.Z);k.deleteTexture(J);J=K=null}var v={K:-1,Cb:3,ea:2,RGBA8:0},m=v.K,e={zc:null,ic:null,oa:null},t=!0,d=new Uint8Array(4),l=[.8,1,.8,1],p=[].concat(l,l,l,l),k=null,D=null,K=null,J=null,M=null;return{cd:function(F){u(F);return t},Jb:function(F,I){m===v.K&&(typeof("undefined"!==I)&&(D=
I),u(F));return m!==v.RGBA8},af:function(F){u(F);return m===v.Cb},Nd:function(F){u(F);return m===v.ea},Qe:function(F){u(F);return e.zc},ud:function(F){u(F);return e.ic},m:function(){k=null;t=!0;m=v.K;D=null}}}(),Oa={instance:function(b){var c=R.instance(b.alpha),f=R.instance(b.beta);return{nd:function(){c.g(1);f.g(2)}}}},Qa={instance:function(b){var c=null,f=!1,g=!1,u=null,h=!1,v=!1,m=null,e="undefined"===typeof b.preprocessing?!1:b.preprocessing,t="undefined"===typeof b.preprocessingSize?b.size:
b.preprocessingSize;b.mask&&(f=!0,a&&void 0!==a.Yc&&(b.mask=a.Yc+b.mask),c=R.instance({isFloat:!1,url:b.mask}));var d=!1;b.customInputShader&&(d="s44",E.Eb({name:"_",id:d,h:b.customInputShader,tf:["uSource"],precision:"lowp"}),E.G(d,[{type:"1i",name:"_",value:0}]));switch(e){case "sobel":m="s31";h=!0;break;case "meanNormalization":m="s32";h=!0;break;case "grayScale":m="s28";h=!1;break;case "grayScaleTilt":m="s29";v=!0;h=!1;break;case "rgbGrayTilt":m="s30";v=!0;h=!1;break;case "copy":m=d?d:"s0";break;
case "inputLightRegulation":m=d?d:"s28";u=Pa.instance({hc:t,yc:b.size,uc:b.nBlurPass,Md:!1});g=!0;break;case "direct":case "none":m=!1;break;default:m="s3"}v&&E.G(m,[{name:"u26",type:"1f",value:b.tilt}]);f&&(m+="Mask");var l=R.instance({isFloat:!1,isPot:!1,width:b.size}),p={A:function(){return t},$a:function(){return p.A()},Bd:function(){return g?u.$b():l},H:function(){Ja.S();m&&(E.set(m),h&&E.I("u27",1/b.size),l.P(),f&&c.g(1),H.l(!1,!1),l.g(0),g&&u.process(l))},m:function(){l.remove();f&&c.remove()}};
return p}},Ya={instance:function(b){"undefined"===typeof b.normalize&&(b.normalize=!1);var c={input:null,ma:null,eb:null,O:null,Ba:null,nb:null,ob:null},f=null,g=[],u=[],h=!1,v=null,m=!0,e=-1,t=b.isReorganize?b.isReorganize:!1,d=b.kernelsCount?!0:!1,l=b.dynPelu?Oa.instance(b.dynPelu):!1,p=l?!0:!1,k={isEnabled:!1};b.Kd?(b.sparsity="undefined"!==typeof b.sparsity?b.sparsity:b.Da.$a(),m=!1):"full"===b.connectivityUp&&(b.sparsity=b.Da.$a());var D={elu:"s15",elu01:"s16",relu:"s14",arctan:"s18",sigmoid:"s13",
copy:"s0",softplus:"s19",dynPelu:"s17"}[b.activation],K=b.sparsity*b.sparsity,J=!1,M=b.size,F="";if(b.maxPooling){switch(b.maxPooling.size){case 2:F="s33";break;case 4:F="s34"}J=!0;M/=b.maxPooling.size;c.nb=R.instance({isFloat:!0,isPot:!1,width:M})}var I=void 0!==b.Sd&&b.Sd?!0:!1,L=null,Y=null,V=null;if(I){L="s45"+b.index.toString();E.ec("s45",L,[((b.normalization.n-1)/2).toFixed(1)]);E.G(L,[{type:"1i",name:"u1",value:0},{type:"2f",name:"u7",value:[1/b.size,1/b.size]},{type:"1f",name:"u6",value:b.normalization.alpha},
{type:"1f",name:"u9",value:b.normalization.beta},{type:"1f",name:"u31",value:b.normalization.k}]);var w={isFloat:!0,isPot:!0,width:b.size};Y=R.instance(w);V=R.instance(w)}var r=-1,B=null;m&&(c.O=R.instance({isFloat:!0,isPot:!1,width:b.size}));c.ma=R.instance(b.bias);var O={A:function(){return b.size},$a:function(){return M},Yb:function(){return b.classesCount},$c:function(A){f.g(A)},Wd:function(){b.remap&&b.remap.isEnabled&&(k={isEnabled:!0,Od:R.instance({isFloat:!1,isFlipY:!1,array:new Uint8Array(b.remap.maskTexture.data),
width:b.remap.maskTexture.width,isPot:!1}),za:b.remap.layers.map(function(A){return b.parent.yd(A)}),depth:b.remap.depth})},ge:function(){switch(b.connectivityUp){case "direct":B=Ta.instance(b.connectivity);break;case "square":B=Ua.instance(b.connectivity);break;case "squareFast":B=Va.instance(b.connectivity,b.activation);break;case "full":B=Wa.instance(b.connectivity);break;case "conv":e=b.kernelsCount,B=Xa.instance(b.connectivity),t&&(c.Ba=R.instance({width:M,isFloat:!0,isFlipY:!1,isPot:!1}))}if(B.ca){var A=
b.size*b.sparsity;r=Math.log(A/b.size)/Math.log(2);c.input=R.instance({isMipmap:!0,isFloat:!0,isPot:!0,width:A,ib:r});c.eb=R.instance({isFloat:!0,isPot:!0,width:b.size})}},H:function(A){f=A;B.ca?(c.input.P(),d&&c.ma.g(2),B.H(k),c.input.g(0),c.input.qd(r),c.eb.P(),d?E.set("s0"):(E.set("s27"),E.I("u25",K),c.ma.g(1)),c.input.ad(r,0),H.l(!1,!1),E.set(D),I?Y.u():c.O.u(),c.eb.g(0),p&&l.nd(),H.l(!1,!1)):(c.O.P(),c.ma.g(1),B.H());I&&(E.set(L),V.u(),Y.g(0),H.l(!1,!1),E.set("s46"),E.I("u6",1),c.O.u(),V.g(1),
H.l(!1,!1));if(m)return J?(c.nb.P(),c.O.g(0),E.set(F),E.ha("u7",1/b.size,1/b.size),H.l(!1,!1),A=c.nb):A=c.O,A.g(0),t&&(c.Ba.u(),E.set("s21"),E.ha("u12",e,M/e),H.l(!1,!1),A=c.Ba,c.Ba.g(0)),A;A=c.O;b.normalize&&(E.set("gpuRawAvg"===h?"s8":"s7"),E.I("u4",1/b.size),c.ob.P(),c.O.g(0),H.l(!1,!1),A=c.ob);switch(h){case "cpuRGBA2Float":A.Va(!1);A=O.Xd(A);v(A);break;case "cpuMeanFloat":A.Va(!0);A=A.Yd();v(A);break;case "gpuRawAvg":case "gpuRaw":A.g(0);case "none":null!==v&&v(A)}return!1},fd:function(A){A&&
(h=A.pb||"none",v=A.mb||null);c.O=R.instance({isFloat:!0,isPot:!0,isMipmap:!1,width:b.size});A="undefined"!==typeof b.classesCount&&b.classesCount?b.classesCount:b.size*b.size;for(var n=0,N=0,G=0;n<A;++n)g.push(N+(b.size-1-G)*b.size),u.push([-1,-1,-1,-1]),++N,N===b.size&&(N=0,++G);b.normalize&&(c.ob=R.instance({isFloat:!0,isPot:!0,width:b.size}))},Xd:function(A){var n=A.qb();g.forEach(function(N,G){u[G][0]=n[0][N];u[G][1]=n[1][N];u[G][2]=n[2][N];u[G][3]=n[3][N]});return u},m:function(){for(var A in c){var n=
c[A];n&&n.remove()}B&&(B.m(),B=null)}};b.Da&&O.ge(b.Da);return O}};
function Za(b){var c=null,f=null,g=null,u=0;this.o=function(h){this.ee(h.za);g.fd({pb:h.pb,mb:h.mb})};this.yd=function(h){return c[h]};this.ee=function(h){var v=null;u=h.length;c=h.map(function(m,e){m=Object.assign({},m,{index:e,parent:this,Da:v,Kd:e===u-1});return v=e=0===e?Qa.instance(m):Ya.instance(m)});f=c[0];g=c[u-1];c.forEach(function(m,e){0!==e&&m.Wd()})};this.H=function(h,v){var m=v;c.forEach(function(e){m=e.H(m,h)});return m};this.wd=function(){return f.A()}