@maptalks/3dtiles 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,34 @@
1
+ # 3dtiles插件
2
+ maptalks用于载入3dtiles数据的图层插件
3
+
4
+ # 示例代码
5
+ ```html
6
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/maptalks@next/dist/maptalks.min.js"></script>
7
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@maptalks/gl/dist/maptalksgl.js"></script>
8
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@maptalks/3dtiles@latest/dist/maptalks.3dtiles.js"></script>
9
+ <script>
10
+ const layer = new maptalks.Geo3DTilesLayer('3dtiles', {
11
+ maxCacheSize : 1000, //缓存的最大瓦片数
12
+ // loadingLimitOnInteracting : 1, //地图交互过程中瓦片请求最大数量
13
+ // loadingLimit : 0, //瓦片请求最大数量
14
+ services : [
15
+ {
16
+ url : 'path/to/tileset.json',
17
+ // maximumScreenSpaceError值越小,加载的模型越清晰,但加载的数据量会变大
18
+ // 清晰度可以接受的情况下,推荐把这个值设得越大越好,性能会越好
19
+ maximumScreenSpaceError : 24.0,
20
+ // urlParams : 'v=0.0',
21
+ // ajaxOptions : { credentials : 'include' },
22
+ // 把模型降低1200米
23
+ heightOffset : -1200,
24
+ ambientLight : [0.0, 0.0, 0.0],
25
+ // maxExtent : maxExtent
26
+ // ajaxInMainThread : true, //从主线程发起ajax请求,用于worker发起ajax报跨域错误
27
+ },
28
+ // 其他的3dtiles数据源
29
+ ]
30
+ });
31
+ layer.addTo(map);
32
+ </script>
33
+
34
+ ```
@@ -0,0 +1 @@
1
+ !function(e){"function"==typeof define&&define.amd?define(["maptalks"],e):e()}(function(){"use strict";var workerLoaded;function define(e,r){workerLoaded?r(maptalks,maptalks,maptalksgl):(maptalks.registerWorkerAdapter("@maptalks/3dtiles",r),workerLoaded=!0)}define(["exports"],function(exports){var commonjsGlobal="undefined"!=typeof undefinedThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{};function createCommonjsModule(e,r){return e(r={exports:{}},r.exports),r.exports}var zousanMin=createCommonjsModule(function(e){!function(a){var o,u,f="fulfilled",c="undefined",s=function(){var r=[],t=0;function n(){for(;r.length-t;){try{r[t]()}catch(e){a.console&&a.console.error(e)}r[t++]=u,1024==t&&(r.splice(0,1024),t=0)}}var i=function(){if(typeof MutationObserver===c)return typeof process!==c&&"function"==typeof process.nextTick?function(){process.nextTick(n)}:typeof setImmediate!==c?function(){setImmediate(n)}:function(){setTimeout(n,0)};var e=document.createElement("div");return new MutationObserver(n).observe(e,{attributes:!0}),function(){e.setAttribute("a",0)}}();return function(e){r.push(e),r.length-t==1&&i()}}();function l(e){if(!(this instanceof l))throw new TypeError("Zousan must be created with the new keyword");if("function"==typeof e){var r=this;try{e(function(e){r.resolve(e)},function(e){r.reject(e)})}catch(e){r.reject(e)}}else if(0<arguments.length)throw new TypeError("Zousan resolver "+e+" is not a function")}function d(e,r){if("function"==typeof e.y)try{var t=e.y.call(u,r);e.p.resolve(t)}catch(r){e.p.reject(r)}else e.p.resolve(r)}function h(e,r){if("function"==typeof e.n)try{var t=e.n.call(u,r);e.p.resolve(t)}catch(r){e.p.reject(r)}else e.p.reject(r)}l.prototype={resolve:function(t){if(this.state===o){if(t===this)return this.reject(new TypeError("Attempt to resolve promise with self"));var n=this;if(t&&("function"==typeof t||"object"==typeof t))try{var r=!0,e=t.then;if("function"==typeof e)return void e.call(t,function(e){r&&(r=!1,n.resolve(e))},function(e){r&&(r=!1,n.reject(e))})}catch(e){return void(r&&this.reject(e))}this.state=f,this.v=t,n.c&&s(function(){for(var e=0,r=n.c.length;e<r;e++)d(n.c[e],t)})}},reject:function(t){if(this.state===o){var e=this;this.state="rejected",this.v=t;var n=this.c;s(n?function(){for(var e=0,r=n.length;e<r;e++)h(n[e],t)}:function(){e.handled||!l.suppressUncaughtRejectionError&&a.console&&l.warn("You upset Zousan. Please catch rejections: ",t,t?t.stack:null)})}},then:function(e,r){var t=new l,n={y:e,n:r,p:t};if(this.state===o)this.c?this.c.push(n):this.c=[n];else{var i=this.state,a=this.v;this.handled=!0,s(function(){i===f?d(n,a):h(n,a)})}return t},catch:function(e){return this.then(null,e)},finally:function(e){return this.then(e,e)},timeout:function(e,n){n=n||"Timeout";var i=this;return new l(function(r,t){setTimeout(function(){t(Error(n))},e),i.then(function(e){r(e)},function(e){t(e)})})}},l.resolve=function(e){var r=new l;return r.resolve(e),r},l.reject=function(e){var r=new l;return r.c=[],r.reject(e),r},l.all=function(t){var n=[],i=0,a=new l;function e(e,r){e&&"function"==typeof e.then||(e=l.resolve(e)),e.then(function(e){n[r]=e,++i==t.length&&a.resolve(n)},function(e){a.reject(e)})}for(var r=0;r<t.length;r++)e(t[r],r);return t.length||a.resolve(n),a},l.warn=console.warn,e.exports&&(e.exports=l),a.define&&a.define.amd&&a.define([],function(){return l}),(a.Zousan=l).soon=s}(commonjsGlobal)}),EPSILON=1e-6,ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,RANDOM=Math.random;function create(){var e=new ARRAY_TYPE(9);return ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function create$1(){var e=new ARRAY_TYPE(3);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function clone(e){var r=new ARRAY_TYPE(3);return r[0]=e[0],r[1]=e[1],r[2]=e[2],r}function length(e){var r=e[0],t=e[1],n=e[2];return Math.sqrt(r*r+t*t+n*n)}function fromValues(e,r,t){var n=new ARRAY_TYPE(3);return n[0]=e,n[1]=r,n[2]=t,n}function copy(e,r){return e[0]=r[0],e[1]=r[1],e[2]=r[2],e}function set(e,r,t,n){return e[0]=r,e[1]=t,e[2]=n,e}function add(e,r,t){return e[0]=r[0]+t[0],e[1]=r[1]+t[1],e[2]=r[2]+t[2],e}function subtract(e,r,t){return e[0]=r[0]-t[0],e[1]=r[1]-t[1],e[2]=r[2]-t[2],e}function multiply(e,r,t){return e[0]=r[0]*t[0],e[1]=r[1]*t[1],e[2]=r[2]*t[2],e}function divide(e,r,t){return e[0]=r[0]/t[0],e[1]=r[1]/t[1],e[2]=r[2]/t[2],e}function ceil(e,r){return e[0]=Math.ceil(r[0]),e[1]=Math.ceil(r[1]),e[2]=Math.ceil(r[2]),e}function floor(e,r){return e[0]=Math.floor(r[0]),e[1]=Math.floor(r[1]),e[2]=Math.floor(r[2]),e}function min(e,r,t){return e[0]=Math.min(r[0],t[0]),e[1]=Math.min(r[1],t[1]),e[2]=Math.min(r[2],t[2]),e}function max(e,r,t){return e[0]=Math.max(r[0],t[0]),e[1]=Math.max(r[1],t[1]),e[2]=Math.max(r[2],t[2]),e}function round(e,r){return e[0]=Math.round(r[0]),e[1]=Math.round(r[1]),e[2]=Math.round(r[2]),e}function scale(e,r,t){return e[0]=r[0]*t,e[1]=r[1]*t,e[2]=r[2]*t,e}function scaleAndAdd(e,r,t,n){return e[0]=r[0]+t[0]*n,e[1]=r[1]+t[1]*n,e[2]=r[2]+t[2]*n,e}function distance(e,r){var t=r[0]-e[0],n=r[1]-e[1],i=r[2]-e[2];return Math.sqrt(t*t+n*n+i*i)}function squaredDistance(e,r){var t=r[0]-e[0],n=r[1]-e[1],i=r[2]-e[2];return t*t+n*n+i*i}function squaredLength(e){var r=e[0],t=e[1],n=e[2];return r*r+t*t+n*n}function negate(e,r){return e[0]=-r[0],e[1]=-r[1],e[2]=-r[2],e}function inverse(e,r){return e[0]=1/r[0],e[1]=1/r[1],e[2]=1/r[2],e}function normalize(e,r){var t=r[0],n=r[1],i=r[2],a=t*t+n*n+i*i;return 0<a&&(a=1/Math.sqrt(a),e[0]=r[0]*a,e[1]=r[1]*a,e[2]=r[2]*a),e}function dot(e,r){return e[0]*r[0]+e[1]*r[1]+e[2]*r[2]}function cross(e,r,t){var n=r[0],i=r[1],a=r[2],o=t[0],u=t[1],f=t[2];return e[0]=i*f-a*u,e[1]=a*o-n*f,e[2]=n*u-i*o,e}function lerp(e,r,t,n){var i=r[0],a=r[1],o=r[2];return e[0]=i+n*(t[0]-i),e[1]=a+n*(t[1]-a),e[2]=o+n*(t[2]-o),e}function hermite(e,r,t,n,i,a){var o=a*a,u=o*(2*a-3)+1,f=o*(a-2)+a,c=o*(a-1),s=o*(3-2*a);return e[0]=r[0]*u+t[0]*f+n[0]*c+i[0]*s,e[1]=r[1]*u+t[1]*f+n[1]*c+i[1]*s,e[2]=r[2]*u+t[2]*f+n[2]*c+i[2]*s,e}function bezier(e,r,t,n,i,a){var o=1-a,u=o*o,f=a*a,c=u*o,s=3*a*u,l=3*f*o,d=f*a;return e[0]=r[0]*c+t[0]*s+n[0]*l+i[0]*d,e[1]=r[1]*c+t[1]*s+n[1]*l+i[1]*d,e[2]=r[2]*c+t[2]*s+n[2]*l+i[2]*d,e}function random(e,r){r=r||1;var t=2*RANDOM()*Math.PI,n=2*RANDOM()-1,i=Math.sqrt(1-n*n)*r;return e[0]=Math.cos(t)*i,e[1]=Math.sin(t)*i,e[2]=n*r,e}function transformMat4(e,r,t){var n=r[0],i=r[1],a=r[2],o=t[3]*n+t[7]*i+t[11]*a+t[15];return o=o||1,e[0]=(t[0]*n+t[4]*i+t[8]*a+t[12])/o,e[1]=(t[1]*n+t[5]*i+t[9]*a+t[13])/o,e[2]=(t[2]*n+t[6]*i+t[10]*a+t[14])/o,e}function transformMat3(e,r,t){var n=r[0],i=r[1],a=r[2];return e[0]=n*t[0]+i*t[3]+a*t[6],e[1]=n*t[1]+i*t[4]+a*t[7],e[2]=n*t[2]+i*t[5]+a*t[8],e}function transformQuat(e,r,t){var n=t[0],i=t[1],a=t[2],o=t[3],u=r[0],f=r[1],c=r[2],s=i*c-a*f,l=a*u-n*c,d=n*f-i*u,h=i*d-a*l,v=a*s-n*d,_=n*l-i*s,M=2*o;return s*=M,l*=M,d*=M,h*=2,v*=2,_*=2,e[0]=u+s+h,e[1]=f+l+v,e[2]=c+d+_,e}function rotateX(e,r,t,n){var i=[],a=[];return i[0]=r[0]-t[0],i[1]=r[1]-t[1],i[2]=r[2]-t[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+t[0],e[1]=a[1]+t[1],e[2]=a[2]+t[2],e}function rotateY(e,r,t,n){var i=[],a=[];return i[0]=r[0]-t[0],i[1]=r[1]-t[1],i[2]=r[2]-t[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+t[0],e[1]=a[1]+t[1],e[2]=a[2]+t[2],e}function rotateZ(e,r,t,n){var i=[],a=[];return i[0]=r[0]-t[0],i[1]=r[1]-t[1],i[2]=r[2]-t[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+t[0],e[1]=a[1]+t[1],e[2]=a[2]+t[2],e}function angle(e,r){var t=fromValues(e[0],e[1],e[2]),n=fromValues(r[0],r[1],r[2]);normalize(t,t),normalize(n,n);var i=dot(t,n);return 1<i?0:i<-1?Math.PI:Math.acos(i)}function str(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"}function exactEquals(e,r){return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]}function equals(e,r){var t=e[0],n=e[1],i=e[2],a=r[0],o=r[1],u=r[2];return Math.abs(t-a)<=EPSILON*Math.max(1,Math.abs(t),Math.abs(a))&&Math.abs(n-o)<=EPSILON*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-u)<=EPSILON*Math.max(1,Math.abs(i),Math.abs(u))}var sub=subtract,mul=multiply,div=divide,dist=distance,sqrDist=squaredDistance,len=length,sqrLen=squaredLength,forEach=(xe=create$1(),function(e,r,t,n,i,a){var o=void 0,u=void 0;for(r||(r=3),t||(t=0),u=n?Math.min(n*r+t,e.length):e.length,o=t;o<u;o+=r)xe[0]=e[o],xe[1]=e[o+1],xe[2]=e[o+2],i(xe,xe,a),e[o]=xe[0],e[o+1]=xe[1],e[o+2]=xe[2];return e}),xe,t=Object.freeze({__proto__:null,create:create$1,clone:clone,length:length,fromValues:fromValues,copy:copy,set:set,add:add,subtract:subtract,multiply:multiply,divide:divide,ceil:ceil,floor:floor,min:min,max:max,round:round,scale:scale,scaleAndAdd:scaleAndAdd,distance:distance,squaredDistance:squaredDistance,squaredLength:squaredLength,negate:negate,inverse:inverse,normalize:normalize,dot:dot,cross:cross,lerp:lerp,hermite:hermite,bezier:bezier,random:random,transformMat4:transformMat4,transformMat3:transformMat3,transformQuat:transformQuat,rotateX:rotateX,rotateY:rotateY,rotateZ:rotateZ,angle:angle,str:str,exactEquals:exactEquals,equals:equals,sub:sub,mul:mul,div:div,dist:dist,sqrDist:sqrDist,len:len,sqrLen:sqrLen,forEach:forEach});function create$2(){var e=new ARRAY_TYPE(4);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function clone$1(e){var r=new ARRAY_TYPE(4);return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}function fromValues$1(e,r,t,n){var i=new ARRAY_TYPE(4);return i[0]=e,i[1]=r,i[2]=t,i[3]=n,i}function copy$1(e,r){return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e}function set$1(e,r,t,n,i){return e[0]=r,e[1]=t,e[2]=n,e[3]=i,e}function add$1(e,r,t){return e[0]=r[0]+t[0],e[1]=r[1]+t[1],e[2]=r[2]+t[2],e[3]=r[3]+t[3],e}function subtract$1(e,r,t){return e[0]=r[0]-t[0],e[1]=r[1]-t[1],e[2]=r[2]-t[2],e[3]=r[3]-t[3],e}function multiply$1(e,r,t){return e[0]=r[0]*t[0],e[1]=r[1]*t[1],e[2]=r[2]*t[2],e[3]=r[3]*t[3],e}function divide$1(e,r,t){return e[0]=r[0]/t[0],e[1]=r[1]/t[1],e[2]=r[2]/t[2],e[3]=r[3]/t[3],e}function ceil$1(e,r){return e[0]=Math.ceil(r[0]),e[1]=Math.ceil(r[1]),e[2]=Math.ceil(r[2]),e[3]=Math.ceil(r[3]),e}function floor$1(e,r){return e[0]=Math.floor(r[0]),e[1]=Math.floor(r[1]),e[2]=Math.floor(r[2]),e[3]=Math.floor(r[3]),e}function min$1(e,r,t){return e[0]=Math.min(r[0],t[0]),e[1]=Math.min(r[1],t[1]),e[2]=Math.min(r[2],t[2]),e[3]=Math.min(r[3],t[3]),e}function max$1(e,r,t){return e[0]=Math.max(r[0],t[0]),e[1]=Math.max(r[1],t[1]),e[2]=Math.max(r[2],t[2]),e[3]=Math.max(r[3],t[3]),e}function round$1(e,r){return e[0]=Math.round(r[0]),e[1]=Math.round(r[1]),e[2]=Math.round(r[2]),e[3]=Math.round(r[3]),e}function scale$1(e,r,t){return e[0]=r[0]*t,e[1]=r[1]*t,e[2]=r[2]*t,e[3]=r[3]*t,e}function scaleAndAdd$1(e,r,t,n){return e[0]=r[0]+t[0]*n,e[1]=r[1]+t[1]*n,e[2]=r[2]+t[2]*n,e[3]=r[3]+t[3]*n,e}function distance$1(e,r){var t=r[0]-e[0],n=r[1]-e[1],i=r[2]-e[2],a=r[3]-e[3];return Math.sqrt(t*t+n*n+i*i+a*a)}function squaredDistance$1(e,r){var t=r[0]-e[0],n=r[1]-e[1],i=r[2]-e[2],a=r[3]-e[3];return t*t+n*n+i*i+a*a}function length$1(e){var r=e[0],t=e[1],n=e[2],i=e[3];return Math.sqrt(r*r+t*t+n*n+i*i)}function squaredLength$1(e){var r=e[0],t=e[1],n=e[2],i=e[3];return r*r+t*t+n*n+i*i}function negate$1(e,r){return e[0]=-r[0],e[1]=-r[1],e[2]=-r[2],e[3]=-r[3],e}function inverse$1(e,r){return e[0]=1/r[0],e[1]=1/r[1],e[2]=1/r[2],e[3]=1/r[3],e}function normalize$1(e,r){var t=r[0],n=r[1],i=r[2],a=r[3],o=t*t+n*n+i*i+a*a;return 0<o&&(o=1/Math.sqrt(o),e[0]=t*o,e[1]=n*o,e[2]=i*o,e[3]=a*o),e}function dot$1(e,r){return e[0]*r[0]+e[1]*r[1]+e[2]*r[2]+e[3]*r[3]}function lerp$1(e,r,t,n){var i=r[0],a=r[1],o=r[2],u=r[3];return e[0]=i+n*(t[0]-i),e[1]=a+n*(t[1]-a),e[2]=o+n*(t[2]-o),e[3]=u+n*(t[3]-u),e}function random$1(e,r){var t,n,i,a,o,u;for(r=r||1;1<=(o=(t=2*RANDOM()-1)*t+(n=2*RANDOM()-1)*n););for(;1<=(u=(i=2*RANDOM()-1)*i+(a=2*RANDOM()-1)*a););var f=Math.sqrt((1-o)/u);return e[0]=r*t,e[1]=r*n,e[2]=r*i*f,e[3]=r*a*f,e}function transformMat4$1(e,r,t){var n=r[0],i=r[1],a=r[2],o=r[3];return e[0]=t[0]*n+t[4]*i+t[8]*a+t[12]*o,e[1]=t[1]*n+t[5]*i+t[9]*a+t[13]*o,e[2]=t[2]*n+t[6]*i+t[10]*a+t[14]*o,e[3]=t[3]*n+t[7]*i+t[11]*a+t[15]*o,e}function transformQuat$1(e,r,t){var n=r[0],i=r[1],a=r[2],o=t[0],u=t[1],f=t[2],c=t[3],s=c*n+u*a-f*i,l=c*i+f*n-o*a,d=c*a+o*i-u*n,h=-o*n-u*i-f*a;return e[0]=s*c+h*-o+l*-f-d*-u,e[1]=l*c+h*-u+d*-o-s*-f,e[2]=d*c+h*-f+s*-u-l*-o,e[3]=r[3],e}function str$1(e){return"vec4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}function exactEquals$1(e,r){return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]}function equals$1(e,r){var t=e[0],n=e[1],i=e[2],a=e[3],o=r[0],u=r[1],f=r[2],c=r[3];return Math.abs(t-o)<=EPSILON*Math.max(1,Math.abs(t),Math.abs(o))&&Math.abs(n-u)<=EPSILON*Math.max(1,Math.abs(n),Math.abs(u))&&Math.abs(i-f)<=EPSILON*Math.max(1,Math.abs(i),Math.abs(f))&&Math.abs(a-c)<=EPSILON*Math.max(1,Math.abs(a),Math.abs(c))}var sub$1=subtract$1,mul$1=multiply$1,div$1=divide$1,dist$1=distance$1,sqrDist$1=squaredDistance$1,len$1=length$1,sqrLen$1=squaredLength$1,forEach$1=(dh=create$2(),function(e,r,t,n,i,a){var o=void 0,u=void 0;for(r||(r=4),t||(t=0),u=n?Math.min(n*r+t,e.length):e.length,o=t;o<u;o+=r)dh[0]=e[o],dh[1]=e[o+1],dh[2]=e[o+2],dh[3]=e[o+3],i(dh,dh,a),e[o]=dh[0],e[o+1]=dh[1],e[o+2]=dh[2],e[o+3]=dh[3];return e}),dh,r=Object.freeze({__proto__:null,create:create$2,clone:clone$1,fromValues:fromValues$1,copy:copy$1,set:set$1,add:add$1,subtract:subtract$1,multiply:multiply$1,divide:divide$1,ceil:ceil$1,floor:floor$1,min:min$1,max:max$1,round:round$1,scale:scale$1,scaleAndAdd:scaleAndAdd$1,distance:distance$1,squaredDistance:squaredDistance$1,length:length$1,squaredLength:squaredLength$1,negate:negate$1,inverse:inverse$1,normalize:normalize$1,dot:dot$1,lerp:lerp$1,random:random$1,transformMat4:transformMat4$1,transformQuat:transformQuat$1,str:str$1,exactEquals:exactEquals$1,equals:equals$1,sub:sub$1,mul:mul$1,div:div$1,dist:dist$1,sqrDist:sqrDist$1,len:len$1,sqrLen:sqrLen$1,forEach:forEach$1});function create$3(){var e=new ARRAY_TYPE(4);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function setAxisAngle(e,r,t){t*=.5;var n=Math.sin(t);return e[0]=n*r[0],e[1]=n*r[1],e[2]=n*r[2],e[3]=Math.cos(t),e}function slerp(e,r,t,n){var i=r[0],a=r[1],o=r[2],u=r[3],f=t[0],c=t[1],s=t[2],l=t[3],d=void 0,h=void 0,v=void 0,_=void 0,M=void 0;return(h=i*f+a*c+o*s+u*l)<0&&(h=-h,f=-f,c=-c,s=-s,l=-l),M=EPSILON<1-h?(d=Math.acos(h),v=Math.sin(d),_=Math.sin((1-n)*d)/v,Math.sin(n*d)/v):(_=1-n,n),e[0]=_*i+M*f,e[1]=_*a+M*c,e[2]=_*o+M*s,e[3]=_*u+M*l,e}function fromMat3(e,r){var t=r[0]+r[4]+r[8],n=void 0;if(0<t)n=Math.sqrt(t+1),e[3]=.5*n,n=.5/n,e[0]=(r[5]-r[7])*n,e[1]=(r[6]-r[2])*n,e[2]=(r[1]-r[3])*n;else{var i=0;r[4]>r[0]&&(i=1),r[8]>r[3*i+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(r[3*i+i]-r[3*a+a]-r[3*o+o]+1),e[i]=.5*n,n=.5/n,e[3]=(r[3*a+o]-r[3*o+a])*n,e[a]=(r[3*a+i]+r[3*i+a])*n,e[o]=(r[3*o+i]+r[3*i+o])*n}return e}var copy$2=copy$1,normalize$2=normalize$1,rotationTo=(Ph=create$1(),Qh=fromValues(1,0,0),Rh=fromValues(0,1,0),function(e,r,t){var n=dot(r,t);return n<-.999999?(cross(Ph,Qh,r),len(Ph)<1e-6&&cross(Ph,Rh,r),normalize(Ph,Ph),setAxisAngle(e,Ph,Math.PI),e):.999999<n?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):(cross(Ph,r,t),e[0]=Ph[0],e[1]=Ph[1],e[2]=Ph[2],e[3]=1+n,normalize$2(e,e))}),Ph,Qh,Rh,sqlerp=(Wh=create$3(),Xh=create$3(),function(e,r,t,n,i,a){return slerp(Wh,r,i,a),slerp(Xh,t,n,a),slerp(e,Wh,Xh,2*a*(1-a)),e}),Wh,Xh,setAxes=(ci=create(),function(e,r,t,n){return ci[0]=t[0],ci[3]=t[1],ci[6]=t[2],ci[1]=n[0],ci[4]=n[1],ci[7]=n[2],ci[2]=-r[0],ci[5]=-r[1],ci[8]=-r[2],normalize$2(e,fromMat3(e,ci))}),ci;function create$4(){var e=new ARRAY_TYPE(2);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0),e}var forEach$2=(ii=create$4(),function(e,r,t,n,i,a){var o=void 0,u=void 0;for(r||(r=2),t||(t=0),u=n?Math.min(n*r+t,e.length):e.length,o=t;o<u;o+=r)ii[0]=e[o],ii[1]=e[o+1],i(ii,ii,a),e[o]=ii[0],e[o+1]=ii[1];return e}),ii,n,i=n="undefined"!=typeof Promise?Promise:zousanMin;function a(e){return null==e}function o(e){return!a(e)}function u(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)e[n]=t[n]}return e}function f(e){switch(e){case 5120:return Int8Array;case 5121:return Uint8Array;case 5122:return Int16Array;case 5123:return Uint16Array;case 5124:return Int32Array;case 5125:return Uint32Array;case 5126:return Float32Array}throw new Error("unsupported bufferView's component type: "+e)}var h={get:function(r,a){var o=h.e(),e=new i(function(t,n){if(o.open("GET",r,!0),a){for(var e in a.headers)o.setRequestHeader(e,a.headers[e]);o.withCredentials="include"===a.credentials,a.responseType&&(o.responseType=a.responseType)}o.onreadystatechange=h.r(o,function(e,r){e?n(e):t(r)}),o.send(null)});return e.xhr=o,e},r:function(e,r){return function(){if(4===e.readyState)if(200===e.status)"arraybuffer"===e.responseType?0===e.response.byteLength?r(new Error("http status 200 returned without content.")):r(null,{data:e.response,cacheControl:e.getResponseHeader("Cache-Control"),expires:e.getResponseHeader("Expires"),contentType:e.getResponseHeader("Content-Type")}):r(null,e.responseText);else{if(0===e.status)return;r(new Error(e.statusText+","+e.status))}}},e:function(){var r;try{r=new XMLHttpRequest}catch(e){try{r=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{r=new ActiveXObject("Microsoft.XMLHTTP")}catch(r){}}}return r},getArrayBuffer:function(e,r){return r||(r={}),r.responseType="arraybuffer",h.get(e,r)},getJSON:function(e,r){var t=h.get(e,r),n=t.then(function(e){return e?JSON.parse(e):null});return n.xhr=t.xhr,n}},l=function(){function e(e,r,t){this.rootPath=e,this.gltf=r,this.requests={},this.buffers={},this.glbBuffer=t}var r=e.prototype;return r.iterate=function(e,r){var t=this.gltf[r];if(t){var n=0;for(var i in t)e(i,t[i],n++)}},r.createNode=function(e){var r={};return o(e.name)&&(r.name=e.name),o(e.children)&&(r.children=e.children),o(e.jointName)&&(r.jointName=e.jointName),o(e.matrix)&&(r.matrix=e.matrix),o(e.rotation)&&(r.rotation=e.rotation),o(e.scale)&&(r.scale=e.scale),o(e.translation)&&(r.translation=e.translation),o(e.extras)&&(r.extras=e.extras),o(e.meshes)&&(r.mesh=e.meshes[0]),r},r.t=function(e){var r={};for(var t in e){var n=e[t],i=void 0,a={baseColorTexture:{index:n.instanceTechnique&&n.instanceTechnique.values?(i=n.instanceTechnique).values.diffuse:(i=n).values.tex||i.values.diffuseTex||i.values.diffuse}};n.name&&(a.name=n.name),n.extensions&&(a.extensions=n.extensions),n.extras&&(a.extras=n.extras),r[t]=a}return r},r.i=function(e){var t=this;if(e.bufferView||e.extensions&&(e.extensions.KHR_binary_glTF||e.extensions.binary_glTF)){var r=e.bufferView?e:e.extensions.KHR_binary_glTF||e.extensions.binary_glTF;if(e.extensions&&(e.mimeType=r.mimeType,e.width=r.width,e.height=r.height),this.buffers[r.bufferView])return Promise.resolve(this.buffers[r.bufferView]);var n=this.gltf.bufferViews[r.bufferView],i=(n.byteOffset||0)+this.glbBuffer.byteOffset,a=n.byteLength,o=this.buffers[r.bufferView]=new Uint8Array(this.glbBuffer.buffer,i,a);return Promise.resolve(o)}var u=e.uri,f=this.rootPath+"/"+u;return this.requests[f]?this.requests[f].then(function(){return t.buffers[f]}):this.requests[f]=h.getArrayBuffer(f,null).then(function(e){var r=e.data;return t.buffers[f]=r,new Uint8Array(r)})},r.a=function(e){var t=this,n=this.gltf.textures[e];if(!n)return null;var i=this.gltf.images[n.source];return this.i(i).then(function(e){var r=t.gltf.samplers[n.sampler];return{image:{array:e,width:i.width,height:i.height,index:n.source,mimeType:i.mimeType,name:i.name,extras:i.extras},type:n.type||5121,sampler:r,format:n.format||6408,internalFormat:n.internalFormat||6408}})},r.getBaseColorTexture=function(e){var r,t,n=this.gltf.materials[e];if(void 0===(t=n.instanceTechnique&&n.instanceTechnique.values?(r=n.instanceTechnique).values.diffuse:(r=n).values.tex||r.values.diffuseTex||r.values.diffuse)||void 0===this.gltf.textures)return null;var i=this.gltf.textures[t];if(!i)return null;var a=this.gltf.samplers[i.sampler];return{format:i.format||6408,internalFormat:i.internalFormat||6408,type:i.type||5121,sampler:a,source:this.gltf.images[i.source]}},r.getMaterial=function(){return null},r.getAnimations=function(){return null},e}(),c=["SCALAR",1,"VEC2",2,"VEC3",3,"VEC4",4,"MAT2",4,"MAT3",9,"MAT4",16],g=function(){function e(e,r,t,n){this.rootPath=e,this.gltf=r,this.glbBuffer=t,this.buffers={},this.requests={},this.ignoreGLBOffset=n}var r=e.prototype;return r.o=function(t,n){var a=this,e=this.gltf,r=e.accessors[n],o=e.bufferViews[r.bufferView],u=e.buffers[o.buffer];if("binary_glTF"!==o.buffer&&"KHR_binary_glTF"!==o.buffer&&u.uri){var f=u.uri,c=0===u.uri.indexOf("data:application/")?u.uri:this.rootPath+"/"+f;return this.requests[c]?this.requests[c].then(function(){return a.u(t,n,a.buffers[c])}):this.requests[c]=h.getArrayBuffer(c,null).then(function(e){var r=e.data;return a.buffers[c]=r,a.u(t,n,r)})}var s=this.u(t,n,this.glbBuffer.buffer,this.ignoreGLBOffset?0:this.glbBuffer.byteOffset);return i.resolve(s)},r.u=function(e,r,t,n){void 0===n&&(n=0);var i=this.gltf,a=i.accessors[r],o=i.bufferViews[a.bufferView],u=(o.byteOffset||0)+n,c=this.f(a.type),s=f(a.componentType),l=s.BYTES_PER_ELEMENT,d=o.byteStride||0;d===l*c&&(d=0);var h={array:void 0,name:e,accessorName:r,bufferView:a.bufferView,byteOffset:d&&a.byteOffset||0,byteStride:d,byteLength:a.count*c*s.BYTES_PER_ELEMENT,componentType:a.componentType,count:a.count,type:a.type,itemSize:c};if(a.min&&(h.min=a.min),a.max&&(h.max=a.max),0===d){var v=u+(a.byteOffset||0);v%s.BYTES_PER_ELEMENT!=0&&(t=t.slice(u,u+a.count*c*s.BYTES_PER_ELEMENT),v=0),delete h.bufferView,h.array=new s(t,v,c*a.count)}else h.array=new Uint8Array(t,u,o.byteLength);return h},r.f=function(e){var r=c.indexOf(e);return c[r+1]},e}(),m=function(){function e(e,r,t,n,i){this.rootPath=e,this.gltf=r,this.glbBuffer=t,this.buffers={},this.requests={},this.s=n,this.accessor=new g(e,r,t),this.imageDecoders=i}var r=e.prototype;return r.iterate=function(e,r){var t=this.gltf[r];if(t)for(var n=0;n<t.length;n++)e(n,t[n],n)},r.createNode=function(e){var r={};return u(r,e),!o(e.weights)&&this.gltf.meshes&&o(r.mesh)?r.weights=this.gltf.meshes[r.mesh].weights:r.weights=e.weights,r},r.a=function(e){var n=this,i=this.gltf.textures[e];if(!i)return null;var a=this.gltf.images[i.source];return this.i(a).then(function(e){var r={image:{array:e.data,width:e.width,height:e.height,index:i.source,mimeType:a.mimeType,name:a.name,extensions:a.extensions,extras:a.extras}};u(r,i);var t=o(i.sampler)?n.gltf.samplers[i.sampler]:void 0;return t&&(r.sampler=t),e.format&&(r.format=e.format),r})},r.i=function(e){if(!o(e.bufferView)){var r=e.uri,t=0===r.indexOf("data:image/")?r:this.rootPath+"/"+r;return this.l(t)}var n=this.gltf.bufferViews[e.bufferView];if(this.buffers[e.bufferView])return i.resolve(this.buffers[e.bufferView]);var a=this.gltf.buffers[n.buffer];return a.uri?this.d(a.uri,n,e):this.glbBuffer?this.h(n,e):null},r.l=function(e){var r=this;return this.requests[e]?this.requests[e].then(function(){return r.buffers[e]}):this.requests[e]=this._(e,e)},r.d=function(e,a,o){var u=this,f=o.bufferView;return this.requests[e]?this.requests[e].then(function(){return u.buffers[f]}):h.getArrayBuffer(e,null).then(function(e){var r=e.data,t=u.M(a,r),n=new Blob([t],{type:o.mimeType}),i=URL.createObjectURL(n);return u._(f,i)})},r.h=function(e,r){var t=this.M(e,this.glbBuffer.buffer),n=this.imageDecoders;if(n[r.mimeType])return i.resolve(n[r.mimeType](t));var a=new Blob([t],{type:r.mimeType}),o=URL.createObjectURL(a);return this._(r.bufferView,o)},r._=function(a,e){var o=this;return new i(function(t,n){o.s(e,function(e,r){e?n(e):(o.buffers[a]=r,t(o.buffers[a]))})})},r.M=function(e,r,t){t=t||0;var n=e.byteOffset+t,i=e.byteLength;return r.slice(n,n+i)},r.T=function(e,r){for(var t=new Array(e.byteLength),n=0;n<e.byteLength;n++)t[n]=String.fromCharCode(e[n]);return t.join(""),"data:"+(r=r||"image/png")+";base64,"+window.btoa(unescape(encodeURIComponent(t)))},r.getAnimations=function(t){var r=this,n=[];return t.forEach(function(e){n.push(r.getSamplers(e.samplers))}),i.all(n).then(function(e){for(var r=0;r<e.length;r++)t[r].samplers=e[r];return t})},r.getSamplers=function(t){for(var e=[],r=0;r<t.length;r++)(o(t[r].input)||o(t[r].output))&&(e.push(this.accessor.o("input",t[r].input)),e.push(this.accessor.o("output",t[r].output)));return i.all(e).then(function(e){for(var r=0;r<e.length/2;r++)t[r].input=e[2*r],t[r].output=e[2*r+1],t[r].interpolation||(t[r].interpolation="LINEAR");return t})},e}(),p="undefined"!=typeof TextDecoder?new TextDecoder("utf-8"):null,d=12,b={JSON:1313821514,BIN:5130562},y=function(){function i(){}return i.read=function(e,r){void 0===r&&(r=0);var t=new DataView(e,r),n=t.getUint32(4,!0);if(1===n)return i.readV1(t,r);if(2===n)return i.readV2(e,r);throw new Error("Unsupported glb version : "+n)},i.readV1=function(e,r){var t=e.getUint32(8,!0),n=e.getUint32(12,!0);if(t!==e.buffer.byteLength-r)throw new Error("Length in GLB header is inconsistent with glb's byte length.");var i=T(e.buffer,20+r,n);return{json:JSON.parse(i),glbBuffer:{byteOffset:20+r+n,buffer:e.buffer}}},i.readV2=function(e,r){for(var t,n,i=new DataView(e,r+d),a=0;a<i.byteLength;){var o=i.getUint32(a,!0);a+=4;var u=i.getUint32(a,!0);if(a+=4,u===b.JSON)t=T(e,r+d+a,o);else if(u===b.BIN){var f=r+d+a;n=e.slice(f,f+o)}a+=o}return{json:JSON.parse(t),glbBuffer:{byteOffset:r,buffer:n}}},i}();function T(e,r,t){if(p){var n=new Uint8Array(e,r,t);return p.decode(n)}return function(e){for(var r=e.length,t="",n=0;n<r;){var i=e[n++];if(128&i){var a=_[i>>3&7];if(!(64&i)||!a||r<n+a)return null;for(i&=63>>a;0<a;a-=1){var o=e[n++];if(128!=(192&o))return null;i=i<<6|63&o}}t+=String.fromCharCode(i)}return t}(new Uint8Array(e,r,t))}var _=[1,1,1,1,2,2,3,0],w=[0,0,0],x=[0,0,0,1],E=[1,1,1],I={TRANSLATION:[0,0,0],ROTATION:[0,0,0,1],SCALE:[1,1,1]},N={PREVIOUS:null,NEXT:null,PREINDEX:null,NEXTINDEX:null,INTERPOLATION:null},A={m:function(e,r,t,n,i,a,o){for(var u=e.animations,f={},c=0;c<u.length;c++){var s=u[c],l=s.channelsMap[r];if(l)for(var d=0;d<l.length;d++){var h=l[d];"translation"===h.target.path?(this.A(n,s.samplers[h.sampler],t,1),f.translation=copy(w,n)):"rotation"===h.target.path?(this.b(i,s.samplers[h.sampler],t,1),f.rotation=copy$2(x,i)):"scale"===h.target.path?(this.A(a,s.samplers[h.sampler],t,1),f.scale=copy(E,a)):"weights"===h.target.path&&o&&(this.A(o,s.samplers[h.sampler],t,o.length),f.weights=o)}}return f},A:function(e,r,t,n){switch(r.interpolation){case"LINEAR":var i=this.S(N,r,t,1*n);i&&(e=function(e,r,t,n){for(var i=0;i<e.length;i++)e[i]=r[i]+n*(t[i]-r[i]);return e}(e,i.PREVIOUS,i.NEXT,i.INTERPOLATION));break;case"STEP":var a=this.S(N,r,t,1*n);a&&(e=function(e,r){for(var t=0;t<e.length;t++)e[t]=r[t];return e}.apply(void 0,[e].concat(a.PREVIOUS)));break;case"CUBICSPLINE":var o=this.S(N,r,t,3*n);o&&(e=this.O(e,o,r.input.array,3*n))}return e},b:function(e,t,n){switch(t.interpolation){case"LINEAR":var i=this.S(N,t,n,1);i&&slerp(e,i.PREVIOUS,i.NEXT,i.INTERPOLATION);break;case"STEP":var a=this.S(N,t,n,1);a&&(e=set$1.apply(r,[e].concat(a.PREVIOUS)));break;case"CUBICSPLINE":var o=this.S(N,t,n,3);if(o){for(var u=0;u<o.PREVIOUS.length;u++)o.PREVIOUS[u]=Math.acos(o.PREVIOUS[u]),o.NEXT[u]=Math.acos(o.NEXT[u]);e=this.O(e,o,t.input.array,3);for(var f=0;f<e.length;f++)e[f]=Math.cos(e[f])}}return e},g:function(e,r){for(var t=e.length,n=0,i=t-1,a=Math.floor((n+i)/2);n<=t-1&&0<=i;){if(n===i)return null;if(e[a]<=r&&r<=e[a+1]){var o=e[a];return{preIndx:a,nextIndex:a+1,interpolation:(r-o)/(e[a+1]-o)}}r<e[a]?(i=a,a=Math.floor((n+i)/2)):e[a+1]<r&&(n=a,a=Math.floor((n+i)/2))}return null},S:function(e,r,t,n){var i=r.input.array,a=r.output.array,o=r.output.itemSize;(t<i[0]||t>i[i.length-1])&&(t=Math.max(i[0],Math.min(i[i.length-1],t))),t===i[i.length-1]&&(t=i[0]);var u=this.g(i,t);if(!u||!u.nextIndex)return null;var f=u.preIndx,c=u.nextIndex,s=u.interpolation;e.PREINDEX=f,e.NEXTINDEX=c,e.INTERPOLATION=s;var l=o*n;return e.PREVIOUS=a.subarray(e.PREINDEX*l,(e.PREINDEX+1)*l),e.NEXT=a.subarray(e.NEXTINDEX*l,(e.NEXTINDEX+1)*l),e},O:function(e,r,t,n){for(var i=r.INTERPOLATION,a=t[r.PREINDEX],o=t[r.NEXTINDEX],u=0;u<3;u++){var f=r.PREVIOUS[n+u],c=(o-a)*r.PREVIOUS[2*n+u],s=r.NEXT[3+u],l=(o-a)*r.NEXT[u],d=(2*Math.pow(i,3)-3*Math.pow(i,2)+1)*f+(Math.pow(i,3)-2*Math.pow(i,2)+i)*c+(2*-Math.pow(i,3)+3*Math.pow(i,2))*s+(Math.pow(i,3)-Math.pow(i,2))*l;e[u]=d}return e},getAnimationClip:function(e,n,i){var a=e.nodes[n]&&e.nodes[n].weights;return set.apply(t,[w].concat(I.TRANSLATION)),set$1.apply(r,[x].concat(I.ROTATION)),set.apply(t,[E].concat(I.SCALE)),this.m(e,n,i,w,x,E,a)},getTimeSpan:function(e){if(!e.animations)return null;if(e.timeSpan)return e.timeSpan;var a=-1/0,o=1/0;return e.animations.forEach(function(e){for(var r=e.channels,t=0;t<r.length;t++){var n=r[t],i=e.samplers[n.sampler].input.array;i[i.length-1]>a&&(a=i[i.length-1]),i[0]<o&&(o=i[0])}}),e.timeSpan={max:a,min:o},e.timeSpan}},S="undefined"==typeof document?null:document.createElement("canvas"),O=function(){function e(e,r,t){if(this.options=t||{},r.buffer instanceof ArrayBuffer){var n=y.read(r.buffer,r.byteOffset),i=n.json,a=n.glbBuffer;this.R(e,i,a)}else this.R(e,r)}var r=e.prototype;return r.load=function(){var r=this,e=this.w(),t=this.k(),n=this.N();return i.all([e,t,n]).then(function(e){return e[0].animations=e[1],e[0].textures=e[2],r.createChannelsMap(e[0]),e[0]})},r.createChannelsMap=function(e){var r=e.animations;if(r)for(var t=0;t<r.length;t++){var n=r[t];n.channelsMap={};for(var i=0;i<n.channels.length;i++){var a=n.channels[i];n.channelsMap[a.target.node]||(n.channelsMap[a.target.node]=[]),n.channelsMap[a.target.node].push(a)}}},r.getExternalResources=function(){var e=[];if(this.gltf){for(var r=this.gltf,t=r.buffers,n=r.images,i=0;i<t.length;i++)t[i].uri&&t[i].uri.indexOf("data:application/octet-stream;base64")<0&&e.push({type:"buffer",uri:t[i].uri});for(var a=0;a<n.length;a++)n[a].uri&&n[a].uri.indexOf("data:image/")<0&&e.push({type:"image",uri:n[a].uri})}return e},e.getAnimationClip=function(e,r,t){return A.getAnimationClip(e,r,t)},e.getAnimationTimeSpan=function(e){return A.getTimeSpan(e)},e.getTypedArrayCtor=function(e){return f(e)},r.R=function(e,r,t){this.gltf=r,this.version=r.asset?+r.asset.version:1,this.rootPath=e,this.glbBuffer=t,this.buffers={},this.requests={},this.options.requestImage=this.options.requestImage||P,2===this.version?(this.accessor=new g(e,r,t,!0),this.adapter=new m(e,r,t,this.options.requestImage,this.options.imageDecoders||{})):(this.accessor=new g(e,r,t),this.adapter=new l(e,r,t))},r.P=function(e,t){var r,n,i=this;if(e.children&&0<e.children.length){if(("number"!=typeof(n=e.children[0])||!isFinite(n))&&(a(r=e.children[0])||"string"!=typeof r&&(null===r.constructor||r.constructor!==String)))return e;var o=e.children.map(function(e){var r=t[e];return r.nodeIndex=e,i.P(r,t)});e.children=o}return e},r.w=function(){var u=this;return this.C().then(function(i){var a,o=u.scenes=[];for(var e in i)i[e]=u.P(i[e],i),i[e].nodeIndex=Number(e)?Number(e):e;u.adapter.iterate(function(e,r,t){var n={};r.name&&(n.name=r.name),r.nodes&&(n.nodes=r.nodes.map(function(e){return i[e]})),u.gltf.scene===e&&(a=t),o.push(n)},"scenes");var r={asset:u.gltf.asset,scene:a,scenes:o,nodes:i,meshes:u.meshes,materials:u.gltf.materials,skins:u.skins};if(u.gltf.extensions&&(r.extensions=u.gltf.extensions),1===u.version){var t=u.adapter.t(u.gltf.materials);r.materials=t}return r})},r.C=function(){var i=this;return this.I().then(function(){var n=i.nodes={};return i.adapter.iterate(function(e,r){var t=i.adapter.createNode(r,i.meshes,i.skins);n[e]=t},"nodes"),n})},r.L=function(){var n=this;this.skins=[];var i=[];return this.adapter.iterate(function(e,r,t){i.push(n.D(r).then(function(e){e.index=t,n.skins.push(e)}))},"skins"),i},r.D=function(r){var e=r.inverseBindMatrices;return this.accessor.o("inverseBindMatrices",e).then(function(e){return r.inverseBindMatrices=e,r})},r.k=function(){var e=this.gltf.animations;return o(e)?this.adapter.getAnimations(e):null},r.I=function(){var n=this;this.meshes={};var a=[];return this.adapter.iterate(function(r,e,t){a.push(n.F(e).then(function(e){e.index=t,n.meshes[r]=e}))},"meshes"),a=a.concat(this.L()),i.all(a)},r.F=function(t){var r=this,e=t.primitives.map(function(e){return r.U(e)});return i.all(e).then(function(e){var r={};return u(r,t),r.primitives=e,r})},r.N=function(){var o=this,u=this.gltf.textures;if(!u)return null;var e=[];for(var r in u)e.push(this.adapter.a(r));return i.all(e).then(function(e){for(var r=0;r<e.length;r++)if(e[r].image.array){var t=e[r].image.array.buffer;o.transferables.indexOf(t)<0&&o.transferables.push(t)}if(Array.isArray(u))return e;for(var n={},i=Object.keys(u),a=0;a<e.length;a++)n[i[a]]=e[a];return n})},r.U=function(n){var a=this,e=[],r=n.attributes;for(var t in r){var u=this.accessor.o(t,r[t]);u&&e.push(u)}if(o(n.indices)){var f=this.accessor.o("indices",n.indices);f&&e.push(f)}if(o(n.targets))for(var c=0;c<n.targets.length;c++){var s=n.targets[c];for(var l in s){var d=this.accessor.o(l+"_"+c,s[l]);d&&e.push(d)}}return i.all(e).then(function(e){var t;a.transferables=[];var r={attributes:e.reduce(function(e,r){return"indices"===r.name?t=r:e[r.name]=r,a.transferables.indexOf(r.array.buffer)<0&&a.transferables.push(r.array.buffer),e},{}),material:n.material};return t&&(r.indices=t),r.mode=o(n.mode)?n.mode:4,o(n.extras)&&(r.extras=n.extras),r})},e}(),Module;function P(e,n){var i=new Image;i.crossOrigin="",i.onload=function(){if(S){S.width=i.width,S.height=i.height;var e=S.getContext("2d");e.drawImage(i,0,0,i.width,i.height);var r=e.getImageData(0,0,i.width,i.height),t={width:i.width,height:i.height,data:new Uint8Array(r.data)};n(null,t)}else n(new Error("There is no canvas to draw image!"))},i.onerror=function(e){n(e)},i.src=e}Module||(Module=(void 0!==Module?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1,nodeFS,nodePath;if(Module.ENVIRONMENT)if("WEB"===Module.ENVIRONMENT)ENVIRONMENT_IS_WEB=!0;else if("WORKER"===Module.ENVIRONMENT)ENVIRONMENT_IS_WORKER=!0;else if("NODE"===Module.ENVIRONMENT)ENVIRONMENT_IS_NODE=!0;else{if("SHELL"!==Module.ENVIRONMENT)throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");ENVIRONMENT_IS_SHELL=!0}else ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&"function"==typeof require&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE)Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn),Module.read=function(e,r){nodeFS||(nodeFS=require("fs")),nodePath||(nodePath=require("path")),e=nodePath.normalize(e);var t=nodeFS.readFileSync(e);return r?t:t.toString()},Module.readBinary=function(e){var r=Module.read(e,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(1<process.argv.length?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=Module),process.on("uncaughtException",function(e){if(!(e instanceof ExitStatus))throw e}),Module.inspect=function(){return"[Emscripten Module object]"};else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var r=read(e,"binary");return assert("object"==typeof r),r},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments),"function"==typeof quit&&(Module.quit=function(e,r){quit(e)});else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(e,r,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(var key in!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(e,r){throw r}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(e){return tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"!==e[0])return 0;var r=parseInt(e.substr(1));return assert(r%8==0),r/8}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,r){return"double"===r||"i64"===r?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},getAlignSize:function(e,r,t){return t||"i64"!=e&&"double"!=e?e?Math.min(r||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(r,8):8},dynCall:function(e,r,t){return t&&t.length?Module["dynCall_"+e].apply(null,[r].concat(t)):Module["dynCall_"+e].call(null,r)},functionPointers:[],addFunction:function(e){for(var r=0;r<Runtime.functionPointers.length;r++)if(!Runtime.functionPointers[r])return Runtime.functionPointers[r]=e,2*(1+r);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(r,t){assert(t),Runtime.funcWrappers[t]||(Runtime.funcWrappers[t]={});var e=Runtime.funcWrappers[t];return e[r]||(1===t.length?e[r]=function(){return Runtime.dynCall(t,r)}:2===t.length?e[r]=function(e){return Runtime.dynCall(t,r,[e])}:e[r]=function(){return Runtime.dynCall(t,r,Array.prototype.slice.call(arguments))}),e[r]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var r=STACKTOP;return STACKTOP=(STACKTOP=STACKTOP+e|0)+15&-16,r},staticAlloc:function(e){var r=STATICTOP;return STATICTOP=(STATICTOP=STATICTOP+e|0)+15&-16,r},dynamicAlloc:function(e){var r=HEAP32[DYNAMICTOP_PTR>>2],t=-16&(r+e+15|0);if((HEAP32[DYNAMICTOP_PTR>>2]=t,TOTAL_MEMORY<=t)&&!enlargeMemory())return HEAP32[DYNAMICTOP_PTR>>2]=r,0;return r},alignMemory:function(e,r){return e=Math.ceil(e/(r||16))*(r||16)},makeBigInt:function(e,r,t){return t?+(e>>>0)+4294967296*+(r>>>0):+(e>>>0)+4294967296*+(0|r)},GLOBAL_BASE:8,QUANTUM_SIZE:4,H:0};Module.Runtime=Runtime;var ABORT=0,cwrap,ccall;function assert(e,r){e||abort("Assertion failed: "+r)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,r,t,n){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":HEAP8[e>>0]=r;break;case"i16":HEAP16[e>>1]=r;break;case"i32":HEAP32[e>>2]=r;break;case"i64":tempI64=[r>>>0,(tempDouble=r,1<=+Math_abs(tempDouble)?0<tempDouble?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=r;break;case"double":HEAPF64[e>>3]=r;break;default:abort("invalid type for setValue: "+t)}}function getValue(e,r,t){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+r)}return null}!function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var r=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,r),r},stringToC:function(e){var r=0;if(null!=e&&0!==e){var t=1+(e.length<<2);stringToUTF8(e,r=Runtime.stackAlloc(t),t)}return r}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,t,n,i){var a=getCFunc(e),o=[],u=0;if(n)for(var f=0;f<n.length;f++){var c=toC[t[f]];o[f]=c?(0===u&&(u=Runtime.stackSave()),c(n[f])):n[f]}var s=a.apply(null,o);if("string"===r&&(s=Pointer_stringify(s)),0!==u){if(i&&i.async)return void EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(u)});Runtime.stackRestore(u)}return s};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(e){var r=e.toString().match(sourceRegex).slice(1);return{arguments:r[0],body:r[1],returnValue:r[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource)for(var e in JSsource={},JSfuncs)JSfuncs.hasOwnProperty(e)&&(JSsource[e]=parseJSFunc(JSfuncs[e]))}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(e){return"number"===e}),numericRet="string"!==returnType;if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(e,r){return"$"+r}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if("number"!==type){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"=("+convertCode.returnValue+");"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+="ret = "+strgfy+"(ret);"}return numericArgs||(ensureJSsource(),funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}}(),Module.ccall=ccall,Module.cwrap=cwrap,Module.setValue=setValue,Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;function allocate(e,r,t,n){var i,a;a="number"==typeof e?(i=!0,e):(i=!1,e.length);var o,u="string"==typeof r?r:null;if(o=t==ALLOC_NONE?n:["function"==typeof _malloc?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][void 0===t?ALLOC_STATIC:t](Math.max(a,u?1:r.length)),i){var f;n=o;for(assert(0==(3&o)),f=o+(-4&a);n<f;n+=4)HEAP32[n>>2]=0;for(f=o+a;n<f;)HEAP8[n++>>0]=0;return o}if("i8"===u)return e.subarray||e.slice?HEAPU8.set(e,o):HEAPU8.set(new Uint8Array(e),o),o;for(var c,s,l,d=0;d<a;){var h=e[d];"function"==typeof h&&(h=Runtime.getFunctionIndex(h)),0!==(c=u||r[d])?("i64"==c&&(c="i32"),setValue(o+d,h,c),l!==c&&(s=Runtime.getNativeTypeSize(c),l=c),d+=s):d++}return o}function getMemory(e){return staticSealed?runtimeInitialized?_malloc(e):Runtime.dynamicAlloc(e):Runtime.staticAlloc(e)}function Pointer_stringify(e,r){if(0===r||!e)return"";for(var t,n=0,i=0;n|=t=HEAPU8[e+i>>0],(0!=t||r)&&(i++,!r||i!=r););r||(r=i);var a="";if(n<128){for(var o;0<r;)o=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(r,1024))),a=a?a+o:o,e+=1024,r-=1024;return a}return Module.UTF8ToString(e)}function AsciiToString(e){for(var r="";;){var t=HEAP8[e++>>0];if(!t)return r;r+=String.fromCharCode(t)}}function stringToAscii(e,r){return writeAsciiToMemory(e,r,!1)}Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii;var UTF8Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(e,r){for(var t=r;e[t];)++t;if(16<t-r&&e.subarray&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(r,t));for(var n,i,a,o,u,f="";;){if(!(n=e[r++]))return f;if(128&n)if(i=63&e[r++],192!=(224&n))if(a=63&e[r++],(n=224==(240&n)?(15&n)<<12|i<<6|a:(o=63&e[r++],240==(248&n)?(7&n)<<18|i<<12|a<<6|o:(u=63&e[r++],248==(252&n)?(3&n)<<24|i<<18|a<<12|o<<6|u:(1&n)<<30|i<<24|a<<18|o<<12|u<<6|63&e[r++])))<65536)f+=String.fromCharCode(n);else{var c=n-65536;f+=String.fromCharCode(55296|c>>10,56320|1023&c)}else f+=String.fromCharCode((31&n)<<6|i);else f+=String.fromCharCode(n)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,r,t,n){if(!(0<n))return 0;for(var i=t,a=t+n-1,o=0;o<e.length;++o){var u=e.charCodeAt(o);if(55296<=u&&u<=57343&&(u=65536+((1023&u)<<10)|1023&e.charCodeAt(++o)),u<=127){if(a<=t)break;r[t++]=u}else if(u<=2047){if(a<=t+1)break;r[t++]=192|u>>6,r[t++]=128|63&u}else if(u<=65535){if(a<=t+2)break;r[t++]=224|u>>12,r[t++]=128|u>>6&63,r[t++]=128|63&u}else if(u<=2097151){if(a<=t+3)break;r[t++]=240|u>>18,r[t++]=128|u>>12&63,r[t++]=128|u>>6&63,r[t++]=128|63&u}else if(u<=67108863){if(a<=t+4)break;r[t++]=248|u>>24,r[t++]=128|u>>18&63,r[t++]=128|u>>12&63,r[t++]=128|u>>6&63,r[t++]=128|63&u}else{if(a<=t+5)break;r[t++]=252|u>>30,r[t++]=128|u>>24&63,r[t++]=128|u>>18&63,r[t++]=128|u>>12&63,r[t++]=128|u>>6&63,r[t++]=128|63&u}}return r[t]=0,t-i}function stringToUTF8(e,r,t){return stringToUTF8Array(e,HEAPU8,r,t)}function lengthBytesUTF8(e){for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);55296<=n&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++t)),n<=127?++r:r+=n<=2047?2:n<=65535?3:n<=2097151?4:n<=67108863?5:6}return r}Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function demangle(e){var r=Module.___cxa_demangle||Module.__cxa_demangle;if(r){try{var t=e.substr(1),n=lengthBytesUTF8(t)+1,i=_malloc(n);stringToUTF8(t,i,n);var a=_malloc(4),o=r(i,0,0,a);if(0===getValue(a,"i32")&&o)return Pointer_stringify(o)}catch(e){}finally{i&&_free(i),a&&_free(a),o&&_free(o)}return e}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),e}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,function(e){var r=demangle(e);return e===r?e:e+" ["+r+"]"})}function jsStackTrace(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(e){r=e}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function stackTrace(){var e=jsStackTrace();return Module.extraStackTrace&&(e+="\n"+Module.extraStackTrace()),demangleAll(e)}Module.stackTrace=stackTrace;var WASM_PAGE_SIZE=65536,ASMJS_PAGE_SIZE=16777216,MIN_TOTAL_MEMORY=16777216,HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR,byteLength;function alignUp(e,r){return 0<e%r&&(e+=r-e%r),e}function updateGlobalBuffer(e){Module.buffer=buffer=e}function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){var e=Module.usingWasm?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE,r=2147483648-e;if(HEAP32[DYNAMICTOP_PTR>>2]>r)return!1;var t=TOTAL_MEMORY;for(TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);TOTAL_MEMORY<HEAP32[DYNAMICTOP_PTR>>2];)TOTAL_MEMORY=TOTAL_MEMORY<=536870912?alignUp(2*TOTAL_MEMORY,e):Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,e),r);var n=Module.reallocBuffer(TOTAL_MEMORY);return n&&n.byteLength==TOTAL_MEMORY?(updateGlobalBuffer(n),updateGlobalBufferViews(),!0):(TOTAL_MEMORY=t,!1)}STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1,Module.reallocBuffer||(Module.reallocBuffer=function(e){var r;try{if(ArrayBuffer.transfer)r=ArrayBuffer.transfer(buffer,e);else{var t=HEAP8;r=new ArrayBuffer(e),new Int8Array(r).set(t)}}catch(e){return!1}return!!_emscripten_replace_memory(r)&&r});try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),byteLength(new ArrayBuffer(4))}catch(e){byteLength=function(e){return e.byteLength}}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||16777216;function getTotalMemory(){return TOTAL_MEMORY}if(TOTAL_MEMORY<TOTAL_STACK&&Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")"),buffer=Module.buffer?Module.buffer:new ArrayBuffer(TOTAL_MEMORY),updateGlobalBufferViews(),HEAP32[0]=1668509029,HEAP16[1]=25459,115!==HEAPU8[2]||99!==HEAPU8[3])throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(e){for(;0<e.length;){var r=e.shift();if("function"!=typeof r){var t=r.func;"number"==typeof t?void 0===r.arg?Module.dynCall_v(t):Module.dynCall_vi(t,r.arg):t(void 0===r.arg?null:r.arg)}else r()}}Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__)}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,r,t){var n=0<t?t:lengthBytesUTF8(e)+1,i=new Array(n),a=stringToUTF8Array(e,i,0,i.length);return r&&(i.length=a),i}function intArrayToString(e){for(var r=[],t=0;t<e.length;t++){var n=e[t];255<n&&(n&=255),r.push(String.fromCharCode(n))}return r.join("")}function writeStringToMemory(e,r,t){var n,i;Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!"),t&&(i=r+lengthBytesUTF8(e),n=HEAP8[i]),stringToUTF8(e,r,1/0),t&&(HEAP8[i]=n)}function writeArrayToMemory(e,r){HEAP8.set(e,r)}function writeAsciiToMemory(e,r,t){for(var n=0;n<e.length;++n)HEAP8[r++>>0]=e.charCodeAt(n);t||(HEAP8[r>>0]=0)}Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,r){var t=65535&e,n=65535&r;return t*n+((e>>>16)*n+t*(r>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var r=0;r<32;r++)if(e&1<<31-r)return r;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_min=Math.min,runDependencies=0,dependenciesFulfilled=null;function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&dependenciesFulfilled){var r=dependenciesFulfilled;dependenciesFulfilled=null,r()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={},STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+6192,__ATINIT__.push(),allocate([228,2,0,0,81,16,0,0,12,3,0,0,177,16,0,0,32,0,0,0,0,0,0,0,12,3,0,0,94,16,0,0,48,0,0,0,0,0,0,0,228,2,0,0,127,16,0,0,12,3,0,0,140,16,0,0,16,0,0,0,0,0,0,0,12,3,0,0,183,17,0,0,32,0,0,0,0,0,0,0,12,3,0,0,147,17,0,0,72,0,0,0,0,0,0,0,108,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,32,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,1,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,40,20,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,56,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,37,115,40,37,117,41,58,32,65,115,115,101,114,116,105,111,110,32,102,97,105,108,117,114,101,58,32,34,37,115,34,10,0,109,95,115,105,122,101,32,60,61,32,109,95,99,97,112,97,99,105,116,121,0,46,47,105,110,99,92,99,114,110,95,100,101,99,111,109,112,46,104,0,109,105,110,95,110,101,119,95,99,97,112,97,99,105,116,121,32,60,32,40,48,120,55,70,70,70,48,48,48,48,85,32,47,32,101,108,101,109,101,110,116,95,115,105,122,101,41,0,110,101,119,95,99,97,112,97,99,105,116,121,32,38,38,32,40,110,101,119,95,99,97,112,97,99,105,116,121,32,62,32,109,95,99,97,112,97,99,105,116,121,41,0,110,117,109,95,99,111,100,101,115,91,99,93,0,115,111,114,116,101,100,95,112,111,115,32,60,32,116,111,116,97,108,95,117,115,101,100,95,115,121,109,115,0,112,67,111,100,101,115,105,122,101,115,91,115,121,109,95,105,110,100,101,120,93,32,61,61,32,99,111,100,101,115,105,122,101,0,116,32,60,32,40,49,85,32,60,60,32,116,97,98,108,101,95,98,105,116,115,41,0,109,95,108,111,111,107,117,112,91,116,93,32,61,61,32,99,85,73,78,84,51,50,95,77,65,88,0,99,114,110,100,95,109,97,108,108,111,99,58,32,115,105,122,101,32,116,111,111,32,98,105,103,0,99,114,110,100,95,109,97,108,108,111,99,58,32,111,117,116,32,111,102,32,109,101,109,111,114,121,0,40,40,117,105,110,116,51,50,41,112,95,110,101,119,32,38,32,40,67,82,78,68,95,77,73,78,95,65,76,76,79,67,95,65,76,73,71,78,77,69,78,84,32,45,32,49,41,41,32,61,61,32,48,0,99,114,110,100,95,114,101,97,108,108,111,99,58,32,98,97,100,32,112,116,114,0,99,114,110,100,95,102,114,101,101,58,32,98,97,100,32,112,116,114,0,102,97,108,115,101,0,40,116,111,116,97,108,95,115,121,109,115,32,62,61,32,49,41,32,38,38,32,40,116,111,116,97,108,95,115,121,109,115,32,60,61,32,112,114,101,102,105,120,95,99,111,100,105,110,103,58,58,99,77,97,120,83,117,112,112,111,114,116,101,100,83,121,109,115,41,0,17,18,19,20,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,16,48,0,110,117,109,95,98,105,116,115,32,60,61,32,51,50,85,0,109,95,98,105,116,95,99,111,117,110,116,32,60,61,32,99,66,105,116,66,117,102,83,105,122,101,0,116,32,33,61,32,99,85,73,78,84,51,50,95,77,65,88,0,109,111,100,101,108,46,109,95,99,111,100,101,95,115,105,122,101,115,91,115,121,109,93,32,61,61,32,108,101,110,0,0,2,3,1,0,2,3,4,5,6,7,1,40,108,101,110,32,62,61,32,49,41,32,38,38,32,40,108,101,110,32,60,61,32,99,77,97,120,69,120,112,101,99,116,101,100,67,111,100,101,83,105,122,101,41,0,105,32,60,32,109,95,115,105,122,101,0,110,101,120,116,95,108,101,118,101,108,95,111,102,115,32,62,32,99,117,114,95,108,101,118,101,108,95,111,102,115,0,1,2,2,3,3,3,3,4,0,0,0,0,0,0,1,1,0,1,0,1,0,0,1,2,1,2,0,0,0,1,0,2,1,0,2,0,0,1,2,3,110,117,109,32,38,38,32,40,110,117,109,32,61,61,32,126,110,117,109,95,99,104,101,99,107,41,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,83,116,57,101,120,99,101,112,116,105,111,110,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;function _abort(){Module.abort()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}STATICTOP+=16;var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(e){if(!e||EXCEPTIONS.infos[e])return e;for(var r in EXCEPTIONS.infos){if(EXCEPTIONS.infos[r].adjusted===e)return r}return e},addRef:function(e){e&&EXCEPTIONS.infos[e].refcount++},decRef:function(e){if(e){var r=EXCEPTIONS.infos[e];assert(0<r.refcount),r.refcount--,0!==r.refcount||r.rethrown||(r.destructor&&Module.dynCall_vi(r.destructor,e),delete EXCEPTIONS.infos[e],___cxa_free_exception(e))}},clearRef:function(e){e&&(EXCEPTIONS.infos[e].refcount=0)}};function ___cxa_begin_catch(e){var r=EXCEPTIONS.infos[e];return r&&!r.caught&&(r.caught=!0,__ZSt18uncaught_exceptionv.uncaught_exception--),r&&(r.rethrown=!1),EXCEPTIONS.caught.push(e),EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(e)),e}function _pthread_once(e,r){_pthread_once.seen||(_pthread_once.seen={}),e in _pthread_once.seen||(Module.dynCall_v(r),_pthread_once.seen[e]=1)}function _emscripten_memcpy_big(e,r,t){return HEAPU8.set(HEAPU8.subarray(r,r+t),e),e}var SYSCALLS={varargs:0,get:function(e){return SYSCALLS.varargs+=4,HEAP32[SYSCALLS.varargs-4>>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),r=SYSCALLS.get();return assert(0<=e?0===r:-1===r),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall6(e,r){SYSCALLS.varargs=r;try{var t=SYSCALLS.getStreamFromFD();return FS.close(t),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC),PTHREAD_SPECIFIC={};function _pthread_getspecific(e){return PTHREAD_SPECIFIC[e]||0}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}var PTHREAD_SPECIFIC_NEXT_KEY=1,ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _pthread_key_create(e,r){return 0==e?ERRNO_CODES.EINVAL:(HEAP32[e>>2]=PTHREAD_SPECIFIC_NEXT_KEY,PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0,PTHREAD_SPECIFIC_NEXT_KEY++,0)}function ___resumeException(e){throw EXCEPTIONS.last||(EXCEPTIONS.last=e),e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var e=EXCEPTIONS.last;if(!e)return 0|(Runtime.setTempRet0(0),0);var r=EXCEPTIONS.infos[e],t=r.type;if(!t)return 0|(Runtime.setTempRet0(0),e);var n=Array.prototype.slice.call(arguments);Module.___cxa_is_pointer_type(t);___cxa_find_matching_catch.buffer||(___cxa_find_matching_catch.buffer=_malloc(4)),HEAP32[___cxa_find_matching_catch.buffer>>2]=e,e=___cxa_find_matching_catch.buffer;for(var i=0;i<n.length;i++)if(n[i]&&Module.___cxa_can_catch(n[i],t,e))return e=HEAP32[e>>2],r.adjusted=e,0|(Runtime.setTempRet0(n[i]),e);return e=HEAP32[e>>2],0|(Runtime.setTempRet0(t),e)}function ___gxx_personality_v0(){}function _pthread_setspecific(e,r){return e in PTHREAD_SPECIFIC?(PTHREAD_SPECIFIC[e]=r,0):ERRNO_CODES.EINVAL}function ___syscall140(e,r){SYSCALLS.varargs=r;try{var t=SYSCALLS.getStreamFromFD(),n=(SYSCALLS.get(),SYSCALLS.get()),i=SYSCALLS.get(),a=SYSCALLS.get(),o=n;return FS.llseek(t,o,a),HEAP32[i>>2]=t.position,t.getdents&&0===o&&0===a&&(t.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,r){SYSCALLS.varargs=r;try{var t=SYSCALLS.get(),n=SYSCALLS.get(),i=SYSCALLS.get(),a=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(e,r){var t=___syscall146.buffers[e];assert(t),0===r||10===r?((1===e?Module.print:Module.printErr)(UTF8ArrayToString(t,0)),t.length=0):t.push(r)});for(var o=0;o<i;o++){for(var u=HEAP32[n+8*o>>2],f=HEAP32[n+(8*o+4)>>2],c=0;c<f;c++)___syscall146.printChar(t,HEAPU8[u+c]);a+=f}return a}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall54(e,r){SYSCALLS.varargs=r;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function invoke_iiii(e,r,t,n){try{return Module.dynCall_iiii(e,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_viiiii(e,r,t,n,i,a){try{Module.dynCall_viiiii(e,r,t,n,i,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_vi(e,r){try{Module.dynCall_vi(e,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_ii(e,r){try{return Module.dynCall_ii(e,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_viii(e,r,t,n){try{Module.dynCall_viii(e,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_v(e){try{Module.dynCall_v(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_viiiiii(e,r,t,n,i,a,o){try{Module.dynCall_viiiiii(e,r,t,n,i,a,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_viiii(e,r,t,n,i){try{Module.dynCall_viiii(e,r,t,n,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}__ATEXIT__.push(function(){var e=Module._fflush;e&&e(0);var r=___syscall146.printChar;if(r){var t=___syscall146.buffers;t[1].length&&r(1,10),t[2].length&&r(2,10)}}),DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX),HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE,staticSealed=!0,Module.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0,byteLength:byteLength},Module.asmLibraryArg={abort:abort,assert:assert,enlargeMemory:enlargeMemory,getTotalMemory:getTotalMemory,abortOnCannotGrowMemory:abortOnCannotGrowMemory,invoke_iiii:invoke_iiii,invoke_viiiii:invoke_viiiii,invoke_vi:invoke_vi,invoke_ii:invoke_ii,invoke_viii:invoke_viii,invoke_v:invoke_v,invoke_viiiiii:invoke_viiiiii,invoke_viiii:invoke_viiii,_pthread_getspecific:_pthread_getspecific,___syscall54:___syscall54,_pthread_setspecific:_pthread_setspecific,___gxx_personality_v0:___gxx_personality_v0,___syscall6:___syscall6,___setErrNo:___setErrNo,_abort:_abort,___cxa_begin_catch:___cxa_begin_catch,_pthread_once:_pthread_once,_emscripten_memcpy_big:_emscripten_memcpy_big,_pthread_key_create:_pthread_key_create,___syscall140:___syscall140,___resumeException:___resumeException,___cxa_find_matching_catch:___cxa_find_matching_catch,___syscall146:___syscall146,__ZSt18uncaught_exceptionv:__ZSt18uncaught_exceptionv,DYNAMICTOP_PTR:DYNAMICTOP_PTR,tempDoublePtr:tempDoublePtr,ABORT:ABORT,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX,cttz_i8:cttz_i8};var asm=function(e,r,t){var n=e.Int8Array,le=new n(t),i=e.Int16Array,B=new i(t),a=e.Int32Array,de=new a(t),o=e.Uint8Array,he=new o(t),u=e.Uint16Array,ve=new u(t),f=e.Uint32Array,c=(new f(t),e.Float32Array),s=(new c(t),e.Float64Array),w=new s(t),l=e.byteLength,d=0|r.DYNAMICTOP_PTR,h=0|r.tempDoublePtr,_e=(r.ABORT,0|r.STACKTOP),v=(r.STACK_MAX,0|r.cttz_i8),k=(e.NaN,e.Infinity,0),ie=(e.Math.floor,e.Math.abs,e.Math.sqrt,e.Math.pow,e.Math.cos,e.Math.sin,e.Math.tan,e.Math.acos,e.Math.asin,e.Math.atan,e.Math.atan2,e.Math.exp,e.Math.log,e.Math.ceil,e.Math.imul),_=(e.Math.min,e.Math.max,e.Math.clz32),M=r.abort,E=(r.assert,r.enlargeMemory),T=r.getTotalMemory,m=r.abortOnCannotGrowMemory,A=(r.invoke_iiii,r.invoke_viiiii,r.invoke_vi,r.invoke_ii,r.invoke_viii,r.invoke_v,r.invoke_viiiiii,r.invoke_viiii,r._pthread_getspecific),b=r.___syscall54,p=r._pthread_setspecific,S=(r.___gxx_personality_v0,r.___syscall6),O=r.___setErrNo,g=r._abort,y=(r.___cxa_begin_catch,r._pthread_once),R=r._emscripten_memcpy_big,N=r._pthread_key_create,P=r.___syscall140,C=(r.___resumeException,r.___cxa_find_matching_catch,r.___syscall146);r.__ZSt18uncaught_exceptionv;function I(e){e|=0;var r,t=0,n=0,i=0,a=0,o=0,u=0,f=0,c=0,s=0,l=0,d=0,h=0,v=0,_=0,M=0,E=0,T=0,m=0,A=0,b=0;_e=(r=_e)+16|0,h=r;do{if(e>>>0<245){if(e=(s=e>>>0<11?16:e+11&-8)>>>3,3&(n=(d=0|de[1144])>>>e)|0)return i=0|de[(n=(e=4616+((t=(1&n^1)+e|0)<<1<<2)|0)+8|0)>>2],(0|e)==(0|(o=0|de[(a=i+8|0)>>2]))?de[1144]=d&~(1<<t):(de[o+12>>2]=e,de[n>>2]=o),b=t<<3,de[i+4>>2]=3|b,de[(b=i+b+4|0)>>2]=1|de[b>>2],_e=r,0|(b=a);if((l=0|de[1146])>>>0<s>>>0){if(0|n)return t=((t=n<<e&((t=2<<e)|0-t))&0-t)-1|0,a=0|de[(e=(t=4616+((i=((n=(t>>>=u=t>>>12&16)>>>5&8)|u|(a=(t>>>=n)>>>2&4)|(e=(t>>>=a)>>>1&2)|(i=(t>>>=e)>>>1&1))+(t>>>i)|0)<<1<<2)|0)+8|0)>>2],(0|t)==(0|(n=0|de[(u=a+8|0)>>2]))?(e=d&~(1<<i),de[1144]=e):(de[n+12>>2]=t,de[e>>2]=n,e=d),o=(i<<3)-s|0,de[a+4>>2]=3|s,de[(i=a+s|0)+4>>2]=1|o,de[i+o>>2]=o,0|l&&(a=0|de[1149],n=4616+((t=l>>>3)<<1<<2)|0,e&(t=1<<t)?t=0|de[(e=n+8|0)>>2]:(de[1144]=e|t,e=(t=n)+8|0),de[e>>2]=a,de[t+12>>2]=a,de[a+8>>2]=t,de[a+12>>2]=n),de[1146]=o,de[1149]=i,_e=r,0|(b=u);if(f=0|de[1145]){if(n=(f&0-f)-1|0,e=0|de[4880+(((o=(n>>>=u=n>>>12&16)>>>5&8)|u|(c=(n>>>=o)>>>2&4)|(i=(n>>>=c)>>>1&2)|(e=(n>>>=i)>>>1&1))+(n>>>e)<<2)>>2],n=(-8&de[e+4>>2])-s|0,i=0|de[e+16+((0==(0|de[e+16>>2])&1)<<2)>>2]){for(;n=(c=(u=(-8&de[i+4>>2])-s|0)>>>0<n>>>0)?u:n,e=c?i:e,0!=(0|(i=0|de[i+16+((0==(0|de[i+16>>2])&1)<<2)>>2])););c=e,o=n}else c=e,o=n;if(c>>>0<(u=c+s|0)>>>0){a=0|de[c+24>>2],t=0|de[c+12>>2];do{if((0|t)==(0|c)){if(!(t=0|de[(e=c+20|0)>>2])&&!(t=0|de[(e=c+16|0)>>2])){n=0;break}for(;;)if(0|(i=0|de[(n=t+20|0)>>2]))t=i,e=n;else{if(!(i=0|de[(n=t+16|0)>>2]))break;t=i,e=n}de[e>>2]=0,n=t}else n=0|de[c+8>>2],de[n+12>>2]=t,de[t+8>>2]=n,n=t}while(0);do{if(0|a){if(t=0|de[c+28>>2],(0|c)==(0|de[(e=4880+(t<<2)|0)>>2])){if(!(de[e>>2]=n)){de[1145]=f&~(1<<t);break}}else if(!(de[a+16+(((0|de[a+16>>2])!=(0|c)&1)<<2)>>2]=n))break;de[n+24>>2]=a,0|(t=0|de[c+16>>2])&&(de[n+16>>2]=t,de[t+24>>2]=n),0|(t=0|de[c+20>>2])&&(de[n+20>>2]=t,de[t+24>>2]=n)}}while(0);return o>>>0<16?(b=o+s|0,de[c+4>>2]=3|b,de[(b=c+b+4|0)>>2]=1|de[b>>2]):(de[c+4>>2]=3|s,de[u+4>>2]=1|o,de[u+o>>2]=o,0|l&&(i=0|de[1149],n=4616+((t=l>>>3)<<1<<2)|0,d&(t=1<<t)?t=0|de[(e=n+8|0)>>2]:(de[1144]=d|t,e=(t=n)+8|0),de[e>>2]=i,de[t+12>>2]=i,de[i+8>>2]=t,de[i+12>>2]=n),de[1146]=o,de[1149]=u),_e=r,0|(b=c+8|0)}d=s}else d=s}else d=s}else if(e>>>0<=4294967231)if(s=-8&(e=e+11|0),c=0|de[1145]){i=0-s|0,f=(e>>>=8)?16777215<s>>>0?31:s>>>((f=14-((l=((A=e<<(d=(e+1048320|0)>>>16&8))+520192|0)>>>16&4)|d|(f=((A<<=l)+245760|0)>>>16&2))+(A<<f>>>15)|0)+7|0)&1|f<<1:0,n=0|de[4880+(f<<2)>>2];e:do{if(n)for(u=s<<(31==((e=0)|f)?0:25-(f>>>1)|0),o=0;;){if((a=(-8&de[n+4>>2])-s|0)>>>0<i>>>0){if(!a){i=0,a=e=n,A=61;break e}e=n,i=a}if(o=0==(0|(a=0|de[n+20>>2]))|(0|a)==(0|(n=0|de[n+16+(u>>>31<<2)>>2]))?o:a,a=0==(0|n)){n=o,A=57;break}u<<=1&(1^a)}else e=n=0,A=57}while(0);if(57==(0|A)){if(0==(0|n)&0==(0|e)){if(!(e=c&((e=2<<f)|0-e))){d=s;break}d=(e&0-e)-1|0,n=(e=0)|de[4880+(((o=(d>>>=u=d>>>12&16)>>>5&8)|u|(f=(d>>>=o)>>>2&4)|(l=(d>>>=f)>>>1&2)|(n=(d>>>=l)>>>1&1))+(d>>>n)<<2)>>2]}n?(a=n,A=61):(f=e,u=i)}if(61==(0|A))for(;;){if(A=0,n=(d=(n=(-8&de[a+4>>2])-s|0)>>>0<i>>>0)?n:i,e=d?a:e,!(a=0|de[a+16+((0==(0|de[a+16>>2])&1)<<2)>>2])){f=e,u=n;break}i=n,A=61}if(0!=(0|f)&&u>>>0<((0|de[1146])-s|0)>>>0){if((o=f+s|0)>>>0<=f>>>0)return _e=r,(b=0)|b;a=0|de[f+24>>2],t=0|de[f+12>>2];do{if((0|t)==(0|f)){if(!(t=0|de[(e=f+20|0)>>2])&&!(t=0|de[(e=f+16|0)>>2])){t=0;break}for(;;)if(0|(i=0|de[(n=t+20|0)>>2]))t=i,e=n;else{if(!(i=0|de[(n=t+16|0)>>2]))break;t=i,e=n}de[e>>2]=0}else b=0|de[f+8>>2],de[b+12>>2]=t,de[t+8>>2]=b}while(0);do{if(a){if(e=0|de[f+28>>2],(0|f)==(0|de[(n=4880+(e<<2)|0)>>2])){if(!(de[n>>2]=t)){i=c&~(1<<e),de[1145]=i;break}}else if(!(de[a+16+(((0|de[a+16>>2])!=(0|f)&1)<<2)>>2]=t)){i=c;break}de[t+24>>2]=a,0|(e=0|de[f+16>>2])&&(de[t+16>>2]=e,de[e+24>>2]=t),i=((e=0|de[f+20>>2])&&(de[t+20>>2]=e,de[e+24>>2]=t),c)}else i=c}while(0);do{if(16<=u>>>0){if(de[f+4>>2]=3|s,de[o+4>>2]=1|u,t=(de[o+u>>2]=u)>>>3,u>>>0<256){n=4616+(t<<1<<2)|0,(e=0|de[1144])&(t=1<<t)?t=0|de[(e=n+8|0)>>2]:(de[1144]=e|t,e=(t=n)+8|0),de[e>>2]=o,de[t+12>>2]=o,de[o+8>>2]=t,de[o+12>>2]=n;break}if(n=4880+((t=(t=u>>>8)?16777215<u>>>0?31:u>>>((t=14-((m=((b=t<<(A=(t+1048320|0)>>>16&8))+520192|0)>>>16&4)|A|(t=((b<<=m)+245760|0)>>>16&2))+(b<<t>>>15)|0)+7|0)&1|t<<1:0)<<2)|0,de[o+28>>2]=t,de[(e=o+16|0)+4>>2]=0,de[e>>2]=0,!(i&(e=1<<t))){de[1145]=i|e,de[n>>2]=o,de[o+24>>2]=n,de[o+12>>2]=o,de[o+8>>2]=o;break}for(e=u<<(31==(0|t)?0:25-(t>>>1)|0),n=0|de[n>>2];;){if((-8&de[n+4>>2]|0)==(0|u)){A=97;break}if(!(t=0|de[(i=n+16+(e>>>31<<2)|0)>>2])){A=96;break}e<<=1,n=t}if(96==(0|A)){de[i>>2]=o,de[o+24>>2]=n,de[o+12>>2]=o,de[o+8>>2]=o;break}if(97==(0|A)){b=0|de[(A=n+8|0)>>2],de[b+12>>2]=o,de[A>>2]=o,de[o+8>>2]=b,de[o+12>>2]=n,de[o+24>>2]=0;break}}else b=u+s|0,de[f+4>>2]=3|b,de[(b=f+b+4|0)>>2]=1|de[b>>2]}while(0);return _e=r,0|(b=f+8|0)}d=s}else d=s;else d=-1}while(0);if(d>>>0<=(n=0|de[1146])>>>0)return t=n-d|0,e=0|de[1149],15<t>>>0?(b=e+d|0,de[1149]=b,de[1146]=t,de[b+4>>2]=1|t,de[b+t>>2]=t,de[e+4>>2]=3|d):(de[1146]=0,de[1149]=0,de[e+4>>2]=3|n,de[(b=e+n+4|0)>>2]=1|de[b>>2]),_e=r,0|(b=e+8|0);if(d>>>0<(u=0|de[1147])>>>0)return m=u-d|0,de[1147]=m,A=(b=0|de[1150])+d|0,de[1150]=A,de[A+4>>2]=1|m,de[b+4>>2]=3|d,_e=r,0|(b=b+8|0);if(f=d+48|0,(s=(o=(e=0|de[1262]?0|de[1264]:(de[1264]=4096,de[1263]=4096,de[1265]=-1,de[1266]=-1,de[1267]=0,de[1255]=0,e=-16&h^1431655768,de[h>>2]=e,de[1262]=e,4096))+(c=d+47|0)|0)&(a=0-e|0))>>>0<=d>>>0)return _e=r,(b=0)|b;if(0|(e=0|de[1254])&&(h=(l=0|de[1252])+s|0)>>>0<=l>>>0|e>>>0<h>>>0)return _e=r,(b=0)|b;e:do{if(4&de[1255])t=0,A=133;else{n=0|de[1150];r:do{if(n){for(i=5024;!((e=0|de[i>>2])>>>0<=n>>>0&&(e+(0|de[(M=i+4|0)>>2])|0)>>>0>n>>>0);){if(!(e=0|de[i+8>>2])){A=118;break r}i=e}if((t=o-u&a)>>>0<2147483647)if((0|(e=0|Oe(0|t)))==((0|de[i>>2])+(0|de[M>>2])|0)){if(-1!=(0|e)){u=t,o=e,A=135;break e}}else i=e,A=126;else t=0}else A=118}while(0);do{if(118==(0|A))if(-1!=(0|(n=0|Oe(0)))&&(t=n,_=(t=(0==((_=(v=0|de[1263])+-1|0)&t|0)?0:(_+t&0-v)-t|0)+s|0)+(v=0|de[1252])|0,d>>>0<t>>>0&t>>>0<2147483647)){if(0|(M=0|de[1254])&&_>>>0<=v>>>0|M>>>0<_>>>0){t=0;break}if((0|(e=0|Oe(0|t)))==(0|n)){u=t,o=n,A=135;break e}i=e,A=126}else t=0}while(0);do{if(126==(0|A)){if(n=0-t|0,!(t>>>0<f>>>0&t>>>0<2147483647&-1!=(0|i))){if(-1==(0|i)){t=0;break}u=t,o=i,A=135;break e}if(2147483647<=(e=c-t+(e=0|de[1264])&0-e)>>>0){u=t,o=i,A=135;break e}if(-1==(0|Oe(0|e))){Oe(0|n),t=0;break}u=e+t|0,o=i,A=135;break e}}while(0);de[1255]=4|de[1255],A=133}}while(0);if(133==(0|A)&&s>>>0<2147483647&&!(-1==(0|(m=0|Oe(0|s)))|1^(T=(d+40|0)>>>0<(E=(M=0|Oe(0))-m|0)>>>0)|m>>>0<M>>>0&-1!=(0|m)&-1!=(0|M)^1)&&(u=T?E:t,o=m,A=135),135==(0|A)){t=(0|de[1252])+u|0,(de[1252]=t)>>>0>(0|de[1253])>>>0&&(de[1253]=t),c=0|de[1150];do{if(c){for(t=5024;;){if((0|o)==((e=0|de[t>>2])+(i=0|de[(n=t+4|0)>>2])|0)){A=145;break}if(!(a=0|de[t+8>>2]))break;t=a}if(145==(0|A)&&0==(8&de[t+12>>2]|0)&&c>>>0<o>>>0&e>>>0<=c>>>0){de[n>>2]=i+u,A=c+(b=0==(7&(b=c+8|0)|0)?0:0-b&7)|0,b=(0|de[1147])+(u-b)|0,de[1150]=A,de[1147]=b,de[A+4>>2]=1|b,de[A+b+4>>2]=40,de[1151]=de[1266];break}for(o>>>0<(0|de[1148])>>>0&&(de[1148]=o),n=o+u|0,t=5024;;){if((0|de[t>>2])==(0|n)){A=153;break}if(!(e=0|de[t+8>>2]))break;t=e}if(153==(0|A)&&0==(8&de[t+12>>2]|0)){de[t>>2]=o,de[(l=t+4|0)>>2]=(0|de[l>>2])+u,s=(l=o+(0==(7&(l=o+8|0)|0)?0:0-l&7)|0)+d|0,f=(t=n+(0==(7&(t=n+8|0)|0)?0:0-t&7)|0)-l-d|0,de[l+4>>2]=3|d;do{if((0|t)!=(0|c)){if((0|t)==(0|de[1149])){b=(0|de[1146])+f|0,de[1146]=b,de[1149]=s,de[s+4>>2]=1|b,de[s+b>>2]=b;break}if(1==(3&(e=0|de[t+4>>2])|0)){u=-8&e,i=e>>>3;e:do{if(e>>>0<256){if(e=0|de[t+8>>2],(0|(n=0|de[t+12>>2]))==(0|e)){de[1144]=de[1144]&~(1<<i);break}de[e+12>>2]=n,de[n+8>>2]=e;break}o=0|de[t+24>>2],e=0|de[t+12>>2];do{if((0|e)==(0|t)){if(!(e=0|de[(n=(i=t+16|0)+4|0)>>2])){if(!(e=0|de[i>>2])){e=0;break}n=i}for(;;)if(0|(a=0|de[(i=e+20|0)>>2]))e=a,n=i;else{if(!(a=0|de[(i=e+16|0)>>2]))break;e=a,n=i}de[n>>2]=0}else b=0|de[t+8>>2],de[b+12>>2]=e,de[e+8>>2]=b}while(0);if(!o)break;i=4880+((n=0|de[t+28>>2])<<2)|0;do{if((0|t)==(0|de[i>>2])){if(0|(de[i>>2]=e))break;de[1145]=de[1145]&~(1<<n);break e}if(!(de[o+16+(((0|de[o+16>>2])!=(0|t)&1)<<2)>>2]=e))break e}while(0);if(de[e+24>>2]=o,0|(i=0|de[(n=t+16|0)>>2])&&(de[e+16>>2]=i,de[i+24>>2]=e),!(n=0|de[n+4>>2]))break;de[e+20>>2]=n,de[n+24>>2]=e}while(0);t=t+u|0,a=u+f|0}else a=f;if(de[(t=t+4|0)>>2]=-2&de[t>>2],de[s+4>>2]=1|a,t=(de[s+a>>2]=a)>>>3,a>>>0<256){n=4616+(t<<1<<2)|0,(e=0|de[1144])&(t=1<<t)?t=0|de[(e=n+8|0)>>2]:(de[1144]=e|t,e=(t=n)+8|0),de[e>>2]=s,de[t+12>>2]=s,de[s+8>>2]=t,de[s+12>>2]=n;break}t=a>>>8;do{if(t){if(16777215<a>>>0){t=31;break}t=a>>>((t=14-((m=((b=t<<(A=(t+1048320|0)>>>16&8))+520192|0)>>>16&4)|A|(t=((b<<=m)+245760|0)>>>16&2))+(b<<t>>>15)|0)+7|0)&1|t<<1}else t=0}while(0);if(i=4880+(t<<2)|0,de[s+28>>2]=t,de[(e=s+16|0)+4>>2]=0,!((e=(de[e>>2]=0)|de[1145])&(n=1<<t))){de[1145]=e|n,de[i>>2]=s,de[s+24>>2]=i,de[s+12>>2]=s,de[s+8>>2]=s;break}for(e=a<<(31==(0|t)?0:25-(t>>>1)|0),n=0|de[i>>2];;){if((-8&de[n+4>>2]|0)==(0|a)){A=194;break}if(!(t=0|de[(i=n+16+(e>>>31<<2)|0)>>2])){A=193;break}e<<=1,n=t}if(193==(0|A)){de[i>>2]=s,de[s+24>>2]=n,de[s+12>>2]=s,de[s+8>>2]=s;break}if(194==(0|A)){b=0|de[(A=n+8|0)>>2],de[b+12>>2]=s,de[A>>2]=s,de[s+8>>2]=b,de[s+12>>2]=n,de[s+24>>2]=0;break}}else b=(0|de[1147])+f|0,de[1147]=b,de[1150]=s,de[s+4>>2]=1|b}while(0);return _e=r,0|(b=l+8|0)}for(t=5024;!((e=0|de[t>>2])>>>0<=c>>>0&&c>>>0<(b=e+(0|de[t+4>>2])|0)>>>0);)t=0|de[t+8>>2];for(t=(e=(e=(a=b+-47|0)+(0==(7&(e=a+8|0)|0)?0:0-e&7)|0)>>>0<(a=c+16|0)>>>0?c:e)+8|0,A=o+(n=0==(7&(n=o+8|0)|0)?0:0-n&7)|0,n=u+-40-n|0,de[1150]=A,de[1147]=n,de[A+4>>2]=1|n,de[A+n+4>>2]=40,de[1151]=de[1266],de[(n=e+4|0)>>2]=27,de[t>>2]=de[1256],de[t+4>>2]=de[1257],de[t+8>>2]=de[1258],de[t+12>>2]=de[1259],de[1256]=o,de[1257]=u,de[1259]=0,de[1258]=t,t=e+24|0;de[(t=(A=t)+4|0)>>2]=7,(A+8|0)>>>0<b>>>0;);if((0|e)!=(0|c)){if(o=e-c|0,de[n>>2]=-2&de[n>>2],de[c+4>>2]=1|o,t=(de[e>>2]=o)>>>3,o>>>0<256){n=4616+(t<<1<<2)|0,(e=0|de[1144])&(t=1<<t)?t=0|de[(e=n+8|0)>>2]:(de[1144]=e|t,e=(t=n)+8|0),de[e>>2]=c,de[t+12>>2]=c,de[c+8>>2]=t,de[c+12>>2]=n;break}if(i=4880+((n=(t=o>>>8)?16777215<o>>>0?31:o>>>((n=14-((m=((b=t<<(A=(t+1048320|0)>>>16&8))+520192|0)>>>16&4)|A|(n=((b<<=m)+245760|0)>>>16&2))+(b<<n>>>15)|0)+7|0)&1|n<<1:0)<<2)|0,de[c+28>>2]=n,de[c+20>>2]=0,!((t=(de[a>>2]=0)|de[1145])&(e=1<<n))){de[1145]=t|e,de[i>>2]=c,de[c+24>>2]=i,de[c+12>>2]=c,de[c+8>>2]=c;break}for(e=o<<(31==(0|n)?0:25-(n>>>1)|0),n=0|de[i>>2];;){if((-8&de[n+4>>2]|0)==(0|o)){A=216;break}if(!(t=0|de[(i=n+16+(e>>>31<<2)|0)>>2])){A=215;break}e<<=1,n=t}if(215==(0|A)){de[i>>2]=c,de[c+24>>2]=n,de[c+12>>2]=c,de[c+8>>2]=c;break}if(216==(0|A)){b=0|de[(A=n+8|0)>>2],de[b+12>>2]=c,de[A>>2]=c,de[c+8>>2]=b,de[c+12>>2]=n,de[c+24>>2]=0;break}}}else{for(0==(0|(b=0|de[1148]))|o>>>0<b>>>0&&(de[1148]=o),de[1256]=o,de[1257]=u,de[1259]=0,de[1153]=de[1262],de[1152]=-1,t=0;de[(b=4616+(t<<1<<2)|0)+12>>2]=b,de[b+8>>2]=b,32!=(0|(t=t+1|0)););A=o+(b=0==(7&(b=o+8|0)|0)?0:0-b&7)|0,b=u+-40-b|0,de[1150]=A,de[1147]=b,de[A+4>>2]=1|b,de[A+b+4>>2]=40,de[1151]=de[1266]}}while(0);if(d>>>0<(t=0|de[1147])>>>0)return m=t-d|0,de[1147]=m,A=(b=0|de[1150])+d|0,de[1150]=A,de[A+4>>2]=1|m,de[b+4>>2]=3|d,_e=r,0|(b=b+8|0)}return b=0|er(),de[b>>2]=12,_e=r,(b=0)|b}function L(e,r,t,n,i,a){e|=0,r=+r,t|=0,n|=0,i|=0,a|=0;var o,u=0,f=0,c=0,s=0,l=0,d=0,h=0,v=0,_=0,M=0,E=0,T=0,m=0,A=0,b=0,p=0,S=0,O=0,g=0,y=0,R=0,w=0;_e=(o=_e)+560|0,c=o+8|0,R=w=(E=o)+524|0,y=(s=o+512|0)+12|(de[E>>2]=0),Fe(r),S=(0|k)<0?(r=-r,O=1,2087):(O=0!=(2049&i|0)&1,0==(2048&i|0)?0==(1&i|0)?2088:2093:2090),Fe(r),g=2146435072&k;do{if(g>>>0<2146435072|2146435072==(0|g)&!1){if((u=0!=(v=2*+Qe(r,E)))&&(de[E>>2]=(0|de[E>>2])-1),97==(0|(m=32|a))){h=0==(0|(_=32&a))?S:S+9|0,d=2|O,u=12-n|0;do{if(!(11<n>>>0|0==(0|u))){for(r=8;r*=16,0!=(0|(u=u+-1|0)););if(45==(0|le[h>>0])){r=-(r+(-v-r));break}r=v+r-r;break}r=v}while(0);for((0|(u=0|Ee(u=(0|(f=0|de[E>>2]))<0?0-f|0:f,((0|u)<0)<<31>>31,y)))==(0|y)&&(le[(u=s+11|0)>>0]=48),le[u+-1>>0]=43+(f>>31&2),le[(l=u+-2|0)>>0]=a+15,s=(0|n)<1,c=0==(8&i|0),u=w;g=~~r,f=u+1|0,le[u>>0]=he[2122+g>>0]|_,r=16*(r-+(0|g)),u=1!=(f-R|0)||c&s&0==r?f:(le[f>>0]=46,u+2|0),0!=r;);g=u-R|0,be(e,32,t,u=(R=y-l|0)+d+(y=0!=(0|n)&(g+-2|0)<(0|n)?n+2|0:g)|0,i),$e(e,h,d),be(e,48,t,u,65536^i),$e(e,w,g),be(e,48,y-g|0,0,0),$e(e,l,R),be(e,32,t,u,8192^i);break}for(f=(0|n)<0?6:n,u?(u=(0|de[E>>2])-28|0,de[E>>2]=u,r=268435456*v):(r=v,u=0|de[E>>2]),c=g=(0|u)<0?c:c+288|0;b=~~r>>>0,de[c>>2]=b,c=c+4|0,0!=(r=1e9*(r-+(b>>>0))););if(0<(0|u))for(s=g,d=c;;){if(l=(0|u)<29?u:29,s>>>0<=(u=d+-4|0)>>>0){for(c=0;T=0|Ne(0|(A=0|Ue(0|(A=0|Ie(0|de[u>>2],0,0|l)),0|k,0|c,0)),0|(b=k),1e9,0),de[u>>2]=T,c=0|Ke(0|A,0|b,1e9,0),s>>>0<=(u=u+-4|0)>>>0;);c&&(de[(s=s+-4|0)>>2]=c)}for(c=d;!(c>>>0<=s>>>0||0|de[(u=c+-4|0)>>2]);)c=u;if(u=(0|de[E>>2])-l|0,!(0<(0|(de[E>>2]=u))))break;d=c}else s=g;if((0|u)<0){n=1+((f+25|0)/9|0)|0,M=102==(0|m);do{if(_=(0|(_=0-u|0))<9?_:9,s>>>0<c>>>0){for(l=(1<<_)-1|0,d=1e9>>>_,h=0,u=s;b=0|de[u>>2],de[u>>2]=(b>>>_)+h,h=0|ie(b&l,d),(u=u+4|0)>>>0<c>>>0;);u=0==(0|de[s>>2])?s+4|0:s,u=h?(de[c>>2]=h,s=u,c+4|0):(s=u,c)}else s=0==(0|de[s>>2])?s+4|0:s,u=c;c=(0|n)<(u-(c=M?g:s)>>2|0)?c+(n<<2)|0:u,u=(0|de[E>>2])+_|0,de[E>>2]=u}while((0|u)<0);u=s,n=c}else u=s,n=c;if(b=g,u>>>0<n>>>0){if(c=9*(b-u>>2)|0,10<=(l=0|de[u>>2])>>>0)for(s=10;c=c+1|0,(s=10*s|0)>>>0<=l>>>0;);}else c=0;if((0|(s=f-(102!=(0|m)?c:0)+(((T=0!=(0|f))&(M=103==(0|m)))<<31>>31)|0))<((9*(n-b>>2)|0)-9|0)){if(_=g+4+(((0|(s=s+9216|0))/9|0)-1024<<2)|0,(0|(s=1+((0|s)%9|0)|0))<9)for(l=10;l=10*l|0,9!=(0|(s=s+1|0)););else l=10;if((s=(_+4|0)==(0|n))&0==(0|(h=((d=0|de[_>>2])>>>0)%(l>>>0)|0)))s=_;else if(v=0==(1&((d>>>0)/(l>>>0)|0)|0)?9007199254740992:9007199254740994,r=h>>>0<(A=(0|l)/2|0)>>>0?.5:s&(0|h)==(0|A)?1:1.5,O&&(r=(A=45==(0|le[S>>0]))?-r:r,v=A?-v:v),s=d-h|0,de[_>>2]=s,v+r!=v){if(A=s+l|0,999999999<(de[_>>2]=A)>>>0)for(c=_;(s=c+-4|0)>>>(de[c>>2]=0)<u>>>0&&(de[(u=u+-4|0)>>2]=0),A=1+(0|de[s>>2])|0,999999999<(de[s>>2]=A)>>>0;)c=s;else s=_;if(c=9*(b-u>>2)|0,10<=(d=0|de[u>>2])>>>0)for(l=10;c=c+1|0,(l=10*l|0)>>>0<=d>>>0;);}else s=_;s=(s=s+4|0)>>>0<n>>>0?s:n,A=u}else s=n,A=u;for(m=s;;){if(m>>>0<=A>>>0){E=0;break}if(0|de[(u=m+-4|0)>>2]){E=1;break}m=u}n=0-c|0;do{if(M){if(f=(0|c)<(0|(u=(1&(1^T))+f|0))&-5<(0|c)?(l=a+-1|0,u+-1-c|0):(l=a+-2|0,u+-1|0),!(u=8&i)){if(E&&0!=(0|(p=0|de[m+-4>>2])))if((p>>>0)%10|0)s=0;else for(s=0,u=10;s=s+1|0,!(0|(p>>>0)%((u=10*u|0)>>>0)););else s=9;if(u=(9*(m-b>>2)|0)-9|0,102==(32|l)){f=(0|f)<(0|(_=0<(0|(_=u-s|0))?_:0))?f:_,_=0;break}f=(0|f)<(0|(_=0<(0|(_=u+c-s|0))?_:0))?f:_,_=0;break}_=u}else l=a,_=8&i}while(0);if(d=0!=(0|(M=f|_))&1,h=102==(32|l))u=(T=0)<(0|c)?c:0;else{if(((s=y)-(u=0|Ee(u=(0|c)<0?n:c,((0|u)<0)<<31>>31,y))|0)<2)for(;le[(u=u+-1|0)>>0]=48,(s-u|0)<2;);le[u+-1>>0]=43+(c>>31&2),le[(u=u+-2|0)>>0]=l,u=s-(T=u)|0}if(be(e,32,t,u=O+1+f+d+u|0,i),$e(e,S,O),be(e,48,t,u,65536^i),h){d=_=w+9|0,h=w+8|0,s=l=g>>>0<A>>>0?g:A;do{if(c=0|Ee(0|de[s>>2],0,_),(0|s)==(0|l))(0|c)==(0|_)&&(le[h>>0]=48,c=h);else if(w>>>0<c>>>0)for(oe(0|w,48,c-R|0);w>>>0<(c=c+-1|0)>>>0;);$e(e,c,d-c|0),s=s+4|0}while(s>>>0<=g>>>0);if(0|M&&$e(e,2138,1),s>>>0<m>>>0&0<(0|f))for(;;){if(w>>>0<(c=0|Ee(0|de[s>>2],0,_))>>>0)for(oe(0|w,48,c-R|0);w>>>0<(c=c+-1|0)>>>0;);if($e(e,c,(0|f)<9?f:9),c=f+-9|0,!((s=s+4|0)>>>0<m>>>0&9<(0|f))){f=c;break}f=c}be(e,48,f+9|0,9,0)}else{if(M=E?m:A+4|0,-1<(0|f)){_=0==(0|_),n=E=w+9|0,d=0-R|0,h=w+8|0,l=A;do{(0|(c=0|Ee(0|de[l>>2],0,E)))==(0|E)&&(le[h>>0]=48,c=h);do{if((0|l)==(0|A)){if(s=c+1|0,$e(e,c,1),_&(0|f)<1){c=s;break}$e(e,2138,1),c=s}else{if(c>>>0<=w>>>0)break;for(oe(0|w,48,c+d|0);w>>>0<(c=c+-1|0)>>>0;);}}while(0);$e(e,c,(0|(R=n-c|0))<(0|f)?R:f),f=f-R|0,l=l+4|0}while(l>>>0<M>>>0&-1<(0|f))}be(e,48,f+18|0,18,0),$e(e,T,y-T|0)}be(e,32,t,u,8192^i)}else w=0!=(32&a|0),be(e,32,t,u=O+3|0,-65537&i),$e(e,S,O),$e(e,r!=r|!1?w?2114:2118:w?2106:2110,3),be(e,32,t,u,8192^i)}while(0);return _e=o,0|((0|u)<(0|t)?t:u)}function D(e,r,t,n,i){e|=0,r|=0,t|=0,n|=0,i|=0;var a,o,u,f,c,s,l,d,h,v=0,_=0,M=0,E=0,T=0,m=0,A=0,b=0,p=0,S=0,O=0,g=0,y=0,R=0;_e=(h=_e)+64|0,R=(s=h)+24|0,l=h+8|0,d=h+20|0,de[(c=h+16|0)>>2]=r,a=0!=(0|e),u=o=R+40|0,R=R+39|0,f=l+4|0,m=v=_=0;e:for(;;){do{if(-1<(0|v)){if((2147483647-v|0)<(0|_)){v=0|er(),de[v>>2]=75,v=-1;break}v=_+v|0;break}}while(0);if(!((_=0|le[r>>0])<<24>>24)){y=87;break}M=r;r:for(;;){switch(_<<24>>24){case 37:_=M,y=9;break r;case 0:_=M;break r}g=M+1|0,de[c>>2]=g,_=0|le[g>>0],M=g}r:do{if(9==(0|y))for(;;){if(37!=((y=0)|le[M+1>>0]))break r;if(_=_+1|0,M=M+2|0,de[c>>2]=M,37!=(0|le[M>>0]))break;y=9}}while(0);if(_=_-r|0,a&&$e(e,r,_),0|_)r=M;else{(_=(0|le[(E=M+1|0)>>0])-48|0)>>>0<10?(O=(g=36==(0|le[M+2>>0]))?_:-1,m=g?1:m,E=g?M+3|0:E):O=-1,de[c>>2]=E,M=((_=0|le[E>>0])<<24>>24)-32|0;r:do{if(M>>>0<32)for(T=0,A=_;;){if(!(75913&(_=1<<M))){_=A;break r}if(T|=_,E=E+1|0,de[c>>2]=E,32<=(M=((_=0|le[E>>0])<<24>>24)-32|0)>>>0)break;A=_}else T=0}while(0);if(_<<24>>24==42){if((_=(0|le[(M=E+1|0)>>0])-48|0)>>>0<10&&36==(0|le[E+2>>0]))de[i+(_<<2)>>2]=10,_=0|de[n+((0|le[M>>0])-48<<3)>>2],m=1,E=E+3|0;else{if(0|m){v=-1;break}E=(m=a?(m=3+(0|de[t>>2])&-4,_=0|de[m>>2],de[t>>2]=m+4,0):_=0,M)}de[c>>2]=E,_=(g=(0|_)<0)?0-_|0:_,T=g?8192|T:T}else{if((0|(_=0|ge(c)))<0){v=-1;break}E=0|de[c>>2]}do{if(46==(0|le[E>>0])){if(42!=(0|le[E+1>>0])){de[c>>2]=E+1,M=0|ge(c),E=0|de[c>>2];break}if((M=(0|le[(A=E+2|0)>>0])-48|0)>>>0<10&&36==(0|le[E+3>>0])){de[i+(M<<2)>>2]=10,M=0|de[n+((0|le[A>>0])-48<<3)>>2],E=E+4|0,de[c>>2]=E;break}if(0|m){v=-1;break e}a?(g=3+(0|de[t>>2])&-4,M=0|de[g>>2],de[t>>2]=g+4):M=0,E=de[c>>2]=A}else M=-1}while(0);for(S=0;;){if(57<((0|le[E>>0])-65|0)>>>0){v=-1;break e}if(g=E+1|0,de[c>>2]=g,!(((b=255&(A=0|le[(0|le[E>>0])-65+(1606+(58*S|0))>>0]))+-1|0)>>>0<8))break;S=b,E=g}if(!(A<<24>>24)){v=-1;break}p=-1<(0|O);do{if(A<<24>>24==19){if(p){v=-1;break e}y=49}else{if(p){de[i+(O<<2)>>2]=b,O=0|de[(p=n+(O<<3)|0)+4>>2],de[(y=s)>>2]=de[p>>2],de[y+4>>2]=O,y=49;break}if(!a){v=0;break e}$(s,b,t)}}while(0);if(49!=(0|y)||(y=0,a)){E=0!=(0|S)&3==(15&(E=0|le[E>>0])|0)?-33&E:E,p=-65537&T,O=0==(8192&T|0)?T:p;r:do{switch(0|E){case 110:switch((255&S)<<24>>24){case 0:case 1:de[de[s>>2]>>2]=v,_=0,r=g;continue e;case 2:_=0|de[s>>2],de[_>>2]=v,de[_+4>>2]=((0|v)<0)<<31>>31,_=0,r=g;continue e;case 3:B[de[s>>2]>>1]=v,_=0,r=g;continue e;case 4:le[de[s>>2]>>0]=v,_=0,r=g;continue e;case 6:de[de[s>>2]>>2]=v,_=0,r=g;continue e;case 7:_=0|de[s>>2],de[_>>2]=v,de[_+4>>2]=((0|v)<0)<<31>>31,_=0,r=g;continue e;default:_=0,r=g;continue e}case 112:E=120,M=8<M>>>0?M:8,r=8|O,y=61;break;case 88:case 120:r=O,y=61;break;case 111:A=2070,M=(T=0)==(8&O|0)|(0|(p=u-(b=0|ke(r=0|de[(E=s)>>2],E=0|de[E+4>>2],o))|0))<(0|M)?M:p+1|0,p=O,y=67;break;case 105:case 100:if(r=0|de[(E=s)>>2],(0|(E=0|de[E+4>>2]))<0){r=0|xe(0,0,0|r,0|E),E=k,de[(T=s)>>2]=r,de[T+4>>2]=E,T=1,A=2070,y=66;break r}T=0!=(2049&O|0)&1,A=0==(2048&O|0)?0==(1&O|0)?2070:2072:2071,y=66;break r;case 117:A=2070,r=(T=0)|de[(E=s)>>2],E=0|de[E+4>>2],y=66;break;case 99:le[R>>0]=de[s>>2],r=R,T=0,A=2070,b=o,E=1,M=p;break;case 109:E=0|er(),E=0|Be(0|de[E>>2]),y=71;break;case 115:E=0|(E=0|de[s>>2])?E:2080,y=71;break;case 67:de[l>>2]=de[s>>2],de[f>>2]=0,b=-1,E=de[s>>2]=l,y=75;break;case 83:r=0|de[s>>2],y=M?(b=M,E=r,75):(be(e,32,_,0,O),r=0,84);break;case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:_=0|L(e,+w[s>>3],_,M,O,E),r=g;continue e;default:T=0,A=2070,b=o,E=M,M=O}}while(0);r:do{if(61==(0|y))b=0|ye(S=0|de[(O=s)>>2],O=0|de[O+4>>2],o,32&E),T=(A=0==(8&r|0)|0==(0|S)&0==(0|O))?0:2,A=A?2070:2070+(E>>4)|0,p=r,r=S,E=O,y=67;else if(66==(0|y))b=0|Ee(r,E,o),p=O,y=67;else if(71==(0|y))T=y=0,A=2070,b=(S=0==(0|(O=0|ee(r=E,0,M))))?E+M|0:O,E=S?M:O-E|0,M=p;else if(75==(0|y)){for(A=E,M=r=y=0;(T=0|de[A>>2])&&!((0|(M=0|Xe(d,T)))<0|(b-r|0)>>>0<M>>>0)&&(r=M+r|0)>>>0<b>>>0;)A=A+4|0;if((0|M)<0){v=-1;break e}if(be(e,32,_,r,O),r)for(T=0;;){if(!(M=0|de[E>>2])){y=84;break r}if((0|r)<(0|(T=(M=0|Xe(d,M))+T|0))){y=84;break r}if($e(e,d,M),r>>>0<=T>>>0){y=84;break}E=E+4|0}else r=0,y=84}}while(0);if(67==(0|y))O=(y=0)!=(0|M)|(E=0!=(0|r)|0!=(0|E)),E=u-b+(1&(1^E))|0,r=O?b:o,b=o,E=O?(0|E)<(0|M)?M:E:M,M=-1<(0|M)?-65537&p:p;else if(84==(0|y)){y=0,be(e,32,_,r,8192^O),_=(0|r)<(0|_)?_:r,r=g;continue}be(e,32,_=(0|_)<(0|(O=(p=(0|E)<(0|(S=b-r|0))?S:E)+T|0))?O:_,O,M),$e(e,A,T),be(e,48,_,O,65536^M),be(e,48,p,S,0),$e(e,r,S),be(e,32,_,O,8192^M),r=g}else _=0,r=g}}e:do{if(87==(0|y)&&!e)if(m){for(v=1;r=0|de[i+(v<<2)>>2];)if($(n+(v<<3)|0,r,t),10<=(0|(v=v+1|0))){v=1;break e}for(;;){if(0|de[i+(v<<2)>>2]){v=-1;break e}if(10<=(0|(v=v+1|0))){v=1;break}}}else v=0}while(0);return _e=h,0|v}function X(e,r){r|=0;var t,n,i,a,o,u,f,c,s,l,d,h,v,_,M,E=0,T=0,m=0,A=0,b=0,p=0,S=0,O=0,g=0,y=0;if(_e=(M=_e)+704|0,v=M+144|0,h=M+128|0,d=M+112|0,l=M+96|0,s=M+80|0,c=M+64|0,f=M+48|0,_=M+32|0,t=M+16|0,i=(p=M)+184|0,y=M+160|0,!(a=0|function(e,r){e|=0;var t=0,n=0,i=0,a=0,o=0,u=0,f=0,c=0;if(_e=(c=_e)+528|0,a=(o=c)+16|0,!(r|=0))return _e=c,(f=0)|f;if(r>>>0<=16)return f=0|Q(e,r),_e=c,0|f;if(u=0|Q(e,r+-16|0),(0|(r=0|de[(f=e+20|0)>>2]))<16)for(n=e+4|0,i=e+8|0,t=e+16|0;e=(0|(e=0|de[n>>2]))==(0|de[i>>2])?0:(de[n>>2]=e+1,0|he[e>>0]),r=r+8|0,33<=(0|(de[f>>2]=r))&&(de[o>>2]=866,de[o+4>>2]=3208,de[o+8>>2]=1366,Ce(a,812,o),Ae(a),r=0|de[f>>2]),e=e<<32-r|de[t>>2],de[t>>2]=e,(0|r)<16;);else e=0|de[(t=e=e+16|0)>>2];return de[t>>2]=e<<16,de[f>>2]=r+-16,_e=c,0|(f=e>>>16|u<<16)}(e|=0,14)))return function(e){var r=0,t=0,n=0,i=0,a=0,o=0;_e=(o=_e)+544|0,a=o+16|0,i=(n=o)+32|0,(de[(e|=0)>>2]=0)|(t=0|de[(r=e+4|0)>>2])&&(7&t?(de[n>>2]=866,de[n+4>>2]=2506,de[n+8>>2]=1232,Ce(i,812,n),Ae(i)):ce(t,0,0,1,0),de[r>>2]=0,de[e+8>>2]=0,de[e+12>>2]=0);if(le[e+16>>0]=0,!(r=0|de[(e=e+20|0)>>2]))return _e=o;J(r),7&r?(de[a>>2]=866,de[a+4>>2]=2506,de[a+8>>2]=1232,Ce(i,812,a),Ae(i)):ce(r,0,0,1,0);de[e>>2]=0,_e=o}(r),_e=M,0|(y=1);if(o=r+4|0,(0|(E=0|de[(u=r+8|0)>>2]))!=(0|a)){if(E>>>0<=a>>>0){do{if((0|de[r+12>>2])>>>0<a>>>0){if(0|V(o,a,(E+1|0)==(0|a),1,0)){E=0|de[u>>2];break}return le[r+16>>0]=1,_e=M,(y=0)|y}}while(0);oe((0|de[o>>2])+E|0,0,a-E|0)}de[u>>2]=a}if(oe(0|de[o>>2],0,0|a),(0|(E=0|de[(n=e+20|0)>>2]))<5)for(A=e+4|0,b=e+8|0,m=e+16|0;T=(0|(T=0|de[A>>2]))==(0|de[b>>2])?0:(de[A>>2]=T+1,0|he[T>>0]),E=E+8|0,33<=(0|(de[n>>2]=E))&&(de[p>>2]=866,de[p+4>>2]=3208,de[p+8>>2]=1366,Ce(i,812,p),Ae(i),E=0|de[n>>2]),T=T<<32-E|de[m>>2],de[m>>2]=T,(0|E)<5;);else T=0|de[(m=T=e+16|0)>>2];if(O=T>>>27,de[m>>2]=T<<5,de[n>>2]=E+-5,20<(O+-1|0)>>>0)return _e=M,(y=0)|y;de[y+20>>2]=0,de[y>>2]=0,de[y+4>>2]=0,de[y+8>>2]=0,de[y+12>>2]=0,E=y+4|(le[y+16>>0]=0),T=y+8|0;e:do{if(0|V(E,21,0,1,0)){A=0|de[T>>2],oe((S=0|de[E>>2])+A|0,0,21-A|0),de[T>>2]=21,A=e+4|0,b=e+8|0,p=e+16|0,m=0;do{if((0|(E=0|de[n>>2]))<3)for(;T=(0|(T=0|de[A>>2]))==(0|de[b>>2])?0:(de[A>>2]=T+1,0|he[T>>0]),E=E+8|0,33<=(0|(de[n>>2]=E))&&(de[t>>2]=866,de[t+4>>2]=3208,de[t+8>>2]=1366,Ce(i,812,t),Ae(i),E=0|de[n>>2]),T=T<<32-E|de[p>>2],de[p>>2]=T,(0|E)<3;);else T=0|de[p>>2];de[p>>2]=T<<3,de[n>>2]=E+-3,le[S+(0|he[1327+m>>0])>>0]=T>>>29,m=m+1|0}while((0|m)!=(0|O));if(0|W(y)){p=e+4|0,S=e+8|0,O=e+16|0,E=0;r:do{b=a-E|0,m=0|Me(e,y);t:do{if(m>>>0<17)(0|de[u>>2])>>>0<=E>>>0&&(de[_>>2]=866,de[_+4>>2]=910,de[_+8>>2]=1497,Ce(i,812,_),Ae(i)),le[(0|de[o>>2])+E>>0]=m,E=E+1|0;else switch(0|m){case 17:if((0|(T=0|de[n>>2]))<3)for(;m=(0|(m=0|de[p>>2]))==(0|de[S>>2])?0:(de[p>>2]=m+1,0|he[m>>0]),T=T+8|0,33<=(0|(de[n>>2]=T))&&(de[f>>2]=866,de[f+4>>2]=3208,de[f+8>>2]=1366,Ce(i,812,f),Ae(i),T=0|de[n>>2]),m=m<<32-T|de[O>>2],de[O>>2]=m,(0|T)<3;);else m=0|de[O>>2];if(de[O>>2]=m<<3,de[n>>2]=T+-3,T=b>>>0<(m=3+(m>>>29)|0)>>>0){E=0;break e}E=(T?0:m)+E|0;break t;case 18:if((0|(T=0|de[n>>2]))<7)for(;m=(0|(m=0|de[p>>2]))==(0|de[S>>2])?0:(de[p>>2]=m+1,0|he[m>>0]),T=T+8|0,33<=(0|(de[n>>2]=T))&&(de[c>>2]=866,de[c+4>>2]=3208,de[c+8>>2]=1366,Ce(i,812,c),Ae(i),T=0|de[n>>2]),m=m<<32-T|de[O>>2],de[O>>2]=m,(0|T)<7;);else m=0|de[O>>2];if(de[O>>2]=m<<7,de[n>>2]=T+-7,T=b>>>0<(m=11+(m>>>25)|0)>>>0){E=0;break e}E=(T?0:m)+E|0;break t;default:if(2<=(m+-19|0)>>>0){g=81;break r}if(T=0|de[n>>2],19==(0|m)){if((0|T)<2)for(m=T;A=(0|(T=0|de[p>>2]))==(0|de[S>>2])?0:(de[p>>2]=T+1,0|he[T>>0]),T=m+8|0,33<=(0|(de[n>>2]=T))&&(de[s>>2]=866,de[s+4>>2]=3208,de[s+8>>2]=1366,Ce(i,812,s),Ae(i),T=0|de[n>>2]),m=A<<32-T|de[O>>2],de[O>>2]=m,(0|T)<2;)m=T;else m=0|de[O>>2];de[O>>2]=m<<2,m>>>=30,A=3,T=T+-2|0}else{if((0|T)<6)for(;m=(0|(m=0|de[p>>2]))==(0|de[S>>2])?0:(de[p>>2]=m+1,0|he[m>>0]),T=T+8|0,33<=(0|(de[n>>2]=T))&&(de[l>>2]=866,de[l+4>>2]=3208,de[l+8>>2]=1366,Ce(i,812,l),Ae(i),T=0|de[n>>2]),m=m<<32-T|de[O>>2],de[O>>2]=m,(0|T)<6;);else m=0|de[O>>2];de[O>>2]=m<<6,m>>>=26,A=7,T=T+-6|0}if(de[n>>2]=T,0==(0|E)|b>>>0<(m=m+A|0)>>>0){E=0;break e}if(T=E+-1|0,(0|de[u>>2])>>>0<=T>>>0&&(de[d>>2]=866,de[d+4>>2]=910,de[d+8>>2]=1497,Ce(i,812,d),Ae(i)),!((A=0|le[(0|de[o>>2])+T>>0])<<24>>24)){E=0;break e}if((T=m+E|0)>>>0<=E>>>0)break t;for(;(0|de[u>>2])>>>0<=E>>>0&&(de[h>>2]=866,de[h+4>>2]=910,de[h+8>>2]=1497,Ce(i,812,h),Ae(i)),le[(0|de[o>>2])+E>>0]=A,(0|(E=E+1|0))!=(0|T););E=T}}while(0)}while(E>>>0<a>>>0);if(81==(0|g)){de[v>>2]=866,de[v+4>>2]=3149,de[v+8>>2]=1348,Ce(i,812,v),Ae(i),E=0;break}E=(0|a)==(0|E)?0|W(r):0}else E=0}else le[y+16>>0]=1,E=0}while(0);return ne(y),_e=M,0|(y=E)}function x(e,r,t,n){t|=0;var i,a,o,u,f,c,s=0,l=0,d=0,h=0,v=0,_=0,M=0,E=0,T=0,m=0,A=0,b=0,p=0,S=0,O=0,g=0,y=0,R=0,w=0,k=0,N=0,P=0;if(_e=(c=_e)+880|0,N=c+144|0,f=c+128|0,u=c+112|0,o=c+96|0,w=c+80|0,S=c+64|0,b=c+48|0,p=c+32|0,E=c+16|0,i=(M=c)+360|0,a=c+296|0,P=c+224|0,A=c+156|0,0==(0|(r|=0))|11<(n|=0)>>>0)return _e=c,(P=0)|P;for(de[(e|=0)>>2]=r,l=(s=P)+68|0;(0|(s=s+4|(de[s>>2]=0)))<(0|l););for(s=0;l=P+((255&(k=0|le[t+s>>0]))<<2)|0,k<<24>>24&&(de[l>>2]=1+(0|de[l>>2])),(0|(s=s+1|0))!=(0|r););for(h=d=l=0,v=-1,_=1;(s=0|de[P+(_<<2)>>2])?(l=s+(de[a+((T=_+-1|0)<<2)>>2]=l)|0,k=16-_|0,de[e+28+(T<<2)>>2]=1+(l+-1<<k|(1<<k)-1),de[e+96+(T<<2)>>2]=d,T=s+(de[A+(_<<2)>>2]=d)|0,h=_>>>0<h>>>0?h:_,v=v>>>0<_>>>0?v:_):(de[e+28+(_+-1<<2)>>2]=0,T=d),17!=(0|(_=_+1|0));)l<<=1,d=T;de[e+4>>2]=T,l=e+172|0;do{if(T>>>0>(0|de[l>>2])>>>0){s=(s=T+-1|0)&T?(s|=s>>>16,s|=s>>>8,s|=s>>>4,r>>>0<(s=1+((s|=s>>>2)>>>1|s)|0)>>>0?r:s):T,de[l>>2]=s,s=0|de[(d=e+176|0)>>2];do{if(0|s){if(k=0|de[s+-4>>2],s=s+-8|0,0!=(0|k)&&(0|k)==(0|~de[s>>2])||(de[M>>2]=866,de[M+4>>2]=651,de[M+8>>2]=1579,Ce(i,812,M),Ae(i)),7&s){de[E>>2]=866,de[E+4>>2]=2506,de[E+8>>2]=1232,Ce(i,812,E),Ae(i);break}ce(s,0,0,1,0);break}}while(0);if(l=0|ae(8+((s=0|(s=0|de[l>>2])?s:1)<<1)|0,0)){de[l+4>>2]=s,de[l>>2]=~s,de[d>>2]=l+8,m=24;break}n=de[d>>2]=0;break}m=24}while(0);e:do{if(24==(0|m)){for(le[(k=e+24|0)>>0]=v,le[e+25>>0]=h,d=e+176|0,l=0;s=255&(R=0|le[t+l>>0]),R<<24>>24&&(0|de[P+(s<<2)>>2]||(de[p>>2]=866,de[p+4>>2]=2276,de[p+8>>2]=977,Ce(i,812,p),Ae(i)),s=0|de[(R=A+(s<<2)|0)>>2],de[R>>2]=s+1,T>>>0<=s>>>0&&(de[b>>2]=866,de[b+4>>2]=2280,de[b+8>>2]=990,Ce(i,812,b),Ae(i)),B[(0|de[d>>2])+(s<<1)>>1]=l),(0|(l=l+1|0))!=(0|r););if(y=(0|he[k>>0])>>>0<n>>>0?n:0,g=0!=(0|(de[(R=e+8|0)>>2]=y))){O=1<<y,s=e+164|0;do{if(O>>>0>(0|de[s>>2])>>>0){de[s>>2]=O,s=0|de[(d=e+168|0)>>2];do{if(0|s){if(p=0|de[s+-4>>2],s=s+-8|0,0!=(0|p)&&(0|p)==(0|~de[s>>2])||(de[S>>2]=866,de[S+4>>2]=651,de[S+8>>2]=1579,Ce(i,812,S),Ae(i)),7&s){de[w>>2]=866,de[w+4>>2]=2506,de[w+8>>2]=1232,Ce(i,812,w),Ae(i);break}ce(s,0,0,1,0);break}}while(0);if(l=0|ae((s=O<<2)+8|0,0)){w=l+8|0,de[l+4>>2]=O,de[l>>2]=~O,l=de[d>>2]=w;break}n=de[d>>2]=0;break e}s=O<<2,l=0|de[(d=l=e+168|0)>>2]}while(0);oe(0|l,-1,0|s),b=e+176|0,A=1;do{if(0|de[P+(A<<2)>>2]&&(S=1<<(p=y-A|0),l=0|de[a+((s=A+-1|0)<<2)>>2],16<=s>>>0&&(de[o>>2]=866,de[o+4>>2]=1960,de[o+8>>2]=1453,Ce(i,812,o),Ae(i)),l>>>0<=(r=0==(0|(r=0|de[e+28+(s<<2)>>2]))?-1:(r+-1|0)>>>(16-A|0))>>>0)){T=(0|de[e+96+(s<<2)>>2])-l|0,m=A<<16;do{for(s=0|ve[(0|de[b>>2])+(T+l<<1)>>1],(0|he[t+s>>0])!=(0|A)&&(de[u>>2]=866,de[u+4>>2]=2322,de[u+8>>2]=1019,Ce(i,812,u),Ae(i)),E=l<<p,_=s|m,v=0;O>>>0<=(M=v+E|0)>>>0&&(de[f>>2]=866,de[f+4>>2]=2328,de[f+8>>2]=1053,Ce(i,812,f),Ae(i)),s=0|de[d>>2],-1!=(0|de[s+(M<<2)>>2])&&(de[N>>2]=866,de[N+4>>2]=2330,de[N+8>>2]=1076,Ce(i,812,N),Ae(i),s=0|de[d>>2]),de[s+(M<<2)>>2]=_,(v=v+1|0)>>>0<S>>>0;);l=l+1|0}while(l>>>0<=r>>>0)}A=A+1|0}while(A>>>0<=y>>>0)}de[(s=e+96|0)>>2]=(0|de[s>>2])-(0|de[a>>2]),de[(s=e+100|0)>>2]=(0|de[s>>2])-(0|de[a+4>>2]),de[(s=e+104|0)>>2]=(0|de[s>>2])-(0|de[a+8>>2]),de[(s=e+108|0)>>2]=(0|de[s>>2])-(0|de[a+12>>2]),de[(s=e+112|0)>>2]=(0|de[s>>2])-(0|de[a+16>>2]),de[(s=e+116|0)>>2]=(0|de[s>>2])-(0|de[a+20>>2]),de[(s=e+120|0)>>2]=(0|de[s>>2])-(0|de[a+24>>2]),de[(s=e+124|0)>>2]=(0|de[s>>2])-(0|de[a+28>>2]),de[(s=e+128|0)>>2]=(0|de[s>>2])-(0|de[a+32>>2]),de[(s=e+132|0)>>2]=(0|de[s>>2])-(0|de[a+36>>2]),de[(s=e+136|0)>>2]=(0|de[s>>2])-(0|de[a+40>>2]),de[(s=e+140|0)>>2]=(0|de[s>>2])-(0|de[a+44>>2]),de[(s=e+144|0)>>2]=(0|de[s>>2])-(0|de[a+48>>2]),de[(s=e+148|0)>>2]=(0|de[s>>2])-(0|de[a+52>>2]),de[(s=e+152|0)>>2]=(0|de[s>>2])-(0|de[a+56>>2]),de[(s=e+156|0)>>2]=(0|de[s>>2])-(0|de[a+60>>2]),de[(s=e+16|0)>>2]=0,de[(l=e+20|0)>>2]=he[k>>0];r:do{if(g){do{if(!n)break r;n=(N=n)+-1|0}while(!(0|de[P+(N<<2)>>2]));if(de[s>>2]=de[e+28+(n<<2)>>2],n=y+1|0,(de[l>>2]=n)>>>0<=h>>>0){for(;!(0|de[P+(n<<2)>>2]);)if(h>>>0<(n=n+1|0)>>>0)break r;de[l>>2]=n}}}while(0);de[e+92>>2]=-1,de[e+160>>2]=1048575,de[e+12>>2]=32-(0|de[R>>2]),n=1}}while(0);return _e=c,0|(P=n)}function F(e){var r=0,t=0,n=0,i=0,a=0,o=0,u=0,f=0;if(e|=0){t=e+-8|0,i=0|de[1148],f=t+(r=-8&(e=0|de[e+-4>>2]))|0;do{if(1&e)o=u=t;else{if(n=0|de[t>>2],!(3&e))return;if(a=n+r|0,(o=t+(0-n)|0)>>>0<i>>>0)return;if((0|o)==(0|de[1149])){if(3==(3&(r=0|de[(e=f+4|0)>>2])|0))return de[1146]=a,de[e>>2]=-2&r,de[o+4>>2]=1|a,void(de[o+a>>2]=a);u=o,r=a;break}if(t=n>>>3,n>>>0<256){if(e=0|de[o+8>>2],(0|(r=0|de[o+12>>2]))==(0|e)){de[1144]=de[1144]&~(1<<t),u=o,r=a;break}de[e+12>>2]=r,de[r+8>>2]=e,u=o,r=a;break}i=0|de[o+24>>2],e=0|de[o+12>>2];do{if((0|e)==(0|o)){if(!(e=0|de[(r=(t=o+16|0)+4|0)>>2])){if(!(e=0|de[t>>2])){e=0;break}r=t}for(;;)if(0|(n=0|de[(t=e+20|0)>>2]))e=n,r=t;else{if(!(n=0|de[(t=e+16|0)>>2]))break;e=n,r=t}de[r>>2]=0}else u=0|de[o+8>>2],de[u+12>>2]=e,de[e+8>>2]=u}while(0);if(i){if(r=0|de[o+28>>2],(0|o)==(0|de[(t=4880+(r<<2)|0)>>2])){if(!(de[t>>2]=e)){de[1145]=de[1145]&~(1<<r),u=o,r=a;break}}else if(!(de[i+16+(((0|de[i+16>>2])!=(0|o)&1)<<2)>>2]=e)){u=o,r=a;break}de[e+24>>2]=i,0|(t=0|de[(r=o+16|0)>>2])&&(de[e+16>>2]=t,de[t+24>>2]=e),r=(u=((r=0|de[r+4>>2])&&(de[e+20>>2]=r,de[r+24>>2]=e),o),a)}else u=o,r=a}}while(0);if(!(f>>>0<=o>>>0)&&1&(n=0|de[(e=f+4|0)>>2])){if(2&n)de[e>>2]=-2&n,de[u+4>>2]=1|r,i=de[o+r>>2]=r;else{if(e=0|de[1149],(0|f)==(0|de[1150])){if(f=(0|de[1147])+r|0,de[1147]=f,de[1150]=u,de[u+4>>2]=1|f,(0|u)!=(0|e))return;return de[1149]=0,void(de[1146]=0)}if((0|f)==(0|e))return f=(0|de[1146])+r|0,de[1146]=f,de[1149]=o,de[u+4>>2]=1|f,void(de[o+f>>2]=f);i=(-8&n)+r|0,t=n>>>3;do{if(n>>>0<256){if(r=0|de[f+8>>2],(0|(e=0|de[f+12>>2]))==(0|r)){de[1144]=de[1144]&~(1<<t);break}de[r+12>>2]=e,de[e+8>>2]=r;break}a=0|de[f+24>>2],e=0|de[f+12>>2];do{if((0|e)==(0|f)){if(!(e=0|de[(r=(t=f+16|0)+4|0)>>2])){if(!(e=0|de[t>>2])){t=0;break}r=t}for(;;)if(0|(n=0|de[(t=e+20|0)>>2]))e=n,r=t;else{if(!(n=0|de[(t=e+16|0)>>2]))break;e=n,r=t}de[r>>2]=0,t=e}else t=0|de[f+8>>2],de[t+12>>2]=e,de[e+8>>2]=t,t=e}while(0);if(0|a){if(e=0|de[f+28>>2],(0|f)==(0|de[(r=4880+(e<<2)|0)>>2])){if(!(de[r>>2]=t)){de[1145]=de[1145]&~(1<<e);break}}else if(!(de[a+16+(((0|de[a+16>>2])!=(0|f)&1)<<2)>>2]=t))break;de[t+24>>2]=a,0|(r=0|de[(e=f+16|0)>>2])&&(de[t+16>>2]=r,de[r+24>>2]=t),0|(e=0|de[e+4>>2])&&(de[t+20>>2]=e,de[e+24>>2]=t)}}while(0);if(de[u+4>>2]=1|i,de[o+i>>2]=i,(0|u)==(0|de[1149]))return void(de[1146]=i)}if(e=i>>>3,i>>>0<256)return t=4616+(e<<1<<2)|0,(r=0|de[1144])&(e=1<<e)?e=0|de[(r=t+8|0)>>2]:(de[1144]=r|e,r=(e=t)+8|0),de[r>>2]=u,de[e+12>>2]=u,de[u+8>>2]=e,void(de[u+12>>2]=t);n=4880+((e=(e=i>>>8)?16777215<i>>>0?31:i>>>((e=14-((a=((f=e<<(o=(e+1048320|0)>>>16&8))+520192|0)>>>16&4)|o|(e=((f<<=a)+245760|0)>>>16&2))+(f<<e>>>15)|0)+7|0)&1|e<<1:0)<<2)|0,de[u+28>>2]=e,de[u+20>>2]=0,r=(de[u+16>>2]=0)|de[1145],t=1<<e;do{if(r&t){for(r=i<<(31==(0|e)?0:25-(e>>>1)|0),t=0|de[n>>2];;){if((-8&de[t+4>>2]|0)==(0|i)){e=73;break}if(!(e=0|de[(n=t+16+(r>>>31<<2)|0)>>2])){e=72;break}r<<=1,t=e}if(72==(0|e)){de[n>>2]=u,de[u+24>>2]=t,de[u+12>>2]=u,de[u+8>>2]=u;break}if(73==(0|e)){f=0|de[(o=t+8|0)>>2],de[f+12>>2]=u,de[o>>2]=u,de[u+8>>2]=f,de[u+12>>2]=t,de[u+24>>2]=0;break}}else de[1145]=r|t,de[n>>2]=u,de[u+24>>2]=n,de[u+12>>2]=u,de[u+8>>2]=u}while(0);if(f=(0|de[1152])-1|0,!(de[1152]=f)){for(e=5032;e=0|de[e>>2];)e=e+8|0;de[1152]=-1}}}}function U(e,r){var t=0,n=0,i=0,a=0,o=0,u=0,f=0;f=(e|=0)+(r|=0)|0,t=0|de[e+4>>2];do{if(1&t)u=e,t=r;else{if(n=0|de[e>>2],!(3&t))return;if(o=n+r|0,(0|(a=e+(0-n)|0))==(0|de[1149])){if(3==(3&(t=0|de[(e=f+4|0)>>2])|0))return de[1146]=o,de[e>>2]=-2&t,de[a+4>>2]=1|o,void(de[a+o>>2]=o);u=a,t=o;break}if(r=n>>>3,n>>>0<256){if(e=0|de[a+8>>2],(0|(t=0|de[a+12>>2]))==(0|e)){de[1144]=de[1144]&~(1<<r),u=a,t=o;break}de[e+12>>2]=t,de[t+8>>2]=e,u=a,t=o;break}i=0|de[a+24>>2],e=0|de[a+12>>2];do{if((0|e)==(0|a)){if(!(e=0|de[(t=(r=a+16|0)+4|0)>>2])){if(!(e=0|de[r>>2])){e=0;break}t=r}for(;;)if(0|(n=0|de[(r=e+20|0)>>2]))e=n,t=r;else{if(!(n=0|de[(r=e+16|0)>>2]))break;e=n,t=r}de[t>>2]=0}else u=0|de[a+8>>2],de[u+12>>2]=e,de[e+8>>2]=u}while(0);if(i){if(t=0|de[a+28>>2],(0|a)==(0|de[(r=4880+(t<<2)|0)>>2])){if(!(de[r>>2]=e)){de[1145]=de[1145]&~(1<<t),u=a,t=o;break}}else if(!(de[i+16+(((0|de[i+16>>2])!=(0|a)&1)<<2)>>2]=e)){u=a,t=o;break}de[e+24>>2]=i,0|(r=0|de[(t=a+16|0)>>2])&&(de[e+16>>2]=r,de[r+24>>2]=e),t=(u=((t=0|de[t+4>>2])&&(de[e+20>>2]=t,de[t+24>>2]=e),a),o)}else u=a,t=o}}while(0);if(2&(n=0|de[(e=f+4|0)>>2]))de[e>>2]=-2&n,de[u+4>>2]=1|t,de[u+t>>2]=t;else{if(e=0|de[1149],(0|f)==(0|de[1150])){if(f=(0|de[1147])+t|0,de[1147]=f,de[1150]=u,de[u+4>>2]=1|f,(0|u)!=(0|e))return;return de[1149]=0,void(de[1146]=0)}if((0|f)==(0|e))return f=(0|de[1146])+t|0,de[1146]=f,de[1149]=u,de[u+4>>2]=1|f,void(de[u+f>>2]=f);a=(-8&n)+t|0,r=n>>>3;do{if(n>>>0<256){if(t=0|de[f+8>>2],(0|(e=0|de[f+12>>2]))==(0|t)){de[1144]=de[1144]&~(1<<r);break}de[t+12>>2]=e,de[e+8>>2]=t;break}i=0|de[f+24>>2],e=0|de[f+12>>2];do{if((0|e)==(0|f)){if(!(e=0|de[(t=(r=f+16|0)+4|0)>>2])){if(!(e=0|de[r>>2])){r=0;break}t=r}for(;;)if(0|(n=0|de[(r=e+20|0)>>2]))e=n,t=r;else{if(!(n=0|de[(r=e+16|0)>>2]))break;e=n,t=r}de[t>>2]=0,r=e}else r=0|de[f+8>>2],de[r+12>>2]=e,de[e+8>>2]=r,r=e}while(0);if(0|i){if(e=0|de[f+28>>2],(0|f)==(0|de[(t=4880+(e<<2)|0)>>2])){if(!(de[t>>2]=r)){de[1145]=de[1145]&~(1<<e);break}}else if(!(de[i+16+(((0|de[i+16>>2])!=(0|f)&1)<<2)>>2]=r))break;de[r+24>>2]=i,0|(t=0|de[(e=f+16|0)>>2])&&(de[r+16>>2]=t,de[t+24>>2]=r),0|(e=0|de[e+4>>2])&&(de[r+20>>2]=e,de[e+24>>2]=r)}}while(0);if(de[u+4>>2]=1|a,de[u+a>>2]=a,(0|u)==(0|de[1149]))return void(de[1146]=a);t=a}if(e=t>>>3,t>>>0<256)return r=4616+(e<<1<<2)|0,(t=0|de[1144])&(e=1<<e)?e=0|de[(t=r+8|0)>>2]:(de[1144]=t|e,t=(e=r)+8|0),de[t>>2]=u,de[e+12>>2]=u,de[u+8>>2]=e,void(de[u+12>>2]=r);if(i=4880+((e=(e=t>>>8)?16777215<t>>>0?31:t>>>((e=14-((a=((f=e<<(o=(e+1048320|0)>>>16&8))+520192|0)>>>16&4)|o|(e=((f<<=a)+245760|0)>>>16&2))+(f<<e>>>15)|0)+7|0)&1|e<<1:0)<<2)|0,de[u+28>>2]=e,de[u+20>>2]=0,!((r=(de[u+16>>2]=0)|de[1145])&(n=1<<e)))return de[1145]=r|n,de[i>>2]=u,de[u+24>>2]=i,de[u+12>>2]=u,void(de[u+8>>2]=u);for(r=t<<(31==(0|e)?0:25-(e>>>1)|0),n=0|de[i>>2];;){if((-8&de[n+4>>2]|0)==(0|t)){e=69;break}if(!(e=0|de[(i=n+16+(r>>>31<<2)|0)>>2])){e=68;break}r<<=1,n=e}return 68==(0|e)?(de[i>>2]=u,de[u+24>>2]=n,de[u+12>>2]=u,void(de[u+8>>2]=u)):69==(0|e)?(f=0|de[(o=n+8|0)>>2],de[f+12>>2]=u,de[o>>2]=u,de[u+8>>2]=f,de[u+12>>2]=n,void(de[u+24>>2]=0)):void 0}function H(e,r,t,n,i){i|=0;var a=0,o=0,u=0,f=0,c=0,s=0,l=0,d=0,h=0,v=0;if(s=e|=0,o=t|=0,u=d=n|=0,!(c=f=r|=0))return a=0!=(0|i),u?(a&&(de[i>>2]=0|e,de[i+4>>2]=0&r),(i=d=0)|(k=d,i)):(a&&(de[i>>2]=(s>>>0)%(o>>>0),de[i+4>>2]=0),(d=0)|(k=d,i=(s>>>0)/(o>>>0)>>>0));a=0==(0|u);do{if(o){if(!a){if((a=(0|_(0|u))-(0|_(0|c))|0)>>>0<=31){e=s>>>((o=l=a+1|0)>>>0)&(r=a-31>>31)|c<<(u=31-a|0),r&=c>>>(l>>>0),a=0,u=s<<u;break}return i&&(de[i>>2]=0|e,de[i+4>>2]=f|0&r),(i=d=0)|(k=d,i)}if((a=o-1|0)&o|0){e=(l=32-(u=33+(0|_(0|o))-(0|_(0|c))|0)|0)-1>>31&c>>>((h=u-32|0)>>>0)|(c<<l|s>>>((o=u)>>>0))&(r=h>>31),r&=c>>>(u>>>0),a=s<<(v=64-u|0)&(f=l>>31),u=(c<<v|s>>>(h>>>0))&f|s<<l&u-33>>31;break}return 0|i&&(de[i>>2]=a&s,de[i+4>>2]=0),1==(0|o)?0|(k=h=f|0&r,v=0|e):(v=0|Re(0|o),0|(k=h=c>>>(v>>>0)|0,v=c<<32-v|s>>>(v>>>0)|0))}if(a)return 0|i&&(de[i>>2]=(c>>>0)%(o>>>0),de[i+4>>2]=0),(h=0)|(k=h,v=(c>>>0)/(o>>>0)>>>0);if(!s)return 0|i&&(de[i>>2]=0,de[i+4>>2]=(c>>>0)%(u>>>0)),(h=0)|(k=h,v=(c>>>0)/(u>>>0)>>>0);if(!((a=u-1|0)&u))return 0|i&&(de[i>>2]=0|e,de[i+4>>2]=a&c|0&r),v=c>>>(((h=0)|Re(0|u))>>>0),0|(k=h,v);if((a=(0|_(0|u))-(0|_(0|c))|0)>>>0<=30){e=c<<(u=31-a|0)|s>>>((o=r=a+1|0)>>>0),r=c>>>(r>>>0),a=0,u=s<<u;break}return i&&(de[i>>2]=0|e,de[i+4>>2]=f|0&r),(v=h=0)|(k=h,v)}while(0);if(o){for(c=0|Ue(0|(l=0|t),0|(s=d|0&n),-1,-1),t=k,f=u,u=0;f=a>>>31|(n=f)<<1,a=u|a<<1,xe(0|c,0|t,0|(n=e<<1|n>>>31|0),0|(d=e>>>31|r<<1|0)),u=1&(h=(v=k)>>31|((0|v)<0?-1:0)<<1),e=0|xe(0|n,0|d,h&l|0,(((0|v)<0?-1:0)>>31|((0|v)<0?-1:0)<<1)&s|0),r=k,0!=(0|(o=o-1|0)););c=f,f=0}else c=u,u=f=0;return(o=0)|i&&(de[i>>2]=e,de[i+4>>2]=r),0|(k=h=(0|a)>>>31|(c|o)<<1|0&(o<<1|a>>>31)|f,v=-2&(a<<1|0)|u)}function Me(e,r){e|=0;var t,n,i,a,o,u,f,c,s=0,l=0,d=0,h=0,v=0,_=0;_e=(c=_e)+576|0,i=c+48|0,o=c+32|0,a=c+16|0,f=(n=c)+64|0,u=0|de[(r|=0)+20>>2],(0|(t=0|de[(_=e+20|0)>>2]))<24?(l=(s=0|de[(v=e+4|0)>>2])>>>0<(d=0|de[e+8>>2])>>>0,(0|t)<16?(l?(h=(0|he[s>>0])<<8,s=s+1|0):h=0,s>>>0<d>>>0?(d=0|he[s>>0],s=s+1|0):d=0,de[v>>2]=s,de[_>>2]=t+16,l=16,s=d|h):(s=l?(de[v>>2]=s+1,0|he[s>>0]):0,de[_>>2]=t+8,l=24),d=de[(v=e+16|0)>>2]|s<<l-t,de[v>>2]=d):d=0|de[(v=d=e+16|0)>>2],h=1+(d>>>16)|0;do{if(!(h>>>0<=(0|de[u+16>>2])>>>0)){for(l=0|de[u+20>>2];h>>>0>(0|de[u+28+((s=l+-1|0)<<2)>>2])>>>0;)l=l+1|0;if((s=(d>>>(32-l|0))+(0|de[u+96+(s<<2)>>2])|0)>>>0<(0|de[r>>2])>>>0){s=0|ve[(0|de[u+176>>2])+(s<<1)>>1];break}return de[i>>2]=866,de[i+4>>2]=3275,de[i+8>>2]=1348,Ce(f,812,i),Ae(f),_e=c,(_=0)|_}-1==(0|(l=0|de[(0|de[u+168>>2])+(d>>>(32-(0|de[u+8>>2])|0)<<2)>>2]))&&(de[n>>2]=866,de[n+4>>2]=3253,de[n+8>>2]=1393,Ce(f,812,n),Ae(f)),s=65535&l,l>>>=16,(0|de[r+8>>2])>>>0<=s>>>0&&(de[a>>2]=866,de[a+4>>2]=909,de[a+8>>2]=1497,Ce(f,812,a),Ae(f)),(0|he[(0|de[r+4>>2])+s>>0])!=(0|l)&&(de[o>>2]=866,de[o+4>>2]=3257,de[o+8>>2]=1410,Ce(f,812,o),Ae(f))}while(0);return de[v>>2]=de[v>>2]<<l,de[_>>2]=(0|de[_>>2])-l,_e=c,0|(_=s)}function Y(e){var r,t,n,i,a,o=0,u=0,f=0;if(_e=(a=_e)+576|0,f=a+48|0,n=a+32|0,t=a+16|0,i=(r=a)+64|0,(de[(e|=0)>>2]=0)|(u=0|de[(o=e+284|0)>>2])&&(7&u?(de[r>>2]=866,de[r+4>>2]=2506,de[r+8>>2]=1232,Ce(i,812,r),Ae(i)):ce(u,0,0,1,0),de[o>>2]=0,de[e+288>>2]=0,de[e+292>>2]=0),(le[e+296>>0]=0)|(u=0|de[(o=e+268|0)>>2])&&(7&u?(de[t>>2]=866,de[t+4>>2]=2506,de[t+8>>2]=1232,Ce(i,812,t),Ae(i)):ce(u,0,0,1,0),de[o>>2]=0,de[e+272>>2]=0,de[e+276>>2]=0),(le[e+280>>0]=0)|(u=0|de[(o=e+252|0)>>2])&&(7&u?(de[n>>2]=866,de[n+4>>2]=2506,de[n+8>>2]=1232,Ce(i,812,n),Ae(i)):ce(u,0,0,1,0),de[o>>2]=0,de[e+256>>2]=0,de[e+260>>2]=0),!(u=(le[e+264>>0]=0)|de[(o=e+236|0)>>2]))return ne(f=e+212|(le[(f=e+248|0)>>0]=0)),ne(f=e+188|0),ne(f=e+164|0),ne(f=e+140|0),ne(f=e+116|0),void(_e=a);7&u?(de[f>>2]=866,de[f+4>>2]=2506,de[f+8>>2]=1232,Ce(i,812,f),Ae(i)):ce(u,0,0,1,0),de[o>>2]=0,de[e+240>>2]=0,de[e+244>>2]=0,ne(f=e+212|(le[(f=e+248|0)>>0]=0)),ne(f=e+188|0),ne(f=e+164|0),ne(f=e+140|0),ne(f=e+116|0),_e=a}function $(e,r,t){e|=0,r|=0,t|=0;var n=0,i=0,a=0;e:do{if(r>>>0<=20){switch(0|r){case 9:n=3+(0|de[t>>2])&-4,r=0|de[n>>2],de[t>>2]=n+4,de[e>>2]=r;break e;case 10:n=3+(0|de[t>>2])&-4,r=0|de[n>>2],de[t>>2]=n+4,de[(n=e)>>2]=r,de[n+4>>2]=((0|r)<0)<<31>>31;break e;case 11:n=3+(0|de[t>>2])&-4,r=0|de[n>>2],de[t>>2]=n+4,de[(n=e)>>2]=r,de[n+4>>2]=0;break e;case 12:n=7+(0|de[t>>2])&-8,i=0|de[(r=n)>>2],r=0|de[r+4>>2],de[t>>2]=n+8,de[(n=e)>>2]=i,de[n+4>>2]=r;break e;case 13:i=3+(0|de[t>>2])&-4,n=0|de[i>>2],de[t>>2]=i+4,n=(65535&n)<<16>>16,de[(i=e)>>2]=n,de[i+4>>2]=((0|n)<0)<<31>>31;break e;case 14:i=3+(0|de[t>>2])&-4,n=0|de[i>>2],de[t>>2]=i+4,de[(i=e)>>2]=65535&n,de[i+4>>2]=0;break e;case 15:i=3+(0|de[t>>2])&-4,n=0|de[i>>2],de[t>>2]=i+4,n=(255&n)<<24>>24,de[(i=e)>>2]=n,de[i+4>>2]=((0|n)<0)<<31>>31;break e;case 16:i=3+(0|de[t>>2])&-4,n=0|de[i>>2],de[t>>2]=i+4,de[(i=e)>>2]=255&n,de[i+4>>2]=0;break e;case 17:case 18:i=7+(0|de[t>>2])&-8,a=+w[i>>3],de[t>>2]=i+8,w[e>>3]=a;break e;default:break e}}}while(0)}function V(e,r,t,n,i){r|=0,t|=0,n|=0,i|=0;var a,o,u,f,c,s,l=0,d=0,h=0,v=0;if(_e=(s=_e)+576|0,f=s+48|0,a=s+32|0,d=s+16|0,u=(l=s)+64|0,c=s+60|0,v=(e|=0)+8|0,(0|de[(o=e+4|0)>>2])>>>0>(0|de[v>>2])>>>0&&(de[l>>2]=866,de[l+4>>2]=2123,de[l+8>>2]=845,Ce(u,812,l),Ae(u)),(2147418112/(n>>>0)|0)>>>0<=r>>>0&&(de[d>>2]=866,de[d+4>>2]=2124,de[d+8>>2]=885,Ce(u,812,d),Ae(u)),r>>>0<=(l=0|de[v>>2])>>>0)return _e=s,0|(v=1);if(9==(0|(t=t&&0!=((h=r+-1|0)&r|0)?(r=h>>>16|h,r|=r>>>8,r|=r>>>4,(r=1+((r|=r>>>2)>>>1|r)|0)?9:(r=0,10)):9))&&r>>>0<=l>>>0&&(t=10),10==(0|t)&&(de[a>>2]=866,de[a+4>>2]=2133,de[a+8>>2]=933,Ce(u,812,a),Ae(u)),h=0|ie(r,n),i)if(d=0|ae(h,c)){cr[0&i](d,0|de[e>>2],0|de[o>>2]),l=0|de[e>>2];do{if(0|l){if(7&l){de[f>>2]=866,de[f+4>>2]=2506,de[f+8>>2]=1232,Ce(u,812,f),Ae(u);break}ce(l,0,0,1,0);break}}while(0);de[e>>2]=d,t=20}else r=0;else(l=0|function(e,r,t,n){r|=0,t|=0,n|=0;var i=0,a=0,o=0,u=0,f=0,c=0;if(_e=(c=_e)+560|0,f=c+32|0,a=c+16|0,o=(i=c)+48|0,u=c+44|0,7&(e|=0)|0)return de[i>>2]=866,de[i+4>>2]=2506,de[i+8>>2]=1210,Ce(o,812,i),Ae(o),_e=c,(f=0)|f;if(2147418112<r>>>0)return de[a>>2]=866,de[a+4>>2]=2506,de[a+8>>2]=1103,Ce(o,812,a),Ae(o),_e=c,(f=0)|f;de[u>>2]=r,e=0|ce(e,r,u,n,0),0|t&&(de[t>>2]=de[u>>2]);7&e|0&&(de[f>>2]=866,de[f+4>>2]=2558,de[f+8>>2]=1156,Ce(o,812,f),Ae(o));return _e=c,0|(f=e)}(0|de[e>>2],h,c,1))?(de[e>>2]=l,t=20):r=0;return 20==(0|t)&&(h>>>0<(l=0|de[c>>2])>>>0&&(r=(l>>>0)/(n>>>0)|0),de[v>>2]=r,r=1),_e=s,0|(v=r)}function G(e,r,t,n,i,a,o){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0;var u,f=0,c=0,s=0;if(s=0|de[(e|=0)+88>>2],f=((1<(f=(he[s+12>>0]<<8|he[s+13>>0])>>>o)>>>0?f:1)+3|0)>>>2,c=((1<(c=(he[s+14>>0]<<8|he[s+15>>0])>>>o)>>>0?c:1)+3|0)>>>2,o=0|le[(s=s+18|0)>>0],o=0|ie(f,o<<24>>24==0|o<<24>>24==9?8:16),a){if(!(0==(3&a|0)&o>>>0<=a>>>0))return(i=0)|i;o=a}if((0|ie(o,c))>>>0>i>>>0)return(i=0)|i;if(a=(f+1|0)>>>1,u=(c+1|0)>>>1,!t)return(i=0)|i;switch(de[e+92>>2]=r,de[e+96>>2]=r,de[e+104>>2]=t,de[e+100>>2]=r+t,de[e+108>>2]=0,(de[e+112>>2]=0)|le[s>>0]){case 0:if(!(0|function(e,r,t,n,i,a,o,u){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,u|=0;var f,c,s,l,d,h,v,_,M,E,T,m,A,b,p,S,O,g,y,R,w,k,N,P,C,I,L,D,x,F,U,H,Y=0,$=0,B=0,X=0,V=0,G=0,K=0,q=0,j=0,z=0,W=0,J=0,Z=0,Q=0,ee=0,re=0,te=0,ne=0;if(_e=(H=_e)+656|0,F=H+112|0,D=H+96|0,L=H+80|0,I=H+64|0,C=H+48|0,U=H+32|0,x=H+16|0,k=(P=H)+144|0,N=H+128|0,b=0|de[(A=240+(e|=0)|0)>>2],S=0|de[(p=e+256|0)>>2],O=255&(re=0|le[17+(0|de[e+88>>2])>>0]),!(re<<24>>24))return _e=H,1;y=0==(0|u),w=(R=o+-1|0)<<4,re=u+-1|0,v=0!=(1&a|0),_=n<<1,M=e+92|0,E=e+116|0,T=e+140|0,m=e+236|0,h=0!=(1&i|0),d=e+188|0,f=e+252|0,c=1+(g=n>>>2)|0,s=g+2|0,l=g+3|0,t=a=ee=0,i=1;do{if(!y)for(Z=0|de[r+(ee<<2)>>2],Q=0;;){if($=0==(0|(W=1&Q)),z=(W<<5^32)-16|0,W=(W<<1^2)-1|0,J=v&(e=(0|Q)==(0|re)),(0|(Y=$?0:R))!=(0|(j=$?o:-1)))for(q=v&e^1,K=$?Z:Z+w|0;;){for(1==(0|i)&&(i=512|Me(M,E)),G=7&i,i>>>=3,$=0|he[1539+G>>0],e=0;t=(V=(X=(B=(0|Me(M,T))+t|0)-b|0)>>31)&B|X&~V,(0|de[A>>2])>>>0<=t>>>0&&(de[P>>2]=866,de[P+4>>2]=910,de[P+8>>2]=1497,Ce(k,812,P),Ae(k)),de[N+(e<<2)>>2]=de[(0|de[m>>2])+(t<<2)>>2],(e=e+1|0)>>>0<$>>>0;);if(J|(V=h&(0|Y)==(0|R))){X=0;do{e=K+(0|ie(X,n))|0,B=0==(0|X)|q,$=X<<1,a=(a=(te=(ne=(0|Me(M,d))+a|0)-S|0)>>31)&ne|te&~a;do{if(V){if(!B){a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a;break}de[e>>2]=de[N+((0|he[1547+(G<<2)+$>>0])<<2)>>2],(0|de[p>>2])>>>0<=a>>>0&&(de[D>>2]=866,de[D+4>>2]=910,de[D+8>>2]=1497,Ce(k,812,D),Ae(k)),de[e+4>>2]=de[(0|de[f>>2])+(a<<2)>>2],a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a}else B&&(de[e>>2]=de[N+((0|he[1547+(G<<2)+$>>0])<<2)>>2],(0|de[p>>2])>>>0<=a>>>0&&(de[L>>2]=866,de[L+4>>2]=910,de[L+8>>2]=1497,Ce(k,812,L),Ae(k)),de[e+4>>2]=de[(0|de[f>>2])+(a<<2)>>2]),e=e+8|0,a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a,B&&(de[e>>2]=de[N+((0|he[1547+(G<<2)+(1|$)>>0])<<2)>>2],(0|de[p>>2])>>>0<=a>>>0&&(de[F>>2]=866,de[F+4>>2]=910,de[F+8>>2]=1497,Ce(k,812,F),Ae(k)),de[e+4>>2]=de[(0|de[f>>2])+(a<<2)>>2])}while(0);X=X+1|0}while(2!=(0|X))}else de[K>>2]=de[N+((0|he[1547+(G<<2)>>0])<<2)>>2],a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a,(0|de[p>>2])>>>0<=a>>>0&&(de[x>>2]=866,de[x+4>>2]=910,de[x+8>>2]=1497,Ce(k,812,x),Ae(k)),de[K+4>>2]=de[(0|de[f>>2])+(a<<2)>>2],de[K+8>>2]=de[N+((0|he[1547+(G<<2)+1>>0])<<2)>>2],a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a,(0|de[p>>2])>>>0<=a>>>0&&(de[U>>2]=866,de[U+4>>2]=910,de[U+8>>2]=1497,Ce(k,812,U),Ae(k)),de[K+12>>2]=de[(0|de[f>>2])+(a<<2)>>2],de[K+(g<<2)>>2]=de[N+((0|he[1547+(G<<2)+2>>0])<<2)>>2],a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a,(0|de[p>>2])>>>0<=a>>>0&&(de[C>>2]=866,de[C+4>>2]=910,de[C+8>>2]=1497,Ce(k,812,C),Ae(k)),de[K+(c<<2)>>2]=de[(0|de[f>>2])+(a<<2)>>2],de[K+(s<<2)>>2]=de[N+((0|he[1547+(G<<2)+3>>0])<<2)>>2],a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a,(0|de[p>>2])>>>0<=a>>>0&&(de[I>>2]=866,de[I+4>>2]=910,de[I+8>>2]=1497,Ce(k,812,I),Ae(k)),de[K+(l<<2)>>2]=de[(0|de[f>>2])+(a<<2)>>2];if((0|(Y=W+Y|0))==(0|j))break;K=K+z|0}if((0|(Q=Q+1|0))==(0|u))break;Z=Z+_|0}ee=ee+1|0}while((0|ee)!=(0|O));return _e=H,1}(e,n,i,o,f,c,a,u)))return(i=0)|i;break;case 4:case 6:case 5:case 3:case 2:if(!(0|function(e,r,t,n,i,a,o,u){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,u|=0;var f,c,s,l,d,h,v,_,M,E,T,m,A,b,p,S,O,g,y,R,w,k,N,P,C,I,L,D,x,F,U,H,Y,$,B,X=0,V=0,G=0,K=0,q=0,j=0,z=0,W=0,J=0,Z=0,Q=0,ee=0,re=0,te=0,ne=0,ie=0,ae=0,oe=0,ue=0,fe=0,ce=0,se=0;if(_e=(B=_e)+640|0,H=B+80|0,U=B+64|0,F=B+48|0,$=B+32|0,Y=B+16|0,L=(x=B)+128|0,D=B+112|0,h=B+96|0,_=0|de[(v=240+(e|=0)|0)>>2],E=0|de[(M=e+256|0)>>2],m=0|de[(T=e+272|0)>>2],se=0|de[e+88>>2],A=(0|he[se+63>>0])<<8|0|he[se+64>>0],b=255&(se=0|le[se+17>>0]),!(se<<24>>24))return _e=B,1;p=0==(0|u),O=(S=o+-1|0)<<5,g=u+-1|0,y=n<<1,R=e+92|0,w=e+116|0,k=e+164|0,N=e+268|0,P=e+140|0,C=e+236|0,I=e+212|0,se=e+188|0,d=0==(1&i|0),l=0==(1&a|0),c=e+288|0,s=e+284|0,f=e+252|0,t=i=a=e=ce=0,X=1;do{if(!p)for(ue=0|de[r+(ce<<2)>>2],fe=0;;){if(G=0==(0|(oe=1&fe)),ae=(oe<<6^64)-32|0,oe=(oe<<1^2)-1|0,(0|(V=G?0:S))!=(0|(ne=G?o:-1)))for(ie=l|(0|fe)!=(0|g),te=G?ue:ue+O|0;;){for(1==(0|X)&&(X=512|Me(R,w)),re=7&X,X>>>=3,K=0|he[1539+re>>0],G=0;a=(ee=(Q=(Z=(0|Me(R,k))+a|0)-m|0)>>31)&Z|Q&~ee,(0|de[T>>2])>>>0<=a>>>0&&(de[x>>2]=866,de[x+4>>2]=910,de[x+8>>2]=1497,Ce(L,812,x),Ae(L)),de[h+(G<<2)>>2]=ve[(0|de[N>>2])+(a<<1)>>1],(G=G+1|0)>>>0<K>>>0;);for(G=0;t=(ee=(Q=(Z=(0|Me(R,P))+t|0)-_|0)>>31)&Z|Q&~ee,(0|de[v>>2])>>>0<=t>>>0&&(de[Y>>2]=866,de[Y+4>>2]=910,de[Y+8>>2]=1497,Ce(L,812,Y),Ae(L)),de[D+(G<<2)>>2]=de[(0|de[C>>2])+(t<<2)>>2],(G=G+1|0)>>>0<K>>>0;);for(ee=d|(0|V)!=(0|S),Z=0,Q=te;;){if(z=ie|0==(0|Z),W=Z<<1,ee)for(q=0,j=Q;e=(e=(K=(J=(0|Me(R,I))+e|0)-A|0)>>31)&J|K&~e,i=(i=(J=(K=(0|Me(R,se))+i|0)-E|0)>>31)&K|J&~i,z&&(G=0|he[q+W+(1547+(re<<2))>>0],K=3*e|0,(0|de[c>>2])>>>0<=K>>>0&&(de[$>>2]=866,de[$+4>>2]=910,de[$+8>>2]=1497,Ce(L,812,$),Ae(L)),J=(0|de[s>>2])+(K<<1)|0,de[j>>2]=(0|ve[J>>1])<<16|de[h+(G<<2)>>2],de[j+4>>2]=(0|ve[J+4>>1])<<16|0|ve[J+2>>1],de[j+8>>2]=de[D+(G<<2)>>2],(0|de[M>>2])>>>0<=i>>>0&&(de[F>>2]=866,de[F+4>>2]=910,de[F+8>>2]=1497,Ce(L,812,F),Ae(L)),de[j+12>>2]=de[(0|de[f>>2])+(i<<2)>>2]),2!=(0|(q=q+1|0));)j=j+16|0;else for(J=1^z,z=1547+(re<<2)+W|0,q=0,j=Q;e=(e=(K=(W=(0|Me(R,I))+e|0)-A|0)>>31)&W|K&~e,i=(i=(W=(K=(0|Me(R,se))+i|0)-E|0)>>31)&K|W&~i,0!=(0|q)|J||(G=0|he[z>>0],K=3*e|0,(0|de[c>>2])>>>0<=K>>>0&&(de[U>>2]=866,de[U+4>>2]=910,de[U+8>>2]=1497,Ce(L,812,U),Ae(L)),W=(0|de[s>>2])+(K<<1)|0,de[j>>2]=(0|ve[W>>1])<<16|de[h+(G<<2)>>2],de[j+4>>2]=(0|ve[W+4>>1])<<16|0|ve[W+2>>1],de[j+8>>2]=de[D+(G<<2)>>2],(0|de[M>>2])>>>0<=i>>>0&&(de[H>>2]=866,de[H+4>>2]=910,de[H+8>>2]=1497,Ce(L,812,H),Ae(L)),de[j+12>>2]=de[(0|de[f>>2])+(i<<2)>>2]),2!=(0|(q=q+1|0));)j=j+16|0;if(2==(0|(Z=Z+1|0)))break;Q=Q+n|0}if((0|(V=oe+V|0))==(0|ne))break;te=te+ae|0}if((0|(fe=fe+1|0))==(0|u))break;ue=ue+y|0}ce=ce+1|0}while((0|ce)!=(0|b));return _e=B,1}(e,n,i,o,f,c,a,u)))return(i=0)|i;break;case 9:if(!(0|function(e,r,t,n,i,a,o,u){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,u|=0;var f,c,s,l,d,h,v,_,M,E,T,m,A,b,p,S,O,g,y,R,w,k,N,P,C=0,I=0,L=0,D=0,x=0,F=0,U=0,H=0,Y=0,$=0,B=0,X=0,V=0,G=0,K=0,q=0,j=0,z=0;if(_e=(P=_e)+592|0,w=P+48|0,N=P+32|0,k=P+16|0,g=(R=P)+80|0,y=P+64|0,h=0|de[(d=272+(e|=0)|0)>>2],z=0|de[e+88>>2],v=(0|he[z+63>>0])<<8|0|he[z+64>>0],_=255&(z=0|le[z+17>>0]),!(z<<24>>24))return _e=P,1;M=0==(0|u),T=(E=o+-1|0)<<4,m=u+-1|0,A=n<<1,b=e+92|0,p=e+116|0,S=e+164|0,O=e+268|0,z=e+212|0,l=0==(1&i|0),s=0==(1&a|0),c=e+288|0,f=e+284|0,t=i=j=0,a=1;do{if(!M)for(K=0|de[r+(j<<2)>>2],q=0;;){if(C=0==(0|(G=1&q)),V=(G<<5^32)-16|0,G=(G<<1^2)-1|0,(0|(e=C?0:E))!=(0|(B=C?o:-1)))for(X=s|(0|q)!=(0|m),$=C?K:K+T|0;;){for(1==(0|a)&&(a=512|Me(b,p)),Y=7&a,a>>>=3,I=0|he[1539+Y>>0],C=0;t=(H=(U=(F=(0|Me(b,S))+t|0)-h|0)>>31)&F|U&~H,(0|de[d>>2])>>>0<=t>>>0&&(de[R>>2]=866,de[R+4>>2]=910,de[R+8>>2]=1497,Ce(g,812,R),Ae(g)),de[y+(C<<2)>>2]=ve[(0|de[O>>2])+(t<<1)>>1],(C=C+1|0)>>>0<I>>>0;);for(H=l|(0|e)!=(0|E),F=0,U=$;x=X|0==(0|F),I=F<<1,D=(D=(L=(C=(0|Me(b,z))+i|0)-v|0)>>31)&C|L&~D,H?(x&&(i=0|he[1547+(Y<<2)+I>>0],C=3*D|0,(0|de[c>>2])>>>0<=C>>>0&&(de[k>>2]=866,de[k+4>>2]=910,de[k+8>>2]=1497,Ce(g,812,k),Ae(g)),L=(0|de[f>>2])+(C<<1)|0,de[U>>2]=(0|ve[L>>1])<<16|de[y+(i<<2)>>2],de[U+4>>2]=(0|ve[L+4>>1])<<16|0|ve[L+2>>1]),L=U+8|0,i=(i=(D=(C=(0|Me(b,z))+D|0)-v|0)>>31)&C|D&~i,x&&(C=0|he[1547+(Y<<2)+(1|I)>>0],I=3*i|0,(0|de[c>>2])>>>0<=I>>>0&&(de[w>>2]=866,de[w+4>>2]=910,de[w+8>>2]=1497,Ce(g,812,w),Ae(g)),x=(0|de[f>>2])+(I<<1)|0,de[L>>2]=(0|ve[x>>1])<<16|de[y+(C<<2)>>2],de[U+12>>2]=(0|ve[x+4>>1])<<16|0|ve[x+2>>1])):(x&&(i=0|he[1547+(Y<<2)+I>>0],C=3*D|0,(0|de[c>>2])>>>0<=C>>>0&&(de[N>>2]=866,de[N+4>>2]=910,de[N+8>>2]=1497,Ce(g,812,N),Ae(g)),x=(0|de[f>>2])+(C<<1)|0,de[U>>2]=(0|ve[x>>1])<<16|de[y+(i<<2)>>2],de[U+4>>2]=(0|ve[x+4>>1])<<16|0|ve[x+2>>1]),i=(i=(x=(D=(0|Me(b,z))+D|0)-v|0)>>31)&D|x&~i),2!=(0|(F=F+1|0));)U=U+n|0;if((0|(e=G+e|0))==(0|B))break;$=$+V|0}if((0|(q=q+1|0))==(0|u))break;K=K+A|0}j=j+1|0}while((0|j)!=(0|_));return _e=P,1}(e,n,i,o,f,c,a,u)))return(i=0)|i;break;case 8:case 7:if(!(0|function(e,r,t,n,i,a,o,u){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,u|=0;var f,c,s,l,d,h,v,_,M,E,T,m,A,b,p,S,O,g,y,R,w,k,N,P,C,I,L,D=0,x=0,F=0,U=0,H=0,Y=0,$=0,B=0,X=0,V=0,G=0,K=0,q=0,j=0,z=0,W=0,J=0,Z=0,Q=0,ee=0,re=0,te=0,ne=0,ie=0,ae=0;if(_e=(L=_e)+640|0,P=L+80|0,N=L+64|0,k=L+48|0,I=L+32|0,C=L+16|0,y=(w=L)+128|0,R=L+112|0,d=L+96|0,v=0|de[(h=272+(e|=0)|0)>>2],ae=0|de[e+88>>2],_=(0|he[ae+63>>0])<<8|0|he[ae+64>>0],M=255&(ae=0|le[ae+17>>0]),!(ae<<24>>24))return _e=L,1;E=0==(0|u),m=(T=o+-1|0)<<5,A=u+-1|0,b=n<<1,p=e+92|0,S=e+116|0,O=e+164|0,g=e+268|0,ae=e+212|0,l=0==(1&i|0),s=0==(1&a|0),c=e+288|0,f=e+284|0,t=i=a=e=ie=0,D=1;do{if(!E)for(te=0|de[r+(ie<<2)>>2],ne=0;;){if(F=0==(0|(re=1&ne)),ee=(re<<6^64)-32|0,re=(re<<1^2)-1|0,(0|(x=F?0:T))!=(0|(Z=F?o:-1)))for(Q=s|(0|ne)!=(0|A),J=F?te:te+m|0;;){for(1==(0|D)&&(D=512|Me(p,S)),W=7&D,D>>>=3,U=0|he[1539+W>>0],F=0;t=(z=(j=(q=(0|Me(p,O))+t|0)-v|0)>>31)&q|j&~z,(0|de[h>>2])>>>0<=t>>>0&&(de[w>>2]=866,de[w+4>>2]=910,de[w+8>>2]=1497,Ce(y,812,w),Ae(y)),de[R+(F<<2)>>2]=ve[(0|de[g>>2])+(t<<1)>>1],(F=F+1|0)>>>0<U>>>0;);for(F=0;a=(z=(j=(q=(0|Me(p,O))+a|0)-v|0)>>31)&q|j&~z,(0|de[h>>2])>>>0<=a>>>0&&(de[C>>2]=866,de[C+4>>2]=910,de[C+8>>2]=1497,Ce(y,812,C),Ae(y)),de[d+(F<<2)>>2]=ve[(0|de[g>>2])+(a<<1)>>1],(F=F+1|0)>>>0<U>>>0;);for(z=l|(0|x)!=(0|T),q=0,j=J;;){if(V=Q|0==(0|q),G=q<<1,z)for(B=0,X=j;i=(i=($=(K=(0|Me(p,ae))+i|0)-_|0)>>31)&K|$&~i,e=(e=(K=($=(0|Me(p,ae))+e|0)-_|0)>>31)&$|K&~e,V&&($=0|he[B+G+(1547+(W<<2))>>0],U=3*i|0,(F=0|de[c>>2])>>>0<=U>>>0&&(de[I>>2]=866,de[I+4>>2]=910,de[I+8>>2]=1497,Ce(y,812,I),Ae(y),F=0|de[c>>2]),U=(H=0|de[f>>2])+(U<<1)|0,K=(F=(Y=3*e|0)>>>0<F>>>0?H:(de[k>>2]=866,de[k+4>>2]=910,de[k+8>>2]=1497,Ce(y,812,k),Ae(y),0|de[f>>2]))+(Y<<1)|0,de[X>>2]=(0|ve[U>>1])<<16|de[R+($<<2)>>2],de[X+4>>2]=(0|ve[U+4>>1])<<16|0|ve[U+2>>1],de[X+8>>2]=(0|ve[K>>1])<<16|de[d+($<<2)>>2],de[X+12>>2]=(0|ve[K+4>>1])<<16|0|ve[K+2>>1]),2!=(0|(B=B+1|0));)X=X+16|0;else for(K=1^V,V=1547+(W<<2)+G|0,B=0,X=j;i=(i=($=(G=(0|Me(p,ae))+i|0)-_|0)>>31)&G|$&~i,e=(e=(G=($=(0|Me(p,ae))+e|0)-_|0)>>31)&$|G&~e,0!=(0|B)|K||($=0|he[V>>0],U=3*i|0,(F=0|de[c>>2])>>>0<=U>>>0&&(de[N>>2]=866,de[N+4>>2]=910,de[N+8>>2]=1497,Ce(y,812,N),Ae(y),F=0|de[c>>2]),U=(H=0|de[f>>2])+(U<<1)|0,G=(F=(Y=3*e|0)>>>0<F>>>0?H:(de[P>>2]=866,de[P+4>>2]=910,de[P+8>>2]=1497,Ce(y,812,P),Ae(y),0|de[f>>2]))+(Y<<1)|0,de[X>>2]=(0|ve[U>>1])<<16|de[R+($<<2)>>2],de[X+4>>2]=(0|ve[U+4>>1])<<16|0|ve[U+2>>1],de[X+8>>2]=(0|ve[G>>1])<<16|de[d+($<<2)>>2],de[X+12>>2]=(0|ve[G+4>>1])<<16|0|ve[G+2>>1]),2!=(0|(B=B+1|0));)X=X+16|0;if(2==(0|(q=q+1|0)))break;j=j+n|0}if((0|(x=re+x|0))==(0|Z))break;J=J+ee|0}if((0|(ne=ne+1|0))==(0|u))break;te=te+b|0}ie=ie+1|0}while((0|ie)!=(0|M));return _e=L,1}(e,n,i,o,f,c,a,u)))return(i=0)|i;break;default:return(i=0)|i}return 0|(i=1)}function K(e,r,t){e|=0,r|=0;var n,i,a=0;if(8192<=(0|(t|=0)))return 0|R(0|e,0|r,0|t);if(i=0|e,n=e+t|0,(3&e)==(3&r)){for(;3&e;){if(!t)return 0|i;le[e>>0]=0|le[r>>0],e=e+1|0,r=r+1|0,t=t-1|0}for(a=(t=-4&n|0)-64|0;(0|e)<=(0|a);)de[e>>2]=de[r>>2],de[e+4>>2]=de[r+4>>2],de[e+8>>2]=de[r+8>>2],de[e+12>>2]=de[r+12>>2],de[e+16>>2]=de[r+16>>2],de[e+20>>2]=de[r+20>>2],de[e+24>>2]=de[r+24>>2],de[e+28>>2]=de[r+28>>2],de[e+32>>2]=de[r+32>>2],de[e+36>>2]=de[r+36>>2],de[e+40>>2]=de[r+40>>2],de[e+44>>2]=de[r+44>>2],de[e+48>>2]=de[r+48>>2],de[e+52>>2]=de[r+52>>2],de[e+56>>2]=de[r+56>>2],de[e+60>>2]=de[r+60>>2],e=e+64|0,r=r+64|0;for(;(0|e)<(0|t);)de[e>>2]=de[r>>2],e=e+4|0,r=r+4|0}else for(t=n-4|0;(0|e)<(0|t);)le[e>>0]=0|le[r>>0],le[e+1>>0]=0|le[r+1>>0],le[e+2>>0]=0|le[r+2>>0],le[e+3>>0]=0|le[r+3>>0],e=e+4|0,r=r+4|0;for(;(0|e)<(0|n);)le[e>>0]=0|le[r>>0],e=e+1|0,r=r+1|0;return 0|i}function q(e,r,t){r|=0,t|=0;var n,i,a,o,u,f=0,c=0,s=0,l=0,d=0,h=0;_e=(u=_e)+48|0,o=u+16|0,c=(s=u)+32|0,f=0|de[(i=(e|=0)+28|0)>>2],de[c>>2]=f,f=(0|de[(a=e+20|0)>>2])-f|0,de[c+4>>2]=f,de[c+8>>2]=r,f=f+(de[c+12>>2]=t)|0,n=e+60|0,de[s>>2]=de[n>>2],de[s+4>>2]=c,de[s+8>>2]=2,s=0|He(0|C(146,0|s));e:do{if((0|f)!=(0|s)){for(r=2;!((0|s)<0);)if(f=f-s|0,r=((d=(h=0|de[c+4>>2])>>>0<s>>>0)<<31>>31)+r|0,h=s-(d?h:0)|0,de[(c=d?c+8|0:c)>>2]=(0|de[c>>2])+h,de[(d=c+4|0)>>2]=(0|de[d>>2])-h,de[o>>2]=de[n>>2],de[o+4>>2]=c,de[o+8>>2]=r,(0|f)==(0|(s=0|He(0|C(146,0|o))))){l=3;break e}de[e+16>>2]=0,de[i>>2]=0,de[a>>2]=0,de[e>>2]=32|de[e>>2],t=2==(0|r)?0:t-(0|de[c+4>>2])|0}else l=3}while(0);return 3==(0|l)&&(h=0|de[e+44>>2],de[e+16>>2]=h+(0|de[e+48>>2]),de[i>>2]=h,de[a>>2]=h),_e=u,0|t}function j(e,r,t){e|=0,r|=0,t|=0;var n,i,a,o,u,f=0,c=0,s=0,l=0,d=0,h=0,v=0;for(_e=(u=_e)+224|0,n=u+120|0,o=(a=u)+136|0,c=(f=i=u+80|0)+40|0;(0|(f=f+4|(de[f>>2]=0)))<(0|c););return de[n>>2]=de[t>>2],t=(0|D(0,r,n,a,i))<0?-1:(de[e+76>>2],v=32&(t=0|de[e>>2]),(0|le[e+74>>0])<1&&(de[e>>2]=-33&t),0|de[(f=e+48|0)>>2]?t=0|D(e,r,n,a,i):(s=0|de[(c=e+44|0)>>2],de[c>>2]=o,de[(l=e+28|0)>>2]=o,de[(d=e+20|0)>>2]=o,de[f>>2]=80,de[(h=e+16|0)>>2]=o+80,t=0|D(e,r,n,a,i),s&&(ar[7&de[e+36>>2]](e,0,0),t=0==(0|de[d>>2])?-1:t,de[c>>2]=s,de[f>>2]=0,de[h>>2]=0,de[l>>2]=0,de[d>>2]=0)),f=0|de[e>>2],de[e>>2]=f|v,0==(32&f|0)?t:-1),_e=u,0|t}function z(e,r,t,n){r|=0,t|=0,n|=0;var i,a,o,u,f,c,s,l=0,d=0;for(_e=(s=_e)+64|0,f=s,d=0|de[(e|=0)>>2],c=e+(0|de[d+-8>>2])|0,d=0|de[d+-4>>2],de[f>>2]=t,de[f+4>>2]=e,de[f+8>>2]=r,de[f+12>>2]=n,r=f+20|0,n=f+24|0,i=f+28|0,a=f+32|0,o=f+40|0,u=(l=e=f+16|0)+36|0;(0|(l=l+4|(de[l>>2]=0)))<(0|u););B[e+36>>1]=0,le[e+38>>0]=0;e:do{if(0|Ve(d,t))de[f+48>>2]=1,lr[3&de[20+(0|de[d>>2])>>2]](d,f,c,c,1,0),e=1==(0|de[n>>2])?c:0;else{switch(or[3&de[24+(0|de[d>>2])>>2]](d,f,c,1,0),0|de[f+36>>2]){case 0:e=1==(0|de[o>>2])&1==(0|de[i>>2])&1==(0|de[a>>2])?0|de[r>>2]:0;break e;case 1:break;default:e=0;break e}if(1!=(0|de[n>>2])&&!(0==(0|de[o>>2])&1==(0|de[i>>2])&1==(0|de[a>>2]))){e=0;break}e=0|de[e>>2]}}while(0);return _e=s,0|e}function W(e){var r,t=0,n=0,i=0,a=0,o=0,u=0,f=0;if(_e=(r=_e)+544|0,u=r+16|0,a=(t=r)+32|0,8192<=((n=0|de[(o=(e|=0)+8|0)>>2])+-1|0)>>>0&&(de[t>>2]=866,de[t+4>>2]=3006,de[t+8>>2]=1257,Ce(a,812,t),Ae(a)),de[e>>2]=n,f=(t=0|de[(i=e+20|0)>>2])?n:((t=0|ae(180,0))?(de[(f=t+164|0)>>2]=0,de[f+4>>2]=0,de[f+8>>2]=0,de[f+12>>2]=0):t=0,de[i>>2]=t,0|de[e>>2]),u=0|de[o>>2]?f:(de[u>>2]=866,de[u+4>>2]=910,de[u+8>>2]=1497,Ce(a,812,u),Ae(a),0|de[e>>2]),a=0|de[e+4>>2],!(16<u>>>0))return e=(e=0)|x(t,f,a,e),_e=r,0|e;for(n=u,i=0;o=i+1|0,3<n>>>0;)n>>>=1,i=o;return e=0|x(t,f,a,e=255&((e=i+2+(32!=(0|o)&1<<o>>>0<u>>>0&1)|0)>>>0<11?e:11)),_e=r,0|e}function J(e){var r,t,n,i,a,o,u=0,f=0;_e=(o=_e)+576|0,i=o+48|0,a=o+32|0,t=o+16|0,n=(r=o)+64|0,u=0|de[(e|=0)+168>>2];do{if(0|u){if(f=0|de[u+-4>>2],u=u+-8|0,0!=(0|f)&&(0|f)==(0|~de[u>>2])||(de[r>>2]=866,de[r+4>>2]=651,de[r+8>>2]=1579,Ce(n,812,r),Ae(n)),7&u){de[t>>2]=866,de[t+4>>2]=2506,de[t+8>>2]=1232,Ce(n,812,t),Ae(n);break}ce(u,0,0,1,0);break}}while(0);if(u=0|de[e+176>>2])return f=0|de[u+-4>>2],u=u+-8|0,0!=(0|f)&&(0|f)==(0|~de[u>>2])||(de[a>>2]=866,de[a+4>>2]=651,de[a+8>>2]=1579,Ce(n,812,a),Ae(n)),7&u?(de[i>>2]=866,de[i+4>>2]=2506,de[i+8>>2]=1232,Ce(n,812,i),Ae(n)):ce(u,0,0,1,0),void(_e=o);_e=o}function Z(e,r,t){var n;return 0!=(0|(e|=0))&73<(r|=0)>>>0&0!=(0|(t|=0))?40!=(0|de[t>>2])?(t=0)|t:18552!=((0|he[e>>0])<<8|0|he[e+1>>0]|0)?(t=0)|t:((0|he[e+2>>0])<<8|0|he[e+3>>0])>>>0<74?(t=0)|t:((0|he[e+7>>0])<<16|(0|he[e+6>>0])<<24|(0|he[e+8>>0])<<8|0|he[e+9>>0])>>>0>r>>>0?(t=0)|t:(de[t+4>>2]=(0|he[e+12>>0])<<8|0|he[e+13>>0],de[t+8>>2]=(0|he[e+14>>0])<<8|0|he[e+15>>0],de[t+12>>2]=he[e+16>>0],de[t+16>>2]=he[e+17>>0],r=e+18|0,de[(n=t+32|0)>>2]=he[r>>0],r=(de[n+4>>2]=0)|le[r>>0],de[t+20>>2]=r<<24>>24==0|r<<24>>24==9?8:16,de[t+24>>2]=(0|he[e+26>>0])<<16|(0|he[e+25>>0])<<24|(0|he[e+27>>0])<<8|0|he[e+28>>0],de[t+28>>2]=(0|he[e+30>>0])<<16|(0|he[e+29>>0])<<24|(0|he[e+31>>0])<<8|0|he[e+32>>0],0|(t=1)):(t=0)|t}function Q(e,r){e|=0;var t,n,i,a=0,o=0,u=0,f=0,c=0;if(_e=(i=_e)+544|0,c=i+16|0,f=(a=i)+32|0,33<=(r|=0)>>>0&&(de[a>>2]=866,de[a+4>>2]=3199,de[a+8>>2]=1350,Ce(f,812,a),Ae(f)),(0|r)<=(0|(a=0|de[(n=e+20|0)>>2])))return f=a,c=(o=0|de[(u=o=e+16|0)>>2])>>>(c=32-r|0),o<<=r,de[u>>2]=o,r=f-r|0,de[n>>2]=r,_e=i,0|c;for(o=e+4|0,u=e+8|0,t=e+16|0;e=(0|(e=0|de[o>>2]))==(0|de[u>>2])?0:(de[o>>2]=e+1,0|he[e>>0]),a=a+8|0,33<=(0|(de[n>>2]=a))&&(de[c>>2]=866,de[c+4>>2]=3208,de[c+8>>2]=1366,Ce(f,812,c),Ae(f),a=0|de[n>>2]),e=e<<32-a|de[t>>2],de[t>>2]=e,(0|a)<(0|r););return c=e>>>(c=32-r|0),f=e<<r,de[t>>2]=f,r=a-r|0,de[n>>2]=r,_e=i,0|c}function ee(e,r,t){e|=0;var n=0,i=0,a=0,o=0;a=255&(r|=0),n=0!=(0|(t|=0));e:do{if(n&0!=(3&e|0))for(i=255&r;;){if((0|le[e>>0])==i<<24>>24){o=6;break e}if(!((n=0!=(0|(t=t+-1|0)))&0!=(3&(e=e+1|0)|0))){o=5;break}}else o=5}while(0);5==(0|o)&&(n?o=6:t=0);e:do{if(6==(0|o)&&(i=255&r,(0|le[e>>0])!=i<<24>>24)){n=0|ie(a,16843009);r:do{if(3<t>>>0){for(;!((-2139062144&(a=de[e>>2]^n)^-2139062144)&a+-16843009|0);)if(e=e+4|0,(t=t+-4|0)>>>0<=3){o=11;break r}}else o=11}while(0);if(11==(0|o)&&!t){t=0;break}for(;;){if((0|le[e>>0])==i<<24>>24)break e;if(e=e+1|0,!(t=t+-1|0)){t=0;break}}}}while(0);return 0|(0|t?e:0)}function re(e,r,t,n,i){r|=0,t|=0,n|=0,i|=0;var a,o,u,f=0,c=0,s=0;return _e=(u=_e)+528|0,c=(s=u)+16|0,a=0|de[(e|=0)+88>>2],_e=(s=((o=(0|he[a+70+(i<<2)+1>>0])<<16|(0|he[a+70+(i<<2)>>0])<<24|(0|he[a+70+(i<<2)+2>>0])<<8|0|he[a+70+(i<<2)+3>>0])>>>0<(f=(f=i+1|0)>>>0<(0|he[a+16>>0])>>>0?(0|he[a+70+(f<<2)+1>>0])<<16|(0|he[a+70+(f<<2)>>0])<<24|(0|he[a+70+(f<<2)+2>>0])<<8|0|he[a+70+(f<<2)+3>>0]:0|de[e+8>>2])>>>0||(de[s>>2]=866,de[s+4>>2]=3694,de[s+8>>2]=1508,Ce(c,812,s),Ae(c)),0|G(e,c=(c=0|de[(c=e+4|0)>>2])+o|0,s=f-o|0,r,t,n,i)),u),0|s}function te(e,r,t){e|=0,r|=0;var n=0,i=0,a=0,o=0,u=0;(i=0|de[(n=(t|=0)+16|0)>>2])?a=5:0|pe(t)?n=0:(i=0|de[n>>2],a=5);e:do{if(5==(0|a)){if((i-(n=o=0|de[(u=t+20|0)>>2])|0)>>>0<r>>>0){n=0|ar[7&de[t+36>>2]](t,e,r);break}r:do{if(-1<(0|le[t+75>>0])){for(o=r;;){if(!o){a=0,i=e;break r}if(10==(0|le[e+(i=o+-1|0)>>0]))break;o=i}if((n=0|ar[7&de[t+36>>2]](t,e,o))>>>0<o>>>0)break e;i=e+(a=o)|0,r=r-o|0,n=0|de[u>>2]}else a=0,i=e}while(0);K(0|n,0|i,0|r),de[u>>2]=(0|de[u>>2])+r,n=a+r|0}}while(0);return 0|n}function ne(e){var r,t,n=0,i=0,a=0;_e=(t=_e)+544|0,a=t+16|0,r=(i=t)+32|0,n=0|de[(e|=0)+20>>2];do{if(0|n){if(J(n),7&n){de[i>>2]=866,de[i+4>>2]=2506,de[i+8>>2]=1232,Ce(r,812,i),Ae(r);break}ce(n,0,0,1,0);break}}while(0);if(!(i=0|de[(n=e+4|0)>>2]))return le[(a=e+16|0)>>0]=0,void(_e=t);7&i?(de[a>>2]=866,de[a+4>>2]=2506,de[a+8>>2]=1232,Ce(r,812,a),Ae(r)):ce(i,0,0,1,0),de[n>>2]=0,de[e+8>>2]=0,de[e+12>>2]=0,le[(a=e+16|0)>>0]=0,_e=t}function ae(e,r){r|=0;var t,n,i,a,o=0,u=0,f=0;return _e=(a=_e)+560|0,f=a+32|0,i=a+16|0,n=(o=a)+48|0,t=a+44|0,2147418112<(u=0|(u=(e|=0)+3&-4)?u:4)>>>0?(de[o>>2]=866,de[o+4>>2]=2506,de[o+8>>2]=1103,Ce(n,812,o),Ae(n),_e=a,(f=0)|f):(e=0|ce(0,de[t>>2]=u,t,1,0),o=0|de[t>>2],0|r&&(de[r>>2]=o),0==(0|e)|o>>>0<u>>>0?(de[i>>2]=866,de[i+4>>2]=2506,de[i+8>>2]=1129,Ce(n,812,i),Ae(n),e=0):7&e&&(de[f>>2]=866,de[f+4>>2]=2533,de[f+8>>2]=1156,Ce(n,812,f),Ae(n)),_e=a,0|(f=e))}function oe(e,r,t){r|=0;var n,i=0,a=0,o=0;if(n=(e|=0)+(t|=0)|0,r&=255,67<=(0|t)){for(;3&e;)le[e>>0]=r,e=e+1|0;for(a=(i=-4&n|0)-64|0,o=r|r<<8|r<<16|r<<24;(0|e)<=(0|a);)de[e>>2]=o,de[e+4>>2]=o,de[e+8>>2]=o,de[e+12>>2]=o,de[e+16>>2]=o,de[e+20>>2]=o,de[e+24>>2]=o,de[e+28>>2]=o,de[e+32>>2]=o,de[e+36>>2]=o,de[e+40>>2]=o,de[e+44>>2]=o,de[e+48>>2]=o,de[e+52>>2]=o,de[e+56>>2]=o,de[e+60>>2]=o,e=e+64|0;for(;(0|e)<(0|i);)de[e>>2]=o,e=e+4|0}for(;(0|e)<(0|n);)le[e>>0]=r,e=e+1|0;return n-t|0}function ue(e,r,t,n,i){e|=0,t|=0,n|=0,i|=0;var a=0,o=0,u=0,f=0;le[(r|=0)+53>>0]=1;do{if((0|de[r+4>>2])==(0|n)){if(le[r+52>>0]=1,u=r+54|0,f=r+48|0,o=r+24|0,e=r+36|0,!(a=0|de[(n=r+16|0)>>2])){if(de[n>>2]=t,de[o>>2]=i,!((de[e>>2]=1)==(0|de[f>>2])&1==(0|i)))break;le[u>>0]=1;break}if((0|a)!=(0|t)){de[e>>2]=1+(0|de[e>>2]),le[u>>0]=1;break}2==(0|(e=0|de[o>>2]))&&(e=de[o>>2]=i),1==(0|de[f>>2])&1==(0|e)&&(le[u>>0]=1)}}while(0)}function fe(e,r){e|=0;var t,n,i,a=0,o=0,u=0,f=0;_e=(i=_e)+16|0,n=255&(r|=0),le[(t=i)>>0]=n,(u=0|de[(o=e+16|0)>>2])?f=4:0|pe(e)?a=-1:(u=0|de[o>>2],f=4);do{if(4==(0|f)){if((o=0|de[(f=e+20|0)>>2])>>>0<u>>>0&&(0|(a=255&r))!=(0|le[e+75>>0])){de[f>>2]=o+1,le[o>>0]=n;break}a=1==(0|ar[7&de[e+36>>2]](e,t,1))?0|he[t>>0]:-1}}while(0);return _e=i,0|a}function ce(e,r,t,n,i){e|=0,r|=0,t|=0,n|=0,i|=0;do{if(e){if(!r){if(F(e),!t){r=0;break}r=de[t>>2]=0;break}n?e=0==(0|(r=0|Te(e,r)))?e:r:r=0,t&&(i=0|Pe(e),de[t>>2]=i)}else r=0|I(r),t&&(e=r?0|Pe(r):0,de[t>>2]=e)}while(0);return 0|r}function se(e,r){e|=0,r|=0;var t,n,i,a,o=0,u=0;for(u=0;;){if((0|he[2140+u>>0])==(0|e)){e=2;break}if(87==(0|(o=u+1|0))){o=2228,u=87,e=5;break}u=o}if(2==(0|e)&&(u?(o=2228,e=5):o=2228),5==(0|e))for(;;){for(;o=(e=o)+1|0,0!=(0|le[e>>0]););if(!(u=u+-1|0))break;e=5}return 0|(t=o,n=0|de[r+20>>2],0|(i=t|=0,a=n|=0,i|=0,0|(0|(a=(a|=0)?0|function(e,r,t){r|=0,t|=0;var n,i=0,a=0,o=0,u=0,f=0,c=0,s=0,l=0,d=0;n=1794895138+(0|de[(e|=0)>>2])|0,o=0|Ge(0|de[e+8>>2],n),i=0|Ge(0|de[e+12>>2],n),a=0|Ge(0|de[e+16>>2],n);e:do{if(o>>>0<r>>>2>>>0&&i>>>0<(d=r-(o<<2)|0)>>>0&a>>>0<d>>>0&&0==(3&(a|i)|0)){for(d=i>>>2,l=a>>>2,s=0;;){if(i=0|Ge(0|de[e+((a=(u=(c=s+(f=o>>>1)|0)<<1)+d|0)<<2)>>2],n),!((a=0|Ge(0|de[e+(a+1<<2)>>2],n))>>>0<r>>>0&i>>>0<(r-a|0)>>>0)){i=0;break e}if(0|le[e+(a+i)>>0]){i=0;break e}if(!(i=0|Se(t,e+a|0)))break;if(i=(0|i)<0,1==(0|o)){i=0;break e}s=i?s:c,o=i?f:o-f|0}a=0|Ge(0|de[e+((i=u+l|0)<<2)>>2],n),i=(i=0|Ge(0|de[e+(i+1<<2)>>2],n))>>>0<r>>>0&a>>>0<(r-i|0)>>>0&&0==(0|le[e+(i+a)>>0])?e+i|0:0}else i=0}while(0);return 0|i}(0|de[a>>2],0|de[a+4>>2],i):0)?a:i)))}function Ee(e,r,t){t|=0;var n=0;if(0<(r|=0)>>>0|0==(0|r)&4294967295<(e|=0)>>>0){for(;n=0|Ne(0|e,0|r,10,0),le[(t=t+-1|0)>>0]=255&n|48,e=0|Ke(0|(n=e),0|r,10,0),9<r>>>0|9==(0|r)&4294967295<n>>>0;)r=k;r=e}else r=e;if(r)for(;le[(t=t+-1|0)>>0]=48|(r>>>0)%10,!(r>>>0<10);)r=(r>>>0)/10|0;return 0|t}function Te(e,r){r|=0;var t=0,n=0;return(e|=0)?4294967231<r>>>0?(r=0|er(),de[r>>2]=12,(r=0)|r):0|(t=0|function(e,r){r|=0;var t,n,i=0,a=0,o=0,u=0,f=0,c=0,s=0,l=0;if(t=(e|=0)+(i=-8&(s=0|de[(l=e+4|0)>>2]))|0,!(3&s))return r>>>0<256?(e=0)|e:(r+4|0)>>>0<=i>>>0&&(i-r|0)>>>0<=de[1264]<<1>>>0?0|e:(e=0)|e;if(r>>>0<=i>>>0)return(i=i-r|0)>>>0<=15||(c=e+r|0,de[l>>2]=1&s|r|2,de[c+4>>2]=3|i,de[(l=c+i+4|0)>>2]=1|de[l>>2],U(c,i)),0|e;if((0|t)==(0|de[1150]))return i=(c=(0|de[1147])+i|0)-r|0,a=e+r|0,c>>>0<=r>>>0?(e=0)|e:(de[l>>2]=1&s|r|2,de[a+4>>2]=1|i,de[1150]=a,de[1147]=i,0|e);if((0|t)==(0|de[1149]))return(o=(0|de[1146])+i|0)>>>0<r>>>0?(e=0)|e:(a=1&s,15<(i=o-r|0)>>>0?(c=(s=e+r|0)+i|0,de[l>>2]=a|r|2,de[s+4>>2]=1|i,de[c>>2]=i,de[(a=c+4|0)>>2]=-2&de[a>>2],a=s):(de[l>>2]=a|o|2,de[(a=e+o+4|0)>>2]=1|de[a>>2],i=a=0),de[1146]=i,de[1149]=a,0|e);if(2&(a=0|de[t+4>>2])|0)return(e=0)|e;if((n=(-8&a)+i|0)>>>0<r>>>0)return(e=0)|e;c=n-r|0,o=a>>>3;do{if(a>>>0<256){if(a=0|de[t+8>>2],(0|(i=0|de[t+12>>2]))==(0|a)){de[1144]=de[1144]&~(1<<o);break}de[a+12>>2]=i,de[i+8>>2]=a;break}f=0|de[t+24>>2],i=0|de[t+12>>2];do{if((0|i)==(0|t)){if(i=0|de[(a=4+(o=t+16|0)|0)>>2])u=a;else{if(!(i=0|de[o>>2])){o=0;break}u=o}for(;;)if(0|(a=0|de[(o=i+20|0)>>2]))i=a,u=o;else{if(!(o=0|de[(a=i+16|0)>>2]))break;i=o,u=a}de[u>>2]=0,o=i}else o=0|de[t+8>>2],de[o+12>>2]=i,de[i+8>>2]=o,o=i}while(0);if(0|f){if(i=0|de[t+28>>2],(0|t)==(0|de[(a=4880+(i<<2)|0)>>2])){if(!(de[a>>2]=o)){de[1145]=de[1145]&~(1<<i);break}}else if(!(de[f+16+(((0|de[f+16>>2])!=(0|t)&1)<<2)>>2]=o))break;de[o+24>>2]=f,0|(a=0|de[(i=t+16|0)>>2])&&(de[o+16>>2]=a,de[a+24>>2]=o),0|(i=0|de[i+4>>2])&&(de[o+20>>2]=i,de[i+24>>2]=o)}}while(0);return i=1&s,c>>>0<16?(de[l>>2]=n|i|2,de[(l=e+n+4|0)>>2]=1|de[l>>2]):(s=e+r|0,de[l>>2]=i|r|2,de[s+4>>2]=3|c,de[(l=s+c+4|0)>>2]=1|de[l>>2],U(s,c)),0|e}(e+-8|0,r>>>0<11?16:r+11&-8))?0|(r=t+8|0):(t=0|I(r))?(K(0|t,0|e,0|((n=(-8&(n=0|de[e+-4>>2]))-(0==(3&n|0)?8:4)|0)>>>0<r>>>0?n:r)),F(e),0|(r=t)):(r=0)|r:0|(r=0|I(r))}function me(e,r,t,n){e|=0,t|=0,n|=0;var i,a,o;i=0|de[(e=(r|=0)+16|0)>>2],a=r+36|0,o=r+24|0;do{if(i){if((0|i)!=(0|t)){de[a>>2]=1+(0|de[a>>2]),de[o>>2]=2,le[r+54>>0]=1;break}2==(0|de[o>>2])&&(de[o>>2]=n)}else de[e>>2]=t,de[o>>2]=n,de[a>>2]=1}while(0)}function Ae(e){e|=0;var r,t=0,n=0;r=0|de[119],de[r+76>>2];do{if((0|Ye(e,r))<0)e=1;else{if(10!=(0|le[r+75>>0])&&(n=0|de[(t=r+20|0)>>2])>>>0<(0|de[r+16>>2])>>>0){de[t>>2]=n+1,le[n>>0]=10,e=0;break}e=(0|fe(r,10))<0}}while(0);return e<<31>>31|0}function be(e,r,t,n,i){e|=0,r|=0;var a,o;if(_e=(o=_e)+256|0,a=o,(0|(n|=0))<(0|(t|=0))&0==(73728&(i|=0)|0)){if(oe(0|a,0|r,0|((i=t-n|0)>>>0<256?i:256)),255<i>>>0){for(r=t-n|0;$e(e,a,256),255<(i=i+-256|0)>>>0;);i=255&r}$e(e,a,i)}_e=o}function pe(e){var r=0,t=0;return t=0|le[(r=(e|=0)+74|0)>>0],le[r>>0]=t+255|t,0|(e=8&(r=0|de[e>>2])?(de[e>>2]=32|r,-1):(de[e+8>>2]=0,t=(de[e+4>>2]=0)|de[e+44>>2],de[e+28>>2]=t,de[e+20>>2]=t,de[e+16>>2]=t+(0|de[e+48>>2]),0))}function Se(e,r){r|=0;var t=0,n=0;if(t=0|le[(e|=0)>>0],n=0|le[r>>0],t<<24>>24==0||t<<24>>24!=n<<24>>24)e=n;else{for(;r=r+1|0,t=0|le[(e=e+1|0)>>0],n=0|le[r>>0],t<<24>>24!=0&&t<<24>>24==n<<24>>24;);e=n}return(255&t)-(255&e)|0}function Oe(e){var r,t;return 0<(0|(t=(e|=0)+15&-16|0))&(0|(e=(r=0|de[d>>2])+t|0))<(0|r)|(0|e)<0?(m(),O(12),-1):(0|(de[d>>2]=e))>(0|T())&&0==(0|E())?(de[d>>2]=r,O(12),-1):0|r}function ge(e){var r=0,t=0,n=0;if(t=0|de[(e|=0)>>2],(n=(0|le[t>>0])-48|0)>>>0<10)for(r=0;r=n+(10*r|0)|0,t=t+1|0,de[e>>2]=t,(n=(0|le[t>>0])-48|0)>>>0<10;);else r=0;return 0|r}function ye(e,r,t,n){if(t|=0,n|=0,!(0==(0|(e|=0))&0==(0|(r|=0))))for(;le[(t=t+-1|0)>>0]=0|he[2122+(15&e)>>0]|n,!(0==(0|(e=0|Le(0|e,0|r,4)))&0==(0|(r=k))););return 0|t}function Re(e){var r=0;return(0|(r=0|le[v+(255&(e|=0))>>0]))<8?0|r:(0|(r=0|le[v+(e>>8&255)>>0]))<8?r+8|0:(0|(r=0|le[v+(e>>16&255)>>0]))<8?r+16|0:24+(0|le[v+(e>>>24)>>0])|0}function we(e,r,t,n){t|=0,n|=0;var i=0;(0|de[(r|=0)+4>>2])==(0|t)&&1!=(0|de[(i=r+28|0)>>2])&&(de[i>>2]=n)}function ke(e,r,t){if(t|=0,!(0==(0|(e|=0))&0==(0|(r|=0))))for(;le[(t=t+-1|0)>>0]=7&e|48,!(0==(0|(e=0|Le(0|e,0|r,3)))&0==(0|(r=k))););return 0|t}function Ne(e,r,t,n){var i,a;return _e=(a=_e)+16|0,H(e|=0,r|=0,t|=0,n|=0,i=0|a),_e=a,0|(k=0|de[i+4>>2],0|de[i>>2])}function Pe(e){var r=0;return(e|=0)?0|(1==(0|(e=3&(r=0|de[e+-4>>2])))?0:(-8&r)-(0==(0|e)?8:4)|0):0}function Ce(e,r,t){e|=0,r|=0,t|=0;var n,i,a,o,u;return _e=(n=_e)+16|0,de[(i=n)>>2]=t,t=0|(a=e,o=r,u=i,0|function(e,r,t,n){e|=0,r|=0,t|=0,n|=0;var i,a,o=0,u=0,f=0,c=0,s=0;for(_e=(a=_e)+128|0,o=a+124|0,f=604,i=(u=s=a)+124|0;de[u>>2]=de[f>>2],f=f+4|0,(0|(u=u+4|0))<(0|i););return 2147483646<(r+-1|0)>>>0?r?(r=0|er(),de[r>>2]=75,r=-1):(e=o,r=1,c=4):c=4,4==(0|c)&&(c=(c=-2-e|0)>>>0<r>>>0?c:r,de[s+48>>2]=c,de[(o=s+20|0)>>2]=e,r=(de[s+44>>2]=e)+c|0,de[(e=s+16|0)>>2]=r,de[s+28>>2]=r,r=0|j(s,t,n),c&&(s=0|de[o>>2],le[s+(((0|s)==(0|de[e>>2]))<<31>>31)>>0]=0)),_e=a,0|r}(a|=0,2147483647,o|=0,u|=0)),_e=n,0|t}function Ie(e,r,t){return e|=0,r|=0,(0|(t|=0))<32?(k=r<<t|(e&(1<<t)-1<<32-t)>>>32-t,e<<t):(k=e<<t-32,0)}function Le(e,r,t){return e|=0,r|=0,(0|(t|=0))<32?(k=r>>>t,e>>>t|(r&(1<<t)-1)<<32-t):r>>>t-32|(k=0)}function De(e,r){e|=0,r|=0;var t;_e=(t=_e)+16|0,de[t>>2]=r,j(r=0|de[26],e,t),function(e,r){var t,n=0,i=0,a=0,o=0;n=t=255&(e|=0),de[76+(r|=0)>>2],o=3;do{if(3==(0|o)){if((0|n)!=(0|le[r+75>>0])&&(a=0|de[(i=r+20|0)>>2])>>>0<(0|de[r+16>>2])>>>0){de[i>>2]=a+1,le[a>>0]=t;break}n=0|fe(r,e)}}while(0)}(10,r),g()}function xe(e,r,t,n){return 0|(k=n=(r|=0)-(n|=0)-((e|=0)>>>0<(t|=0)>>>0|0)>>>0,e-t>>>0|0)}function Fe(e){e=+e;var r;return w[h>>3]=e,r=0|de[h>>2],k=0|de[h+4>>2],0|r}function Ue(e,r,t,n){return 0|(k=(r|=0)+(n|=0)+((t=(e|=0)+(t|=0)>>>0)>>>0<e>>>0|0)>>>0,0|t)}function He(e){var r=0;return 4294963200<(e|=0)>>>0&&(r=0|er(),de[r>>2]=0-e,e=-1),0|e}function Ye(e,r){r|=0;var t,n,i,a,o,u;return t=0|function(e){var r,t=0,n=0;r=e|=0;e:do{if(3&r)for(t=r;;){if(!(0|le[e>>0])){e=t;break e}if(!(3&(t=e=e+1|0))){n=4;break}}else n=4}while(0);if(4==(0|n)){for(;!((-2139062144&(t=0|de[e>>2])^-2139062144)&t+-16843009);)e=e+4|0;if((255&t)<<24>>24)for(;0!=(0|le[(e=e+1|0)>>0]););}return e-r|0}(e|=0),((0|(n=e,i=1,a=t,o=r,n|=0,o|=0,u=0|ie(a|=0,i|=0),a=0==(0|i)?0:a,(0|(de[o+76>>2],n=0|te(n,u,o)))!=(0|u)&&(a=(n>>>0)/(i>>>0)|0),0|a))!=(0|t))<<31>>31|0}function $e(e,r,t){r|=0,t|=0,32&de[(e|=0)>>2]||te(r,t,e)}function Be(e){e|=0;var r;return r=188+(0|rr())|0,0|se(e,0|de[r>>2])}function Xe(e,r){return r|=0,0|(e=(e|=0)?0|function(e,r,t){e|=0,r|=0,t|=0;do{if(e){if(r>>>0<128){le[e>>0]=r,e=1;break}if(t=188+(0|rr())|0,!(0|de[de[t>>2]>>2])){if(57216==(-128&r|0)){le[e>>0]=r,e=1;break}e=0|er(),de[e>>2]=84,e=-1;break}if(r>>>0<2048){le[e>>0]=r>>>6|192,le[e+1>>0]=63&r|128,e=2;break}if(r>>>0<55296|57344==(-8192&r|0)){le[e>>0]=r>>>12|224,le[e+1>>0]=r>>>6&63|128,le[e+2>>0]=63&r|128,e=3;break}if((r+-65536|0)>>>0<1048576){le[e>>0]=r>>>18|240,le[e+1>>0]=r>>>12&63|128,le[e+2>>0]=r>>>6&63|128,le[e+3>>0]=63&r|128,e=4;break}e=0|er(),de[e>>2]=84,e=-1;break}e=1}while(0);return 0|e}(e,r,0):0)}function Ve(e,r,t){return(0|(e|=0))==(0|(r|=0))|0}function Ge(e,r){r|=0;var t;return t=0|qe(0|(e|=0)),0|(0==(0|r)?e:t)}function Ke(e,r,t,n){return 0|H(e|=0,r|=0,t|=0,n|=0,0)}function qe(e){return(255&(e|=0))<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function je(e,r,t,n,i,a){M(6)}function ze(e,r,t,n,i){M(1)}function We(e){var r;r=e|=0,F(r|=0)}function Je(e,r,t,n){M(7)}function Ze(e,r,t){return M(0),0}function Qe(e,r){return+ +function e(r,t){r=+r,t|=0;var n,i,a=0;switch(w[h>>3]=r,2047&(i=0|Le(0|(a=0|de[h>>2]),0|(n=0|de[h+4>>2]),52))){case 0:a=0!=r?(r=+e(0x10000000000000000*r,t),(0|de[t>>2])-64|0):0,de[t>>2]=a;break;case 2047:break;default:de[t>>2]=(2047&i)-1022,de[h>>2]=a,de[h+4>>2]=-2146435073&n|1071644672,r=+w[h>>3]}return+r}(e=+e,r|=0)}function er(){return 64+(0|rr())|0}function rr(){return 232}function tr(e){}function nr(e){M(2)}function ir(){M(5)}var ar=[Ze,q,function(e,r,t){var n,i,a;return e|=0,r|=0,t|=0,_e=(i=_e)+32|0,n=(a=i)+20|0,de[a>>2]=de[e+60>>2],de[a+4>>2]=0,de[a+8>>2]=r,de[a+12>>2]=n,de[a+16>>2]=t,e=(0|He(0|P(140,0|a)))<0?de[n>>2]=-1:0|de[n>>2],_e=i,0|e},function(e,r,t){r|=0,t|=0;var n,i=0;return _e=(n=_e)+32|0,i=n,de[36+(e|=0)>>2]=1,0==(64&de[e>>2]|0)&&(de[i>>2]=de[e+60>>2],de[i+4>>2]=21523,de[i+8>>2]=n+16,0|b(54,0|i))&&(le[e+75>>0]=-1),i=0|q(e,r,t),_e=n,0|i},function(e,r,t){var n,i;return r|=0,t|=0,K(0|(i=0|de[(n=20+(e|=0)|0)>>2]),0|r,0|(e=t>>>0<(e=(0|de[e+16>>2])-i|0)>>>0?t:e)),de[n>>2]=(0|de[n>>2])+e,0|t},function(e,r,t){t|=0;var n,i,a=0,o=0;if(_e=(i=_e)+64|0,n=i,0|Ve(e|=0,r|=0))r=1;else if(0!=(0|r)&&0!=(0|(o=0|z(r,32,16,0)))){for(a=52+(r=n+4|0)|0;(0|(r=r+4|(de[r>>2]=0)))<(0|a););de[n>>2]=o,de[n+8>>2]=e,de[n+12>>2]=-1,de[n+48>>2]=1,dr[3&de[28+(0|de[o>>2])>>2]](o,n,0|de[t>>2],1),r=1==(0|de[n+24>>2])?(de[t>>2]=de[n+16>>2],1):0}else r=0;return _e=i,0|r},Ze,Ze],or=[ze,function(e,r,t,n,i){e|=0,r|=0,t|=0,n|=0;var a=0;do{if(0|Ve(e,0|de[r+8>>2]))we(0,r,t,n);else if(0|Ve(e,0|de[r>>2])){if(e=r+32|0,(0|de[r+16>>2])!=(0|t)&&(0|de[(a=r+20|0)>>2])!=(0|t)){de[e>>2]=n,de[a>>2]=t,de[(n=r+40|0)>>2]=1+(0|de[n>>2]),1==(0|de[r+36>>2])&&2==(0|de[r+24>>2])&&(le[r+54>>0]=1),de[r+44>>2]=4;break}1==(0|n)&&(de[e>>2]=1)}}while(0)},function(e,r,t,n,i){e|=0,r|=0,t|=0,n|=0,i|=0;var a=0,o=0,u=0,f=0;do{if(0|Ve(e,0|de[r+8>>2]))we(0,r,t,n);else{if(a=e+8|0,!(0|Ve(e,0|de[r>>2]))){u=0|de[a>>2],or[3&de[24+(0|de[u>>2])>>2]](u,r,t,n,i);break}if(e=r+32|0,(0|de[r+16>>2])!=(0|t)&&(0|de[(o=r+20|0)>>2])!=(0|t)){if(de[e>>2]=n,4==(0|de[(n=r+44|0)>>2]))break;le[(e=r+52|0)>>0]=0,a=(le[(f=r+53|0)>>0]=0)|de[a>>2],lr[3&de[20+(0|de[a>>2])>>2]](a,r,t,t,1,i),0|le[f>>0]?0|le[e>>0]?e=3:(e=3,u=11):(e=4,u=11),11==(0|u)&&(de[o>>2]=t,de[(f=r+40|0)>>2]=1+(0|de[f>>2]),1==(0|de[r+36>>2])&&2==(0|de[r+24>>2])&&(le[r+54>>0]=1)),de[n>>2]=e;break}1==(0|n)&&(de[e>>2]=1)}}while(0)},ze],ur=[nr,tr,We,tr,tr,We,function(e){var r;_e=(r=_e)+16|0,F(e|=0),0|p(0|de[1285],0)?De(4406,r):_e=r},nr],fr=[function(e){return M(3),0},function(e){var r,t,n;return _e=(r=_e)+16|0,t=r,e=0|(n=0|de[60+(e|=0)>>2],0|(n|=0)),de[t>>2]=e,e=0|He(0|S(6,0|t)),_e=r,0|e}],cr=[function(e,r,t){M(4)}],sr=[ir,function(){var e,r,t,n=0,i=0,a=0,o=0,u=0;_e=(o=_e)+48|0,t=o+32|0,e=o+24|0,u=o+16|0,o=(r=o)+36|0,0|(n=0|(f=0,c=0,_e=(f=_e)+16|0,0|y(5136,2)?(De(4307,f),0):(c=0|A(0|de[1285]),_e=f,0|c)))&&0|(a=0|de[n>>2])&&(1126902528==(-256&(i=0|de[(n=a+48|0)>>2])|0)&1129074247==(0|(n=0|de[n+4>>2]))||(de[e>>2]=4168,De(4118,e)),n=1126902529==(0|i)&1129074247==(0|n)?0|de[a+44>>2]:a+80|0,de[o>>2]=n,a=0|de[a>>2],n=0|de[a+4>>2],0|ar[7&de[16+(0|de[2])>>2]](8,a,o)?(u=0|de[o>>2],u=0|fr[1&de[8+(0|de[u>>2])>>2]](u),de[r>>2]=4168,de[r+4>>2]=n,de[r+8>>2]=u,De(4032,r)):(de[u>>2]=4168,de[u+4>>2]=n,De(4077,u))),De(4156,t);var f,c},function(){var e;_e=(e=_e)+16|0,0|N(5140,6)?De(4356,e):_e=e},ir],lr=[je,function(e,r,t,n,i,a){t|=0,n|=0,i|=0,0|Ve(e|=0,0|de[8+(r|=0)>>2])&&ue(0,r,t,n,i)},function(e,r,t,n,i,a){t|=0,n|=0,i|=0,a|=0,0|Ve(e|=0,0|de[8+(r|=0)>>2])?ue(0,r,t,n,i):(e=0|de[e+8>>2],lr[3&de[20+(0|de[e>>2])>>2]](e,r,t,n,i,a))},je],dr=[Je,function(e,r,t,n){t|=0,n|=0,0|Ve(e|=0,0|de[8+(r|=0)>>2])&&me(0,r,t,n)},function(e,r,t,n){t|=0,n|=0,0|Ve(e|=0,0|de[8+(r|=0)>>2])?me(0,r,t,n):(e=0|de[e+8>>2],dr[3&de[28+(0|de[e>>2])>>2]](e,r,t,n))},Je];return{stackSave:function(){return 0|_e},_i64Subtract:xe,_crn_get_bytes_per_block:function(e,r){e|=0,r|=0;var t,n,i,a=0;switch(_e=(i=_e)+576|0,n=i+40|0,t=i+56|0,de[(a=i)>>2]=40,Z(e,r,a),e=0|de[4+(r=a+32|0)>>2],0|de[r>>2]){case 0:if(!e)return _e=i,0|(a=8);e=14;break;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:e=e?14:13;break;case 9:case 10:if(!e)return _e=i,0|(a=8);e=14;break;default:e=14}return 13==(0|e)?(_e=i,0|(a=16)):14==(0|e)?(de[n>>2]=866,de[n+4>>2]=2672,de[n+8>>2]=1251,Ce(t,812,n),Ae(t),_e=i,(a=0)|a):0},setThrew:function(e,r){},dynCall_viii:function(e,r,t,n){r|=0,t|=0,n|=0,cr[0&(e|=0)](0|r,0|t,0|n)},_bitshift64Lshr:Le,_bitshift64Shl:Ie,dynCall_viiii:function(e,r,t,n,i){r|=0,t|=0,n|=0,i|=0,dr[3&(e|=0)](0|r,0|t,0|n,0|i)},setTempRet0:function(e){k=e|=0},_crn_decompress:function(e,r,t,n,i,a){e|=0,r|=0,t|=0,n|=0,i|=0,a|=0;var o,u,f,c,s=0,l=0,d=0,h=0,v=0;switch(_e=(c=_e)+592|0,f=c+56|0,d=c+40|0,o=c+72|0,u=(v=c)+68|0,de[v>>2]=40,Z(e,r,v),s=(0|de[v+4>>2])>>>i,l=(0|de[v+8>>2])>>>i,n=0|de[4+(v=v+32|0)>>2],0|de[v>>2]){case 0:n?h=14:v=8;break;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:h=n?14:13;break;case 9:case 10:n?h=14:v=8;break;default:h=14}13==(0|h)?v=16:14==(0|h)&&(de[d>>2]=866,de[d+4>>2]=2672,de[d+8>>2]=1251,Ce(o,812,d),Ae(o),v=0),de[u>>2]=t,h=0|function(e,r){var t=0,n=0,i=0,a=0,o=0,u=0,f=0,c=0,s=0,l=0,d=0,h=0;if(_e=(d=_e)+528|0,u=(s=d)+16|0,0==(0|(e|=0))|(r|=0)>>>0<62)return _e=d,(h=0)|h;if(!(f=0|ae(300,0)))return _e=d,(h=0)|h;for(de[f>>2]=519686845,de[f+4>>2]=0,de[f+8>>2]=0,c=f+88|0,t=f+136|0,n=f+160|0,i=f+184|0,a=f+208|0,o=f+232|0,de[(l=f+252|0)>>2]=0,de[l+4>>2]=0,de[l+8>>2]=0,le[l+12>>0]=0,de[(l=f+268|0)>>2]=0,de[l+4>>2]=0,de[l+8>>2]=0,le[l+12>>0]=0,de[(l=f+284|0)>>2]=0,de[l+4>>2]=0,de[l+8>>2]=0,le[l+12>>0]=0,h=(l=c)+44|0;((de[l>>2]=0)|(l=l+4|0))<(0|h););return le[c+44>>0]=0,de[t>>2]=0,de[t+4>>2]=0,de[t+8>>2]=0,de[t+12>>2]=0,de[t+16>>2]=0,le[t+20>>0]=0,de[n>>2]=0,de[n+4>>2]=0,de[n+8>>2]=0,de[n+12>>2]=0,de[n+16>>2]=0,le[n+20>>0]=0,de[i>>2]=0,de[i+4>>2]=0,de[i+8>>2]=0,de[i+12>>2]=0,de[i+16>>2]=0,le[i+20>>0]=0,de[a>>2]=0,de[a+4>>2]=0,de[a+8>>2]=0,de[a+12>>2]=0,de[a+16>>2]=0,le[a+20>>0]=0,de[o>>2]=0,de[o+4>>2]=0,de[o+8>>2]=0,de[o+12>>2]=0,(le[o+16>>0]=0)|function(e,r,t){e|=0;var n=0,i=0;if(!(0==(0|(r|=0))|(t|=0)>>>0<74||18552!=((0|he[r>>0])<<8|0|he[r+1>>0]|0))&&74<=((0|he[r+2>>0])<<8|0|he[r+3>>0])>>>0&&((0|he[r+7>>0])<<16|(0|he[r+6>>0])<<24|(0|he[r+8>>0])<<8|0|he[r+9>>0])>>>0<=t>>>0){if(de[(n=e+88|0)>>2]=r,de[e+4>>2]=r,de[e+8>>2]=t,!(0|function(e){var r=0,t=0,n=0,i=0;if(i=92+(e|=0)|0,t=0|de[(n=e+88|0)>>2],r=(0|de[e+4>>2])+((0|he[t+68>>0])<<8|(0|he[t+67>>0])<<16|0|he[t+69>>0])|0,!(t=(0|he[t+65>>0])<<8|0|he[t+66>>0]))return(i=0)|i;if(de[i>>2]=r,de[e+96>>2]=r,de[e+104>>2]=t,de[e+100>>2]=r+t,de[e+108>>2]=0,!((de[e+112>>2]=0)|X(i,e+116|0)))return(i=0)|i;r=0|de[n>>2];do{if((0|he[r+39>>0])<<8|0|he[r+40>>0]){if(!(0|X(i,e+140|0)))return(i=0)|i;if(0|X(i,e+188|0)){r=0|de[n>>2];break}return(i=0)|i}if(!((0|he[r+55>>0])<<8|0|he[r+56>>0]))return(i=0)|i}while(0);if((0|he[r+55>>0])<<8|0|he[r+56>>0]|0){if(!(0|X(i,e+164|0)))return(i=0)|i;if(!(0|X(i,e+212|0)))return(i=0)|i}return 0|(i=1)}(e)))return(i=0)|i;if(r=0|de[n>>2],(0|he[r+39>>0])<<8|0|he[r+40>>0]?0|function(e){var r=0,t=0,n=0,i=0,a=0,o=0,u=0,f=0,c=0,s=0,l=0,d=0,h=0;if(_e=(h=_e)+576|0,i=(o=h)+64|0,d=h+16|0,r=0|de[(n=88+(e|=0)|0)>>2],l=(0|he[r+39>>0])<<8|0|he[r+40>>0],c=e+236|0,(0|(t=0|de[(a=e+240|0)>>2]))!=(0|l)){if(t>>>0<=l>>>0){do{if((0|de[e+244>>2])>>>0<l>>>0){if(0|V(c,l,(t+1|0)==(0|l),4,0)){r=0|de[a>>2];break}return le[e+248>>0]=1,_e=h,(d=0)|d}r=t}while(0);oe((0|de[c>>2])+(r<<2)|0,0,l-r<<2|0),r=0|de[n>>2]}de[a>>2]=l}if(s=e+92|0,t=(0|de[e+4>>2])+((0|he[r+34>>0])<<8|(0|he[r+33>>0])<<16|0|he[r+35>>0])|0,!(r=(0|he[r+37>>0])<<8|(0|he[r+36>>0])<<16|0|he[r+38>>0]))return _e=h,(d=0)|d;if(de[s>>2]=t,de[e+96>>2]=t,de[e+104>>2]=r,de[e+100>>2]=t+r,de[e+108>>2]=0,de[e+112>>2]=0,u=d+20|0,de[d>>2]=0,de[d+4>>2]=0,de[d+8>>2]=0,de[d+12>>2]=0,le[d+16>>0]=0,f=d+24|0,de[d+44>>2]=0,de[u>>2]=0,de[u+4>>2]=0,de[u+8>>2]=0,de[u+12>>2]=0,de[u+16>>2]=0,(le[u+20>>0]=0)|X(s,d)&&0|X(s,f))if(0|de[a>>2]||(de[o>>2]=866,de[o+4>>2]=910,de[o+8>>2]=1497,Ce(i,812,o),Ae(i)),l)for(t=(u=o=0)|de[c>>2],a=i=r=e=n=0;;){if(o=(0|Me(s,d))+o&31,a=(0|Me(s,f))+a&63,i=(0|Me(s,d))+i&31,r=(0|Me(s,d))+r|0,e=(0|Me(s,f))+e&63,n=(0|Me(s,d))+n&31,de[t>>2]=a<<5|o<<11|i|r<<27|e<<21|n<<16,l>>>0<=(u=u+1|0)>>>0){r=1;break}t=t+4|0,r&=31}else r=1;else r=0;return ne(d+24|0),ne(d),_e=h,0|(d=r)}(e)&&0|function(e){var r,t,n,i,a,o,u=0,f=0,c=0,s=0,l=0,d=0,h=0,v=0,_=0,M=0,E=0,T=0,m=0,A=0,b=0,p=0,S=0,O=0,g=0,y=0,R=0,w=0,k=0,N=0,P=0,C=0,I=0,L=0,D=0,x=0,F=0,U=0,H=0;if(_e=(o=_e)+1008|0,l=(d=o)+496|0,g=o+472|0,n=o+276|0,i=o+80|0,a=o+16|0,f=0|de[88+(e|=0)>>2],r=(0|he[f+47>>0])<<8|0|he[f+48>>0],t=e+92|0,u=(0|de[e+4>>2])+((0|he[f+42>>0])<<8|(0|he[f+41>>0])<<16|0|he[f+43>>0])|0,!(f=(0|he[f+45>>0])<<8|(0|he[f+44>>0])<<16|0|he[f+46>>0]))return _e=o,(g=0)|g;if(de[t>>2]=u,de[e+96>>2]=u,de[e+104>>2]=f,de[e+100>>2]=u+f,de[e+108>>2]=0,de[e+112>>2]=0,de[g+20>>2]=0,de[g>>2]=0,de[g+4>>2]=0,de[g+8>>2]=0,de[g+12>>2]=0,(le[g+16>>0]=0)|X(t,g)){for(u=0,c=f=-3;de[n+(u<<2)>>2]=c,de[i+(u<<2)>>2]=f,s=2<(0|c),49!=(0|(u=u+1|0));)f=(1&s)+f|0,c=s?-3:c+1|0;for(f=(u=a)+64|0;(0|(u=u+4|(de[u>>2]=0)))<(0|f););c=e+252|0,u=0|de[(f=e+256|0)>>2];e:do{if((0|u)==(0|r))h=13;else{if(u>>>0<=r>>>0){do{if((0|de[e+260>>2])>>>0<r>>>0){if(0|V(c,r,(u+1|0)==(0|r),4,0)){u=0|de[f>>2];break}le[e+264>>0]=1,u=0;break e}}while(0);oe((0|de[c>>2])+(u<<2)|0,0,r-u<<2|0)}de[f>>2]=r,h=13}}while(0);do{if(13==(0|h)){if(!r){de[d>>2]=866,de[d+4>>2]=910,de[d+8>>2]=1497,Ce(l,812,d),Ae(l),u=1;break}for(e=a+4|0,l=a+8|0,d=a+12|0,h=a+16|0,v=a+20|0,_=a+24|0,M=a+28|0,E=a+32|0,T=a+36|0,m=a+40|0,A=a+44|0,b=a+48|0,p=a+52|0,S=a+56|0,O=a+60|0,u=(s=0)|de[c>>2],f=0|de[e>>2],c=0|de[a>>2];U=0|Me(t,g),c=c+(0|de[n+(U<<2)>>2])&3,f=f+(0|de[i+(U<<2)>>2])&3,U=0|Me(t,g),H=(0|de[l>>2])+(0|de[n+(U<<2)>>2])&3,de[l>>2]=H,U=(0|de[d>>2])+(0|de[i+(U<<2)>>2])&3,de[d>>2]=U,x=0|Me(t,g),F=(0|de[h>>2])+(0|de[n+(x<<2)>>2])&3,de[h>>2]=F,x=(0|de[v>>2])+(0|de[i+(x<<2)>>2])&3,de[v>>2]=x,L=0|Me(t,g),D=(0|de[_>>2])+(0|de[n+(L<<2)>>2])&3,de[_>>2]=D,L=(0|de[M>>2])+(0|de[i+(L<<2)>>2])&3,de[M>>2]=L,C=0|Me(t,g),I=(0|de[E>>2])+(0|de[n+(C<<2)>>2])&3,de[E>>2]=I,C=(0|de[T>>2])+(0|de[i+(C<<2)>>2])&3,de[T>>2]=C,N=0|Me(t,g),P=(0|de[m>>2])+(0|de[n+(N<<2)>>2])&3,de[m>>2]=P,N=(0|de[A>>2])+(0|de[i+(N<<2)>>2])&3,de[A>>2]=N,w=0|Me(t,g),k=(0|de[b>>2])+(0|de[n+(w<<2)>>2])&3,de[b>>2]=k,w=(0|de[p>>2])+(0|de[i+(w<<2)>>2])&3,de[p>>2]=w,y=0|Me(t,g),R=(0|de[S>>2])+(0|de[n+(y<<2)>>2])&3,de[S>>2]=R,y=(0|de[O>>2])+(0|de[i+(y<<2)>>2])&3,de[O>>2]=y,de[u>>2]=(0|he[1441+f>>0])<<2|0|he[1441+c>>0]|(0|he[1441+H>>0])<<4|(0|he[1441+U>>0])<<6|(0|he[1441+F>>0])<<8|(0|he[1441+x>>0])<<10|(0|he[1441+D>>0])<<12|(0|he[1441+L>>0])<<14|(0|he[1441+I>>0])<<16|(0|he[1441+C>>0])<<18|(0|he[1441+P>>0])<<20|(0|he[1441+N>>0])<<22|(0|he[1441+k>>0])<<24|(0|he[1441+w>>0])<<26|(0|he[1441+R>>0])<<28|(0|he[1441+y>>0])<<30,!(r>>>0<=(s=s+1|0)>>>0);)u=u+4|0;de[a>>2]=c,de[e>>2]=f,u=1}}while(0)}else u=0;return ne(g),_e=o,0|(H=u)}(e)&&(r=0|de[n>>2],i=11):i=11,11==(0|i)){if(!((0|he[r+55>>0])<<8|0|he[r+56>>0]))return 0|(i=1);if(0|function(e){var r=0,t=0,n=0,i=0,a=0,o=0,u=0,f=0,c=0;if(_e=(c=_e)+560|0,n=(i=c)+40|0,f=c+16|0,t=0|de[88+(e|=0)>>2],o=(0|he[t+55>>0])<<8|0|he[t+56>>0],u=e+92|0,r=(0|de[e+4>>2])+((0|he[t+50>>0])<<8|(0|he[t+49>>0])<<16|0|he[t+51>>0])|0,!(t=(0|he[t+53>>0])<<8|(0|he[t+52>>0])<<16|0|he[t+54>>0]))return _e=c,(f=0)|f;de[u>>2]=r,de[e+96>>2]=r,de[e+104>>2]=t,de[e+100>>2]=r+t,de[e+108>>2]=0,de[e+112>>2]=0,de[f+20>>2]=0,de[f>>2]=0,de[f+4>>2]=0,de[f+8>>2]=0,de[f+12>>2]=0,le[f+16>>0]=0;e:do{if(0|X(u,f)){if(a=e+268|0,(0|(r=0|de[(t=e+272|0)>>2]))!=(0|o)){if(r>>>0<=o>>>0){do{if((0|de[e+276>>2])>>>0<o>>>0){if(0|V(a,o,(r+1|0)==(0|o),2,0)){r=0|de[t>>2];break}le[e+280>>0]=1,r=0;break e}}while(0);oe((0|de[a>>2])+(r<<1)|0,0,o-r<<1|0)}de[t>>2]=o}if(!o){de[i>>2]=866,de[i+4>>2]=910,de[i+8>>2]=1497,Ce(n,812,i),Ae(n),r=1;break}for(r=(n=e=t=0)|de[a>>2];;){if(a=0|Me(u,f),n=a+n&255,e=(0|Me(u,f))+e&255,B[r>>1]=e<<8|n,o>>>0<=(t=t+1|0)>>>0){r=1;break}r=r+2|0}}else r=0}while(0);return ne(f),_e=c,0|(f=r)}(e)&&0|function(e){var r,t,n,i,a,o,u=0,f=0,c=0,s=0,l=0,d=0,h=0,v=0,_=0,M=0,E=0,T=0,m=0,A=0,b=0,p=0,S=0,O=0,g=0,y=0,R=0,w=0,k=0,N=0,P=0,C=0,I=0,L=0,D=0,x=0,F=0,U=0,H=0,Y=0,$=0;if(_e=(o=_e)+2416|0,l=(d=o)+1904|0,H=o+1880|0,n=o+980|0,i=o+80|0,a=o+16|0,f=0|de[88+(e|=0)>>2],r=(0|he[f+63>>0])<<8|0|he[f+64>>0],t=e+92|0,u=(0|de[e+4>>2])+((0|he[f+58>>0])<<8|(0|he[f+57>>0])<<16|0|he[f+59>>0])|0,!(f=(0|he[f+61>>0])<<8|(0|he[f+60>>0])<<16|0|he[f+62>>0]))return _e=o,(H=0)|H;if(de[t>>2]=u,de[e+96>>2]=u,de[e+104>>2]=f,de[e+100>>2]=u+f,de[e+108>>2]=0,de[e+112>>2]=0,de[H+20>>2]=0,de[H>>2]=0,de[H+4>>2]=0,de[H+8>>2]=0,de[H+12>>2]=0,(le[H+16>>0]=0)|X(t,H)){for(u=0,c=f=-7;de[n+(u<<2)>>2]=c,de[i+(u<<2)>>2]=f,s=6<(0|c),225!=(0|(u=u+1|0));)f=(1&s)+f|0,c=s?-7:c+1|0;for(f=(u=a)+64|0;(0|(u=u+4|(de[u>>2]=0)))<(0|f););s=e+284|0,f=3*r|0,u=0|de[(c=e+288|0)>>2];e:do{if((0|u)==(0|f))h=13;else{if(u>>>0<=f>>>0){do{if((0|de[e+292>>2])>>>0<f>>>0){if(0|V(s,f,(u+1|0)==(0|f),2,0)){u=0|de[c>>2];break}le[e+296>>0]=1,u=0;break e}}while(0);oe((0|de[s>>2])+(u<<1)|0,0,f-u<<1|0)}de[c>>2]=f,h=13}}while(0);do{if(13==(0|h)){if(!r){de[d>>2]=866,de[d+4>>2]=910,de[d+8>>2]=1497,Ce(l,812,d),Ae(l),u=1;break}for(O=a+4|0,g=a+8|0,y=a+12|0,R=a+16|0,w=a+20|0,k=a+24|0,N=a+28|0,P=a+32|0,C=a+36|0,I=a+40|0,L=a+44|0,D=a+48|0,x=a+52|0,F=a+56|0,U=a+60|0,u=(S=0)|de[s>>2],f=0|de[a>>2],c=0|de[O>>2],s=0|de[g>>2],e=0|de[y>>2],l=0|de[R>>2],d=0|de[w>>2],h=0|de[k>>2],v=0|de[N>>2],_=0|de[P>>2],M=0|de[C>>2],E=0|de[I>>2],T=0|de[L>>2],p=b=A=m=0;$=0|Me(t,H),f=f+(0|de[n+($<<2)>>2])&7,c=c+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),s=s+(0|de[n+($<<2)>>2])&7,e=e+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),l=l+(0|de[n+($<<2)>>2])&7,d=d+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),h=h+(0|de[n+($<<2)>>2])&7,v=v+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),_=_+(0|de[n+($<<2)>>2])&7,M=M+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),E=E+(0|de[n+($<<2)>>2])&7,T=T+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),m=m+(0|de[n+($<<2)>>2])&7,A=A+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),b=b+(0|de[n+($<<2)>>2])&7,p=p+(0|de[i+($<<2)>>2])&7,$=0|he[1445+d>>0],B[u>>1]=(0|he[1445+c>>0])<<3|0|he[1445+f>>0]|(0|he[1445+s>>0])<<6|(0|he[1445+e>>0])<<9|(0|he[1445+l>>0])<<12|$<<15,Y=0|he[1445+E>>0],B[u+2>>1]=(0|he[1445+h>>0])<<2|$>>>1|(0|he[1445+v>>0])<<5|(0|he[1445+_>>0])<<8|(0|he[1445+M>>0])<<11|Y<<14,B[u+4>>1]=(0|he[1445+T>>0])<<1|Y>>>2|(0|he[1445+m>>0])<<4|(0|he[1445+A>>0])<<7|(0|he[1445+b>>0])<<10|(0|he[1445+p>>0])<<13,!(r>>>0<=(S=S+1|0)>>>0);)u=u+6|0;de[a>>2]=f,de[O>>2]=c,de[g>>2]=s,de[y>>2]=e,de[R>>2]=l,de[w>>2]=d,de[k>>2]=h,de[N>>2]=v,de[P>>2]=_,de[C>>2]=M,de[I>>2]=E,de[L>>2]=T,de[D>>2]=m,de[x>>2]=A,de[F>>2]=b,de[U>>2]=p,u=1}}while(0)}else u=0;return ne(H),_e=o,0|($=u)}(e))return 0|(i=1)}return(i=0)|i}return de[e+88>>2]=0,(i=0)|i}(f,e,r)?(_e=d,0|(h=f)):(Y(f),7&f?(de[s>>2]=866,de[s+4>>2]=2506,de[s+8>>2]=1232,Ce(u,812,s),Ae(u)):ce(f,0,0,1,0),_e=d,(h=0)|h)}(e,r),r=a+i|0;do{if(i>>>0<r>>>0){if(!h){for(n=t;n=n+(0|ie(0|ie((s+3|0)>>>2,v),(l+3|0)>>>2))|0,(0|(i=i+1|0))!=(0|r);)l>>>=1,s>>>=1;de[u>>2]=n;break}for(e=l,n=t;l=0|ie((s+3|0)>>>2,v),15<i>>>0|(d=0|ie(l,(e+3|0)>>>2))>>>0<8||519686845!=(0|de[h>>2])||(re(h,u,d,l,i),n=0|de[u>>2]),n=n+d|0,de[u>>2]=n,(0|(i=i+1|0))!=(0|r);)e>>>=1,s>>>=1}}while(0);if(h){if(519686845==(0|de[h>>2]))return Y(h),7&h?(de[f>>2]=866,de[f+4>>2]=2506,de[f+8>>2]=1232,Ce(o,812,f),Ae(o)):ce(h,0,0,1,0),void(_e=c);_e=c}else _e=c},_memset:oe,_sbrk:Oe,_memcpy:K,stackAlloc:function(e){var r;return _e=15+(_e=(r=_e)+(e|=0)|0)&-16,0|r},_crn_get_height:function(e,r){var t,n;return e|=0,r|=0,_e=(n=_e)+48|0,de[(t=n)>>2]=40,Z(e,r,t),_e=n,0|de[t+8>>2]},dynCall_vi:function(e,r){r|=0,ur[7&(e|=0)](0|r)},getTempRet0:function(){return 0|k},_crn_get_levels:function(e,r){var t,n;return e|=0,r|=0,_e=(n=_e)+48|0,de[(t=n)>>2]=40,Z(e,r,t),_e=n,0|de[t+12>>2]},_crn_get_uncompressed_size:function(e,r,t){e|=0,r|=0,t|=0;var n,i,a,o,u=0,f=0;switch(_e=(o=_e)+576|0,a=o+40|0,i=o+56|0,de[(f=o)>>2]=40,Z(e,r,f),n=(3+((0|de[f+4>>2])>>>t)|0)>>>2,r=(3+((0|de[f+8>>2])>>>t)|0)>>>2,e=0|de[4+(t=f+32|0)>>2],0|de[t>>2]){case 0:e?u=14:e=8;break;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:u=e?14:13;break;case 9:case 10:e?u=14:e=8;break;default:u=14}return 13==(0|u)?e=16:14==(0|u)&&(de[a>>2]=866,de[a+4>>2]=2672,de[a+8>>2]=1251,Ce(i,812,a),Ae(i),e=0),f=0|ie(0|ie(r,n),e),_e=o,0|f},_i64Add:Ue,dynCall_iiii:function(e,r,t,n){return r|=0,t|=0,n|=0,0|ar[7&(e|=0)](0|r,0|t,0|n)},_emscripten_get_global_libc:function(){return 5072},dynCall_ii:function(e,r){return r|=0,0|fr[1&(e|=0)](0|r)},___udivdi3:Ke,_llvm_bswap_i32:qe,dynCall_viiiii:function(e,r,t,n,i,a){r|=0,t|=0,n|=0,i|=0,a|=0,or[3&(e|=0)](0|r,0|t,0|n,0|i,0|a)},___cxa_can_catch:function(e,r,t){var n,i;return e|=0,r|=0,t|=0,_e=(i=_e)+16|0,de[(n=i)>>2]=de[t>>2],(e=0|ar[7&de[16+(0|de[e>>2])>>2]](e,r,n))&&(de[t>>2]=de[n>>2]),_e=i,1&e|0},_free:F,runPostSets:function(){},dynCall_viiiiii:function(e,r,t,n,i,a,o){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,lr[3&(e|=0)](0|r,0|t,0|n,0|i,0|a,0|o)},establishStackSpace:function(e,r){_e=e|=0,r|=0},___uremdi3:Ne,___cxa_is_pointer_type:function(e){return 1&(e=(e|=0)?0!=(0|z(e,32,88,0)):0)|0},stackRestore:function(e){_e=e|=0},_malloc:I,_emscripten_replace_memory:function(e){return!(16777215&l(e)||l(e)<=16777215||2147483648<l(e)||(le=new n(e),B=new i(e),de=new a(e),he=new o(e),ve=new u(e),new f(e),new c(e),w=new s(e),t=e,0))},dynCall_v:function(e){sr[3&(e|=0)]()},_crn_get_width:function(e,r){var t,n;return e|=0,r|=0,_e=(n=_e)+48|0,de[(t=n)>>2]=40,Z(e,r,t),_e=n,0|de[t+4>>2]},_crn_get_dxt_format:function(e,r){var t,n;return e|=0,r|=0,_e=(n=_e)+48|0,de[(t=n)>>2]=40,Z(e,r,t),_e=n,0|de[t+32>>2]}}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),stackSave=Module.stackSave=asm.stackSave,getTempRet0=Module.getTempRet0=asm.getTempRet0,_memset=Module._memset=asm._memset,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,setTempRet0=Module.setTempRet0=asm.setTempRet0,_crn_decompress=Module._crn_decompress=asm._crn_decompress,_crn_get_bytes_per_block=Module._crn_get_bytes_per_block=asm._crn_get_bytes_per_block,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,_crn_get_height=Module._crn_get_height=asm._crn_get_height,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_crn_get_levels=Module._crn_get_levels=asm._crn_get_levels,_crn_get_uncompressed_size=Module._crn_get_uncompressed_size=asm._crn_get_uncompressed_size,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,___udivdi3=Module.___udivdi3=asm.___udivdi3,_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,___cxa_can_catch=Module.___cxa_can_catch=asm.___cxa_can_catch,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,___uremdi3=Module.___uremdi3=asm.___uremdi3,___cxa_is_pointer_type=Module.___cxa_is_pointer_type=asm.___cxa_is_pointer_type,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,_emscripten_replace_memory=Module._emscripten_replace_memory=asm._emscripten_replace_memory,_crn_get_width=Module._crn_get_width=asm._crn_get_width,_crn_get_dxt_format=Module._crn_get_dxt_format=asm._crn_get_dxt_format,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function run(e){function r(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,0<runDependencies||(preRun(),0<runDependencies||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),r()},1)):r()))}function exit(e,r){r&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE&&process.exit(e),Module.quit(e,new ExitStatus(e)))}Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus,dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){e=e||[],ensureInitRuntime();var r=e.length+1;function t(){for(var e=0;e<3;e++)n.push(0)}var n=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];t();for(var i=0;i<r-1;i+=1)n.push(allocate(intArrayFromString(e[i]),"i8",ALLOC_NORMAL)),t();n.push(0),n=allocate(n,"i32",ALLOC_NORMAL);try{exit(Module._main(r,n,0),!0)}catch(e){if(e instanceof ExitStatus)return;if("SimulateInfiniteLoop"==e)return void(Module.noExitRuntime=!0);var a=e;e&&"object"==typeof e&&e.stack&&(a=[e,e.stack]),Module.printErr("exception thrown: "+a),Module.quit(1,e)}},Module.run=Module.run=run,Module.exit=Module.exit=exit;var abortDecorators=[];function abort(r){Module.onAbort&&Module.onAbort(r),r=void 0!==r?(Module.print(r),Module.printErr(r),JSON.stringify(r)):"",ABORT=!0;var t="abort("+r+") at "+stackTrace()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw abortDecorators&&abortDecorators.forEach(function(e){t=e(t,r)}),t}if(Module.abort=Module.abort=abort,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);0<Module.preInit.length;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),Module.noExitRuntime=!0,run();var crunch=Module;function isNil(e){return null==e}function toDegree(e){return e/Math.PI*180}function sign(e){return Math.sign?Math.sign(e):0===(e=+e)||isNaN(e)?Number(e):0<e?1:-1}var extraByteMap=[1,1,1,1,2,2,3,0];function stringFromUTF8Array(e){for(var r=e.length,t="",n=0;n<r;){var i=e[n++];if(128&i){var a=extraByteMap[i>>3&7];if(!(64&i)||!a||r<n+a)return null;for(i&=63>>a;0<a;a-=1){var o=e[n++];if(128!=(192&o))return null;i=i<<6|63&o}}t+=String.fromCharCode(i)}return t}var PixelFormat={RGB_DXT1:33776,RGBA_DXT1:33777,RGBA_DXT3:33778,RGBA_DXT5:33779,RGB_ETC1:36196,RGB_PVRTC_4BPPV1:35840,RGB_PVRTC_2BPPV1:35841,RGBA_PVRTC_4BPPV1:35842,RGBA_PVRTC_2BPPV1:35843,compressedTextureSizeInBytes:function(e,r,t){switch(e){case PixelFormat.RGB_DXT1:case PixelFormat.RGBA_DXT1:case PixelFormat.RGB_ETC1:return Math.floor((r+3)/4)*Math.floor((t+3)/4)*8;case PixelFormat.RGBA_DXT3:case PixelFormat.RGBA_DXT5:return Math.floor((r+3)/4)*Math.floor((t+3)/4)*16;case PixelFormat.RGB_PVRTC_4BPPV1:case PixelFormat.RGBA_PVRTC_4BPPV1:return Math.floor((Math.max(r,8)*Math.max(t,8)*4+7)/8);case PixelFormat.RGB_PVRTC_2BPPV1:case PixelFormat.RGBA_PVRTC_2BPPV1:return Math.floor((Math.max(r,16)*Math.max(t,8)*2+7)/8);default:return 0}}},CRN_FORMAT={cCRNFmtInvalid:-1,cCRNFmtDXT1:0,cCRNFmtDXT3:1,cCRNFmtDXT5:2},DXT_FORMAT_MAP={},dst,dxtData;DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT1]=PixelFormat.RGB_DXT1,DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT3]=PixelFormat.RGBA_DXT3,DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT5]=PixelFormat.RGBA_DXT5;var cachedDstSize=0;function arrayBufferCopy(e,r,t,n){var i,a=t/4,o=n%4,u=new Uint32Array(e.buffer,0,(n-o)/4),f=new Uint32Array(r.buffer);for(i=0;i<u.length;i++)f[a+i]=u[i];for(i=n-o;i<n;i++)r[t+i]=e[i]}function transcodeCRNToDXT(e){var r=e.byteLength,t=new Uint8Array(e),n=crunch._malloc(r);arrayBufferCopy(t,crunch.HEAPU8,n,r);var i=crunch._crn_get_dxt_format(n,r),a=DXT_FORMAT_MAP[i];if(isNil(a))throw new Error("Unsupported compressed format.");var o=crunch._crn_get_levels(n,r),u=crunch._crn_get_width(n,r),f=crunch._crn_get_height(n,r);a!==PixelFormat.RGB_DXT1&&a!==PixelFormat.RGBA_DXT3&&a!==PixelFormat.RGBA_DXT5||(u%4!=0&&(u+=4-u%4),f%4!=0&&(f+=4-f%4));var c,s=0;for(c=0;c<o;++c)s+=PixelFormat.compressedTextureSizeInBytes(a,u>>c,f>>c);cachedDstSize<s&&(isNil(dst)||crunch._free(dst),dst=crunch._malloc(s),dxtData=new Uint8Array(crunch.HEAPU8.buffer,dst,s),cachedDstSize=s),crunch._crn_decompress(n,r,dst,s,0,o),crunch._free(n);var l=PixelFormat.compressedTextureSizeInBytes(a,u,f),d=dxtData.subarray(0,l),h=new Uint8Array(l);return h.set(d,0),{format:a,width:u,height:f,data:h}}var B3DMLoader=function(){function e(e){this.s=e}e.createEmptyB3DM=function(){return{featureTable:null,batchTable:null,gltf:{}}};var r=e.prototype;return r.load=function(t,e){var n=this;return e?this.Y(t,e):h.getArrayBuffer(t,{}).then(function(e){var r=e.data;return n.Y(t,r)})},r.Y=function(e,r){var t=this.$(r,e);if(t.error)return Promise.resolve(t);var n=e.substring(0,e.lastIndexOf("/")),i=new O(n,t.glb,{requestImage:this.s,imageDecoders:{"image/crn":transcodeCRNToDXT}});return i.load().then(function(e){return{transferables:i.transferables,featureTable:t.featureTable,batchTable:t.batchTable,gltf:e}})},r.$=function(e,r){var t,n=new DataView(e),i=n.getUint32(4,!0);if(1!==i){var a="Unsupported b3dm version: "+i+", url:"+r;return console.warn(a),{error:a}}if(n.getUint32(8,!0)!==e.byteLength){var o="Length in b3dm header is inconsistent with b3dm's byte length, url: "+r;return console.warn(o),{error:o}}for(var u=20;u<e.byteLength;){if(1179937895===n.getUint32(u,!0)){t=u;break}u+=4}return{glb:{buffer:e,byteOffset:t}}},r.B=function(){return null},r.X=function(){return null},e}(),scratchN=new Array(3),scratchK=new Array(3),wgs84OneOverRadii=[1/6378137,1/6378137,1/6356752.314245179],wgs84OneOverRadiiSquared=[1/40680631590769,1/40680631590769,1/40408299984661.445],cartesianToCartographicP=new Array(3),cartesianToCartographicN=new Array(3),cartesianToCartographicH=new Array(3);function cartesian3ToDegree(e,r){var t=wgs84OneOverRadiiSquared,n=scaleToGeodeticSurface(cartesianToCartographicP,r,wgs84OneOverRadii,t,.1),i=mul(cartesianToCartographicN,n,t);i=normalizeCartesian(i,i);var a=sub(cartesianToCartographicH,r,n),o=Math.atan2(i[1],i[0]),u=Math.asin(i[2]),f=sign(dot(a,r))*magnitude(a);return e[0]=toDegree(o),e[1]=toDegree(u),e[2]=f,e}var scaleToGeodeticSurfaceIntersection=new Array(3),scaleToGeodeticSurfaceGradient=new Array(3),EPSILON12=1e-12;function scaleToGeodeticSurface(e,r,t,n,i){var a=r[0],o=r[1],u=r[2],f=t[0],c=t[1],s=t[2],l=a*a*f*f,d=o*o*c*c,h=u*u*s*s,v=l+d+h,_=Math.sqrt(1/v),M=scale(scaleToGeodeticSurfaceIntersection,r,_);if(v<i)return isFinite(_)?M:void 0;var E=n[0],T=n[1],m=n[2],A=scaleToGeodeticSurfaceGradient;A[0]=M[0]*E*2,A[1]=M[1]*T*2,A[2]=M[2]*m*2;var b,p,S,O,g,y,R,w=(1-_)*magnitude(r)/(.5*magnitude(A)),k=0;do{k=(b=l*(g=(p=1/(1+(w-=k)*E))*p)+d*(y=(S=1/(1+w*T))*S)+h*(R=(O=1/(1+w*m))*O)-1)/(-2*(l*(g*p)*E+d*(y*S)*T+h*(R*O)*m))}while(Math.abs(b)>EPSILON12);return e[0]=a*p,e[1]=o*S,e[2]=u*O,e}function magnitude(e){return length(e)}function normalizeCartesian(e,r){var t=r[0],n=r[1],i=r[2],a=t*t+n*n+i*i;return 0<a&&(a=Math.sqrt(a),e[0]=r[0]/a,e[1]=r[1]/a,e[2]=r[2]/a),e}var rad=Math.PI/180,metersPerDegree=6378137*Math.PI/180,maxLatitude=85.0511287798,radius=6378137;function project(e,r){var t,n=maxLatitude,i=r[0],a=Math.max(Math.min(n,r[1]),-n);return t=0===a?0:Math.log(Math.tan((90+a)*rad/2))/rad,e[0]=i*metersPerDegree,e[1]=t*metersPerDegree,e}var target=[0,0];function projMeter(e,r,t){return locate(target,e,t,0),project(target,target),target[0]-r[0]}function locate(e,r,t,n){if(!r)return null;if(t||(t=0),n||(n=0),!t&&!n)return e[0]=r[0],e[1]=r[1],e;var i,a,o=toRadian(r[1]);if(0!==n){var u=Math.abs(n);a=wrap(180*(o+=2*Math.sin(u/(2*radius))*(0<n?1:-1))/Math.PI,-90,90)}else a=r[1];if(0!==t){var f=Math.abs(t),c=toRadian(r[0]);i=wrap(180*(c+=2*Math.sqrt(Math.pow(Math.sin(f/(2*radius)),2)/Math.pow(Math.cos(o),2))*(0<t?1:-1))/Math.PI,-180,180)}else i=r[0];return e[0]=i,e[1]=a,e}function toRadian(e){return e*Math.PI/180}function wrap(e,r,t){if(e===t||e===r)return e;var n=t-r;return((e-r)%n+n)%n+r}function iterateMesh(e,r){if(e.scenes&&e.scenes.length)for(var t=0,n=e.scenes.length;t<n;t++)for(var i=e.scenes[t].nodes,a=0,o=i.length;a<o;a++){var u=[],f=i[a];f.matrix&&u.push(f.matrix),iterateNode(f,u,e,r)}}function iterateNode(e,r,t,n){if(r=r.slice(0),e.matrix&&r.push(e.matrix),e.children&&e.children.length)for(var i=0,a=e.children.length;i<a;i++)iterateNode(e.children[i],r,t,n);if(void 0!==e.mesh){var o=e.mesh,u=t.meshes[o];if(u)for(var f=r.slice(0),c=u.primitives,s=0,l=c.length;s<l;s++){var d=c[s];d&&(d.matrices=f,n(d,t))}}}var textDecoder="undefined"!=typeof TextDecoder?new TextDecoder("utf-8"):null,Y_UP_TO_Z_UP=fromRotationTranslation(fromRotationX(.5*Math.PI),[0,0,0]),X_UP_TO_Z_UP=fromRotationTranslation(fromRotationY(.5*-Math.PI),[0,0,0]),supportOffscreenLoad=!1,canvas,ctx;"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof createImageBitmap&&(canvas=new OffscreenCanvas(2,2),ctx=canvas.getContext("2d"),supportOffscreenLoad=!0);var BaseLayerWorker=function(){function e(e,r,t,n){this.id=e,this.options=r,this.b3dmLoader=new B3DMLoader(this.requestImage.bind(this)),this.V=t,this.G={},n()}var r=e.prototype;return r.requestImage=function(e,t){supportOffscreenLoad?fetch(e).then(function(e){return e.blob()}).then(function(e){return createImageBitmap(e)}).then(function(e){canvas.width=e.width,canvas.height=e.height,ctx.drawImage(e,0,0);var r=ctx.getImageData(0,0,canvas.width,canvas.height);t(null,{width:e.width,height:e.height,data:new Uint8Array(r.data)})}):this.V("requestImage",{url:e},null,t)},r.loadTile=function(t,n){var i=this,r=t.url,e=t.arraybuffer;if(e){delete this.G[r];var a=new DataView(e).getUint8(0);if(123===a||32===a){var o=readString(e,0,e.byteLength),u=JSON.parse(o);n(null,u)}else{this.b3dmLoader.load(r,e).then(function(e){if(e.error)n(e);else{var r=e.transferables;i.K(e.gltf),i.convertCoordinates(e.gltf,t.upAxis,t.transform),delete e.transferables,n(null,e,r)}}).catch(function(e){n(e)})}}else{var f=this.options.services[t.rootIdx],c=f.urlParams;c&&(c=(0<r.indexOf("?")?"&":"?")+c);var s=h.getArrayBuffer(r+(c||""),f.ajaxOptions),l=s.xhr;s=s.then(function(e){delete i.G[r],t.arraybuffer=e.data,i.loadTile(t,n)}).catch(function(e){delete i.G[r],n(e)}),this.G[r]=l}},r.K=function(e){if(Array.isArray(e.textures))for(var r=e.textures,t=0;t<r.length;t++){var n=r[t].image&&r[t].image.array;if(n){for(var i=n[0],a=n[1],o=n[2],u=n[3],f=!0,c=4;c<n.length;c+=4)if(n[c]!==i||n[c+1]!==a||n[c+2]!==o||n[c+3]!==u){f=!1;break}f&&(r[t].image.color=[i/255,a/255,o/255,u/255],delete r[t].image.array)}}},r.abortTileLoading=function(e,r){var t=this.G[e.url];t&&t.abort(),delete this.G[e.url],r(null)},r.convertCoordinates=function(t,n,i){var a=this;for(var e in t.meshes)for(var r=t.meshes[e].primitives,o=0;o<r.length;o++){var u=r[o],f=u.attributes;for(var c in f){var s=f[c],l=s.byteStride;if(0<l)f[c].array=convertStrideArr(s.array,s.byteOffset,l,s.itemSize,s.count,s.componentType);else{var d=O.getTypedArrayCtor(s.componentType);f[c].array=new d(s.array.slice().buffer)}}var h=u.indices;if(0<h.byteStride)u.indices.array=convertStrideArr(h.array,h.byteOffset,h.byteStride,h.itemSize,h.count,h.componentType);else{var v=O.getTypedArrayCtor(u.indices.componentType);v!==u.indices.array.constructor&&(u.indices.array=new v(u.indices.array.slice().buffer))}}if(!t.extensions||!t.extensions.CESIUM_RTC){t.extensions=t.extensions||{};var _=1/0,M=-1/0,E=1/0,T=-1/0,m=1/0,A=-1/0;iterateMesh(t,function(e){var r=e.attributes&&e.attributes.POSITION;if(r)if(r.min&&r.max)_>r.min[0]&&(_=r.min[0]),M<r.max[0]&&(M=r.max[0]),E>r.min[1]&&(E=r.min[1]),T<r.max[1]&&(T=r.max[1]),m>r.min[2]&&(m=r.min[2]),A<r.max[2]&&(A=r.max[2]);else for(var t=e.attributes.POSITION.array,n=e.attributes.POSITION.itemSize,i=0,a=t.length;i<a;i+=n)t[i]<_&&(_=t[i]),t[i]>M&&(M=t[i]),t[i+1]<E&&(E=t[i+1]),t[i+1]>T&&(T=t[i+1]),2<n&&(t[i+2]<m&&(m=t[i+2]),t[i+2]>A&&(A=t[i+2]))});var b=[(_+M)/2,(E+T)/2,(m+A)/2];isNaN(b[2])&&(b[2]=0),i&&transformMat4(b,b,i),t.extensions.MAPTALKS_RTC={center:b}}iterateMesh(t,function(e){if(e.attributes&&e.attributes.POSITION){var r=t.extensions.CESIUM_RTC;a.projVertices(e.attributes.POSITION,r,t.extensions.MAPTALKS_RTC,n,i)}})},r.projVertices=function(e,r,t,n,i){n=n&&n.toUpperCase();var a=e.array,o=e.itemSize,u=r&&r.center,f=t&&t.center,c=null;"Y"===n?c=Y_UP_TO_Z_UP:"X"===n&&(c=X_UP_TO_Z_UP);var s,l=[0,0,0,1],d=[0,0,0],h=[0,0],v=[0,0,0],_=u||f;_&&(cartesian3ToDegree(d,_),project(h,d),s=2<_.length?projMeter(d,h,d[2]):0,v[0]=h[0],v[1]=h[1],v[2]=s,r&&(r.projCenter=v),t&&(t.projCenter=v)),c&&(c[5]=c[10]=0);for(var M=0,E=a.length;M<E;M+=o)l[0]=a[M],l[1]=a[M+1],l[2]=2<o?a[M+2]:0,c&&(l=transformMat4(l,l,c)),i&&(l=transformMat4(l,l,i)),u&&add(l,l,u),cartesian3ToDegree(d,l),project(h,d),s=l[2]?projMeter(d,h,d[2]):0,a[M]=h[0]-v[0],a[M+1]=h[1]-v[1],2<o&&(a[M+2]=s-v[2]);return{projCenter:v}},r.onRemove=function(){},e}();function readString(e,r,t){if(textDecoder){var n=new Uint8Array(e,r,t);return textDecoder.decode(n)}return stringFromUTF8Array(new Uint8Array(e,r,t))}function fromRotationX(e){var r=Math.cos(e),t=Math.sin(e),n=[];return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=r,n[5]=t,n[6]=0,n[7]=-t,n[8]=r,n}function fromRotationY(e){var r=Math.cos(e),t=Math.sin(e),n=[];return n[0]=r,n[1]=0,n[2]=-t,n[3]=0,n[4]=1,n[5]=0,n[6]=t,n[7]=0,n[8]=r,n}function fromRotationTranslation(e,r){var t=[];return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function convertStrideArr(e,r,t,n,i,a){for(var o=O.getTypedArrayCtor(a),u=n*o.BYTES_PER_ELEMENT,f=new Uint8Array(i*u),c=0;c<i;c++)for(var s=0;s<u;s++)f[c*u+s]=e[t*c+r+s];return new o(f.buffer)}var callbackId=0,Dispatcher=function(){function e(e){this.workerId=e,this.workers={},this.q={}}var r=e.prototype;return r.addLayer=function(e,r){var t=e.actorId,n=e.mapId,i=e.layerId,a=e.params;if(!this.j(n,i)){var o=this.W(n,i),u=a.options,f=this.send.bind(this,t);this.workers[o]=new BaseLayerWorker(i,u,f,r)}},r.removeLayer=function(e,r){var t=e.mapId,n=e.layerId,i=this.j(t,n),a=this.W(t,n);delete this.workers[a],i&&i.onRemove(r)},r.loadTile=function(e,r){var t=e.mapId,n=e.layerId,i=e.params,a=this.j(t,n);a&&a.loadTile(i,r)},r.abortTileLoading=function(e,r){var t=e.mapId,n=e.layerId,i=e.params,a=this.j(t,n);a&&a.abortTileLoading(i,r)},r.receive=function(e){var r=e.callback,t=this.q[r];delete this.q[r],t&&e.error?t(new Error(e.error)):t&&t(null,e.data)},r.send=function(e,r,t,n,i){var a=i?e+"-"+callbackId++:null;i&&(this.q[a]=i),postMessage({type:"<request>",workerId:this.workerId,actorId:e,command:r,params:t,callback:String(a)},n||[])},r.W=function(e,r){return e+"-"+r},r.j=function(e,r){var t=this.W(e,r);return this.workers[t]},e}(),initialize=function(){},onmessage=function(e,n){var r=e.data;this.dispatcher||(this.dispatcher=new Dispatcher(e.workerId)),"<response>"===e.type?this.dispatcher.workerId===e.workerId&&this.dispatcher.receive(e):this.dispatcher[r.command]({actorId:r.actorId,mapId:r.mapId,layerId:r.layerId,params:r.params},function(e,r,t){n(e,r,t)})};exports.initialize=initialize,exports.onmessage=onmessage,Object.defineProperty(exports,"J",{value:!0})}),define(["exports","maptalks","@maptalks/gl"],function(exports,maptalks,gl){function _inheritsLoose(e,r){e.prototype=Object.create(r.prototype),(e.prototype.constructor=e).__proto__=r}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}for(var planes=[],i=0;i<6;i++)planes[i]=[];function intersectsSphere(e,r,t){setPlanes(e);for(var n=r[0],i=-r[1],a=0;a<6;a++){if(!t||"0"!==t.charAt(a))if(distanceToPoint(planes[a],n)<i)return!1}return!0}var p=[];function intersectsBox(e,r,t){setPlanes(e);for(var n=0;n<6;n++)if(!t||"0"!==t.charAt(n)){var i=planes[n];if(p[0]=0<i[0]?r[1][0]:r[0][0],p[1]=0<i[1]?r[1][1]:r[0][1],p[2]=0<i[2]?r[1][2]:r[0][2],distanceToPoint(i,p)<0)return!1}return!0}function intersectsOrientedBox(e,r,t){setPlanes(e);for(var n=0;n<6;n++){if(!t||"0"!==t.charAt(n))if(!intersectsPlane(planes[n],r))return!1}return!0}var COLUMN0ROW0=0,COLUMN0ROW1=3,COLUMN0ROW2=6,COLUMN1ROW0=1,COLUMN1ROW1=4,COLUMN1ROW2=7,COLUMN2ROW0=2,COLUMN2ROW1=5,COLUMN2ROW2=8;function intersectsPlane(e,r){var t=r.slice(0,3),n=e,i=r.slice(3),a=n[0],o=n[1],u=n[2],f=Math.abs(a*i[COLUMN0ROW0]+o*i[COLUMN0ROW1]+u*i[COLUMN0ROW2])+Math.abs(a*i[COLUMN1ROW0]+o*i[COLUMN1ROW1]+u*i[COLUMN1ROW2])+Math.abs(a*i[COLUMN2ROW0]+o*i[COLUMN2ROW1]+u*i[COLUMN2ROW2]),c=distanceToPoint(e,t);return!(c<=-f)}function setPlanes(e){var r=e,t=r[0],n=r[1],i=r[2],a=r[3],o=r[4],u=r[5],f=r[6],c=r[7],s=r[8],l=r[9],d=r[10],h=r[11],v=r[12],_=r[13],M=r[14],E=r[15];setComponents(planes[0],a-t,c-o,h-s,E-v),setComponents(planes[1],a+t,c+o,h+s,E+v),setComponents(planes[2],a+n,c+u,h+l,E+_),setComponents(planes[3],a-n,c-u,h-l,E-_),setComponents(planes[4],a-i,c-f,h-d,E-M),setComponents(planes[5],a+i,c+f,h+d,E+M)}var normalLength=1/6;function setComponents(e,r,t,n,i){return e[0]=r*normalLength,e[1]=t*normalLength,e[2]=n*normalLength,e[3]=i*normalLength,e}function distanceToPoint(e,r){return e[0]*r[0]+e[1]*r[1]+e[2]*r[2]+e[3]}function isNil(e){return null==e}function extend(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)e[n]=t[n]}return e}function isFunction(e){return null!=e&&("function"==typeof e||null!==e.constructor&&e.constructor===Function)}function toRadian(e){return e*Math.PI/180}function toDegree(e){return e/Math.PI*180}function getAbsoluteURL(e){var r=document.createElement("a");return r.href=e,e=r.href,r=null,e}function sign(e){return Math.sign?Math.sign(e):0===(e=+e)||isNaN(e)?Number(e):0<e?1:-1}var extraByteMap=[1,1,1,1,2,2,3,0];function stringFromUTF8Array(e){for(var r=e.length,t="",n=0;n<r;){var i=e[n++];if(128&i){var a=extraByteMap[i>>3&7];if(!(64&i)||!a||r<n+a)return null;for(i&=63>>a;0<a;a-=1){var o=e[n++];if(128!=(192&o))return null;i=i<<6|63&o}}t+=String.fromCharCode(i)}return t}var Util=Object.freeze({__proto__:null,isNil:isNil,extend:extend,isFunction:isFunction,toRadian:toRadian,toDegree:toDegree,getAbsoluteURL:getAbsoluteURL,sign:sign,stringFromUTF8Array:stringFromUTF8Array}),commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function createCommonjsModule(e,r){return e(r={exports:{}},r.exports),r.exports}var zousanMin=createCommonjsModule(function(e){!function(a){var o,u,f="fulfilled",c="undefined",s=function(){var r=[],t=0;function n(){for(;r.length-t;){try{r[t]()}catch(e){a.console&&a.console.error(e)}r[t++]=u,1024==t&&(r.splice(0,1024),t=0)}}var i=function(){if(typeof MutationObserver===c)return typeof process!==c&&"function"==typeof process.nextTick?function(){process.nextTick(n)}:typeof setImmediate!==c?function(){setImmediate(n)}:function(){setTimeout(n,0)};var e=document.createElement("div");return new MutationObserver(n).observe(e,{attributes:!0}),function(){e.setAttribute("a",0)}}();return function(e){r.push(e),r.length-t==1&&i()}}();function l(e){if(!(this instanceof l))throw new TypeError("Zousan must be created with the new keyword");if("function"==typeof e){var r=this;try{e(function(e){r.resolve(e)},function(e){r.reject(e)})}catch(e){r.reject(e)}}else if(0<arguments.length)throw new TypeError("Zousan resolver "+e+" is not a function")}function d(e,r){if("function"==typeof e.y)try{var t=e.y.call(u,r);e.p.resolve(t)}catch(r){e.p.reject(r)}else e.p.resolve(r)}function h(e,r){if("function"==typeof e.n)try{var t=e.n.call(u,r);e.p.resolve(t)}catch(r){e.p.reject(r)}else e.p.reject(r)}l.prototype={resolve:function(t){if(this.state===o){if(t===this)return this.reject(new TypeError("Attempt to resolve promise with self"));var n=this;if(t&&("function"==typeof t||"object"==typeof t))try{var r=!0,e=t.then;if("function"==typeof e)return void e.call(t,function(e){r&&(r=!1,n.resolve(e))},function(e){r&&(r=!1,n.reject(e))})}catch(e){return void(r&&this.reject(e))}this.state=f,this.v=t,n.c&&s(function(){for(var e=0,r=n.c.length;e<r;e++)d(n.c[e],t)})}},reject:function(t){if(this.state===o){var e=this;this.state="rejected",this.v=t;var n=this.c;s(n?function(){for(var e=0,r=n.length;e<r;e++)h(n[e],t)}:function(){e.handled||!l.suppressUncaughtRejectionError&&a.console&&l.warn("You upset Zousan. Please catch rejections: ",t,t?t.stack:null)})}},then:function(e,r){var t=new l,n={y:e,n:r,p:t};if(this.state===o)this.c?this.c.push(n):this.c=[n];else{var i=this.state,a=this.v;this.handled=!0,s(function(){i===f?d(n,a):h(n,a)})}return t},catch:function(e){return this.then(null,e)},finally:function(e){return this.then(e,e)},timeout:function(e,n){n=n||"Timeout";var i=this;return new l(function(r,t){setTimeout(function(){t(Error(n))},e),i.then(function(e){r(e)},function(e){t(e)})})}},l.resolve=function(e){var r=new l;return r.resolve(e),r},l.reject=function(e){var r=new l;return r.c=[],r.reject(e),r},l.all=function(t){var n=[],i=0,a=new l;function e(e,r){e&&"function"==typeof e.then||(e=l.resolve(e)),e.then(function(e){n[r]=e,++i==t.length&&a.resolve(n)},function(e){a.reject(e)})}for(var r=0;r<t.length;r++)e(t[r],r);return t.length||a.resolve(n),a},l.warn=console.warn,e.exports&&(e.exports=l),a.define&&a.define.amd&&a.define([],function(){return l}),(a.Zousan=l).soon=s}(commonjsGlobal)}),EPSILON=1e-6,ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,RANDOM=Math.random;function create(){var e=new ARRAY_TYPE(9);return ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function create$1(){var e=new ARRAY_TYPE(3);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function clone(e){var r=new ARRAY_TYPE(3);return r[0]=e[0],r[1]=e[1],r[2]=e[2],r}function length(e){var r=e[0],t=e[1],n=e[2];return Math.sqrt(r*r+t*t+n*n)}function fromValues(e,r,t){var n=new ARRAY_TYPE(3);return n[0]=e,n[1]=r,n[2]=t,n}function copy(e,r){return e[0]=r[0],e[1]=r[1],e[2]=r[2],e}function set(e,r,t,n){return e[0]=r,e[1]=t,e[2]=n,e}function add(e,r,t){return e[0]=r[0]+t[0],e[1]=r[1]+t[1],e[2]=r[2]+t[2],e}function subtract(e,r,t){return e[0]=r[0]-t[0],e[1]=r[1]-t[1],e[2]=r[2]-t[2],e}function multiply(e,r,t){return e[0]=r[0]*t[0],e[1]=r[1]*t[1],e[2]=r[2]*t[2],e}function divide(e,r,t){return e[0]=r[0]/t[0],e[1]=r[1]/t[1],e[2]=r[2]/t[2],e}function ceil(e,r){return e[0]=Math.ceil(r[0]),e[1]=Math.ceil(r[1]),e[2]=Math.ceil(r[2]),e}function floor(e,r){return e[0]=Math.floor(r[0]),e[1]=Math.floor(r[1]),e[2]=Math.floor(r[2]),e}function min(e,r,t){return e[0]=Math.min(r[0],t[0]),e[1]=Math.min(r[1],t[1]),e[2]=Math.min(r[2],t[2]),e}function max(e,r,t){return e[0]=Math.max(r[0],t[0]),e[1]=Math.max(r[1],t[1]),e[2]=Math.max(r[2],t[2]),e}function round(e,r){return e[0]=Math.round(r[0]),e[1]=Math.round(r[1]),e[2]=Math.round(r[2]),e}function scale(e,r,t){return e[0]=r[0]*t,e[1]=r[1]*t,e[2]=r[2]*t,e}function scaleAndAdd(e,r,t,n){return e[0]=r[0]+t[0]*n,e[1]=r[1]+t[1]*n,e[2]=r[2]+t[2]*n,e}function distance(e,r){var t=r[0]-e[0],n=r[1]-e[1],i=r[2]-e[2];return Math.sqrt(t*t+n*n+i*i)}function squaredDistance(e,r){var t=r[0]-e[0],n=r[1]-e[1],i=r[2]-e[2];return t*t+n*n+i*i}function squaredLength(e){var r=e[0],t=e[1],n=e[2];return r*r+t*t+n*n}function negate(e,r){return e[0]=-r[0],e[1]=-r[1],e[2]=-r[2],e}function inverse(e,r){return e[0]=1/r[0],e[1]=1/r[1],e[2]=1/r[2],e}function normalize(e,r){var t=r[0],n=r[1],i=r[2],a=t*t+n*n+i*i;return 0<a&&(a=1/Math.sqrt(a),e[0]=r[0]*a,e[1]=r[1]*a,e[2]=r[2]*a),e}function dot(e,r){return e[0]*r[0]+e[1]*r[1]+e[2]*r[2]}function cross(e,r,t){var n=r[0],i=r[1],a=r[2],o=t[0],u=t[1],f=t[2];return e[0]=i*f-a*u,e[1]=a*o-n*f,e[2]=n*u-i*o,e}function lerp(e,r,t,n){var i=r[0],a=r[1],o=r[2];return e[0]=i+n*(t[0]-i),e[1]=a+n*(t[1]-a),e[2]=o+n*(t[2]-o),e}function hermite(e,r,t,n,i,a){var o=a*a,u=o*(2*a-3)+1,f=o*(a-2)+a,c=o*(a-1),s=o*(3-2*a);return e[0]=r[0]*u+t[0]*f+n[0]*c+i[0]*s,e[1]=r[1]*u+t[1]*f+n[1]*c+i[1]*s,e[2]=r[2]*u+t[2]*f+n[2]*c+i[2]*s,e}function bezier(e,r,t,n,i,a){var o=1-a,u=o*o,f=a*a,c=u*o,s=3*a*u,l=3*f*o,d=f*a;return e[0]=r[0]*c+t[0]*s+n[0]*l+i[0]*d,e[1]=r[1]*c+t[1]*s+n[1]*l+i[1]*d,e[2]=r[2]*c+t[2]*s+n[2]*l+i[2]*d,e}function random(e,r){r=r||1;var t=2*RANDOM()*Math.PI,n=2*RANDOM()-1,i=Math.sqrt(1-n*n)*r;return e[0]=Math.cos(t)*i,e[1]=Math.sin(t)*i,e[2]=n*r,e}function transformMat4(e,r,t){var n=r[0],i=r[1],a=r[2],o=t[3]*n+t[7]*i+t[11]*a+t[15];return o=o||1,e[0]=(t[0]*n+t[4]*i+t[8]*a+t[12])/o,e[1]=(t[1]*n+t[5]*i+t[9]*a+t[13])/o,e[2]=(t[2]*n+t[6]*i+t[10]*a+t[14])/o,e}function transformMat3(e,r,t){var n=r[0],i=r[1],a=r[2];return e[0]=n*t[0]+i*t[3]+a*t[6],e[1]=n*t[1]+i*t[4]+a*t[7],e[2]=n*t[2]+i*t[5]+a*t[8],e}function transformQuat(e,r,t){var n=t[0],i=t[1],a=t[2],o=t[3],u=r[0],f=r[1],c=r[2],s=i*c-a*f,l=a*u-n*c,d=n*f-i*u,h=i*d-a*l,v=a*s-n*d,_=n*l-i*s,M=2*o;return s*=M,l*=M,d*=M,h*=2,v*=2,_*=2,e[0]=u+s+h,e[1]=f+l+v,e[2]=c+d+_,e}function rotateX(e,r,t,n){var i=[],a=[];return i[0]=r[0]-t[0],i[1]=r[1]-t[1],i[2]=r[2]-t[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+t[0],e[1]=a[1]+t[1],e[2]=a[2]+t[2],e}function rotateY(e,r,t,n){var i=[],a=[];return i[0]=r[0]-t[0],i[1]=r[1]-t[1],i[2]=r[2]-t[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+t[0],e[1]=a[1]+t[1],e[2]=a[2]+t[2],e}function rotateZ(e,r,t,n){var i=[],a=[];return i[0]=r[0]-t[0],i[1]=r[1]-t[1],i[2]=r[2]-t[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+t[0],e[1]=a[1]+t[1],e[2]=a[2]+t[2],e}function angle(e,r){var t=fromValues(e[0],e[1],e[2]),n=fromValues(r[0],r[1],r[2]);normalize(t,t),normalize(n,n);var i=dot(t,n);return 1<i?0:i<-1?Math.PI:Math.acos(i)}function str(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"}function exactEquals(e,r){return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]}function equals(e,r){var t=e[0],n=e[1],i=e[2],a=r[0],o=r[1],u=r[2];return Math.abs(t-a)<=EPSILON*Math.max(1,Math.abs(t),Math.abs(a))&&Math.abs(n-o)<=EPSILON*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-u)<=EPSILON*Math.max(1,Math.abs(i),Math.abs(u))}var sub=subtract,mul=multiply,div=divide,dist=distance,sqrDist=squaredDistance,len=length,sqrLen=squaredLength,forEach=(E8=create$1(),function(e,r,t,n,i,a){var o=void 0,u=void 0;for(r||(r=3),t||(t=0),u=n?Math.min(n*r+t,e.length):e.length,o=t;o<u;o+=r)E8[0]=e[o],E8[1]=e[o+1],E8[2]=e[o+2],i(E8,E8,a),e[o]=E8[0],e[o+1]=E8[1],e[o+2]=E8[2];return e}),E8,t=Object.freeze({__proto__:null,create:create$1,clone:clone,length:length,fromValues:fromValues,copy:copy,set:set,add:add,subtract:subtract,multiply:multiply,divide:divide,ceil:ceil,floor:floor,min:min,max:max,round:round,scale:scale,scaleAndAdd:scaleAndAdd,distance:distance,squaredDistance:squaredDistance,squaredLength:squaredLength,negate:negate,inverse:inverse,normalize:normalize,dot:dot,cross:cross,lerp:lerp,hermite:hermite,bezier:bezier,random:random,transformMat4:transformMat4,transformMat3:transformMat3,transformQuat:transformQuat,rotateX:rotateX,rotateY:rotateY,rotateZ:rotateZ,angle:angle,str:str,exactEquals:exactEquals,equals:equals,sub:sub,mul:mul,div:div,dist:dist,sqrDist:sqrDist,len:len,sqrLen:sqrLen,forEach:forEach});function create$2(){var e=new ARRAY_TYPE(4);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function clone$1(e){var r=new ARRAY_TYPE(4);return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}function fromValues$1(e,r,t,n){var i=new ARRAY_TYPE(4);return i[0]=e,i[1]=r,i[2]=t,i[3]=n,i}function copy$1(e,r){return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e}function set$1(e,r,t,n,i){return e[0]=r,e[1]=t,e[2]=n,e[3]=i,e}function add$1(e,r,t){return e[0]=r[0]+t[0],e[1]=r[1]+t[1],e[2]=r[2]+t[2],e[3]=r[3]+t[3],e}function subtract$1(e,r,t){return e[0]=r[0]-t[0],e[1]=r[1]-t[1],e[2]=r[2]-t[2],e[3]=r[3]-t[3],e}function multiply$1(e,r,t){return e[0]=r[0]*t[0],e[1]=r[1]*t[1],e[2]=r[2]*t[2],e[3]=r[3]*t[3],e}function divide$1(e,r,t){return e[0]=r[0]/t[0],e[1]=r[1]/t[1],e[2]=r[2]/t[2],e[3]=r[3]/t[3],e}function ceil$1(e,r){return e[0]=Math.ceil(r[0]),e[1]=Math.ceil(r[1]),e[2]=Math.ceil(r[2]),e[3]=Math.ceil(r[3]),e}function floor$1(e,r){return e[0]=Math.floor(r[0]),e[1]=Math.floor(r[1]),e[2]=Math.floor(r[2]),e[3]=Math.floor(r[3]),e}function min$1(e,r,t){return e[0]=Math.min(r[0],t[0]),e[1]=Math.min(r[1],t[1]),e[2]=Math.min(r[2],t[2]),e[3]=Math.min(r[3],t[3]),e}function max$1(e,r,t){return e[0]=Math.max(r[0],t[0]),e[1]=Math.max(r[1],t[1]),e[2]=Math.max(r[2],t[2]),e[3]=Math.max(r[3],t[3]),e}function round$1(e,r){return e[0]=Math.round(r[0]),e[1]=Math.round(r[1]),e[2]=Math.round(r[2]),e[3]=Math.round(r[3]),e}function scale$1(e,r,t){return e[0]=r[0]*t,e[1]=r[1]*t,e[2]=r[2]*t,e[3]=r[3]*t,e}function scaleAndAdd$1(e,r,t,n){return e[0]=r[0]+t[0]*n,e[1]=r[1]+t[1]*n,e[2]=r[2]+t[2]*n,e[3]=r[3]+t[3]*n,e}function distance$1(e,r){var t=r[0]-e[0],n=r[1]-e[1],i=r[2]-e[2],a=r[3]-e[3];return Math.sqrt(t*t+n*n+i*i+a*a)}function squaredDistance$1(e,r){var t=r[0]-e[0],n=r[1]-e[1],i=r[2]-e[2],a=r[3]-e[3];return t*t+n*n+i*i+a*a}function length$1(e){var r=e[0],t=e[1],n=e[2],i=e[3];return Math.sqrt(r*r+t*t+n*n+i*i)}function squaredLength$1(e){var r=e[0],t=e[1],n=e[2],i=e[3];return r*r+t*t+n*n+i*i}function negate$1(e,r){return e[0]=-r[0],e[1]=-r[1],e[2]=-r[2],e[3]=-r[3],e}function inverse$1(e,r){return e[0]=1/r[0],e[1]=1/r[1],e[2]=1/r[2],e[3]=1/r[3],e}function normalize$1(e,r){var t=r[0],n=r[1],i=r[2],a=r[3],o=t*t+n*n+i*i+a*a;return 0<o&&(o=1/Math.sqrt(o),e[0]=t*o,e[1]=n*o,e[2]=i*o,e[3]=a*o),e}function dot$1(e,r){return e[0]*r[0]+e[1]*r[1]+e[2]*r[2]+e[3]*r[3]}function lerp$1(e,r,t,n){var i=r[0],a=r[1],o=r[2],u=r[3];return e[0]=i+n*(t[0]-i),e[1]=a+n*(t[1]-a),e[2]=o+n*(t[2]-o),e[3]=u+n*(t[3]-u),e}function random$1(e,r){var t,n,i,a,o,u;for(r=r||1;1<=(o=(t=2*RANDOM()-1)*t+(n=2*RANDOM()-1)*n););for(;1<=(u=(i=2*RANDOM()-1)*i+(a=2*RANDOM()-1)*a););var f=Math.sqrt((1-o)/u);return e[0]=r*t,e[1]=r*n,e[2]=r*i*f,e[3]=r*a*f,e}function transformMat4$1(e,r,t){var n=r[0],i=r[1],a=r[2],o=r[3];return e[0]=t[0]*n+t[4]*i+t[8]*a+t[12]*o,e[1]=t[1]*n+t[5]*i+t[9]*a+t[13]*o,e[2]=t[2]*n+t[6]*i+t[10]*a+t[14]*o,e[3]=t[3]*n+t[7]*i+t[11]*a+t[15]*o,e}function transformQuat$1(e,r,t){var n=r[0],i=r[1],a=r[2],o=t[0],u=t[1],f=t[2],c=t[3],s=c*n+u*a-f*i,l=c*i+f*n-o*a,d=c*a+o*i-u*n,h=-o*n-u*i-f*a;return e[0]=s*c+h*-o+l*-f-d*-u,e[1]=l*c+h*-u+d*-o-s*-f,e[2]=d*c+h*-f+s*-u-l*-o,e[3]=r[3],e}function str$1(e){return"vec4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"}function exactEquals$1(e,r){return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]}function equals$1(e,r){var t=e[0],n=e[1],i=e[2],a=e[3],o=r[0],u=r[1],f=r[2],c=r[3];return Math.abs(t-o)<=EPSILON*Math.max(1,Math.abs(t),Math.abs(o))&&Math.abs(n-u)<=EPSILON*Math.max(1,Math.abs(n),Math.abs(u))&&Math.abs(i-f)<=EPSILON*Math.max(1,Math.abs(i),Math.abs(f))&&Math.abs(a-c)<=EPSILON*Math.max(1,Math.abs(a),Math.abs(c))}var sub$1=subtract$1,mul$1=multiply$1,div$1=divide$1,dist$1=distance$1,sqrDist$1=squaredDistance$1,len$1=length$1,sqrLen$1=squaredLength$1,forEach$1=(jba=create$2(),function(e,r,t,n,i,a){var o=void 0,u=void 0;for(r||(r=4),t||(t=0),u=n?Math.min(n*r+t,e.length):e.length,o=t;o<u;o+=r)jba[0]=e[o],jba[1]=e[o+1],jba[2]=e[o+2],jba[3]=e[o+3],i(jba,jba,a),e[o]=jba[0],e[o+1]=jba[1],e[o+2]=jba[2],e[o+3]=jba[3];return e}),jba,r=Object.freeze({__proto__:null,create:create$2,clone:clone$1,fromValues:fromValues$1,copy:copy$1,set:set$1,add:add$1,subtract:subtract$1,multiply:multiply$1,divide:divide$1,ceil:ceil$1,floor:floor$1,min:min$1,max:max$1,round:round$1,scale:scale$1,scaleAndAdd:scaleAndAdd$1,distance:distance$1,squaredDistance:squaredDistance$1,length:length$1,squaredLength:squaredLength$1,negate:negate$1,inverse:inverse$1,normalize:normalize$1,dot:dot$1,lerp:lerp$1,random:random$1,transformMat4:transformMat4$1,transformQuat:transformQuat$1,str:str$1,exactEquals:exactEquals$1,equals:equals$1,sub:sub$1,mul:mul$1,div:div$1,dist:dist$1,sqrDist:sqrDist$1,len:len$1,sqrLen:sqrLen$1,forEach:forEach$1});function create$3(){var e=new ARRAY_TYPE(4);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function setAxisAngle(e,r,t){t*=.5;var n=Math.sin(t);return e[0]=n*r[0],e[1]=n*r[1],e[2]=n*r[2],e[3]=Math.cos(t),e}function slerp(e,r,t,n){var i=r[0],a=r[1],o=r[2],u=r[3],f=t[0],c=t[1],s=t[2],l=t[3],d=void 0,h=void 0,v=void 0,_=void 0,M=void 0;return(h=i*f+a*c+o*s+u*l)<0&&(h=-h,f=-f,c=-c,s=-s,l=-l),M=EPSILON<1-h?(d=Math.acos(h),v=Math.sin(d),_=Math.sin((1-n)*d)/v,Math.sin(n*d)/v):(_=1-n,n),e[0]=_*i+M*f,e[1]=_*a+M*c,e[2]=_*o+M*s,e[3]=_*u+M*l,e}function fromMat3(e,r){var t=r[0]+r[4]+r[8],n=void 0;if(0<t)n=Math.sqrt(t+1),e[3]=.5*n,n=.5/n,e[0]=(r[5]-r[7])*n,e[1]=(r[6]-r[2])*n,e[2]=(r[1]-r[3])*n;else{var i=0;r[4]>r[0]&&(i=1),r[8]>r[3*i+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;n=Math.sqrt(r[3*i+i]-r[3*a+a]-r[3*o+o]+1),e[i]=.5*n,n=.5/n,e[3]=(r[3*a+o]-r[3*o+a])*n,e[a]=(r[3*a+i]+r[3*i+a])*n,e[o]=(r[3*o+i]+r[3*i+o])*n}return e}var copy$2=copy$1,normalize$2=normalize$1,rotationTo=(Vba=create$1(),Wba=fromValues(1,0,0),Xba=fromValues(0,1,0),function(e,r,t){var n=dot(r,t);return n<-.999999?(cross(Vba,Wba,r),len(Vba)<1e-6&&cross(Vba,Xba,r),normalize(Vba,Vba),setAxisAngle(e,Vba,Math.PI),e):.999999<n?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):(cross(Vba,r,t),e[0]=Vba[0],e[1]=Vba[1],e[2]=Vba[2],e[3]=1+n,normalize$2(e,e))}),Vba,Wba,Xba,sqlerp=(aca=create$3(),bca=create$3(),function(e,r,t,n,i,a){return slerp(aca,r,i,a),slerp(bca,t,n,a),slerp(e,aca,bca,2*a*(1-a)),e}),aca,bca,setAxes=(ica=create(),function(e,r,t,n){return ica[0]=t[0],ica[3]=t[1],ica[6]=t[2],ica[1]=n[0],ica[4]=n[1],ica[7]=n[2],ica[2]=-r[0],ica[5]=-r[1],ica[8]=-r[2],normalize$2(e,fromMat3(e,ica))}),ica;function create$4(){var e=new ARRAY_TYPE(2);return ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0),e}var forEach$2=(oca=create$4(),function(e,r,t,n,i,a){var o=void 0,u=void 0;for(r||(r=2),t||(t=0),u=n?Math.min(n*r+t,e.length):e.length,o=t;o<u;o+=r)oca[0]=e[o],oca[1]=e[o+1],i(oca,oca,a),e[o]=oca[0],e[o+1]=oca[1];return e}),oca,n,i$1=n="undefined"!=typeof Promise?Promise:zousanMin;function a(e){return null==e}function o(e){return!a(e)}function u(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)e[n]=t[n]}return e}function f(e){switch(e){case 5120:return Int8Array;case 5121:return Uint8Array;case 5122:return Int16Array;case 5123:return Uint16Array;case 5124:return Int32Array;case 5125:return Uint32Array;case 5126:return Float32Array}throw new Error("unsupported bufferView's component type: "+e)}var h={get:function(r,i){var a=h.e(),e=new i$1(function(t,n){if(a.open("GET",r,!0),i){for(var e in i.headers)a.setRequestHeader(e,i.headers[e]);a.withCredentials="include"===i.credentials,i.responseType&&(a.responseType=i.responseType)}a.onreadystatechange=h.r(a,function(e,r){e?n(e):t(r)}),a.send(null)});return e.xhr=a,e},r:function(e,r){return function(){if(4===e.readyState)if(200===e.status)"arraybuffer"===e.responseType?0===e.response.byteLength?r(new Error("http status 200 returned without content.")):r(null,{data:e.response,cacheControl:e.getResponseHeader("Cache-Control"),expires:e.getResponseHeader("Expires"),contentType:e.getResponseHeader("Content-Type")}):r(null,e.responseText);else{if(0===e.status)return;r(new Error(e.statusText+","+e.status))}}},e:function(){var r;try{r=new XMLHttpRequest}catch(e){try{r=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{r=new ActiveXObject("Microsoft.XMLHTTP")}catch(r){}}}return r},getArrayBuffer:function(e,r){return r||(r={}),r.responseType="arraybuffer",h.get(e,r)},getJSON:function(e,r){var t=h.get(e,r),n=t.then(function(e){return e?JSON.parse(e):null});return n.xhr=t.xhr,n}},l=function(){function e(e,r,t){this.rootPath=e,this.gltf=r,this.requests={},this.buffers={},this.glbBuffer=t}var r=e.prototype;return r.iterate=function(e,r){var t=this.gltf[r];if(t){var n=0;for(var i in t)e(i,t[i],n++)}},r.createNode=function(e){var r={};return o(e.name)&&(r.name=e.name),o(e.children)&&(r.children=e.children),o(e.jointName)&&(r.jointName=e.jointName),o(e.matrix)&&(r.matrix=e.matrix),o(e.rotation)&&(r.rotation=e.rotation),o(e.scale)&&(r.scale=e.scale),o(e.translation)&&(r.translation=e.translation),o(e.extras)&&(r.extras=e.extras),o(e.meshes)&&(r.mesh=e.meshes[0]),r},r.t=function(e){var r={};for(var t in e){var n=e[t],i=void 0,a={baseColorTexture:{index:n.instanceTechnique&&n.instanceTechnique.values?(i=n.instanceTechnique).values.diffuse:(i=n).values.tex||i.values.diffuseTex||i.values.diffuse}};n.name&&(a.name=n.name),n.extensions&&(a.extensions=n.extensions),n.extras&&(a.extras=n.extras),r[t]=a}return r},r.i=function(e){var t=this;if(e.bufferView||e.extensions&&(e.extensions.KHR_binary_glTF||e.extensions.binary_glTF)){var r=e.bufferView?e:e.extensions.KHR_binary_glTF||e.extensions.binary_glTF;if(e.extensions&&(e.mimeType=r.mimeType,e.width=r.width,e.height=r.height),this.buffers[r.bufferView])return Promise.resolve(this.buffers[r.bufferView]);var n=this.gltf.bufferViews[r.bufferView],i=(n.byteOffset||0)+this.glbBuffer.byteOffset,a=n.byteLength,o=this.buffers[r.bufferView]=new Uint8Array(this.glbBuffer.buffer,i,a);return Promise.resolve(o)}var u=e.uri,f=this.rootPath+"/"+u;return this.requests[f]?this.requests[f].then(function(){return t.buffers[f]}):this.requests[f]=h.getArrayBuffer(f,null).then(function(e){var r=e.data;return t.buffers[f]=r,new Uint8Array(r)})},r.a=function(e){var t=this,n=this.gltf.textures[e];if(!n)return null;var i=this.gltf.images[n.source];return this.i(i).then(function(e){var r=t.gltf.samplers[n.sampler];return{image:{array:e,width:i.width,height:i.height,index:n.source,mimeType:i.mimeType,name:i.name,extras:i.extras},type:n.type||5121,sampler:r,format:n.format||6408,internalFormat:n.internalFormat||6408}})},r.getBaseColorTexture=function(e){var r,t,n=this.gltf.materials[e];if(void 0===(t=n.instanceTechnique&&n.instanceTechnique.values?(r=n.instanceTechnique).values.diffuse:(r=n).values.tex||r.values.diffuseTex||r.values.diffuse)||void 0===this.gltf.textures)return null;var i=this.gltf.textures[t];if(!i)return null;var a=this.gltf.samplers[i.sampler];return{format:i.format||6408,internalFormat:i.internalFormat||6408,type:i.type||5121,sampler:a,source:this.gltf.images[i.source]}},r.getMaterial=function(){return null},r.getAnimations=function(){return null},e}(),c=["SCALAR",1,"VEC2",2,"VEC3",3,"VEC4",4,"MAT2",4,"MAT3",9,"MAT4",16],g=function(){function e(e,r,t,n){this.rootPath=e,this.gltf=r,this.glbBuffer=t,this.buffers={},this.requests={},this.ignoreGLBOffset=n}var r=e.prototype;return r.o=function(t,n){var i=this,e=this.gltf,r=e.accessors[n],a=e.bufferViews[r.bufferView],o=e.buffers[a.buffer];if("binary_glTF"!==a.buffer&&"KHR_binary_glTF"!==a.buffer&&o.uri){var u=o.uri,f=0===o.uri.indexOf("data:application/")?o.uri:this.rootPath+"/"+u;return this.requests[f]?this.requests[f].then(function(){return i.u(t,n,i.buffers[f])}):this.requests[f]=h.getArrayBuffer(f,null).then(function(e){var r=e.data;return i.buffers[f]=r,i.u(t,n,r)})}var c=this.u(t,n,this.glbBuffer.buffer,this.ignoreGLBOffset?0:this.glbBuffer.byteOffset);return i$1.resolve(c)},r.u=function(e,r,t,n){void 0===n&&(n=0);var i=this.gltf,a=i.accessors[r],o=i.bufferViews[a.bufferView],u=(o.byteOffset||0)+n,c=this.f(a.type),s=f(a.componentType),l=s.BYTES_PER_ELEMENT,d=o.byteStride||0;d===l*c&&(d=0);var h={array:void 0,name:e,accessorName:r,bufferView:a.bufferView,byteOffset:d&&a.byteOffset||0,byteStride:d,byteLength:a.count*c*s.BYTES_PER_ELEMENT,componentType:a.componentType,count:a.count,type:a.type,itemSize:c};if(a.min&&(h.min=a.min),a.max&&(h.max=a.max),0===d){var v=u+(a.byteOffset||0);v%s.BYTES_PER_ELEMENT!=0&&(t=t.slice(u,u+a.count*c*s.BYTES_PER_ELEMENT),v=0),delete h.bufferView,h.array=new s(t,v,c*a.count)}else h.array=new Uint8Array(t,u,o.byteLength);return h},r.f=function(e){var r=c.indexOf(e);return c[r+1]},e}(),m=function(){function e(e,r,t,n,i){this.rootPath=e,this.gltf=r,this.glbBuffer=t,this.buffers={},this.requests={},this.s=n,this.accessor=new g(e,r,t),this.imageDecoders=i}var r=e.prototype;return r.iterate=function(e,r){var t=this.gltf[r];if(t)for(var n=0;n<t.length;n++)e(n,t[n],n)},r.createNode=function(e){var r={};return u(r,e),!o(e.weights)&&this.gltf.meshes&&o(r.mesh)?r.weights=this.gltf.meshes[r.mesh].weights:r.weights=e.weights,r},r.a=function(e){var n=this,i=this.gltf.textures[e];if(!i)return null;var a=this.gltf.images[i.source];return this.i(a).then(function(e){var r={image:{array:e.data,width:e.width,height:e.height,index:i.source,mimeType:a.mimeType,name:a.name,extensions:a.extensions,extras:a.extras}};u(r,i);var t=o(i.sampler)?n.gltf.samplers[i.sampler]:void 0;return t&&(r.sampler=t),e.format&&(r.format=e.format),r})},r.i=function(e){if(!o(e.bufferView)){var r=e.uri,t=0===r.indexOf("data:image/")?r:this.rootPath+"/"+r;return this.l(t)}var n=this.gltf.bufferViews[e.bufferView];if(this.buffers[e.bufferView])return i$1.resolve(this.buffers[e.bufferView]);var i=this.gltf.buffers[n.buffer];return i.uri?this.d(i.uri,n,e):this.glbBuffer?this.h(n,e):null},r.l=function(e){var r=this;return this.requests[e]?this.requests[e].then(function(){return r.buffers[e]}):this.requests[e]=this._(e,e)},r.d=function(e,a,o){var u=this,f=o.bufferView;return this.requests[e]?this.requests[e].then(function(){return u.buffers[f]}):h.getArrayBuffer(e,null).then(function(e){var r=e.data,t=u.M(a,r),n=new Blob([t],{type:o.mimeType}),i=URL.createObjectURL(n);return u._(f,i)})},r.h=function(e,r){var t=this.M(e,this.glbBuffer.buffer),n=this.imageDecoders;if(n[r.mimeType])return i$1.resolve(n[r.mimeType](t));var i=new Blob([t],{type:r.mimeType}),a=URL.createObjectURL(i);return this._(r.bufferView,a)},r._=function(i,e){var a=this;return new i$1(function(t,n){a.s(e,function(e,r){e?n(e):(a.buffers[i]=r,t(a.buffers[i]))})})},r.M=function(e,r,t){t=t||0;var n=e.byteOffset+t,i=e.byteLength;return r.slice(n,n+i)},r.T=function(e,r){for(var t=new Array(e.byteLength),n=0;n<e.byteLength;n++)t[n]=String.fromCharCode(e[n]);return t.join(""),"data:"+(r=r||"image/png")+";base64,"+window.btoa(unescape(encodeURIComponent(t)))},r.getAnimations=function(t){var r=this,n=[];return t.forEach(function(e){n.push(r.getSamplers(e.samplers))}),i$1.all(n).then(function(e){for(var r=0;r<e.length;r++)t[r].samplers=e[r];return t})},r.getSamplers=function(t){for(var e=[],r=0;r<t.length;r++)(o(t[r].input)||o(t[r].output))&&(e.push(this.accessor.o("input",t[r].input)),e.push(this.accessor.o("output",t[r].output)));return i$1.all(e).then(function(e){for(var r=0;r<e.length/2;r++)t[r].input=e[2*r],t[r].output=e[2*r+1],t[r].interpolation||(t[r].interpolation="LINEAR");return t})},e}(),p$1="undefined"!=typeof TextDecoder?new TextDecoder("utf-8"):null,d=12,b={JSON:1313821514,BIN:5130562},y=function(){function i(){}return i.read=function(e,r){void 0===r&&(r=0);var t=new DataView(e,r),n=t.getUint32(4,!0);if(1===n)return i.readV1(t,r);if(2===n)return i.readV2(e,r);throw new Error("Unsupported glb version : "+n)},i.readV1=function(e,r){var t=e.getUint32(8,!0),n=e.getUint32(12,!0);if(t!==e.buffer.byteLength-r)throw new Error("Length in GLB header is inconsistent with glb's byte length.");var i=T(e.buffer,20+r,n);return{json:JSON.parse(i),glbBuffer:{byteOffset:20+r+n,buffer:e.buffer}}},i.readV2=function(e,r){for(var t,n,i=new DataView(e,r+d),a=0;a<i.byteLength;){var o=i.getUint32(a,!0);a+=4;var u=i.getUint32(a,!0);if(a+=4,u===b.JSON)t=T(e,r+d+a,o);else if(u===b.BIN){var f=r+d+a;n=e.slice(f,f+o)}a+=o}return{json:JSON.parse(t),glbBuffer:{byteOffset:r,buffer:n}}},i}();function T(e,r,t){if(p$1){var n=new Uint8Array(e,r,t);return p$1.decode(n)}return function(e){for(var r=e.length,t="",n=0;n<r;){var i=e[n++];if(128&i){var a=_[i>>3&7];if(!(64&i)||!a||r<n+a)return null;for(i&=63>>a;0<a;a-=1){var o=e[n++];if(128!=(192&o))return null;i=i<<6|63&o}}t+=String.fromCharCode(i)}return t}(new Uint8Array(e,r,t))}var _=[1,1,1,1,2,2,3,0],w=[0,0,0],x=[0,0,0,1],E=[1,1,1],I={TRANSLATION:[0,0,0],ROTATION:[0,0,0,1],SCALE:[1,1,1]},N={PREVIOUS:null,NEXT:null,PREINDEX:null,NEXTINDEX:null,INTERPOLATION:null},A={m:function(e,r,t,n,i,a,o){for(var u=e.animations,f={},c=0;c<u.length;c++){var s=u[c],l=s.channelsMap[r];if(l)for(var d=0;d<l.length;d++){var h=l[d];"translation"===h.target.path?(this.A(n,s.samplers[h.sampler],t,1),f.translation=copy(w,n)):"rotation"===h.target.path?(this.b(i,s.samplers[h.sampler],t,1),f.rotation=copy$2(x,i)):"scale"===h.target.path?(this.A(a,s.samplers[h.sampler],t,1),f.scale=copy(E,a)):"weights"===h.target.path&&o&&(this.A(o,s.samplers[h.sampler],t,o.length),f.weights=o)}}return f},A:function(e,r,t,n){switch(r.interpolation){case"LINEAR":var i=this.S(N,r,t,1*n);i&&(e=function(e,r,t,n){for(var i=0;i<e.length;i++)e[i]=r[i]+n*(t[i]-r[i]);return e}(e,i.PREVIOUS,i.NEXT,i.INTERPOLATION));break;case"STEP":var a=this.S(N,r,t,1*n);a&&(e=function(e,r){for(var t=0;t<e.length;t++)e[t]=r[t];return e}.apply(void 0,[e].concat(a.PREVIOUS)));break;case"CUBICSPLINE":var o=this.S(N,r,t,3*n);o&&(e=this.O(e,o,r.input.array,3*n))}return e},b:function(e,t,n){switch(t.interpolation){case"LINEAR":var i=this.S(N,t,n,1);i&&slerp(e,i.PREVIOUS,i.NEXT,i.INTERPOLATION);break;case"STEP":var a=this.S(N,t,n,1);a&&(e=set$1.apply(r,[e].concat(a.PREVIOUS)));break;case"CUBICSPLINE":var o=this.S(N,t,n,3);if(o){for(var u=0;u<o.PREVIOUS.length;u++)o.PREVIOUS[u]=Math.acos(o.PREVIOUS[u]),o.NEXT[u]=Math.acos(o.NEXT[u]);e=this.O(e,o,t.input.array,3);for(var f=0;f<e.length;f++)e[f]=Math.cos(e[f])}}return e},g:function(e,r){for(var t=e.length,n=0,i=t-1,a=Math.floor((n+i)/2);n<=t-1&&0<=i;){if(n===i)return null;if(e[a]<=r&&r<=e[a+1]){var o=e[a];return{preIndx:a,nextIndex:a+1,interpolation:(r-o)/(e[a+1]-o)}}r<e[a]?(i=a,a=Math.floor((n+i)/2)):e[a+1]<r&&(n=a,a=Math.floor((n+i)/2))}return null},S:function(e,r,t,n){var i=r.input.array,a=r.output.array,o=r.output.itemSize;(t<i[0]||t>i[i.length-1])&&(t=Math.max(i[0],Math.min(i[i.length-1],t))),t===i[i.length-1]&&(t=i[0]);var u=this.g(i,t);if(!u||!u.nextIndex)return null;var f=u.preIndx,c=u.nextIndex,s=u.interpolation;e.PREINDEX=f,e.NEXTINDEX=c,e.INTERPOLATION=s;var l=o*n;return e.PREVIOUS=a.subarray(e.PREINDEX*l,(e.PREINDEX+1)*l),e.NEXT=a.subarray(e.NEXTINDEX*l,(e.NEXTINDEX+1)*l),e},O:function(e,r,t,n){for(var i=r.INTERPOLATION,a=t[r.PREINDEX],o=t[r.NEXTINDEX],u=0;u<3;u++){var f=r.PREVIOUS[n+u],c=(o-a)*r.PREVIOUS[2*n+u],s=r.NEXT[3+u],l=(o-a)*r.NEXT[u],d=(2*Math.pow(i,3)-3*Math.pow(i,2)+1)*f+(Math.pow(i,3)-2*Math.pow(i,2)+i)*c+(2*-Math.pow(i,3)+3*Math.pow(i,2))*s+(Math.pow(i,3)-Math.pow(i,2))*l;e[u]=d}return e},getAnimationClip:function(e,n,i){var a=e.nodes[n]&&e.nodes[n].weights;return set.apply(t,[w].concat(I.TRANSLATION)),set$1.apply(r,[x].concat(I.ROTATION)),set.apply(t,[E].concat(I.SCALE)),this.m(e,n,i,w,x,E,a)},getTimeSpan:function(e){if(!e.animations)return null;if(e.timeSpan)return e.timeSpan;var a=-1/0,o=1/0;return e.animations.forEach(function(e){for(var r=e.channels,t=0;t<r.length;t++){var n=r[t],i=e.samplers[n.sampler].input.array;i[i.length-1]>a&&(a=i[i.length-1]),i[0]<o&&(o=i[0])}}),e.timeSpan={max:a,min:o},e.timeSpan}},S="undefined"==typeof document?null:document.createElement("canvas"),O=function(){function e(e,r,t){if(this.options=t||{},r.buffer instanceof ArrayBuffer){var n=y.read(r.buffer,r.byteOffset),i=n.json,a=n.glbBuffer;this.R(e,i,a)}else this.R(e,r)}var r=e.prototype;return r.load=function(){var r=this,e=this.w(),t=this.k(),n=this.N();return i$1.all([e,t,n]).then(function(e){return e[0].animations=e[1],e[0].textures=e[2],r.createChannelsMap(e[0]),e[0]})},r.createChannelsMap=function(e){var r=e.animations;if(r)for(var t=0;t<r.length;t++){var n=r[t];n.channelsMap={};for(var i=0;i<n.channels.length;i++){var a=n.channels[i];n.channelsMap[a.target.node]||(n.channelsMap[a.target.node]=[]),n.channelsMap[a.target.node].push(a)}}},r.getExternalResources=function(){var e=[];if(this.gltf){for(var r=this.gltf,t=r.buffers,n=r.images,i=0;i<t.length;i++)t[i].uri&&t[i].uri.indexOf("data:application/octet-stream;base64")<0&&e.push({type:"buffer",uri:t[i].uri});for(var a=0;a<n.length;a++)n[a].uri&&n[a].uri.indexOf("data:image/")<0&&e.push({type:"image",uri:n[a].uri})}return e},e.getAnimationClip=function(e,r,t){return A.getAnimationClip(e,r,t)},e.getAnimationTimeSpan=function(e){return A.getTimeSpan(e)},e.getTypedArrayCtor=function(e){return f(e)},r.R=function(e,r,t){this.gltf=r,this.version=r.asset?+r.asset.version:1,this.rootPath=e,this.glbBuffer=t,this.buffers={},this.requests={},this.options.requestImage=this.options.requestImage||P,2===this.version?(this.accessor=new g(e,r,t,!0),this.adapter=new m(e,r,t,this.options.requestImage,this.options.imageDecoders||{})):(this.accessor=new g(e,r,t),this.adapter=new l(e,r,t))},r.P=function(e,t){var r,n,i=this;if(e.children&&0<e.children.length){if(("number"!=typeof(n=e.children[0])||!isFinite(n))&&(a(r=e.children[0])||"string"!=typeof r&&(null===r.constructor||r.constructor!==String)))return e;var o=e.children.map(function(e){var r=t[e];return r.nodeIndex=e,i.P(r,t)});e.children=o}return e},r.w=function(){var u=this;return this.C().then(function(i){var a,o=u.scenes=[];for(var e in i)i[e]=u.P(i[e],i),i[e].nodeIndex=Number(e)?Number(e):e;u.adapter.iterate(function(e,r,t){var n={};r.name&&(n.name=r.name),r.nodes&&(n.nodes=r.nodes.map(function(e){return i[e]})),u.gltf.scene===e&&(a=t),o.push(n)},"scenes");var r={asset:u.gltf.asset,scene:a,scenes:o,nodes:i,meshes:u.meshes,materials:u.gltf.materials,skins:u.skins};if(u.gltf.extensions&&(r.extensions=u.gltf.extensions),1===u.version){var t=u.adapter.t(u.gltf.materials);r.materials=t}return r})},r.C=function(){var i=this;return this.I().then(function(){var n=i.nodes={};return i.adapter.iterate(function(e,r){var t=i.adapter.createNode(r,i.meshes,i.skins);n[e]=t},"nodes"),n})},r.L=function(){var n=this;this.skins=[];var i=[];return this.adapter.iterate(function(e,r,t){i.push(n.D(r).then(function(e){e.index=t,n.skins.push(e)}))},"skins"),i},r.D=function(r){var e=r.inverseBindMatrices;return this.accessor.o("inverseBindMatrices",e).then(function(e){return r.inverseBindMatrices=e,r})},r.k=function(){var e=this.gltf.animations;return o(e)?this.adapter.getAnimations(e):null},r.I=function(){var n=this;this.meshes={};var i=[];return this.adapter.iterate(function(r,e,t){i.push(n.F(e).then(function(e){e.index=t,n.meshes[r]=e}))},"meshes"),i=i.concat(this.L()),i$1.all(i)},r.F=function(t){var r=this,e=t.primitives.map(function(e){return r.U(e)});return i$1.all(e).then(function(e){var r={};return u(r,t),r.primitives=e,r})},r.N=function(){var o=this,u=this.gltf.textures;if(!u)return null;var e=[];for(var r in u)e.push(this.adapter.a(r));return i$1.all(e).then(function(e){for(var r=0;r<e.length;r++)if(e[r].image.array){var t=e[r].image.array.buffer;o.transferables.indexOf(t)<0&&o.transferables.push(t)}if(Array.isArray(u))return e;for(var n={},i=Object.keys(u),a=0;a<e.length;a++)n[i[a]]=e[a];return n})},r.U=function(n){var i=this,e=[],r=n.attributes;for(var t in r){var a=this.accessor.o(t,r[t]);a&&e.push(a)}if(o(n.indices)){var u=this.accessor.o("indices",n.indices);u&&e.push(u)}if(o(n.targets))for(var f=0;f<n.targets.length;f++){var c=n.targets[f];for(var s in c){var l=this.accessor.o(s+"_"+f,c[s]);l&&e.push(l)}}return i$1.all(e).then(function(e){var t;i.transferables=[];var r={attributes:e.reduce(function(e,r){return"indices"===r.name?t=r:e[r.name]=r,i.transferables.indexOf(r.array.buffer)<0&&i.transferables.push(r.array.buffer),e},{}),material:n.material};return t&&(r.indices=t),r.mode=o(n.mode)?n.mode:4,o(n.extras)&&(r.extras=n.extras),r})},e}();function P(e,n){var i=new Image;i.crossOrigin="",i.onload=function(){if(S){S.width=i.width,S.height=i.height;var e=S.getContext("2d");e.drawImage(i,0,0,i.width,i.height);var r=e.getImageData(0,0,i.width,i.height),t={width:i.width,height:i.height,data:new Uint8Array(r.data)};n(null,t)}else n(new Error("There is no canvas to draw image!"))},i.onerror=function(e){n(e)},i.src=e}var canvas="undefined"==typeof document?null:document.createElement("canvas"),Geo3DTilesWorkerConnection=function(n){function e(e,r){var t;return(t=n.call(this,e)||this).mapId=r,t}_inheritsLoose(e,n);var r=e.prototype;return r.initialize=function(e){e(null)},r.loadTile=function(e,r,t){var n=null;r&&r.arraybuffer&&(n=[r.arraybuffer]);var i={mapId:this.mapId,layerId:e,command:"loadTile",params:r};this.send(i,n,t)},r.abortTileLoading=function(e,r,t){var n={mapId:this.mapId,layerId:e,command:"abortTileLoading",params:{url:r}};this.broadcast(n,null,t)},r.addLayer=function(e,r,t){var n={actorId:this.actorId,mapId:this.mapId,layerId:e,command:"addLayer",params:{options:r}};this.broadcast(n,null,t)},r.removeLayer=function(e,r){var t={mapId:this.mapId,layerId:e,command:"removeLayer"};this.broadcast(t,null,r)},r.requestImage=function(e,i){var r=e.url,a=new Image;a.onload=function(){if(canvas){var e=resize(a);canvas.width=e.width,canvas.height=e.height;var r=canvas.getContext("2d");r.drawImage(e,0,0,e.width,e.height);var t=r.getImageData(0,0,e.width,e.height),n={width:e.width,height:e.height,data:new Uint8Array(t.data)};i(null,n,[n.data.buffer])}else i(new Error("There is no canvas to draw image!"))},a.onerror=function(e){i(e)},a.src=r},e}(maptalks.worker.Actor);function resize(e){if(isPowerOfTwo(e.width)&&isPowerOfTwo(e.height))return e;var r=e.width,t=e.height;isPowerOfTwo(r)||(r=floorPowerOfTwo(r)),isPowerOfTwo(t)||(t=floorPowerOfTwo(t));var n=document.createElement("canvas");n.width=r,n.height=t,n.getContext("2d").drawImage(e,0,0,r,t);var i=e.src,a=i.lastIndexOf("/")+1,o=i.substring(a);return console.warn("Texture("+o+")'s size is not power of two, resize from ("+e.width+", "+e.height+") to ("+r+", "+t+")"),n}function isPowerOfTwo(e){return 0==(e&e-1)&&0!==e}function floorPowerOfTwo(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}function iterateMesh(e,r){if(e.scenes&&e.scenes.length)for(var t=0,n=e.scenes.length;t<n;t++)for(var i=e.scenes[t].nodes,a=0,o=i.length;a<o;a++){var u=[],f=i[a];f.matrix&&u.push(f.matrix),iterateNode(f,u,e,r)}}function iterateNode(e,r,t,n){if(r=r.slice(0),e.matrix&&r.push(e.matrix),e.children&&e.children.length)for(var i=0,a=e.children.length;i<a;i++)iterateNode(e.children[i],r,t,n);if(void 0!==e.mesh){var o=e.mesh,u=t.meshes[o];if(u)for(var f=r.slice(0),c=u.primitives,s=0,l=c.length;s<l;s++){var d=c[s];d&&(d.matrices=f,n(d,t))}}}var regionVert="attribute vec3 aPosition;\n\nuniform mat4 projViewModelMatrix;\n\nvoid main() {\n gl_Position = projViewModelMatrix * vec4(aPosition, 1.0);\n}\n",regionFrag="precision mediump float;\nuniform vec3 color;\nvoid main() {\n gl_FragColor = vec4(color, 1.0);\n}\n",modelVert="attribute vec3 aPosition;\n#ifdef HAS_TEX\n attribute vec2 aTexCoord;\n varying vec2 vTexCoord;\n#endif\n\nuniform mat4 projViewModelMatrix;\n#ifdef USE_MAX_EXTENT\nvarying vec2 vXy;\n#endif\n// attribute vec3 aProjPosition;\n// uniform mat4 depthProjModelView;\n\nvoid main() {\n #ifdef USE_MAX_EXTENT\n vXy = aPosition.xy;\n #endif\n #ifdef HAS_TEX\n vTexCoord = aTexCoord;\n #endif\n vec4 pos = projViewModelMatrix * vec4(aPosition, 1.0);\n // vec4 projPos = depthProjModelView * vec4(aProjPosition, 1.0);\n\n gl_Position = pos;\n}\n",modelFrag="precision mediump float;\n\n#ifdef USE_BASECOLOR_TEXTURE\n uniform sampler2D baseColor;\n#else\n uniform vec4 baseColor;\n#endif\nuniform vec3 ambientLight;\nuniform bool debug;\nuniform float linearColor;\n\n#ifdef HAS_TEX\n varying vec2 vTexCoord;\n#endif\n#ifdef USE_MAX_EXTENT\n uniform vec4 maxExtent;\n varying vec2 vXy;\n#endif\n\nvec3 sRGBToLinear(const in vec3 color) {\n return vec3( color.r < 0.04045 ? color.r * (1.0 / 12.92) : pow((color.r + 0.055) * (1.0 / 1.055), 2.4), color.g < 0.04045 ? color.g * (1.0 / 12.92) : pow((color.g + 0.055) * (1.0 / 1.055), 2.4), color.b < 0.04045 ? color.b * (1.0 / 12.92) : pow((color.b + 0.055) * (1.0 / 1.055), 2.4));\n}\n\nvoid main() {\n #ifdef USE_MAX_EXTENT\n if (vXy.x < maxExtent.x || vXy.x > maxExtent.z || vXy.y < maxExtent.y || vXy.y > maxExtent.w) {\n discard;\n return;\n }\n #endif\n if (debug) {\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);\n } else {\n #if defined(USE_BASECOLOR_TEXTURE) && defined(HAS_TEX)\n vec4 fetchColor = texture2D(baseColor, vTexCoord);\n gl_FragColor = vec4((fetchColor.rgb + ambientLight) * fetchColor.a, fetchColor.a);\n #else\n gl_FragColor = baseColor;\n gl_FragColor.rgb += ambientLight;\n #endif\n }\n if (linearColor == 1.0) {\n gl_FragColor = vec4(sRGBToLinear(gl_FragColor.rgb), gl_FragColor.a);\n }\n}\n",DEFAULT_POLYGON_OFFSET={factor:0,units:0},DEFAULT_AMBIENT=[0,0,0],IDENTITY_SCALE=[1,1,1],MeshPainter=function(){function e(e,r){this.Z=r,this.Q=r.getRenderer().canvas,this.ee=new maptalks.SpatialReference,this.re=e,this.te=new gl.reshader.Renderer(e),this.ne={},this.ie={},this.ae={},this.oe=new gl.reshader.Scene,this.ue=new gl.reshader.Scene,this.fe=new gl.reshader.ResourceLoader(e.texture(2)),this.ce=this.se.bind(this),this.le()}var r=e.prototype;return r.getMap=function(){return this.Z.getMap()},r.paint=function(e,r,t,n){var i=this.getMap();if(e.length&&i){for(var a=i.projViewMatrix,o=this.Z.options.services,u=[],f=[],c=0,s=e.length;c<s;c++){var l=this.de(e[c].data.node);if(l){var d=e[c].node,h=o[d.he].polygonOffset||DEFAULT_POLYGON_OFFSET;isFunction(h)&&(h=h());for(var v=o[d.he].ambientLight||DEFAULT_AMBIENT,_=0,M=l.length;_<M;_++)l[_].getBoundingBox&&!intersectsBox(a,l[_].getBoundingBox())||(l[_].setUniform("level",e[c].selectionDepth),l[_].setUniform("polygonOffset",h),l[_].setUniform("ambientLight",v),l[_].ve=d.id,r[(l[_]._e=d).id]||u.push(l[_]),f.push(l[_]))}}this.Me.filter=t;var E=this.Ee();E.debug=!1,this.oe.setMeshes(u),E.stencilEnable=!1,E.cullFace="front",this.te.render(this.Me,E,this.oe,n&&n.fbo),E.stencilEnable=!0,E.debug=!1,E.cullFace="back",this.oe.setMeshes(f),this.te.render(this.Me,E,this.oe,n&&n.fbo)}},r.Te=function(e,r){return r._e.me-e._e.me},r.paintRegion=function(e,r,t,n,i){var a=this.getMap();if(e.length||r.length){for(var o=a.projViewMatrix,u=[],f=0,c=(e=e.concat(r)).length;f<c;f++){var s=e[f].node,l=this.Ae(s);l&&(l.getBoundingBox&&!intersectsBox(o,l.getBoundingBox())||u.push(l))}this.be.filter=n,this.ue.setMeshes(u);var d=this.pe(t);this.te.render(this.be,d,this.ue,i&&i.fbo)}},r.deleteTile=function(e){var r=e.node.id;this.Se(r)},r.Se=function(e){var r=this.ie[e];r&&(r.geometry.dispose(),r.dispose(),delete this.ie[e]);var t=this.ae[e]||this.ne[e];if(t){if(Array.isArray(t))for(var n=0,i=t.length;n<i;n++)t[n].geometry.dispose(),t[n].material.dispose(),t[n].dispose();else t.geometry.dispose(),t.material.dispose(),t.dispose();delete this.ae[e],delete this.ne[e]}},r.remove=function(){for(var e in this.ae)this.Se(e);for(var r in this.ne)this.Se(r);for(var t in this.ie)this.Se(t)},r.Ae=function(e){if(!e.boundingVolume||!e.boundingVolume.region)return null;if(this.ie[e.id])return this.ie[e.id];var r=e.boundingVolume.region,t=new maptalks.Coordinate(toDegree(r[0]),toDegree(r[1])),n=new maptalks.Coordinate(toDegree(r[2]),toDegree(r[3]));t=this.Oe(t),n=this.Oe(n);var i=t.add(n).ge(.5);t._sub(i),n._sub(i);var a=this.ye(r[4],r[5]),o=a.x,u=a.y,f=[t.x,t.y,u,n.x,t.y,u,n.x,n.y,u,t.x,n.y,u,t.x,t.y,o,n.x,t.y,o,n.x,n.y,o,t.x,n.y,o],c=new gl.reshader.Geometry({aPosition:f},[0,1,1,2,2,3,3,0,0,4,1,5,2,6,3,7,4,5,5,6,6,7,7,4],0,{primitive:"lines"});c.generateBuffers(this.re);var s=new gl.reshader.Mesh(c),l=gl.mat4.identity([]);return s.setLocalTransform(gl.mat4.translate(l,l,[i.x,i.y,0])),this.ie[e.id]=s},r.de=function(e){return this.ae[e.id]},r.has=function(e){return this.de(e)||this.ne[e.id]},r.createModelMesh=function(e,s,r){var l,d=this;if(this.ae[s.id]||this.ne[s.id]){var t=this.ae[s.id];return console.warn("mesh with id("+s.id+") was already created."),this.ne[s.id]||r(null,{id:s.id,mesh:t}),t}if(s.maxExtent){var n=new maptalks.Extent(s.maxExtent).convertTo(function(e){return d._pointToPrj(e)});l=[n.xmin,n.ymin,n.xmax,n.ymax]}var i=e.gltf,a=i.extensions.CESIUM_RTC||i.extensions.MAPTALKS_RTC,h=gl.mat4.identity([]),v=[0,0],o=this.getMap(),u=new maptalks.Coordinate(a.projCenter),f=this._prjToPoint(u),c=this.Re(),_=1/(o.getGLZoom?o.getResolution(o.getGLZoom()):o.getGLRes());gl.mat4.translate(h,h,[f.x,f.y,_*a.projCenter[2]]);var M=this.Z.options.services[s.he].heightOffset;M&&gl.mat4.translate(h,h,[0,0,_*M]),gl.mat4.scale(h,h,gl.vec3.scale([],c,_)),gl.vec2.set(v,u.x,u.y);var E=[],T=0,m=!0;return iterateMesh(i,function(e,r){var t={aPosition:e.attributes.POSITION.array,aTexCoord:e.attributes.TEXCOORD_0?e.attributes.TEXCOORD_0.array:void 0,aNormal:e.attributes.NORMAL?e.attributes.NORMAL.array:void 0},n=new gl.reshader.Geometry(t,e.indices.array?e.indices.array:e.indices,0,{primitive:void 0===e.mode?"triangles":getPrimitive(e.mode)});n.generateBuffers(d.re);var i=new gl.reshader.Material({baseColor:[1,1,1,1]}),a=d.we(e.material,r);a&&!a.isReady()?(m=!1,a.ke=s.id,T++):a||(a=i);var o={},u=new gl.reshader.Mesh(n,a);e.attributes.NORMAL&&(o.USE_NORMAL=1),Array.isArray(a.get("baseColor"))||(o.USE_BASECOLOR_TEXTURE=1),t.aTexCoord&&(o.HAS_TEX=1),l&&(o.USE_MAX_EXTENT=1,u.setUniform("maxPrjExtent",l),u.setUniform("prjCenter",v)),u.setDefines(o);var f=gl.mat4.identity([]);if(e.matrices&&e.matrices.length)for(var c=0;c<e.matrices.length;c++)gl.vec3.multiply(f,f,e.matrices[c]);gl.mat4.multiply(f,h,f),u.setLocalTransform(f),E.push(u)}),m?(this.ae[s.id]=E,r(null,{id:s.id,mesh:E})):(this.ne[s.id]={meshes:E,count:T},E.Ne=r),E},r.le=function(){var e=this,r={x:0,y:0,width:function(){return e.Q?e.Q.width:1},height:function(){return e.Q?e.Q.height:1}};this.be=new gl.reshader.MeshShader({vert:regionVert,frag:regionFrag,uniforms:["color",{name:"projViewModelMatrix",type:"function",fn:function(e,r){return gl.mat4.multiply([],r.projViewMatrix,r.modelMatrix)}}],extraCommandProps:{viewport:r}}),this.Me=new gl.reshader.MeshShader({vert:modelVert,frag:modelFrag,uniforms:["ambientLight","baseColor","debug","linearColor",{name:"projViewModelMatrix",type:"function",fn:function(e,r){return gl.mat4.multiply([],r.projViewMatrix,r.modelMatrix)}},{name:"maxExtent",type:"function",fn:function(e,r){var t=r.maxPrjExtent,n=r.prjCenter;return t?[t[0]-n[0],t[1]-n[1],t[2]-n[0],t[3]-n[1]]:null}}],extraCommandProps:{viewport:r,cull:{enable:!0,face:function(e,r){return r.cullFace}},stencil:{enable:function(e,r){return r.stencilEnable},func:{cmp:">=",ref:function(e,r){return r.level}},opFront:{fail:"keep",zfail:"keep",zpass:"replace"},opBack:{fail:"keep",zfail:"keep",zpass:"keep"}},blend:{enable:!0,func:{src:"src alpha",dst:"one minus src alpha"},equation:"add"},polygonOffset:{enable:!0,offset:function(e,r){return r.polygonOffset}}}})},r.pe=function(e){return{projViewMatrix:this.getMap().projViewMatrix,color:e&&e.color||[0,1,0]}},r.Ee=function(){var e=this.getMap(),r=this.Z;return{projViewMatrix:e.projViewMatrix,linearColor:r.options.sRGBToLinear?1:0}},r.we=function(e,r){var t=r.materials[e];if(!t||!t.baseColorTexture&&!t.pbrMetallicRoughness)return null;var n,i,a=t.baseColorTexture||t.pbrMetallicRoughness&&t.pbrMetallicRoughness.baseColorTexture;if(a&&(n=r.textures[a.index]),n&&!n.image.color){var o={type:n.type?getMaterialType(n.type):"uint8",format:n.format?getMaterialFormat(n.format):"rgba",flipY:!1};if(t.baseColorTexture)o.url=this.Pe(n);else{var u=n.image;o.data=u.array,o.width=u.width,o.height=u.height}var f=n.sampler||n.texture.sampler;f&&(f.magFilter&&(o.mag=getTextureMagFilter(f.magFilter)),f.minFilter&&(o.min=getTextureMinFilter(f.minFilter)),f.wrapS&&(o.wrapS=getTextureWrap(f.wrapS)),f.wrapT&&(o.wrapT=getTextureWrap(f.wrapT))),i=new gl.reshader.Texture2D(o,this.fe)}var c={baseColor:n&&n.image.color||t.baseColorFactor||t.pbrMetallicRoughness&&t.pbrMetallicRoughness.baseColorFactor||[1,1,1,1]};i&&(c.baseColor=i);var s=new gl.reshader.Material(c);return s.once("complete",this.ce),s},r.Pe=function(e){var r=e.image,t=window.URL||window.webkitURL,n=new Blob([r.array],{type:r.mimeType});return t.createObjectURL(n)},r.se=function(e){var r=e.target.ke,t=this.ne[r];if(t.count--,!t.count){var n=t.meshes;this.ae[r]=n,delete this.ne[r];var i=n.Ne;delete n.Ne,i(null,{mesh:t.meshes,id:r})}},r.Re=function(){return IDENTITY_SCALE},r.Oe=function(e){return this.Z.Oe(e)},r.ye=function(e,r){var t=this.getMap();return t.getGLZoom?t.distanceToPoint(e,r,t.getGLZoom()):t.distanceToPointAtRes(e,r,t.getGLRes())},r._pointToPrj=function(e){var r=this.getMap();return r.getGLZoom?r._pointToPrj(e,r.getGLZoom()):r._pointToPrjAtRes(e,r.getGLRes())},r._prjToPoint=function(e){var r=this.getMap();return r.getGLZoom?r._prjToPoint(e,r.getGLZoom()):r._prjToPointAtRes(e,r.getGLRes())},e}(),reglPrimitives=["points","lines","line strip","line loop","triangles","triangle strip","triangle fan"];function getPrimitive(e){return reglPrimitives[e]}var materialTypes={5121:"uint8",5123:"uint16",5125:"uint32",5126:"float",36193:"half float"};function getMaterialType(e){return materialTypes[e]}var materialFormats={6406:"alpha",6407:"rgb",6408:"rgba",6409:"luminance",6410:"luminance alpha",33776:"rgb s3tc dxt1",33778:"rgba s3tc dxt3",33779:"rgba s3tc dxt5"};function getMaterialFormat(e){return materialFormats[e]}var textureMagFilters={9729:"linear",9728:"nearest"};function getTextureMagFilter(e){return textureMagFilters[e]}var textureMinFilters={9729:"linear",9728:"nearest",9984:"nearest mipmap nearest",9985:"linear mipmap nearest",9986:"nearest mipmap linear",9987:"linear mipmap linear"};function getTextureMinFilter(e){return textureMinFilters[e]}var textureWrap={10497:"repeat",33071:"clamp",33648:"mirror"};function getTextureWrap(e){return textureWrap[e]}var Geo3DTilesRenderer=function(t){function e(e){var r;return(r=t.call(this,e)||this).prepareWorker(),r.tilesLoading={},r.tileCache=new maptalks.LRUCache(64,r.deleteTile.bind(_assertThisInitialized(r))),r.G={},r}_inheritsLoose(e,t);var r=e.prototype;return r.needToRedraw=function(){return!!this.getMap().isInteracting()||t.prototype.needToRedraw.call(this)},r.drawOnInteracting=function(e,r,t){this.draw(r,t)},r.draw=function(e,r){var t=this.prepareCanvas();if(!t||t.intersects(this.canvasExtent2D)){var n=this.layer.getTiles(),i=n.root,a=n.tiles,o=a?Object.keys(a).length:0;if(a&&o){var u=3*o;u>=this.tileCache.max&&this.tileCache.setMaxSize(Math.min(u,this.layer.options.maxCacheSize));var f=this.Ce(i,a),c=f.selectedTiles,s=f.leaves,l=f.requests,d=f.loading;this.Ie(c,s,r),this.Le(),d?l.length&&this.loadTiles(l):this.completeRender()}else this.completeRender()}else this.completeRender()},r.Ce=function(e,r){var t=[],n=this.De(),i=this.xe(),a={},o=!1,u=!1;for(var f in r){var c=r[f],s=c.node;if(!a[s.id]){var l=!(a[s.id]=1),d=this.Fe(s.id);if(this.Ue(s.id)?(l=u=!0,this.tilesLoading[s.id].current=!0):d?(this.getTileOpacity(d)<1&&(l=u=!0),o=!0,c.selected=!0,c.data=d):this.painter.has(s)||(l=u=!0,t.push(s)),l)if(this.He(c))o=!0;else this.Ye(c).length&&(o=!0)}}var h=[],v={};if(o){var _=this.$e(e);h=_.selectedTiles,v=_.leaves}if(1<t.length&&(t.sort(compareRequests),i)){var M=i-n;0<M&&(t=t.slice(0,M))}return{loading:u,requests:t,selectedTiles:h,leaves:v}},r.$e=function(e){for(var r,t=[],n={},i=[e],a=[];0<i.length||0<a.length;){if(0<a.length){var o=a[a.length-1];if(o.Be===i.length){a.pop(),o===r&&(o.leave=!0,n[o.node.id]=1),t.push(o);continue}}var u=i.pop(),f=u.children;if(u.selected)if("add"===u.node.refine)n[u.node.id]=1,t.push(u);else{if(u.selectionDepth=a.length,r=u,0===f.length){u.leave=!0,n[u.node.id]=1,t.push(u);continue}a.push(u),u.Be=i.length}1<f.length&&f.sort(compareTile);for(var c=0;c<f.length;c++)i.push(f[c])}return{selectedTiles:t,leaves:n}},r.He=function(e){if(!e.parent)return null;for(var r=e.parent;r&&0<=r.level;){var t=r.node.id;if(this.tileCache.has(t))return r.selected=!0,r.data=this.tileCache.get(t),r;r=r.parent}return null},r.Ye=function(e){var r=[];if(!e.node.children||!e.node.children.length)return r;for(var t=e.Xe+1,n=[e.node];0<n.length;)for(var i=n.pop().children,a=0,o=i.length;a<o;a++)if(!this.layer.Ve(i[a])&&i[a].children&&i[a].children.length)n.push(i[a]);else{var u=i[a].id;if(this.tileCache.has(u)){var f=this.layer.Ge(i[a],e);f.selected=!0,f.data=this.tileCache.get(u),e.children.push(f),r.push(f)}else i[a].Xe<=t&&n.push(i[a])}return r},r.Ie=function(e,r,t){for(var n=0,i=e.length;n<i;n++){var a=e[n].data;a.current=!0,this.tileCache.add(e[n].node.id,a)}var o={tiles:e,leaves:r};this.onDrawTileStart(o);var u=t&&t.renderTarget,f=t&&t.sceneFilter;this.painter.paint(e,r,f,u),this.layer.options.debug&&this.painter.paintRegion(e,{color:this.layer.options.debugOutline},f,u),this.onDrawTileEnd(o)},r.onDrawTileStart=function(){},r.onDrawTileEnd=function(){},r.loadTiles=function(e){for(var r=0,t=e.length;r<t;r++){var n=e[r];this.tilesLoading[n.id]={current:!0,node:n},this.loadTile(n)}},r.loadTile=function(r){var t=this,n=r.content.url;r&&-1===n.indexOf("http://")&&-1===n.indexOf("https://")&&(n=r.baseUrl+n);var e=this.layer.options.services[r.he];if(e.ajaxInMainThread){var i=e.urlParams;i&&(i=(0<n.indexOf("?")?"&":"?")+i);var a=h.getArrayBuffer(n+(i||""),e.ajaxOptions),o=a.xhr;a=a.then(function(e){delete t.G[n],e?t.Ke(n,e.data,r):t.onTileError(null,r)}).catch(function(e){delete t.G[n],t.onTileError(e,r)}),this.G[n]=o}else this.Ke(n,null,r)},r.Ke=function(t,e,n){var i=this;this.workerConn.loadTile(this.layer.getId(),{url:t,arraybuffer:e,rootIdx:n.he,upAxis:n.qe,transform:n.matrix},function(e,r){e?i.onTileError(e,n):r.gltf?i.painter.createModelMesh(r,n,function(e){e?i.onTileError(e,n):i.onTileLoad(r,n)}):i.onTilesetLoad(r,n,t)})},r.onTileLoad=function(e,r){this.layer&&(delete this.tilesLoading[r.id],this.je(r),this.setToRedraw(),this.layer.fire("tileload",{node:r}))},r.onTilesetLoad=function(e,r,t){this.layer&&(delete this.tilesLoading[r.id],this.layer.onTilesetLoad(e,r,t))},r.onTileError=function(e,r){if(this.layer){var t=r.content.url;console.warn("failed to load 3d tile: "+t),console.warn(e),delete this.tilesLoading[r.id],this.je(r),this.setToRedraw(),this.layer.fire("tileerror",{node:r,error:e})}},r.Fe=function(e){return this.tileCache.get(e)},r.je=function(e){var r={loadTime:maptalks.Util.now(),current:!0,node:e};this.tileCache.add(e.id,r)},r.abortTileLoading=function(e){if(e&&this.workerConn){var r=e.node.content.url;if(this.layer.options.services[e.node.he].ajaxInMainThread){var t=this.G[r];t&&t.abort()}else this.workerConn.abortTileLoading(this.layer.getId(),r);delete this.G[r]}},r.De=function(){var e=0;if(this.tilesLoading)for(var r in this.tilesLoading)this.tilesLoading[r].current=!1,e++;return e},r.deleteTile=function(e){this.painter.deleteTile(e)},r.createContext=function(){var e=this.layer,r=e.options.glOptions||{alpha:!0,depth:!0,stencil:!0,preserveDrawingBuffer:!0,antialias:e.options.antialias};this.canvas.gl&&this.canvas.gl.wrap?(this.gl=this.canvas.gl.wrap(),this.regl=this.canvas.gl.regl):(this.glOptions=r,this.gl=this.ze(this.canvas,r)),this.regl=this.regl||gl.createREGL({gl:this.gl,attributes:r,extensions:["OES_element_index_uint","WEBGL_compressed_texture_s3tc"],optionalExtensions:e.options.glExtensions||[]}),this.painter=new MeshPainter(this.regl,e)},r.prepareWorker=function(){var r=this,e=this.getMap();this.workerConn||(this.workerConn=new Geo3DTilesWorkerConnection("@maptalks/3dtiles",e.id));var t=this.workerConn;if(t.isActive()){var n=this.layer.options||{},i=this.layer.getId();t.addLayer(i,n,function(e){if(e)throw e;r.layer&&(r.ready=!0,r.layer.fire("workerready"))})}},r.onRemove=function(){this.painter.remove(),this.workerConn&&(this.workerConn.removeLayer(this.layer.getId(),function(e){if(e)throw e}),this.workerConn.remove(),delete this.workerConn),this.clear(),delete this.tileCache,t.prototype.onRemove.call(this)},r.clear=function(){this.Le(!0),this.tileCache.reset(),this.tilesLoading={},t.prototype.clear.call(this)},r.clearCanvas=function(){this.regl.clear({color:[0,0,0,0],depth:1,stencil:0}),t.prototype.clearCanvas.call(this)},r.getTileOpacity=function(){return 1},r.getStencilValue=function(){return 0},r.Le=function(e){this.We||(this.We=Date.now());var r=Date.now();if(e||!(r-this.We<this.layer.options.retireInterval))for(var t in this.We=r,this.tilesLoading){var n=this.tilesLoading[t];!e&&n.current||(this.abortTileLoading(n),this.painter.has(n)&&this.painter.deleteTile(n),delete this.tilesLoading[t])}},r.xe=function(){return this.getMap().isInteracting()?this.layer.options.loadingLimitOnInteracting:this.layer.options.loadingLimit},r.ze=function(e,r){for(var t=["webgl","experimental-webgl"],n=null,i=0;i<t.length;++i){try{n=e.getContext(t[i],r)}catch(e){}if(n)break}return n},r.Ue=function(e){return!!this.tilesLoading[e]},e}(maptalks.renderer.CanvasRenderer);function compareTile(e,r){return 0===e.node.me&&0===r.node.me?r.node.Je-e.node.Je:r.node.me-e.node.me}function compareRequests(e,r){return 0===e.me&&0===r.me?e.Je-r.Je:e.me-r.me}var scratchN=new Array(3),scratchK=new Array(3),wgs84RadiiSquared=[40680631590769,40680631590769,40408299984661.445];function radianToCartesian3(e,r,t,n){var i=wgs84RadiiSquared,a=Math.cos(t);scratchN[0]=a*Math.cos(r),scratchN[1]=a*Math.sin(r),scratchN[2]=Math.sin(t),normalizeCartesian(scratchN,scratchN),multiply(scratchK,i,scratchN);var o=Math.sqrt(dot(scratchN,scratchK));return divideByScalar(scratchK,scratchK,o),scale(scratchN,scratchN,n),add(e,scratchK,scratchN)}var wgs84OneOverRadii=[1/6378137,1/6378137,1/6356752.314245179],wgs84OneOverRadiiSquared=[1/40680631590769,1/40680631590769,1/40408299984661.445],cartesianToCartographicP=new Array(3),cartesianToCartographicN=new Array(3),cartesianToCartographicH=new Array(3);function cartesian3ToDegree(e,r){var t=wgs84OneOverRadiiSquared,n=scaleToGeodeticSurface(cartesianToCartographicP,r,wgs84OneOverRadii,t,.1),i=mul(cartesianToCartographicN,n,t);i=normalizeCartesian(i,i);var a=sub(cartesianToCartographicH,r,n),o=Math.atan2(i[1],i[0]),u=Math.asin(i[2]),f=sign(dot(a,r))*magnitude(a);return e[0]=toDegree(o),e[1]=toDegree(u),e[2]=f,e}var scaleToGeodeticSurfaceIntersection=new Array(3),scaleToGeodeticSurfaceGradient=new Array(3),EPSILON12=1e-12;function scaleToGeodeticSurface(e,r,t,n,i){var a=r[0],o=r[1],u=r[2],f=t[0],c=t[1],s=t[2],l=a*a*f*f,d=o*o*c*c,h=u*u*s*s,v=l+d+h,_=Math.sqrt(1/v),M=scale(scaleToGeodeticSurfaceIntersection,r,_);if(v<i)return isFinite(_)?M:void 0;var E=n[0],T=n[1],m=n[2],A=scaleToGeodeticSurfaceGradient;A[0]=M[0]*E*2,A[1]=M[1]*T*2,A[2]=M[2]*m*2;var b,p,S,O,g,y,R,w=(1-_)*magnitude(r)/(.5*magnitude(A)),k=0;do{k=(b=l*(g=(p=1/(1+(w-=k)*E))*p)+d*(y=(S=1/(1+w*T))*S)+h*(R=(O=1/(1+w*m))*O)-1)/(-2*(l*(g*p)*E+d*(y*S)*T+h*(R*O)*m))}while(Math.abs(b)>EPSILON12);return e[0]=a*p,e[1]=o*S,e[2]=u*O,e}function magnitude(e){return length(e)}function divideByScalar(e,r,t){return e[0]=r[0]/t,e[1]=r[1]/t,e[2]=r[2]/t,e}function normalizeCartesian(e,r){var t=r[0],n=r[1],i=r[2],a=t*t+n*n+i*i;return 0<a&&(a=Math.sqrt(a),e[0]=r[0]/a,e[1]=r[1]/a,e[2]=r[2]/a),e}var Transform=Object.freeze({__proto__:null,radianToCartesian3:radianToCartesian3,cartesian3ToDegree:cartesian3ToDegree,normalizeCartesian:normalizeCartesian});function getMatrix3Column(e,r,t){return e[0]=r[t],e[1]=r[t+3],e[2]=r[t+6],e}function distanceToCamera(e,r,t){return Math.sqrt(distanceSquaredTo(e,r,t))}var scratchOffset=[],scratchCartesianU=[],scratchCartesianV=[],scratchCartesianW=[],scratchPPrime=[];function distanceSquaredTo(e,r,t){var n=subtract(scratchOffset,t,e),i=getMatrix3Column(scratchCartesianU,r,0),a=getMatrix3Column(scratchCartesianV,r,1),o=getMatrix3Column(scratchCartesianW,r,2),u=len(i),f=len(a),c=len(o);normalize(i,i),normalize(a,a),normalize(o,o);var s=scratchPPrime;s.x=dot(n,i),s.y=dot(n,a),s.z=dot(n,o);var l,d=0;return s.x<-u?d+=(l=s.x+u)*l:s.x>u&&(d+=(l=s.x-u)*l),s.y<-f?d+=(l=s.y+f)*l:s.y>f&&(d+=(l=s.y-f)*l),s.z<-c?d+=(l=s.z+c)*l:s.z>c&&(d+=(l=s.z-c)*l),d}var DEFAULT_MAXIMUMSCREENSPACEERROR=8,options={maxCacheSize:500,retireInterval:2e3,loadingLimitOnInteracting:5,loadingLimit:0,renderer:"gl",forceRenderOnZooming:!0,forceRenderOnRotating:!0,forceRenderOnMoving:!0,debug:!1,debugOutline:[0,1,0],antialias:!1,sRGBTolinear:!1},projection=maptalks.projection.EPSG3857,TEMP_EXTENT=new maptalks.Extent(0,0,0,0),TEMP_MAT=[],TEMP_VEC3_0=[],TEMP_VEC3_1=[],Geo3DTilesLayer=function(n){function e(e,r){var t;return(t=n.call(this,e,r)||this).Ze(),t.G={},t.Qe={},t}_inheritsLoose(e,n);var r=e.prototype;return r.Ze=function(){var e=this.options.services.map(function(e){return e.url});this.er=e.map(function(e,r){return createRootTile(e,r)}),this.fire("rootready",{roots:this.er.slice(0)})},r.getRootTiles=function(){return this.er},r.getTiles=function(){return this.getRenderer().ready?this.rr():(this.tr(),{tiles:null})},r.rr=function(){var e,r,t=this.getMap(),n=t.cameraPosition;if(t.getGLZoom)r=t.pointToDistance(n[2],0,t.getGLZoom()),e=t.pointToCoord(new maptalks.Coordinate(n),t.getGLZoom());else{var i=t.getGLRes();r=t.pointAtResToDistance(n[2],0,i),e=t.pointAtResToCoord(new maptalks.Coordinate(n),i)}this.nr=[toRadian(e.x),toRadian(e.y),r],this.ir=radianToCartesian3(this.ir||[],this.nr[0],this.nr[1],this.nr[2]),this.ar=2*Math.tan(.5*toRadian(t.getFov())),this.or=distanceScale(e),this.ur=projection.project(e).toArray();for(var a=t.projViewMatrix,o={children:[],level:-1},u=o,f={},c=0;c<this.er.length;c++)for(var s=1/0,l=[this.er[c]],d=this.fr(c);0<l.length;){var h=l.pop();for(this.cr(h);u.level>=h.Xe;)u=u.parent;var v=this.sr(h,d,a);if(v<1){for(var _=u;_&&!_.content;)_=_.parent;if(_&&_.content&&(f[(h.lr=_).node.id]=_),!1===this.options.services[h.he].alwaysShow)continue;if(!(0===v&&h.Xe<=s))continue;h.content&&(s=h.Xe)}h.me<1/0&&this.dr(h);var M=this.Ge(h,u);u.children.push(M);var E=h.children,T=E&&E.length,m=M.content;if(!T&&m&&(f[M.node.id]=M),T){m&&"add"===h.refine&&(f[M.node.id]=M),u=M;for(var A=0,b=E.length;A<b;A++){if(!E[A].parent){E[A].parent=h,E[A].qe=h.qe,E[A].baseUrl=h.baseUrl;var p=E[A].content&&(E[A].content.url||E[A].content.uri);p&&-1===p.indexOf("http://")&&-1===p.indexOf("https://")?E[A].content.url=h.baseUrl+p:p&&(E[A].baseUrl=p.substring(0,p.lastIndexOf("/")+1))}l.push(E[A])}}}return{root:o,tiles:f}},r.Ge=function(e,r){return{id:e.id,node:e,children:[],level:e.Xe,parent:r,content:this.Ve(e)}},r.cr=function(e){if(void 0===e.id){e.id=maptalks.Util.GUID(),e.matrix=e.transform||gl.mat4.identity([]),e.hr=this.vr(e),e.parent&&(e.matrix=gl.mat4.multiply(e.matrix,e.parent.matrix,e.matrix),e.he=e.parent.he,void 0===e.Xe&&(e.Xe=e.parent.Xe+1),e.maxExtent=e.parent.maxExtent),e.refine=e.refine&&e.refine.toLowerCase()||"replace",e.content&&!e.content.url&&e.content.uri&&(e.content.url=e.content.uri);var r=this.options.services[e.he].heightOffset||0;if(r&&e.boundingVolume){var t=e.boundingVolume,n=t.region,i=t.box,a=t.sphere;if(n)n[4]+=r,n[5]+=r;else if(i||a){var o=i||a,u=gl.vec3.transformMat4(TEMP_VEC3_0,o,e.matrix),f=gl.mat4.invert(TEMP_MAT,e.matrix),c=cartesian3ToDegree(TEMP_VEC3_1,u);c[2]+=r,radianToCartesian3(u,toRadian(c[0]),toRadian(c[1]),c[2]),gl.vec3.transformMat4(o,u,f)}}}},r.vr=function(e){return void 0===e.geometricError||!e.boundingVolume},r.Ve=function(e){return e.content&&e.content.url},r.dr=function(e){for(var r=e.parent;r&&r.hr&&!(r.me<=e.me&&r.Je<=e.Je);)r.me=e.me,r.Je=e.Je,r=e.parent},r.onTilesetLoad=function(e,r,t){if(e){var n=this.options.services[r.he].upAxis||e.asset&&e.asset.gltfUpAxis||r&&r.qe||"Y";if(e.root.baseUrl=t.substring(0,t.lastIndexOf("/")+1),e.root.qe=n,r){var i=r.boundingVolume;extend(r,e.root),r.boundingVolume=i;var a=e.root.transform;a&&(r.parent?r.matrix=gl.mat4.multiply([],r.parent.matrix,a):r.matrix=a),r.children&&r.children.length&&(delete r.content,e.root.content&&(r.content=e.root.content)),r.hr=this.vr(r);var o=r.content&&(r.content.url||r.content.uri);o&&-1===o.indexOf("http://")&&-1===o.indexOf("https://")&&(r.content.url=r.baseUrl+o)}this.tr(),this.fire("loadtileset",{tileset:e})}else console.warn("invalid tileset at : "+t)},r.sr=function(e,r,t){if(e.me=1/0,0===e.Xe||e.hr)return 1;if(e._r=1/0,!this.Mr(e,r,t))return-1;if(0===e.geometricError)return 1;var n=this.options.services[e.he].maximumScreenSpaceError;null==n&&(n=DEFAULT_MAXIMUMSCREENSPACEERROR);var i=this.Er(e);return 0===i&&e.parent&&(i=.5*(e.parent._r||0)),n<=i?1:0},r.Oe=function(e){var r=this.getMap();return r.getGLZoom?r.coordToPoint(e,r.getGLZoom()):r.coordToPointAtRes(e,r.getGLRes())},r.Mr=function(e,r,t){var n=this,i=this.getMap();if(!i)return!1;var a,o,u,f=e.id,c=this.Qe[f];if(!e.boundingVolume)return!1;if(!c&&(e.boundingVolume&&!c))if(e.boundingVolume.region){var s=e.boundingVolume.region;a=(a=new maptalks.Extent(toDegree(s[0]),toDegree(s[1]),toDegree(s[2]),toDegree(s[3]))).convertTo(function(e){return n.Oe(e)}),u=s[4],o=s[5],c=this.Qe[f]=[[a.xmin,a.ymin,u,u],[a.xmax,a.ymax,o,o]]}else if(e.boundingVolume.sphere){var l=e.boundingVolume.sphere,d=cartesian3ToDegree([],gl.vec3.transformMat4(l,l,e.matrix)),h=this.Oe(new maptalks.Coordinate(d)).toArray();h.push(d[2],d[2]),c=this.Qe[f]=[h,l[3],l[3]]}else if(e.boundingVolume.box){var v=e.boundingVolume.box,_=cartesian3ToDegree([],gl.vec3.transformMat4(v,v,e.matrix)),M=this.Oe(new maptalks.Coordinate(_)).toArray();M.push(_[2]);var E=v.slice(3);gl.mat3.multiply(E,gl.mat3.fromMat4([],e.matrix),E);for(var T=0;T<E.length;T++)v[3+T]=E[T];c=this.Qe[f]=[[].concat(M,E),[].concat(M,E)]}var m=this.or/(i.getGLZoom?i.getResolution(i.getGLZoom()):i.getGLRes());if(r){if(e.boundingVolume.region)TEMP_EXTENT.xmin=c[0][0],TEMP_EXTENT.ymin=c[0][1],TEMP_EXTENT.xmax=c[1][0],TEMP_EXTENT.ymax=c[1][1];else if(e.boundingVolume.sphere){var A=c[2]*m;TEMP_EXTENT.xmin=c[0][0]-A,TEMP_EXTENT.ymin=c[0][1]-A,TEMP_EXTENT.xmax=c[0][0]+A,TEMP_EXTENT.ymax=c[0][1]+A}else if(e.boundingVolume.box){var b=c[1]*m,p=c[2]*m;TEMP_EXTENT.xmin=c[0][0]-b,TEMP_EXTENT.ymin=c[0][1]-p,TEMP_EXTENT.xmax=c[0][0]+b,TEMP_EXTENT.ymax=c[0][1]+p}if(!r.intersects(TEMP_EXTENT))return!1}if(e.boundingVolume.region)return c[0][2]=c[0][3]*m,c[1][2]=c[1][3]*m,intersectsBox(t,c);if(e.boundingVolume.sphere)return c[0][2]=c[0][3]*m,c[1]=c[2]*m,intersectsSphere(t,c);if(e.boundingVolume.box){for(var S=2;S<c[1].length;S++)c[0][S]=c[1][S]*m;return intersectsOrientedBox(t,c[0])}return!1},r.fr=function(e){var r=this,t=this.options.services[e].maxExtent;if(!t)return null;var n=this.er[e];return n.maxExtent||(n.maxExtent=new maptalks.Extent(t).convertTo(function(e){return r.Oe(e)})),n.maxExtent},r.Er=function(e){var r=this.ar,t=e.geometricError;if(0===t)return 0;var n,i,a=this.getMap();e.boundingVolume.region?(n=computeRegionDistanceToCamera(e,this.ur,this.nr,this.or),i=computeRegionCenterToCamera(e,this.ir)):e.boundingVolume.sphere?(n=computeSphereDistanceToCamera(e,this.ir),i=computeSphereCenterToCamera(e,this.ir)):e.boundingVolume.box&&(n=computeBoxDistanceToCamera(e,this.ir),i=computeBoxCenterToCamera(e,this.ir));var o=Math.max(Math.abs(n),1e-7),u=t*a.height/(o*r);return e.me=n,e.Je=i,e._r=u},r.tr=function(){var e=this.getRenderer();e&&e.setToRedraw()},e}(maptalks.Layer);function computeSphereDistanceToCamera(e,r){var t=e.boundingVolume.sphere,n=gl.vec3.dist(t,r),i=e.boundingVolume.sphere[3];return n<i?0:n-i}function computeSphereCenterToCamera(e,r){var t=e.boundingVolume.sphere;return gl.vec3.dist(t,r)}function computeBoxCenterToCamera(e,r){var t=e.boundingVolume.box;return gl.vec3.dist(t,r)}function computeBoxDistanceToCamera(e,r){var t=e.boundingVolume.box;return distanceToCamera(t.slice(0,3),t.slice(3),r)}Geo3DTilesLayer.mergeOptions(options),Geo3DTilesLayer.registerRenderer("gl",Geo3DTilesRenderer);var REGION_MIN=[],REGION_MAX=[],Module;function computeRegionCenterToCamera(e,r){var t=e.boundingVolume.region,n=radianToCartesian3(REGION_MIN,t[0],t[1],t[4]),i=radianToCartesian3(REGION_MAX,t[2],t[3],t[5]),a=gl.vec3.scale(n,gl.vec3.add(n,n,i),.5);return gl.vec3.dist(a,r)}function computeRegionDistanceToCamera(e,r,t,n){var i=e.boundingVolume.region,a=e.Tr;if(a||(a=e.Tr=[radianTo3857(i[0],i[1]),radianTo3857(i[0],i[3]),radianTo3857(i[2],i[1]),radianTo3857(i[2],i[3]),radianTo3857(i[0],i[1]),radianTo3857(i[0],i[3]),radianTo3857(i[2],i[1]),radianTo3857(i[2],i[3])],e.mr=[Math.min.apply(Math,a.map(function(e){return e[0]})),Math.min.apply(Math,a.map(function(e){return e[1]}))],e.Ar=[Math.max.apply(Math,a.map(function(e){return e[0]})),Math.max.apply(Math,a.map(function(e){return e[1]}))]),t[0]>=i[0]&&t[0]<=i[2]&&t[1]>=i[1]&&t[1]<=i[3])return t[2]<=i[5]?0:t[2]-i[5];var o=distanceToRect(e.mr,e.Ar,r)/n,u=0;return t[2]>i[5]&&(u=t[2]-i[5]),Math.sqrt(o*o+u*u)}function createRootTile(e,r){return{baseUrl:(e=getAbsoluteURL(e)).substring(0,e.lastIndexOf("/"))+"/",content:{url:e},refine:"replace",matrix:gl.mat4.identity([]),he:r,Xe:0}}function distanceToRect(e,r,t){var n=Math.max(e[0]-t[0],0,t[0]-r[0]),i=Math.max(e[1]-t[1],0,t[1]-r[1]);return Math.sqrt(n*n+i*i)}function radianTo3857(e,r){var t=new maptalks.Coordinate(toDegree(e),toDegree(r));return projection.project(t).toArray()}function distanceScale(e){var r=projection.locate(e,100,0),t=projection.project(e),n=projection.project(r);return n._sub(t)._abs(),n.x/100}Module||(Module=(void 0!==Module?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1,nodeFS,nodePath;if(Module.ENVIRONMENT)if("WEB"===Module.ENVIRONMENT)ENVIRONMENT_IS_WEB=!0;else if("WORKER"===Module.ENVIRONMENT)ENVIRONMENT_IS_WORKER=!0;else if("NODE"===Module.ENVIRONMENT)ENVIRONMENT_IS_NODE=!0;else{if("SHELL"!==Module.ENVIRONMENT)throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");ENVIRONMENT_IS_SHELL=!0}else ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&"function"==typeof require&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE)Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn),Module.read=function(e,r){nodeFS||(nodeFS=require("fs")),nodePath||(nodePath=require("path")),e=nodePath.normalize(e);var t=nodeFS.readFileSync(e);return r?t:t.toString()},Module.readBinary=function(e){var r=Module.read(e,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(1<process.argv.length?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=Module),process.on("uncaughtException",function(e){if(!(e instanceof ExitStatus))throw e}),Module.inspect=function(){return"[Emscripten Module object]"};else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var r=read(e,"binary");return assert("object"==typeof r),r},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments),"function"==typeof quit&&(Module.quit=function(e,r){quit(e)});else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(e,r,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(var key in!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(e,r){throw r}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(e){return tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"!==e[0])return 0;var r=parseInt(e.substr(1));return assert(r%8==0),r/8}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,r){return"double"===r||"i64"===r?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},getAlignSize:function(e,r,t){return t||"i64"!=e&&"double"!=e?e?Math.min(r||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(r,8):8},dynCall:function(e,r,t){return t&&t.length?Module["dynCall_"+e].apply(null,[r].concat(t)):Module["dynCall_"+e].call(null,r)},functionPointers:[],addFunction:function(e){for(var r=0;r<Runtime.functionPointers.length;r++)if(!Runtime.functionPointers[r])return Runtime.functionPointers[r]=e,2*(1+r);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(r,t){assert(t),Runtime.funcWrappers[t]||(Runtime.funcWrappers[t]={});var e=Runtime.funcWrappers[t];return e[r]||(1===t.length?e[r]=function(){return Runtime.dynCall(t,r)}:2===t.length?e[r]=function(e){return Runtime.dynCall(t,r,[e])}:e[r]=function(){return Runtime.dynCall(t,r,Array.prototype.slice.call(arguments))}),e[r]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var r=STACKTOP;return STACKTOP=(STACKTOP=STACKTOP+e|0)+15&-16,r},staticAlloc:function(e){var r=STATICTOP;return STATICTOP=(STATICTOP=STATICTOP+e|0)+15&-16,r},dynamicAlloc:function(e){var r=HEAP32[DYNAMICTOP_PTR>>2],t=-16&(r+e+15|0);if((HEAP32[DYNAMICTOP_PTR>>2]=t,TOTAL_MEMORY<=t)&&!enlargeMemory())return HEAP32[DYNAMICTOP_PTR>>2]=r,0;return r},alignMemory:function(e,r){return e=Math.ceil(e/(r||16))*(r||16)},makeBigInt:function(e,r,t){return t?+(e>>>0)+4294967296*+(r>>>0):+(e>>>0)+4294967296*+(0|r)},GLOBAL_BASE:8,QUANTUM_SIZE:4,H:0};Module.Runtime=Runtime;var ABORT=0,cwrap,ccall;function assert(e,r){e||abort("Assertion failed: "+r)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,r,t,n){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":HEAP8[e>>0]=r;break;case"i16":HEAP16[e>>1]=r;break;case"i32":HEAP32[e>>2]=r;break;case"i64":tempI64=[r>>>0,(tempDouble=r,1<=+Math_abs(tempDouble)?0<tempDouble?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=r;break;case"double":HEAPF64[e>>3]=r;break;default:abort("invalid type for setValue: "+t)}}function getValue(e,r,t){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+r)}return null}!function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var r=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,r),r},stringToC:function(e){var r=0;if(null!=e&&0!==e){var t=1+(e.length<<2);stringToUTF8(e,r=Runtime.stackAlloc(t),t)}return r}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,t,n,i){var a=getCFunc(e),o=[],u=0;if(n)for(var f=0;f<n.length;f++){var c=toC[t[f]];o[f]=c?(0===u&&(u=Runtime.stackSave()),c(n[f])):n[f]}var s=a.apply(null,o);if("string"===r&&(s=Pointer_stringify(s)),0!==u){if(i&&i.async)return void EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(u)});Runtime.stackRestore(u)}return s};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(e){var r=e.toString().match(sourceRegex).slice(1);return{arguments:r[0],body:r[1],returnValue:r[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource)for(var e in JSsource={},JSfuncs)JSfuncs.hasOwnProperty(e)&&(JSsource[e]=parseJSFunc(JSfuncs[e]))}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(e){return"number"===e}),numericRet="string"!==returnType;if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(e,r){return"$"+r}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if("number"!==type){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"=("+convertCode.returnValue+");"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+="ret = "+strgfy+"(ret);"}return numericArgs||(ensureJSsource(),funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}}(),Module.ccall=ccall,Module.cwrap=cwrap,Module.setValue=setValue,Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;function allocate(e,r,t,n){var i,a;a="number"==typeof e?(i=!0,e):(i=!1,e.length);var o,u="string"==typeof r?r:null;if(o=t==ALLOC_NONE?n:["function"==typeof _malloc?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][void 0===t?ALLOC_STATIC:t](Math.max(a,u?1:r.length)),i){var f;n=o;for(assert(0==(3&o)),f=o+(-4&a);n<f;n+=4)HEAP32[n>>2]=0;for(f=o+a;n<f;)HEAP8[n++>>0]=0;return o}if("i8"===u)return e.subarray||e.slice?HEAPU8.set(e,o):HEAPU8.set(new Uint8Array(e),o),o;for(var c,s,l,d=0;d<a;){var h=e[d];"function"==typeof h&&(h=Runtime.getFunctionIndex(h)),0!==(c=u||r[d])?("i64"==c&&(c="i32"),setValue(o+d,h,c),l!==c&&(s=Runtime.getNativeTypeSize(c),l=c),d+=s):d++}return o}function getMemory(e){return staticSealed?runtimeInitialized?_malloc(e):Runtime.dynamicAlloc(e):Runtime.staticAlloc(e)}function Pointer_stringify(e,r){if(0===r||!e)return"";for(var t,n=0,i=0;n|=t=HEAPU8[e+i>>0],(0!=t||r)&&(i++,!r||i!=r););r||(r=i);var a="";if(n<128){for(var o;0<r;)o=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(r,1024))),a=a?a+o:o,e+=1024,r-=1024;return a}return Module.UTF8ToString(e)}function AsciiToString(e){for(var r="";;){var t=HEAP8[e++>>0];if(!t)return r;r+=String.fromCharCode(t)}}function stringToAscii(e,r){return writeAsciiToMemory(e,r,!1)}Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii;var UTF8Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(e,r){for(var t=r;e[t];)++t;if(16<t-r&&e.subarray&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(r,t));for(var n,i,a,o,u,f="";;){if(!(n=e[r++]))return f;if(128&n)if(i=63&e[r++],192!=(224&n))if(a=63&e[r++],(n=224==(240&n)?(15&n)<<12|i<<6|a:(o=63&e[r++],240==(248&n)?(7&n)<<18|i<<12|a<<6|o:(u=63&e[r++],248==(252&n)?(3&n)<<24|i<<18|a<<12|o<<6|u:(1&n)<<30|i<<24|a<<18|o<<12|u<<6|63&e[r++])))<65536)f+=String.fromCharCode(n);else{var c=n-65536;f+=String.fromCharCode(55296|c>>10,56320|1023&c)}else f+=String.fromCharCode((31&n)<<6|i);else f+=String.fromCharCode(n)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,r,t,n){if(!(0<n))return 0;for(var i=t,a=t+n-1,o=0;o<e.length;++o){var u=e.charCodeAt(o);if(55296<=u&&u<=57343&&(u=65536+((1023&u)<<10)|1023&e.charCodeAt(++o)),u<=127){if(a<=t)break;r[t++]=u}else if(u<=2047){if(a<=t+1)break;r[t++]=192|u>>6,r[t++]=128|63&u}else if(u<=65535){if(a<=t+2)break;r[t++]=224|u>>12,r[t++]=128|u>>6&63,r[t++]=128|63&u}else if(u<=2097151){if(a<=t+3)break;r[t++]=240|u>>18,r[t++]=128|u>>12&63,r[t++]=128|u>>6&63,r[t++]=128|63&u}else if(u<=67108863){if(a<=t+4)break;r[t++]=248|u>>24,r[t++]=128|u>>18&63,r[t++]=128|u>>12&63,r[t++]=128|u>>6&63,r[t++]=128|63&u}else{if(a<=t+5)break;r[t++]=252|u>>30,r[t++]=128|u>>24&63,r[t++]=128|u>>18&63,r[t++]=128|u>>12&63,r[t++]=128|u>>6&63,r[t++]=128|63&u}}return r[t]=0,t-i}function stringToUTF8(e,r,t){return stringToUTF8Array(e,HEAPU8,r,t)}function lengthBytesUTF8(e){for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);55296<=n&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++t)),n<=127?++r:r+=n<=2047?2:n<=65535?3:n<=2097151?4:n<=67108863?5:6}return r}Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function demangle(e){var r=Module.___cxa_demangle||Module.__cxa_demangle;if(r){try{var t=e.substr(1),n=lengthBytesUTF8(t)+1,i=_malloc(n);stringToUTF8(t,i,n);var a=_malloc(4),o=r(i,0,0,a);if(0===getValue(a,"i32")&&o)return Pointer_stringify(o)}catch(e){}finally{i&&_free(i),a&&_free(a),o&&_free(o)}return e}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),e}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,function(e){var r=demangle(e);return e===r?e:e+" ["+r+"]"})}function jsStackTrace(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(e){r=e}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function stackTrace(){var e=jsStackTrace();return Module.extraStackTrace&&(e+="\n"+Module.extraStackTrace()),demangleAll(e)}Module.stackTrace=stackTrace;var WASM_PAGE_SIZE=65536,ASMJS_PAGE_SIZE=16777216,MIN_TOTAL_MEMORY=16777216,HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR,byteLength;function alignUp(e,r){return 0<e%r&&(e+=r-e%r),e}function updateGlobalBuffer(e){Module.buffer=buffer=e}function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){var e=Module.usingWasm?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE,r=2147483648-e;if(HEAP32[DYNAMICTOP_PTR>>2]>r)return!1;var t=TOTAL_MEMORY;for(TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);TOTAL_MEMORY<HEAP32[DYNAMICTOP_PTR>>2];)TOTAL_MEMORY=TOTAL_MEMORY<=536870912?alignUp(2*TOTAL_MEMORY,e):Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,e),r);var n=Module.reallocBuffer(TOTAL_MEMORY);return n&&n.byteLength==TOTAL_MEMORY?(updateGlobalBuffer(n),updateGlobalBufferViews(),!0):(TOTAL_MEMORY=t,!1)}STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1,Module.reallocBuffer||(Module.reallocBuffer=function(e){var r;try{if(ArrayBuffer.transfer)r=ArrayBuffer.transfer(buffer,e);else{var t=HEAP8;r=new ArrayBuffer(e),new Int8Array(r).set(t)}}catch(e){return!1}return!!_emscripten_replace_memory(r)&&r});try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),byteLength(new ArrayBuffer(4))}catch(e){byteLength=function(e){return e.byteLength}}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||16777216;function getTotalMemory(){return TOTAL_MEMORY}if(TOTAL_MEMORY<TOTAL_STACK&&Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")"),buffer=Module.buffer?Module.buffer:new ArrayBuffer(TOTAL_MEMORY),updateGlobalBufferViews(),HEAP32[0]=1668509029,HEAP16[1]=25459,115!==HEAPU8[2]||99!==HEAPU8[3])throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(e){for(;0<e.length;){var r=e.shift();if("function"!=typeof r){var t=r.func;"number"==typeof t?void 0===r.arg?Module.dynCall_v(t):Module.dynCall_vi(t,r.arg):t(void 0===r.arg?null:r.arg)}else r()}}Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__)}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,r,t){var n=0<t?t:lengthBytesUTF8(e)+1,i=new Array(n),a=stringToUTF8Array(e,i,0,i.length);return r&&(i.length=a),i}function intArrayToString(e){for(var r=[],t=0;t<e.length;t++){var n=e[t];255<n&&(n&=255),r.push(String.fromCharCode(n))}return r.join("")}function writeStringToMemory(e,r,t){var n,i;Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!"),t&&(i=r+lengthBytesUTF8(e),n=HEAP8[i]),stringToUTF8(e,r,1/0),t&&(HEAP8[i]=n)}function writeArrayToMemory(e,r){HEAP8.set(e,r)}function writeAsciiToMemory(e,r,t){for(var n=0;n<e.length;++n)HEAP8[r++>>0]=e.charCodeAt(n);t||(HEAP8[r>>0]=0)}Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,r){var t=65535&e,n=65535&r;return t*n+((e>>>16)*n+t*(r>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var r=0;r<32;r++)if(e&1<<31-r)return r;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_min=Math.min,runDependencies=0,dependenciesFulfilled=null;function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&dependenciesFulfilled){var r=dependenciesFulfilled;dependenciesFulfilled=null,r()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={},STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+6192,__ATINIT__.push(),allocate([228,2,0,0,81,16,0,0,12,3,0,0,177,16,0,0,32,0,0,0,0,0,0,0,12,3,0,0,94,16,0,0,48,0,0,0,0,0,0,0,228,2,0,0,127,16,0,0,12,3,0,0,140,16,0,0,16,0,0,0,0,0,0,0,12,3,0,0,183,17,0,0,32,0,0,0,0,0,0,0,12,3,0,0,147,17,0,0,72,0,0,0,0,0,0,0,108,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,32,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,1,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,40,20,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,56,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,37,115,40,37,117,41,58,32,65,115,115,101,114,116,105,111,110,32,102,97,105,108,117,114,101,58,32,34,37,115,34,10,0,109,95,115,105,122,101,32,60,61,32,109,95,99,97,112,97,99,105,116,121,0,46,47,105,110,99,92,99,114,110,95,100,101,99,111,109,112,46,104,0,109,105,110,95,110,101,119,95,99,97,112,97,99,105,116,121,32,60,32,40,48,120,55,70,70,70,48,48,48,48,85,32,47,32,101,108,101,109,101,110,116,95,115,105,122,101,41,0,110,101,119,95,99,97,112,97,99,105,116,121,32,38,38,32,40,110,101,119,95,99,97,112,97,99,105,116,121,32,62,32,109,95,99,97,112,97,99,105,116,121,41,0,110,117,109,95,99,111,100,101,115,91,99,93,0,115,111,114,116,101,100,95,112,111,115,32,60,32,116,111,116,97,108,95,117,115,101,100,95,115,121,109,115,0,112,67,111,100,101,115,105,122,101,115,91,115,121,109,95,105,110,100,101,120,93,32,61,61,32,99,111,100,101,115,105,122,101,0,116,32,60,32,40,49,85,32,60,60,32,116,97,98,108,101,95,98,105,116,115,41,0,109,95,108,111,111,107,117,112,91,116,93,32,61,61,32,99,85,73,78,84,51,50,95,77,65,88,0,99,114,110,100,95,109,97,108,108,111,99,58,32,115,105,122,101,32,116,111,111,32,98,105,103,0,99,114,110,100,95,109,97,108,108,111,99,58,32,111,117,116,32,111,102,32,109,101,109,111,114,121,0,40,40,117,105,110,116,51,50,41,112,95,110,101,119,32,38,32,40,67,82,78,68,95,77,73,78,95,65,76,76,79,67,95,65,76,73,71,78,77,69,78,84,32,45,32,49,41,41,32,61,61,32,48,0,99,114,110,100,95,114,101,97,108,108,111,99,58,32,98,97,100,32,112,116,114,0,99,114,110,100,95,102,114,101,101,58,32,98,97,100,32,112,116,114,0,102,97,108,115,101,0,40,116,111,116,97,108,95,115,121,109,115,32,62,61,32,49,41,32,38,38,32,40,116,111,116,97,108,95,115,121,109,115,32,60,61,32,112,114,101,102,105,120,95,99,111,100,105,110,103,58,58,99,77,97,120,83,117,112,112,111,114,116,101,100,83,121,109,115,41,0,17,18,19,20,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,16,48,0,110,117,109,95,98,105,116,115,32,60,61,32,51,50,85,0,109,95,98,105,116,95,99,111,117,110,116,32,60,61,32,99,66,105,116,66,117,102,83,105,122,101,0,116,32,33,61,32,99,85,73,78,84,51,50,95,77,65,88,0,109,111,100,101,108,46,109,95,99,111,100,101,95,115,105,122,101,115,91,115,121,109,93,32,61,61,32,108,101,110,0,0,2,3,1,0,2,3,4,5,6,7,1,40,108,101,110,32,62,61,32,49,41,32,38,38,32,40,108,101,110,32,60,61,32,99,77,97,120,69,120,112,101,99,116,101,100,67,111,100,101,83,105,122,101,41,0,105,32,60,32,109,95,115,105,122,101,0,110,101,120,116,95,108,101,118,101,108,95,111,102,115,32,62,32,99,117,114,95,108,101,118,101,108,95,111,102,115,0,1,2,2,3,3,3,3,4,0,0,0,0,0,0,1,1,0,1,0,1,0,0,1,2,1,2,0,0,0,1,0,2,1,0,2,0,0,1,2,3,110,117,109,32,38,38,32,40,110,117,109,32,61,61,32,126,110,117,109,95,99,104,101,99,107,41,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,83,116,57,101,120,99,101,112,116,105,111,110,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;function _abort(){Module.abort()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}STATICTOP+=16;var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(e){if(!e||EXCEPTIONS.infos[e])return e;for(var r in EXCEPTIONS.infos){if(EXCEPTIONS.infos[r].adjusted===e)return r}return e},addRef:function(e){e&&EXCEPTIONS.infos[e].refcount++},decRef:function(e){if(e){var r=EXCEPTIONS.infos[e];assert(0<r.refcount),r.refcount--,0!==r.refcount||r.rethrown||(r.destructor&&Module.dynCall_vi(r.destructor,e),delete EXCEPTIONS.infos[e],___cxa_free_exception(e))}},clearRef:function(e){e&&(EXCEPTIONS.infos[e].refcount=0)}};function ___cxa_begin_catch(e){var r=EXCEPTIONS.infos[e];return r&&!r.caught&&(r.caught=!0,__ZSt18uncaught_exceptionv.uncaught_exception--),r&&(r.rethrown=!1),EXCEPTIONS.caught.push(e),EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(e)),e}function _pthread_once(e,r){_pthread_once.seen||(_pthread_once.seen={}),e in _pthread_once.seen||(Module.dynCall_v(r),_pthread_once.seen[e]=1)}function _emscripten_memcpy_big(e,r,t){return HEAPU8.set(HEAPU8.subarray(r,r+t),e),e}var SYSCALLS={varargs:0,get:function(e){return SYSCALLS.varargs+=4,HEAP32[SYSCALLS.varargs-4>>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),r=SYSCALLS.get();return assert(0<=e?0===r:-1===r),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall6(e,r){SYSCALLS.varargs=r;try{var t=SYSCALLS.getStreamFromFD();return FS.close(t),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC),PTHREAD_SPECIFIC={};function _pthread_getspecific(e){return PTHREAD_SPECIFIC[e]||0}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}var PTHREAD_SPECIFIC_NEXT_KEY=1,ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _pthread_key_create(e,r){return 0==e?ERRNO_CODES.EINVAL:(HEAP32[e>>2]=PTHREAD_SPECIFIC_NEXT_KEY,PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0,PTHREAD_SPECIFIC_NEXT_KEY++,0)}function ___resumeException(e){throw EXCEPTIONS.last||(EXCEPTIONS.last=e),e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var e=EXCEPTIONS.last;if(!e)return 0|(Runtime.setTempRet0(0),0);var r=EXCEPTIONS.infos[e],t=r.type;if(!t)return 0|(Runtime.setTempRet0(0),e);var n=Array.prototype.slice.call(arguments);Module.___cxa_is_pointer_type(t);___cxa_find_matching_catch.buffer||(___cxa_find_matching_catch.buffer=_malloc(4)),HEAP32[___cxa_find_matching_catch.buffer>>2]=e,e=___cxa_find_matching_catch.buffer;for(var i=0;i<n.length;i++)if(n[i]&&Module.___cxa_can_catch(n[i],t,e))return e=HEAP32[e>>2],r.adjusted=e,0|(Runtime.setTempRet0(n[i]),e);return e=HEAP32[e>>2],0|(Runtime.setTempRet0(t),e)}function ___gxx_personality_v0(){}function _pthread_setspecific(e,r){return e in PTHREAD_SPECIFIC?(PTHREAD_SPECIFIC[e]=r,0):ERRNO_CODES.EINVAL}function ___syscall140(e,r){SYSCALLS.varargs=r;try{var t=SYSCALLS.getStreamFromFD(),n=(SYSCALLS.get(),SYSCALLS.get()),i=SYSCALLS.get(),a=SYSCALLS.get(),o=n;return FS.llseek(t,o,a),HEAP32[i>>2]=t.position,t.getdents&&0===o&&0===a&&(t.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,r){SYSCALLS.varargs=r;try{var t=SYSCALLS.get(),n=SYSCALLS.get(),i=SYSCALLS.get(),a=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(e,r){var t=___syscall146.buffers[e];assert(t),0===r||10===r?((1===e?Module.print:Module.printErr)(UTF8ArrayToString(t,0)),t.length=0):t.push(r)});for(var o=0;o<i;o++){for(var u=HEAP32[n+8*o>>2],f=HEAP32[n+(8*o+4)>>2],c=0;c<f;c++)___syscall146.printChar(t,HEAPU8[u+c]);a+=f}return a}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall54(e,r){SYSCALLS.varargs=r;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function invoke_iiii(e,r,t,n){try{return Module.dynCall_iiii(e,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_viiiii(e,r,t,n,i,a){try{Module.dynCall_viiiii(e,r,t,n,i,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_vi(e,r){try{Module.dynCall_vi(e,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_ii(e,r){try{return Module.dynCall_ii(e,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_viii(e,r,t,n){try{Module.dynCall_viii(e,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_v(e){try{Module.dynCall_v(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_viiiiii(e,r,t,n,i,a,o){try{Module.dynCall_viiiiii(e,r,t,n,i,a,o)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}function invoke_viiii(e,r,t,n,i){try{Module.dynCall_viiii(e,r,t,n,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;Module.setThrew(1,0)}}__ATEXIT__.push(function(){var e=Module._fflush;e&&e(0);var r=___syscall146.printChar;if(r){var t=___syscall146.buffers;t[1].length&&r(1,10),t[2].length&&r(2,10)}}),DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX),HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE,staticSealed=!0,Module.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0,byteLength:byteLength},Module.asmLibraryArg={abort:abort,assert:assert,enlargeMemory:enlargeMemory,getTotalMemory:getTotalMemory,abortOnCannotGrowMemory:abortOnCannotGrowMemory,invoke_iiii:invoke_iiii,invoke_viiiii:invoke_viiiii,invoke_vi:invoke_vi,invoke_ii:invoke_ii,invoke_viii:invoke_viii,invoke_v:invoke_v,invoke_viiiiii:invoke_viiiiii,invoke_viiii:invoke_viiii,_pthread_getspecific:_pthread_getspecific,___syscall54:___syscall54,_pthread_setspecific:_pthread_setspecific,___gxx_personality_v0:___gxx_personality_v0,___syscall6:___syscall6,___setErrNo:___setErrNo,_abort:_abort,___cxa_begin_catch:___cxa_begin_catch,_pthread_once:_pthread_once,_emscripten_memcpy_big:_emscripten_memcpy_big,_pthread_key_create:_pthread_key_create,___syscall140:___syscall140,___resumeException:___resumeException,___cxa_find_matching_catch:___cxa_find_matching_catch,___syscall146:___syscall146,__ZSt18uncaught_exceptionv:__ZSt18uncaught_exceptionv,DYNAMICTOP_PTR:DYNAMICTOP_PTR,tempDoublePtr:tempDoublePtr,ABORT:ABORT,STACKTOP:STACKTOP,STACK_MAX:STACK_MAX,cttz_i8:cttz_i8};var asm=function(e,r,t){var n=e.Int8Array,le=new n(t),i=e.Int16Array,B=new i(t),a=e.Int32Array,de=new a(t),o=e.Uint8Array,he=new o(t),u=e.Uint16Array,ve=new u(t),f=e.Uint32Array,c=(new f(t),e.Float32Array),s=(new c(t),e.Float64Array),w=new s(t),l=e.byteLength,d=0|r.DYNAMICTOP_PTR,h=0|r.tempDoublePtr,_e=(r.ABORT,0|r.STACKTOP),v=(r.STACK_MAX,0|r.cttz_i8),k=(e.NaN,e.Infinity,0),ie=(e.Math.floor,e.Math.abs,e.Math.sqrt,e.Math.pow,e.Math.cos,e.Math.sin,e.Math.tan,e.Math.acos,e.Math.asin,e.Math.atan,e.Math.atan2,e.Math.exp,e.Math.log,e.Math.ceil,e.Math.imul),_=(e.Math.min,e.Math.max,e.Math.clz32),M=r.abort,E=(r.assert,r.enlargeMemory),T=r.getTotalMemory,m=r.abortOnCannotGrowMemory,A=(r.invoke_iiii,r.invoke_viiiii,r.invoke_vi,r.invoke_ii,r.invoke_viii,r.invoke_v,r.invoke_viiiiii,r.invoke_viiii,r._pthread_getspecific),b=r.___syscall54,p=r._pthread_setspecific,S=(r.___gxx_personality_v0,r.___syscall6),O=r.___setErrNo,g=r._abort,y=(r.___cxa_begin_catch,r._pthread_once),R=r._emscripten_memcpy_big,N=r._pthread_key_create,P=r.___syscall140,C=(r.___resumeException,r.___cxa_find_matching_catch,r.___syscall146);r.__ZSt18uncaught_exceptionv;function I(e){e|=0;var r,t=0,n=0,i=0,a=0,o=0,u=0,f=0,c=0,s=0,l=0,d=0,h=0,v=0,_=0,M=0,E=0,T=0,m=0,A=0,b=0;_e=(r=_e)+16|0,h=r;do{if(e>>>0<245){if(e=(s=e>>>0<11?16:e+11&-8)>>>3,3&(n=(d=0|de[1144])>>>e)|0)return i=0|de[(n=(e=4616+((t=(1&n^1)+e|0)<<1<<2)|0)+8|0)>>2],(0|e)==(0|(o=0|de[(a=i+8|0)>>2]))?de[1144]=d&~(1<<t):(de[o+12>>2]=e,de[n>>2]=o),b=t<<3,de[i+4>>2]=3|b,de[(b=i+b+4|0)>>2]=1|de[b>>2],_e=r,0|(b=a);if((l=0|de[1146])>>>0<s>>>0){if(0|n)return t=((t=n<<e&((t=2<<e)|0-t))&0-t)-1|0,a=0|de[(e=(t=4616+((i=((n=(t>>>=u=t>>>12&16)>>>5&8)|u|(a=(t>>>=n)>>>2&4)|(e=(t>>>=a)>>>1&2)|(i=(t>>>=e)>>>1&1))+(t>>>i)|0)<<1<<2)|0)+8|0)>>2],(0|t)==(0|(n=0|de[(u=a+8|0)>>2]))?(e=d&~(1<<i),de[1144]=e):(de[n+12>>2]=t,de[e>>2]=n,e=d),o=(i<<3)-s|0,de[a+4>>2]=3|s,de[(i=a+s|0)+4>>2]=1|o,de[i+o>>2]=o,0|l&&(a=0|de[1149],n=4616+((t=l>>>3)<<1<<2)|0,e&(t=1<<t)?t=0|de[(e=n+8|0)>>2]:(de[1144]=e|t,e=(t=n)+8|0),de[e>>2]=a,de[t+12>>2]=a,de[a+8>>2]=t,de[a+12>>2]=n),de[1146]=o,de[1149]=i,_e=r,0|(b=u);if(f=0|de[1145]){if(n=(f&0-f)-1|0,e=0|de[4880+(((o=(n>>>=u=n>>>12&16)>>>5&8)|u|(c=(n>>>=o)>>>2&4)|(i=(n>>>=c)>>>1&2)|(e=(n>>>=i)>>>1&1))+(n>>>e)<<2)>>2],n=(-8&de[e+4>>2])-s|0,i=0|de[e+16+((0==(0|de[e+16>>2])&1)<<2)>>2]){for(;n=(c=(u=(-8&de[i+4>>2])-s|0)>>>0<n>>>0)?u:n,e=c?i:e,0!=(0|(i=0|de[i+16+((0==(0|de[i+16>>2])&1)<<2)>>2])););c=e,o=n}else c=e,o=n;if(c>>>0<(u=c+s|0)>>>0){a=0|de[c+24>>2],t=0|de[c+12>>2];do{if((0|t)==(0|c)){if(!(t=0|de[(e=c+20|0)>>2])&&!(t=0|de[(e=c+16|0)>>2])){n=0;break}for(;;)if(0|(i=0|de[(n=t+20|0)>>2]))t=i,e=n;else{if(!(i=0|de[(n=t+16|0)>>2]))break;t=i,e=n}de[e>>2]=0,n=t}else n=0|de[c+8>>2],de[n+12>>2]=t,de[t+8>>2]=n,n=t}while(0);do{if(0|a){if(t=0|de[c+28>>2],(0|c)==(0|de[(e=4880+(t<<2)|0)>>2])){if(!(de[e>>2]=n)){de[1145]=f&~(1<<t);break}}else if(!(de[a+16+(((0|de[a+16>>2])!=(0|c)&1)<<2)>>2]=n))break;de[n+24>>2]=a,0|(t=0|de[c+16>>2])&&(de[n+16>>2]=t,de[t+24>>2]=n),0|(t=0|de[c+20>>2])&&(de[n+20>>2]=t,de[t+24>>2]=n)}}while(0);return o>>>0<16?(b=o+s|0,de[c+4>>2]=3|b,de[(b=c+b+4|0)>>2]=1|de[b>>2]):(de[c+4>>2]=3|s,de[u+4>>2]=1|o,de[u+o>>2]=o,0|l&&(i=0|de[1149],n=4616+((t=l>>>3)<<1<<2)|0,d&(t=1<<t)?t=0|de[(e=n+8|0)>>2]:(de[1144]=d|t,e=(t=n)+8|0),de[e>>2]=i,de[t+12>>2]=i,de[i+8>>2]=t,de[i+12>>2]=n),de[1146]=o,de[1149]=u),_e=r,0|(b=c+8|0)}d=s}else d=s}else d=s}else if(e>>>0<=4294967231)if(s=-8&(e=e+11|0),c=0|de[1145]){i=0-s|0,f=(e>>>=8)?16777215<s>>>0?31:s>>>((f=14-((l=((A=e<<(d=(e+1048320|0)>>>16&8))+520192|0)>>>16&4)|d|(f=((A<<=l)+245760|0)>>>16&2))+(A<<f>>>15)|0)+7|0)&1|f<<1:0,n=0|de[4880+(f<<2)>>2];e:do{if(n)for(u=s<<(31==((e=0)|f)?0:25-(f>>>1)|0),o=0;;){if((a=(-8&de[n+4>>2])-s|0)>>>0<i>>>0){if(!a){i=0,a=e=n,A=61;break e}e=n,i=a}if(o=0==(0|(a=0|de[n+20>>2]))|(0|a)==(0|(n=0|de[n+16+(u>>>31<<2)>>2]))?o:a,a=0==(0|n)){n=o,A=57;break}u<<=1&(1^a)}else e=n=0,A=57}while(0);if(57==(0|A)){if(0==(0|n)&0==(0|e)){if(!(e=c&((e=2<<f)|0-e))){d=s;break}d=(e&0-e)-1|0,n=(e=0)|de[4880+(((o=(d>>>=u=d>>>12&16)>>>5&8)|u|(f=(d>>>=o)>>>2&4)|(l=(d>>>=f)>>>1&2)|(n=(d>>>=l)>>>1&1))+(d>>>n)<<2)>>2]}n?(a=n,A=61):(f=e,u=i)}if(61==(0|A))for(;;){if(A=0,n=(d=(n=(-8&de[a+4>>2])-s|0)>>>0<i>>>0)?n:i,e=d?a:e,!(a=0|de[a+16+((0==(0|de[a+16>>2])&1)<<2)>>2])){f=e,u=n;break}i=n,A=61}if(0!=(0|f)&&u>>>0<((0|de[1146])-s|0)>>>0){if((o=f+s|0)>>>0<=f>>>0)return _e=r,(b=0)|b;a=0|de[f+24>>2],t=0|de[f+12>>2];do{if((0|t)==(0|f)){if(!(t=0|de[(e=f+20|0)>>2])&&!(t=0|de[(e=f+16|0)>>2])){t=0;break}for(;;)if(0|(i=0|de[(n=t+20|0)>>2]))t=i,e=n;else{if(!(i=0|de[(n=t+16|0)>>2]))break;t=i,e=n}de[e>>2]=0}else b=0|de[f+8>>2],de[b+12>>2]=t,de[t+8>>2]=b}while(0);do{if(a){if(e=0|de[f+28>>2],(0|f)==(0|de[(n=4880+(e<<2)|0)>>2])){if(!(de[n>>2]=t)){i=c&~(1<<e),de[1145]=i;break}}else if(!(de[a+16+(((0|de[a+16>>2])!=(0|f)&1)<<2)>>2]=t)){i=c;break}de[t+24>>2]=a,0|(e=0|de[f+16>>2])&&(de[t+16>>2]=e,de[e+24>>2]=t),i=((e=0|de[f+20>>2])&&(de[t+20>>2]=e,de[e+24>>2]=t),c)}else i=c}while(0);do{if(16<=u>>>0){if(de[f+4>>2]=3|s,de[o+4>>2]=1|u,t=(de[o+u>>2]=u)>>>3,u>>>0<256){n=4616+(t<<1<<2)|0,(e=0|de[1144])&(t=1<<t)?t=0|de[(e=n+8|0)>>2]:(de[1144]=e|t,e=(t=n)+8|0),de[e>>2]=o,de[t+12>>2]=o,de[o+8>>2]=t,de[o+12>>2]=n;break}if(n=4880+((t=(t=u>>>8)?16777215<u>>>0?31:u>>>((t=14-((m=((b=t<<(A=(t+1048320|0)>>>16&8))+520192|0)>>>16&4)|A|(t=((b<<=m)+245760|0)>>>16&2))+(b<<t>>>15)|0)+7|0)&1|t<<1:0)<<2)|0,de[o+28>>2]=t,de[(e=o+16|0)+4>>2]=0,de[e>>2]=0,!(i&(e=1<<t))){de[1145]=i|e,de[n>>2]=o,de[o+24>>2]=n,de[o+12>>2]=o,de[o+8>>2]=o;break}for(e=u<<(31==(0|t)?0:25-(t>>>1)|0),n=0|de[n>>2];;){if((-8&de[n+4>>2]|0)==(0|u)){A=97;break}if(!(t=0|de[(i=n+16+(e>>>31<<2)|0)>>2])){A=96;break}e<<=1,n=t}if(96==(0|A)){de[i>>2]=o,de[o+24>>2]=n,de[o+12>>2]=o,de[o+8>>2]=o;break}if(97==(0|A)){b=0|de[(A=n+8|0)>>2],de[b+12>>2]=o,de[A>>2]=o,de[o+8>>2]=b,de[o+12>>2]=n,de[o+24>>2]=0;break}}else b=u+s|0,de[f+4>>2]=3|b,de[(b=f+b+4|0)>>2]=1|de[b>>2]}while(0);return _e=r,0|(b=f+8|0)}d=s}else d=s;else d=-1}while(0);if(d>>>0<=(n=0|de[1146])>>>0)return t=n-d|0,e=0|de[1149],15<t>>>0?(b=e+d|0,de[1149]=b,de[1146]=t,de[b+4>>2]=1|t,de[b+t>>2]=t,de[e+4>>2]=3|d):(de[1146]=0,de[1149]=0,de[e+4>>2]=3|n,de[(b=e+n+4|0)>>2]=1|de[b>>2]),_e=r,0|(b=e+8|0);if(d>>>0<(u=0|de[1147])>>>0)return m=u-d|0,de[1147]=m,A=(b=0|de[1150])+d|0,de[1150]=A,de[A+4>>2]=1|m,de[b+4>>2]=3|d,_e=r,0|(b=b+8|0);if(f=d+48|0,(s=(o=(e=0|de[1262]?0|de[1264]:(de[1264]=4096,de[1263]=4096,de[1265]=-1,de[1266]=-1,de[1267]=0,de[1255]=0,e=-16&h^1431655768,de[h>>2]=e,de[1262]=e,4096))+(c=d+47|0)|0)&(a=0-e|0))>>>0<=d>>>0)return _e=r,(b=0)|b;if(0|(e=0|de[1254])&&(h=(l=0|de[1252])+s|0)>>>0<=l>>>0|e>>>0<h>>>0)return _e=r,(b=0)|b;e:do{if(4&de[1255])t=0,A=133;else{n=0|de[1150];r:do{if(n){for(i=5024;!((e=0|de[i>>2])>>>0<=n>>>0&&(e+(0|de[(M=i+4|0)>>2])|0)>>>0>n>>>0);){if(!(e=0|de[i+8>>2])){A=118;break r}i=e}if((t=o-u&a)>>>0<2147483647)if((0|(e=0|Oe(0|t)))==((0|de[i>>2])+(0|de[M>>2])|0)){if(-1!=(0|e)){u=t,o=e,A=135;break e}}else i=e,A=126;else t=0}else A=118}while(0);do{if(118==(0|A))if(-1!=(0|(n=0|Oe(0)))&&(t=n,_=(t=(0==((_=(v=0|de[1263])+-1|0)&t|0)?0:(_+t&0-v)-t|0)+s|0)+(v=0|de[1252])|0,d>>>0<t>>>0&t>>>0<2147483647)){if(0|(M=0|de[1254])&&_>>>0<=v>>>0|M>>>0<_>>>0){t=0;break}if((0|(e=0|Oe(0|t)))==(0|n)){u=t,o=n,A=135;break e}i=e,A=126}else t=0}while(0);do{if(126==(0|A)){if(n=0-t|0,!(t>>>0<f>>>0&t>>>0<2147483647&-1!=(0|i))){if(-1==(0|i)){t=0;break}u=t,o=i,A=135;break e}if(2147483647<=(e=c-t+(e=0|de[1264])&0-e)>>>0){u=t,o=i,A=135;break e}if(-1==(0|Oe(0|e))){Oe(0|n),t=0;break}u=e+t|0,o=i,A=135;break e}}while(0);de[1255]=4|de[1255],A=133}}while(0);if(133==(0|A)&&s>>>0<2147483647&&!(-1==(0|(m=0|Oe(0|s)))|1^(T=(d+40|0)>>>0<(E=(M=0|Oe(0))-m|0)>>>0)|m>>>0<M>>>0&-1!=(0|m)&-1!=(0|M)^1)&&(u=T?E:t,o=m,A=135),135==(0|A)){t=(0|de[1252])+u|0,(de[1252]=t)>>>0>(0|de[1253])>>>0&&(de[1253]=t),c=0|de[1150];do{if(c){for(t=5024;;){if((0|o)==((e=0|de[t>>2])+(i=0|de[(n=t+4|0)>>2])|0)){A=145;break}if(!(a=0|de[t+8>>2]))break;t=a}if(145==(0|A)&&0==(8&de[t+12>>2]|0)&&c>>>0<o>>>0&e>>>0<=c>>>0){de[n>>2]=i+u,A=c+(b=0==(7&(b=c+8|0)|0)?0:0-b&7)|0,b=(0|de[1147])+(u-b)|0,de[1150]=A,de[1147]=b,de[A+4>>2]=1|b,de[A+b+4>>2]=40,de[1151]=de[1266];break}for(o>>>0<(0|de[1148])>>>0&&(de[1148]=o),n=o+u|0,t=5024;;){if((0|de[t>>2])==(0|n)){A=153;break}if(!(e=0|de[t+8>>2]))break;t=e}if(153==(0|A)&&0==(8&de[t+12>>2]|0)){de[t>>2]=o,de[(l=t+4|0)>>2]=(0|de[l>>2])+u,s=(l=o+(0==(7&(l=o+8|0)|0)?0:0-l&7)|0)+d|0,f=(t=n+(0==(7&(t=n+8|0)|0)?0:0-t&7)|0)-l-d|0,de[l+4>>2]=3|d;do{if((0|t)!=(0|c)){if((0|t)==(0|de[1149])){b=(0|de[1146])+f|0,de[1146]=b,de[1149]=s,de[s+4>>2]=1|b,de[s+b>>2]=b;break}if(1==(3&(e=0|de[t+4>>2])|0)){u=-8&e,i=e>>>3;e:do{if(e>>>0<256){if(e=0|de[t+8>>2],(0|(n=0|de[t+12>>2]))==(0|e)){de[1144]=de[1144]&~(1<<i);break}de[e+12>>2]=n,de[n+8>>2]=e;break}o=0|de[t+24>>2],e=0|de[t+12>>2];do{if((0|e)==(0|t)){if(!(e=0|de[(n=(i=t+16|0)+4|0)>>2])){if(!(e=0|de[i>>2])){e=0;break}n=i}for(;;)if(0|(a=0|de[(i=e+20|0)>>2]))e=a,n=i;else{if(!(a=0|de[(i=e+16|0)>>2]))break;e=a,n=i}de[n>>2]=0}else b=0|de[t+8>>2],de[b+12>>2]=e,de[e+8>>2]=b}while(0);if(!o)break;i=4880+((n=0|de[t+28>>2])<<2)|0;do{if((0|t)==(0|de[i>>2])){if(0|(de[i>>2]=e))break;de[1145]=de[1145]&~(1<<n);break e}if(!(de[o+16+(((0|de[o+16>>2])!=(0|t)&1)<<2)>>2]=e))break e}while(0);if(de[e+24>>2]=o,0|(i=0|de[(n=t+16|0)>>2])&&(de[e+16>>2]=i,de[i+24>>2]=e),!(n=0|de[n+4>>2]))break;de[e+20>>2]=n,de[n+24>>2]=e}while(0);t=t+u|0,a=u+f|0}else a=f;if(de[(t=t+4|0)>>2]=-2&de[t>>2],de[s+4>>2]=1|a,t=(de[s+a>>2]=a)>>>3,a>>>0<256){n=4616+(t<<1<<2)|0,(e=0|de[1144])&(t=1<<t)?t=0|de[(e=n+8|0)>>2]:(de[1144]=e|t,e=(t=n)+8|0),de[e>>2]=s,de[t+12>>2]=s,de[s+8>>2]=t,de[s+12>>2]=n;break}t=a>>>8;do{if(t){if(16777215<a>>>0){t=31;break}t=a>>>((t=14-((m=((b=t<<(A=(t+1048320|0)>>>16&8))+520192|0)>>>16&4)|A|(t=((b<<=m)+245760|0)>>>16&2))+(b<<t>>>15)|0)+7|0)&1|t<<1}else t=0}while(0);if(i=4880+(t<<2)|0,de[s+28>>2]=t,de[(e=s+16|0)+4>>2]=0,!((e=(de[e>>2]=0)|de[1145])&(n=1<<t))){de[1145]=e|n,de[i>>2]=s,de[s+24>>2]=i,de[s+12>>2]=s,de[s+8>>2]=s;break}for(e=a<<(31==(0|t)?0:25-(t>>>1)|0),n=0|de[i>>2];;){if((-8&de[n+4>>2]|0)==(0|a)){A=194;break}if(!(t=0|de[(i=n+16+(e>>>31<<2)|0)>>2])){A=193;break}e<<=1,n=t}if(193==(0|A)){de[i>>2]=s,de[s+24>>2]=n,de[s+12>>2]=s,de[s+8>>2]=s;break}if(194==(0|A)){b=0|de[(A=n+8|0)>>2],de[b+12>>2]=s,de[A>>2]=s,de[s+8>>2]=b,de[s+12>>2]=n,de[s+24>>2]=0;break}}else b=(0|de[1147])+f|0,de[1147]=b,de[1150]=s,de[s+4>>2]=1|b}while(0);return _e=r,0|(b=l+8|0)}for(t=5024;!((e=0|de[t>>2])>>>0<=c>>>0&&c>>>0<(b=e+(0|de[t+4>>2])|0)>>>0);)t=0|de[t+8>>2];for(t=(e=(e=(a=b+-47|0)+(0==(7&(e=a+8|0)|0)?0:0-e&7)|0)>>>0<(a=c+16|0)>>>0?c:e)+8|0,A=o+(n=0==(7&(n=o+8|0)|0)?0:0-n&7)|0,n=u+-40-n|0,de[1150]=A,de[1147]=n,de[A+4>>2]=1|n,de[A+n+4>>2]=40,de[1151]=de[1266],de[(n=e+4|0)>>2]=27,de[t>>2]=de[1256],de[t+4>>2]=de[1257],de[t+8>>2]=de[1258],de[t+12>>2]=de[1259],de[1256]=o,de[1257]=u,de[1259]=0,de[1258]=t,t=e+24|0;de[(t=(A=t)+4|0)>>2]=7,(A+8|0)>>>0<b>>>0;);if((0|e)!=(0|c)){if(o=e-c|0,de[n>>2]=-2&de[n>>2],de[c+4>>2]=1|o,t=(de[e>>2]=o)>>>3,o>>>0<256){n=4616+(t<<1<<2)|0,(e=0|de[1144])&(t=1<<t)?t=0|de[(e=n+8|0)>>2]:(de[1144]=e|t,e=(t=n)+8|0),de[e>>2]=c,de[t+12>>2]=c,de[c+8>>2]=t,de[c+12>>2]=n;break}if(i=4880+((n=(t=o>>>8)?16777215<o>>>0?31:o>>>((n=14-((m=((b=t<<(A=(t+1048320|0)>>>16&8))+520192|0)>>>16&4)|A|(n=((b<<=m)+245760|0)>>>16&2))+(b<<n>>>15)|0)+7|0)&1|n<<1:0)<<2)|0,de[c+28>>2]=n,de[c+20>>2]=0,!((t=(de[a>>2]=0)|de[1145])&(e=1<<n))){de[1145]=t|e,de[i>>2]=c,de[c+24>>2]=i,de[c+12>>2]=c,de[c+8>>2]=c;break}for(e=o<<(31==(0|n)?0:25-(n>>>1)|0),n=0|de[i>>2];;){if((-8&de[n+4>>2]|0)==(0|o)){A=216;break}if(!(t=0|de[(i=n+16+(e>>>31<<2)|0)>>2])){A=215;break}e<<=1,n=t}if(215==(0|A)){de[i>>2]=c,de[c+24>>2]=n,de[c+12>>2]=c,de[c+8>>2]=c;break}if(216==(0|A)){b=0|de[(A=n+8|0)>>2],de[b+12>>2]=c,de[A>>2]=c,de[c+8>>2]=b,de[c+12>>2]=n,de[c+24>>2]=0;break}}}else{for(0==(0|(b=0|de[1148]))|o>>>0<b>>>0&&(de[1148]=o),de[1256]=o,de[1257]=u,de[1259]=0,de[1153]=de[1262],de[1152]=-1,t=0;de[(b=4616+(t<<1<<2)|0)+12>>2]=b,de[b+8>>2]=b,32!=(0|(t=t+1|0)););A=o+(b=0==(7&(b=o+8|0)|0)?0:0-b&7)|0,b=u+-40-b|0,de[1150]=A,de[1147]=b,de[A+4>>2]=1|b,de[A+b+4>>2]=40,de[1151]=de[1266]}}while(0);if(d>>>0<(t=0|de[1147])>>>0)return m=t-d|0,de[1147]=m,A=(b=0|de[1150])+d|0,de[1150]=A,de[A+4>>2]=1|m,de[b+4>>2]=3|d,_e=r,0|(b=b+8|0)}return b=0|er(),de[b>>2]=12,_e=r,(b=0)|b}function L(e,r,t,n,i,a){e|=0,r=+r,t|=0,n|=0,i|=0,a|=0;var o,u=0,f=0,c=0,s=0,l=0,d=0,h=0,v=0,_=0,M=0,E=0,T=0,m=0,A=0,b=0,p=0,S=0,O=0,g=0,y=0,R=0,w=0;_e=(o=_e)+560|0,c=o+8|0,R=w=(E=o)+524|0,y=(s=o+512|0)+12|(de[E>>2]=0),Fe(r),S=(0|k)<0?(r=-r,O=1,2087):(O=0!=(2049&i|0)&1,0==(2048&i|0)?0==(1&i|0)?2088:2093:2090),Fe(r),g=2146435072&k;do{if(g>>>0<2146435072|2146435072==(0|g)&!1){if((u=0!=(v=2*+Qe(r,E)))&&(de[E>>2]=(0|de[E>>2])-1),97==(0|(m=32|a))){h=0==(0|(_=32&a))?S:S+9|0,d=2|O,u=12-n|0;do{if(!(11<n>>>0|0==(0|u))){for(r=8;r*=16,0!=(0|(u=u+-1|0)););if(45==(0|le[h>>0])){r=-(r+(-v-r));break}r=v+r-r;break}r=v}while(0);for((0|(u=0|Ee(u=(0|(f=0|de[E>>2]))<0?0-f|0:f,((0|u)<0)<<31>>31,y)))==(0|y)&&(le[(u=s+11|0)>>0]=48),le[u+-1>>0]=43+(f>>31&2),le[(l=u+-2|0)>>0]=a+15,s=(0|n)<1,c=0==(8&i|0),u=w;g=~~r,f=u+1|0,le[u>>0]=he[2122+g>>0]|_,r=16*(r-+(0|g)),u=1!=(f-R|0)||c&s&0==r?f:(le[f>>0]=46,u+2|0),0!=r;);g=u-R|0,be(e,32,t,u=(R=y-l|0)+d+(y=0!=(0|n)&(g+-2|0)<(0|n)?n+2|0:g)|0,i),$e(e,h,d),be(e,48,t,u,65536^i),$e(e,w,g),be(e,48,y-g|0,0,0),$e(e,l,R),be(e,32,t,u,8192^i);break}for(f=(0|n)<0?6:n,u?(u=(0|de[E>>2])-28|0,de[E>>2]=u,r=268435456*v):(r=v,u=0|de[E>>2]),c=g=(0|u)<0?c:c+288|0;b=~~r>>>0,de[c>>2]=b,c=c+4|0,0!=(r=1e9*(r-+(b>>>0))););if(0<(0|u))for(s=g,d=c;;){if(l=(0|u)<29?u:29,s>>>0<=(u=d+-4|0)>>>0){for(c=0;T=0|Ne(0|(A=0|Ue(0|(A=0|Ie(0|de[u>>2],0,0|l)),0|k,0|c,0)),0|(b=k),1e9,0),de[u>>2]=T,c=0|Ke(0|A,0|b,1e9,0),s>>>0<=(u=u+-4|0)>>>0;);c&&(de[(s=s+-4|0)>>2]=c)}for(c=d;!(c>>>0<=s>>>0||0|de[(u=c+-4|0)>>2]);)c=u;if(u=(0|de[E>>2])-l|0,!(0<(0|(de[E>>2]=u))))break;d=c}else s=g;if((0|u)<0){n=1+((f+25|0)/9|0)|0,M=102==(0|m);do{if(_=(0|(_=0-u|0))<9?_:9,s>>>0<c>>>0){for(l=(1<<_)-1|0,d=1e9>>>_,h=0,u=s;b=0|de[u>>2],de[u>>2]=(b>>>_)+h,h=0|ie(b&l,d),(u=u+4|0)>>>0<c>>>0;);u=0==(0|de[s>>2])?s+4|0:s,u=h?(de[c>>2]=h,s=u,c+4|0):(s=u,c)}else s=0==(0|de[s>>2])?s+4|0:s,u=c;c=(0|n)<(u-(c=M?g:s)>>2|0)?c+(n<<2)|0:u,u=(0|de[E>>2])+_|0,de[E>>2]=u}while((0|u)<0);u=s,n=c}else u=s,n=c;if(b=g,u>>>0<n>>>0){if(c=9*(b-u>>2)|0,10<=(l=0|de[u>>2])>>>0)for(s=10;c=c+1|0,(s=10*s|0)>>>0<=l>>>0;);}else c=0;if((0|(s=f-(102!=(0|m)?c:0)+(((T=0!=(0|f))&(M=103==(0|m)))<<31>>31)|0))<((9*(n-b>>2)|0)-9|0)){if(_=g+4+(((0|(s=s+9216|0))/9|0)-1024<<2)|0,(0|(s=1+((0|s)%9|0)|0))<9)for(l=10;l=10*l|0,9!=(0|(s=s+1|0)););else l=10;if((s=(_+4|0)==(0|n))&0==(0|(h=((d=0|de[_>>2])>>>0)%(l>>>0)|0)))s=_;else if(v=0==(1&((d>>>0)/(l>>>0)|0)|0)?9007199254740992:9007199254740994,r=h>>>0<(A=(0|l)/2|0)>>>0?.5:s&(0|h)==(0|A)?1:1.5,O&&(r=(A=45==(0|le[S>>0]))?-r:r,v=A?-v:v),s=d-h|0,de[_>>2]=s,v+r!=v){if(A=s+l|0,999999999<(de[_>>2]=A)>>>0)for(c=_;(s=c+-4|0)>>>(de[c>>2]=0)<u>>>0&&(de[(u=u+-4|0)>>2]=0),A=1+(0|de[s>>2])|0,999999999<(de[s>>2]=A)>>>0;)c=s;else s=_;if(c=9*(b-u>>2)|0,10<=(d=0|de[u>>2])>>>0)for(l=10;c=c+1|0,(l=10*l|0)>>>0<=d>>>0;);}else s=_;s=(s=s+4|0)>>>0<n>>>0?s:n,A=u}else s=n,A=u;for(m=s;;){if(m>>>0<=A>>>0){E=0;break}if(0|de[(u=m+-4|0)>>2]){E=1;break}m=u}n=0-c|0;do{if(M){if(f=(0|c)<(0|(u=(1&(1^T))+f|0))&-5<(0|c)?(l=a+-1|0,u+-1-c|0):(l=a+-2|0,u+-1|0),!(u=8&i)){if(E&&0!=(0|(p=0|de[m+-4>>2])))if((p>>>0)%10|0)s=0;else for(s=0,u=10;s=s+1|0,!(0|(p>>>0)%((u=10*u|0)>>>0)););else s=9;if(u=(9*(m-b>>2)|0)-9|0,102==(32|l)){f=(0|f)<(0|(_=0<(0|(_=u-s|0))?_:0))?f:_,_=0;break}f=(0|f)<(0|(_=0<(0|(_=u+c-s|0))?_:0))?f:_,_=0;break}_=u}else l=a,_=8&i}while(0);if(d=0!=(0|(M=f|_))&1,h=102==(32|l))u=(T=0)<(0|c)?c:0;else{if(((s=y)-(u=0|Ee(u=(0|c)<0?n:c,((0|u)<0)<<31>>31,y))|0)<2)for(;le[(u=u+-1|0)>>0]=48,(s-u|0)<2;);le[u+-1>>0]=43+(c>>31&2),le[(u=u+-2|0)>>0]=l,u=s-(T=u)|0}if(be(e,32,t,u=O+1+f+d+u|0,i),$e(e,S,O),be(e,48,t,u,65536^i),h){d=_=w+9|0,h=w+8|0,s=l=g>>>0<A>>>0?g:A;do{if(c=0|Ee(0|de[s>>2],0,_),(0|s)==(0|l))(0|c)==(0|_)&&(le[h>>0]=48,c=h);else if(w>>>0<c>>>0)for(oe(0|w,48,c-R|0);w>>>0<(c=c+-1|0)>>>0;);$e(e,c,d-c|0),s=s+4|0}while(s>>>0<=g>>>0);if(0|M&&$e(e,2138,1),s>>>0<m>>>0&0<(0|f))for(;;){if(w>>>0<(c=0|Ee(0|de[s>>2],0,_))>>>0)for(oe(0|w,48,c-R|0);w>>>0<(c=c+-1|0)>>>0;);if($e(e,c,(0|f)<9?f:9),c=f+-9|0,!((s=s+4|0)>>>0<m>>>0&9<(0|f))){f=c;break}f=c}be(e,48,f+9|0,9,0)}else{if(M=E?m:A+4|0,-1<(0|f)){_=0==(0|_),n=E=w+9|0,d=0-R|0,h=w+8|0,l=A;do{(0|(c=0|Ee(0|de[l>>2],0,E)))==(0|E)&&(le[h>>0]=48,c=h);do{if((0|l)==(0|A)){if(s=c+1|0,$e(e,c,1),_&(0|f)<1){c=s;break}$e(e,2138,1),c=s}else{if(c>>>0<=w>>>0)break;for(oe(0|w,48,c+d|0);w>>>0<(c=c+-1|0)>>>0;);}}while(0);$e(e,c,(0|(R=n-c|0))<(0|f)?R:f),f=f-R|0,l=l+4|0}while(l>>>0<M>>>0&-1<(0|f))}be(e,48,f+18|0,18,0),$e(e,T,y-T|0)}be(e,32,t,u,8192^i)}else w=0!=(32&a|0),be(e,32,t,u=O+3|0,-65537&i),$e(e,S,O),$e(e,r!=r|!1?w?2114:2118:w?2106:2110,3),be(e,32,t,u,8192^i)}while(0);return _e=o,0|((0|u)<(0|t)?t:u)}function D(e,r,t,n,i){e|=0,r|=0,t|=0,n|=0,i|=0;var a,o,u,f,c,s,l,d,h,v=0,_=0,M=0,E=0,T=0,m=0,A=0,b=0,p=0,S=0,O=0,g=0,y=0,R=0;_e=(h=_e)+64|0,R=(s=h)+24|0,l=h+8|0,d=h+20|0,de[(c=h+16|0)>>2]=r,a=0!=(0|e),u=o=R+40|0,R=R+39|0,f=l+4|0,m=v=_=0;e:for(;;){do{if(-1<(0|v)){if((2147483647-v|0)<(0|_)){v=0|er(),de[v>>2]=75,v=-1;break}v=_+v|0;break}}while(0);if(!((_=0|le[r>>0])<<24>>24)){y=87;break}M=r;r:for(;;){switch(_<<24>>24){case 37:_=M,y=9;break r;case 0:_=M;break r}g=M+1|0,de[c>>2]=g,_=0|le[g>>0],M=g}r:do{if(9==(0|y))for(;;){if(37!=((y=0)|le[M+1>>0]))break r;if(_=_+1|0,M=M+2|0,de[c>>2]=M,37!=(0|le[M>>0]))break;y=9}}while(0);if(_=_-r|0,a&&$e(e,r,_),0|_)r=M;else{(_=(0|le[(E=M+1|0)>>0])-48|0)>>>0<10?(O=(g=36==(0|le[M+2>>0]))?_:-1,m=g?1:m,E=g?M+3|0:E):O=-1,de[c>>2]=E,M=((_=0|le[E>>0])<<24>>24)-32|0;r:do{if(M>>>0<32)for(T=0,A=_;;){if(!(75913&(_=1<<M))){_=A;break r}if(T|=_,E=E+1|0,de[c>>2]=E,32<=(M=((_=0|le[E>>0])<<24>>24)-32|0)>>>0)break;A=_}else T=0}while(0);if(_<<24>>24==42){if((_=(0|le[(M=E+1|0)>>0])-48|0)>>>0<10&&36==(0|le[E+2>>0]))de[i+(_<<2)>>2]=10,_=0|de[n+((0|le[M>>0])-48<<3)>>2],m=1,E=E+3|0;else{if(0|m){v=-1;break}E=(m=a?(m=3+(0|de[t>>2])&-4,_=0|de[m>>2],de[t>>2]=m+4,0):_=0,M)}de[c>>2]=E,_=(g=(0|_)<0)?0-_|0:_,T=g?8192|T:T}else{if((0|(_=0|ge(c)))<0){v=-1;break}E=0|de[c>>2]}do{if(46==(0|le[E>>0])){if(42!=(0|le[E+1>>0])){de[c>>2]=E+1,M=0|ge(c),E=0|de[c>>2];break}if((M=(0|le[(A=E+2|0)>>0])-48|0)>>>0<10&&36==(0|le[E+3>>0])){de[i+(M<<2)>>2]=10,M=0|de[n+((0|le[A>>0])-48<<3)>>2],E=E+4|0,de[c>>2]=E;break}if(0|m){v=-1;break e}a?(g=3+(0|de[t>>2])&-4,M=0|de[g>>2],de[t>>2]=g+4):M=0,E=de[c>>2]=A}else M=-1}while(0);for(S=0;;){if(57<((0|le[E>>0])-65|0)>>>0){v=-1;break e}if(g=E+1|0,de[c>>2]=g,!(((b=255&(A=0|le[(0|le[E>>0])-65+(1606+(58*S|0))>>0]))+-1|0)>>>0<8))break;S=b,E=g}if(!(A<<24>>24)){v=-1;break}p=-1<(0|O);do{if(A<<24>>24==19){if(p){v=-1;break e}y=49}else{if(p){de[i+(O<<2)>>2]=b,O=0|de[(p=n+(O<<3)|0)+4>>2],de[(y=s)>>2]=de[p>>2],de[y+4>>2]=O,y=49;break}if(!a){v=0;break e}$(s,b,t)}}while(0);if(49!=(0|y)||(y=0,a)){E=0!=(0|S)&3==(15&(E=0|le[E>>0])|0)?-33&E:E,p=-65537&T,O=0==(8192&T|0)?T:p;r:do{switch(0|E){case 110:switch((255&S)<<24>>24){case 0:case 1:de[de[s>>2]>>2]=v,_=0,r=g;continue e;case 2:_=0|de[s>>2],de[_>>2]=v,de[_+4>>2]=((0|v)<0)<<31>>31,_=0,r=g;continue e;case 3:B[de[s>>2]>>1]=v,_=0,r=g;continue e;case 4:le[de[s>>2]>>0]=v,_=0,r=g;continue e;case 6:de[de[s>>2]>>2]=v,_=0,r=g;continue e;case 7:_=0|de[s>>2],de[_>>2]=v,de[_+4>>2]=((0|v)<0)<<31>>31,_=0,r=g;continue e;default:_=0,r=g;continue e}case 112:E=120,M=8<M>>>0?M:8,r=8|O,y=61;break;case 88:case 120:r=O,y=61;break;case 111:A=2070,M=(T=0)==(8&O|0)|(0|(p=u-(b=0|ke(r=0|de[(E=s)>>2],E=0|de[E+4>>2],o))|0))<(0|M)?M:p+1|0,p=O,y=67;break;case 105:case 100:if(r=0|de[(E=s)>>2],(0|(E=0|de[E+4>>2]))<0){r=0|xe(0,0,0|r,0|E),E=k,de[(T=s)>>2]=r,de[T+4>>2]=E,T=1,A=2070,y=66;break r}T=0!=(2049&O|0)&1,A=0==(2048&O|0)?0==(1&O|0)?2070:2072:2071,y=66;break r;case 117:A=2070,r=(T=0)|de[(E=s)>>2],E=0|de[E+4>>2],y=66;break;case 99:le[R>>0]=de[s>>2],r=R,T=0,A=2070,b=o,E=1,M=p;break;case 109:E=0|er(),E=0|Be(0|de[E>>2]),y=71;break;case 115:E=0|(E=0|de[s>>2])?E:2080,y=71;break;case 67:de[l>>2]=de[s>>2],de[f>>2]=0,b=-1,E=de[s>>2]=l,y=75;break;case 83:r=0|de[s>>2],y=M?(b=M,E=r,75):(be(e,32,_,0,O),r=0,84);break;case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:_=0|L(e,+w[s>>3],_,M,O,E),r=g;continue e;default:T=0,A=2070,b=o,E=M,M=O}}while(0);r:do{if(61==(0|y))b=0|ye(S=0|de[(O=s)>>2],O=0|de[O+4>>2],o,32&E),T=(A=0==(8&r|0)|0==(0|S)&0==(0|O))?0:2,A=A?2070:2070+(E>>4)|0,p=r,r=S,E=O,y=67;else if(66==(0|y))b=0|Ee(r,E,o),p=O,y=67;else if(71==(0|y))T=y=0,A=2070,b=(S=0==(0|(O=0|ee(r=E,0,M))))?E+M|0:O,E=S?M:O-E|0,M=p;else if(75==(0|y)){for(A=E,M=r=y=0;(T=0|de[A>>2])&&!((0|(M=0|Xe(d,T)))<0|(b-r|0)>>>0<M>>>0)&&(r=M+r|0)>>>0<b>>>0;)A=A+4|0;if((0|M)<0){v=-1;break e}if(be(e,32,_,r,O),r)for(T=0;;){if(!(M=0|de[E>>2])){y=84;break r}if((0|r)<(0|(T=(M=0|Xe(d,M))+T|0))){y=84;break r}if($e(e,d,M),r>>>0<=T>>>0){y=84;break}E=E+4|0}else r=0,y=84}}while(0);if(67==(0|y))O=(y=0)!=(0|M)|(E=0!=(0|r)|0!=(0|E)),E=u-b+(1&(1^E))|0,r=O?b:o,b=o,E=O?(0|E)<(0|M)?M:E:M,M=-1<(0|M)?-65537&p:p;else if(84==(0|y)){y=0,be(e,32,_,r,8192^O),_=(0|r)<(0|_)?_:r,r=g;continue}be(e,32,_=(0|_)<(0|(O=(p=(0|E)<(0|(S=b-r|0))?S:E)+T|0))?O:_,O,M),$e(e,A,T),be(e,48,_,O,65536^M),be(e,48,p,S,0),$e(e,r,S),be(e,32,_,O,8192^M),r=g}else _=0,r=g}}e:do{if(87==(0|y)&&!e)if(m){for(v=1;r=0|de[i+(v<<2)>>2];)if($(n+(v<<3)|0,r,t),10<=(0|(v=v+1|0))){v=1;break e}for(;;){if(0|de[i+(v<<2)>>2]){v=-1;break e}if(10<=(0|(v=v+1|0))){v=1;break}}}else v=0}while(0);return _e=h,0|v}function X(e,r){r|=0;var t,n,i,a,o,u,f,c,s,l,d,h,v,_,M,E=0,T=0,m=0,A=0,b=0,p=0,S=0,O=0,g=0,y=0;if(_e=(M=_e)+704|0,v=M+144|0,h=M+128|0,d=M+112|0,l=M+96|0,s=M+80|0,c=M+64|0,f=M+48|0,_=M+32|0,t=M+16|0,i=(p=M)+184|0,y=M+160|0,!(a=0|function(e,r){e|=0;var t=0,n=0,i=0,a=0,o=0,u=0,f=0,c=0;if(_e=(c=_e)+528|0,a=(o=c)+16|0,!(r|=0))return _e=c,(f=0)|f;if(r>>>0<=16)return f=0|Q(e,r),_e=c,0|f;if(u=0|Q(e,r+-16|0),(0|(r=0|de[(f=e+20|0)>>2]))<16)for(n=e+4|0,i=e+8|0,t=e+16|0;e=(0|(e=0|de[n>>2]))==(0|de[i>>2])?0:(de[n>>2]=e+1,0|he[e>>0]),r=r+8|0,33<=(0|(de[f>>2]=r))&&(de[o>>2]=866,de[o+4>>2]=3208,de[o+8>>2]=1366,Ce(a,812,o),Ae(a),r=0|de[f>>2]),e=e<<32-r|de[t>>2],de[t>>2]=e,(0|r)<16;);else e=0|de[(t=e=e+16|0)>>2];return de[t>>2]=e<<16,de[f>>2]=r+-16,_e=c,0|(f=e>>>16|u<<16)}(e|=0,14)))return function(e){var r=0,t=0,n=0,i=0,a=0,o=0;_e=(o=_e)+544|0,a=o+16|0,i=(n=o)+32|0,(de[(e|=0)>>2]=0)|(t=0|de[(r=e+4|0)>>2])&&(7&t?(de[n>>2]=866,de[n+4>>2]=2506,de[n+8>>2]=1232,Ce(i,812,n),Ae(i)):ce(t,0,0,1,0),de[r>>2]=0,de[e+8>>2]=0,de[e+12>>2]=0);if(le[e+16>>0]=0,!(r=0|de[(e=e+20|0)>>2]))return _e=o;J(r),7&r?(de[a>>2]=866,de[a+4>>2]=2506,de[a+8>>2]=1232,Ce(i,812,a),Ae(i)):ce(r,0,0,1,0);de[e>>2]=0,_e=o}(r),_e=M,0|(y=1);if(o=r+4|0,(0|(E=0|de[(u=r+8|0)>>2]))!=(0|a)){if(E>>>0<=a>>>0){do{if((0|de[r+12>>2])>>>0<a>>>0){if(0|V(o,a,(E+1|0)==(0|a),1,0)){E=0|de[u>>2];break}return le[r+16>>0]=1,_e=M,(y=0)|y}}while(0);oe((0|de[o>>2])+E|0,0,a-E|0)}de[u>>2]=a}if(oe(0|de[o>>2],0,0|a),(0|(E=0|de[(n=e+20|0)>>2]))<5)for(A=e+4|0,b=e+8|0,m=e+16|0;T=(0|(T=0|de[A>>2]))==(0|de[b>>2])?0:(de[A>>2]=T+1,0|he[T>>0]),E=E+8|0,33<=(0|(de[n>>2]=E))&&(de[p>>2]=866,de[p+4>>2]=3208,de[p+8>>2]=1366,Ce(i,812,p),Ae(i),E=0|de[n>>2]),T=T<<32-E|de[m>>2],de[m>>2]=T,(0|E)<5;);else T=0|de[(m=T=e+16|0)>>2];if(O=T>>>27,de[m>>2]=T<<5,de[n>>2]=E+-5,20<(O+-1|0)>>>0)return _e=M,(y=0)|y;de[y+20>>2]=0,de[y>>2]=0,de[y+4>>2]=0,de[y+8>>2]=0,de[y+12>>2]=0,E=y+4|(le[y+16>>0]=0),T=y+8|0;e:do{if(0|V(E,21,0,1,0)){A=0|de[T>>2],oe((S=0|de[E>>2])+A|0,0,21-A|0),de[T>>2]=21,A=e+4|0,b=e+8|0,p=e+16|0,m=0;do{if((0|(E=0|de[n>>2]))<3)for(;T=(0|(T=0|de[A>>2]))==(0|de[b>>2])?0:(de[A>>2]=T+1,0|he[T>>0]),E=E+8|0,33<=(0|(de[n>>2]=E))&&(de[t>>2]=866,de[t+4>>2]=3208,de[t+8>>2]=1366,Ce(i,812,t),Ae(i),E=0|de[n>>2]),T=T<<32-E|de[p>>2],de[p>>2]=T,(0|E)<3;);else T=0|de[p>>2];de[p>>2]=T<<3,de[n>>2]=E+-3,le[S+(0|he[1327+m>>0])>>0]=T>>>29,m=m+1|0}while((0|m)!=(0|O));if(0|W(y)){p=e+4|0,S=e+8|0,O=e+16|0,E=0;r:do{b=a-E|0,m=0|Me(e,y);t:do{if(m>>>0<17)(0|de[u>>2])>>>0<=E>>>0&&(de[_>>2]=866,de[_+4>>2]=910,de[_+8>>2]=1497,Ce(i,812,_),Ae(i)),le[(0|de[o>>2])+E>>0]=m,E=E+1|0;else switch(0|m){case 17:if((0|(T=0|de[n>>2]))<3)for(;m=(0|(m=0|de[p>>2]))==(0|de[S>>2])?0:(de[p>>2]=m+1,0|he[m>>0]),T=T+8|0,33<=(0|(de[n>>2]=T))&&(de[f>>2]=866,de[f+4>>2]=3208,de[f+8>>2]=1366,Ce(i,812,f),Ae(i),T=0|de[n>>2]),m=m<<32-T|de[O>>2],de[O>>2]=m,(0|T)<3;);else m=0|de[O>>2];if(de[O>>2]=m<<3,de[n>>2]=T+-3,T=b>>>0<(m=3+(m>>>29)|0)>>>0){E=0;break e}E=(T?0:m)+E|0;break t;case 18:if((0|(T=0|de[n>>2]))<7)for(;m=(0|(m=0|de[p>>2]))==(0|de[S>>2])?0:(de[p>>2]=m+1,0|he[m>>0]),T=T+8|0,33<=(0|(de[n>>2]=T))&&(de[c>>2]=866,de[c+4>>2]=3208,de[c+8>>2]=1366,Ce(i,812,c),Ae(i),T=0|de[n>>2]),m=m<<32-T|de[O>>2],de[O>>2]=m,(0|T)<7;);else m=0|de[O>>2];if(de[O>>2]=m<<7,de[n>>2]=T+-7,T=b>>>0<(m=11+(m>>>25)|0)>>>0){E=0;break e}E=(T?0:m)+E|0;break t;default:if(2<=(m+-19|0)>>>0){g=81;break r}if(T=0|de[n>>2],19==(0|m)){if((0|T)<2)for(m=T;A=(0|(T=0|de[p>>2]))==(0|de[S>>2])?0:(de[p>>2]=T+1,0|he[T>>0]),T=m+8|0,33<=(0|(de[n>>2]=T))&&(de[s>>2]=866,de[s+4>>2]=3208,de[s+8>>2]=1366,Ce(i,812,s),Ae(i),T=0|de[n>>2]),m=A<<32-T|de[O>>2],de[O>>2]=m,(0|T)<2;)m=T;else m=0|de[O>>2];de[O>>2]=m<<2,m>>>=30,A=3,T=T+-2|0}else{if((0|T)<6)for(;m=(0|(m=0|de[p>>2]))==(0|de[S>>2])?0:(de[p>>2]=m+1,0|he[m>>0]),T=T+8|0,33<=(0|(de[n>>2]=T))&&(de[l>>2]=866,de[l+4>>2]=3208,de[l+8>>2]=1366,Ce(i,812,l),Ae(i),T=0|de[n>>2]),m=m<<32-T|de[O>>2],de[O>>2]=m,(0|T)<6;);else m=0|de[O>>2];de[O>>2]=m<<6,m>>>=26,A=7,T=T+-6|0}if(de[n>>2]=T,0==(0|E)|b>>>0<(m=m+A|0)>>>0){E=0;break e}if(T=E+-1|0,(0|de[u>>2])>>>0<=T>>>0&&(de[d>>2]=866,de[d+4>>2]=910,de[d+8>>2]=1497,Ce(i,812,d),Ae(i)),!((A=0|le[(0|de[o>>2])+T>>0])<<24>>24)){E=0;break e}if((T=m+E|0)>>>0<=E>>>0)break t;for(;(0|de[u>>2])>>>0<=E>>>0&&(de[h>>2]=866,de[h+4>>2]=910,de[h+8>>2]=1497,Ce(i,812,h),Ae(i)),le[(0|de[o>>2])+E>>0]=A,(0|(E=E+1|0))!=(0|T););E=T}}while(0)}while(E>>>0<a>>>0);if(81==(0|g)){de[v>>2]=866,de[v+4>>2]=3149,de[v+8>>2]=1348,Ce(i,812,v),Ae(i),E=0;break}E=(0|a)==(0|E)?0|W(r):0}else E=0}else le[y+16>>0]=1,E=0}while(0);return ne(y),_e=M,0|(y=E)}function x(e,r,t,n){t|=0;var i,a,o,u,f,c,s=0,l=0,d=0,h=0,v=0,_=0,M=0,E=0,T=0,m=0,A=0,b=0,p=0,S=0,O=0,g=0,y=0,R=0,w=0,k=0,N=0,P=0;if(_e=(c=_e)+880|0,N=c+144|0,f=c+128|0,u=c+112|0,o=c+96|0,w=c+80|0,S=c+64|0,b=c+48|0,p=c+32|0,E=c+16|0,i=(M=c)+360|0,a=c+296|0,P=c+224|0,A=c+156|0,0==(0|(r|=0))|11<(n|=0)>>>0)return _e=c,(P=0)|P;for(de[(e|=0)>>2]=r,l=(s=P)+68|0;(0|(s=s+4|(de[s>>2]=0)))<(0|l););for(s=0;l=P+((255&(k=0|le[t+s>>0]))<<2)|0,k<<24>>24&&(de[l>>2]=1+(0|de[l>>2])),(0|(s=s+1|0))!=(0|r););for(h=d=l=0,v=-1,_=1;(s=0|de[P+(_<<2)>>2])?(l=s+(de[a+((T=_+-1|0)<<2)>>2]=l)|0,k=16-_|0,de[e+28+(T<<2)>>2]=1+(l+-1<<k|(1<<k)-1),de[e+96+(T<<2)>>2]=d,T=s+(de[A+(_<<2)>>2]=d)|0,h=_>>>0<h>>>0?h:_,v=v>>>0<_>>>0?v:_):(de[e+28+(_+-1<<2)>>2]=0,T=d),17!=(0|(_=_+1|0));)l<<=1,d=T;de[e+4>>2]=T,l=e+172|0;do{if(T>>>0>(0|de[l>>2])>>>0){s=(s=T+-1|0)&T?(s|=s>>>16,s|=s>>>8,s|=s>>>4,r>>>0<(s=1+((s|=s>>>2)>>>1|s)|0)>>>0?r:s):T,de[l>>2]=s,s=0|de[(d=e+176|0)>>2];do{if(0|s){if(k=0|de[s+-4>>2],s=s+-8|0,0!=(0|k)&&(0|k)==(0|~de[s>>2])||(de[M>>2]=866,de[M+4>>2]=651,de[M+8>>2]=1579,Ce(i,812,M),Ae(i)),7&s){de[E>>2]=866,de[E+4>>2]=2506,de[E+8>>2]=1232,Ce(i,812,E),Ae(i);break}ce(s,0,0,1,0);break}}while(0);if(l=0|ae(8+((s=0|(s=0|de[l>>2])?s:1)<<1)|0,0)){de[l+4>>2]=s,de[l>>2]=~s,de[d>>2]=l+8,m=24;break}n=de[d>>2]=0;break}m=24}while(0);e:do{if(24==(0|m)){for(le[(k=e+24|0)>>0]=v,le[e+25>>0]=h,d=e+176|0,l=0;s=255&(R=0|le[t+l>>0]),R<<24>>24&&(0|de[P+(s<<2)>>2]||(de[p>>2]=866,de[p+4>>2]=2276,de[p+8>>2]=977,Ce(i,812,p),Ae(i)),s=0|de[(R=A+(s<<2)|0)>>2],de[R>>2]=s+1,T>>>0<=s>>>0&&(de[b>>2]=866,de[b+4>>2]=2280,de[b+8>>2]=990,Ce(i,812,b),Ae(i)),B[(0|de[d>>2])+(s<<1)>>1]=l),(0|(l=l+1|0))!=(0|r););if(y=(0|he[k>>0])>>>0<n>>>0?n:0,g=0!=(0|(de[(R=e+8|0)>>2]=y))){O=1<<y,s=e+164|0;do{if(O>>>0>(0|de[s>>2])>>>0){de[s>>2]=O,s=0|de[(d=e+168|0)>>2];do{if(0|s){if(p=0|de[s+-4>>2],s=s+-8|0,0!=(0|p)&&(0|p)==(0|~de[s>>2])||(de[S>>2]=866,de[S+4>>2]=651,de[S+8>>2]=1579,Ce(i,812,S),Ae(i)),7&s){de[w>>2]=866,de[w+4>>2]=2506,de[w+8>>2]=1232,Ce(i,812,w),Ae(i);break}ce(s,0,0,1,0);break}}while(0);if(l=0|ae((s=O<<2)+8|0,0)){w=l+8|0,de[l+4>>2]=O,de[l>>2]=~O,l=de[d>>2]=w;break}n=de[d>>2]=0;break e}s=O<<2,l=0|de[(d=l=e+168|0)>>2]}while(0);oe(0|l,-1,0|s),b=e+176|0,A=1;do{if(0|de[P+(A<<2)>>2]&&(S=1<<(p=y-A|0),l=0|de[a+((s=A+-1|0)<<2)>>2],16<=s>>>0&&(de[o>>2]=866,de[o+4>>2]=1960,de[o+8>>2]=1453,Ce(i,812,o),Ae(i)),l>>>0<=(r=0==(0|(r=0|de[e+28+(s<<2)>>2]))?-1:(r+-1|0)>>>(16-A|0))>>>0)){T=(0|de[e+96+(s<<2)>>2])-l|0,m=A<<16;do{for(s=0|ve[(0|de[b>>2])+(T+l<<1)>>1],(0|he[t+s>>0])!=(0|A)&&(de[u>>2]=866,de[u+4>>2]=2322,de[u+8>>2]=1019,Ce(i,812,u),Ae(i)),E=l<<p,_=s|m,v=0;O>>>0<=(M=v+E|0)>>>0&&(de[f>>2]=866,de[f+4>>2]=2328,de[f+8>>2]=1053,Ce(i,812,f),Ae(i)),s=0|de[d>>2],-1!=(0|de[s+(M<<2)>>2])&&(de[N>>2]=866,de[N+4>>2]=2330,de[N+8>>2]=1076,Ce(i,812,N),Ae(i),s=0|de[d>>2]),de[s+(M<<2)>>2]=_,(v=v+1|0)>>>0<S>>>0;);l=l+1|0}while(l>>>0<=r>>>0)}A=A+1|0}while(A>>>0<=y>>>0)}de[(s=e+96|0)>>2]=(0|de[s>>2])-(0|de[a>>2]),de[(s=e+100|0)>>2]=(0|de[s>>2])-(0|de[a+4>>2]),de[(s=e+104|0)>>2]=(0|de[s>>2])-(0|de[a+8>>2]),de[(s=e+108|0)>>2]=(0|de[s>>2])-(0|de[a+12>>2]),de[(s=e+112|0)>>2]=(0|de[s>>2])-(0|de[a+16>>2]),de[(s=e+116|0)>>2]=(0|de[s>>2])-(0|de[a+20>>2]),de[(s=e+120|0)>>2]=(0|de[s>>2])-(0|de[a+24>>2]),de[(s=e+124|0)>>2]=(0|de[s>>2])-(0|de[a+28>>2]),de[(s=e+128|0)>>2]=(0|de[s>>2])-(0|de[a+32>>2]),de[(s=e+132|0)>>2]=(0|de[s>>2])-(0|de[a+36>>2]),de[(s=e+136|0)>>2]=(0|de[s>>2])-(0|de[a+40>>2]),de[(s=e+140|0)>>2]=(0|de[s>>2])-(0|de[a+44>>2]),de[(s=e+144|0)>>2]=(0|de[s>>2])-(0|de[a+48>>2]),de[(s=e+148|0)>>2]=(0|de[s>>2])-(0|de[a+52>>2]),de[(s=e+152|0)>>2]=(0|de[s>>2])-(0|de[a+56>>2]),de[(s=e+156|0)>>2]=(0|de[s>>2])-(0|de[a+60>>2]),de[(s=e+16|0)>>2]=0,de[(l=e+20|0)>>2]=he[k>>0];r:do{if(g){do{if(!n)break r;n=(N=n)+-1|0}while(!(0|de[P+(N<<2)>>2]));if(de[s>>2]=de[e+28+(n<<2)>>2],n=y+1|0,(de[l>>2]=n)>>>0<=h>>>0){for(;!(0|de[P+(n<<2)>>2]);)if(h>>>0<(n=n+1|0)>>>0)break r;de[l>>2]=n}}}while(0);de[e+92>>2]=-1,de[e+160>>2]=1048575,de[e+12>>2]=32-(0|de[R>>2]),n=1}}while(0);return _e=c,0|(P=n)}function F(e){var r=0,t=0,n=0,i=0,a=0,o=0,u=0,f=0;if(e|=0){t=e+-8|0,i=0|de[1148],f=t+(r=-8&(e=0|de[e+-4>>2]))|0;do{if(1&e)o=u=t;else{if(n=0|de[t>>2],!(3&e))return;if(a=n+r|0,(o=t+(0-n)|0)>>>0<i>>>0)return;if((0|o)==(0|de[1149])){if(3==(3&(r=0|de[(e=f+4|0)>>2])|0))return de[1146]=a,de[e>>2]=-2&r,de[o+4>>2]=1|a,void(de[o+a>>2]=a);u=o,r=a;break}if(t=n>>>3,n>>>0<256){if(e=0|de[o+8>>2],(0|(r=0|de[o+12>>2]))==(0|e)){de[1144]=de[1144]&~(1<<t),u=o,r=a;break}de[e+12>>2]=r,de[r+8>>2]=e,u=o,r=a;break}i=0|de[o+24>>2],e=0|de[o+12>>2];do{if((0|e)==(0|o)){if(!(e=0|de[(r=(t=o+16|0)+4|0)>>2])){if(!(e=0|de[t>>2])){e=0;break}r=t}for(;;)if(0|(n=0|de[(t=e+20|0)>>2]))e=n,r=t;else{if(!(n=0|de[(t=e+16|0)>>2]))break;e=n,r=t}de[r>>2]=0}else u=0|de[o+8>>2],de[u+12>>2]=e,de[e+8>>2]=u}while(0);if(i){if(r=0|de[o+28>>2],(0|o)==(0|de[(t=4880+(r<<2)|0)>>2])){if(!(de[t>>2]=e)){de[1145]=de[1145]&~(1<<r),u=o,r=a;break}}else if(!(de[i+16+(((0|de[i+16>>2])!=(0|o)&1)<<2)>>2]=e)){u=o,r=a;break}de[e+24>>2]=i,0|(t=0|de[(r=o+16|0)>>2])&&(de[e+16>>2]=t,de[t+24>>2]=e),r=(u=((r=0|de[r+4>>2])&&(de[e+20>>2]=r,de[r+24>>2]=e),o),a)}else u=o,r=a}}while(0);if(!(f>>>0<=o>>>0)&&1&(n=0|de[(e=f+4|0)>>2])){if(2&n)de[e>>2]=-2&n,de[u+4>>2]=1|r,i=de[o+r>>2]=r;else{if(e=0|de[1149],(0|f)==(0|de[1150])){if(f=(0|de[1147])+r|0,de[1147]=f,de[1150]=u,de[u+4>>2]=1|f,(0|u)!=(0|e))return;return de[1149]=0,void(de[1146]=0)}if((0|f)==(0|e))return f=(0|de[1146])+r|0,de[1146]=f,de[1149]=o,de[u+4>>2]=1|f,void(de[o+f>>2]=f);i=(-8&n)+r|0,t=n>>>3;do{if(n>>>0<256){if(r=0|de[f+8>>2],(0|(e=0|de[f+12>>2]))==(0|r)){de[1144]=de[1144]&~(1<<t);break}de[r+12>>2]=e,de[e+8>>2]=r;break}a=0|de[f+24>>2],e=0|de[f+12>>2];do{if((0|e)==(0|f)){if(!(e=0|de[(r=(t=f+16|0)+4|0)>>2])){if(!(e=0|de[t>>2])){t=0;break}r=t}for(;;)if(0|(n=0|de[(t=e+20|0)>>2]))e=n,r=t;else{if(!(n=0|de[(t=e+16|0)>>2]))break;e=n,r=t}de[r>>2]=0,t=e}else t=0|de[f+8>>2],de[t+12>>2]=e,de[e+8>>2]=t,t=e}while(0);if(0|a){if(e=0|de[f+28>>2],(0|f)==(0|de[(r=4880+(e<<2)|0)>>2])){if(!(de[r>>2]=t)){de[1145]=de[1145]&~(1<<e);break}}else if(!(de[a+16+(((0|de[a+16>>2])!=(0|f)&1)<<2)>>2]=t))break;de[t+24>>2]=a,0|(r=0|de[(e=f+16|0)>>2])&&(de[t+16>>2]=r,de[r+24>>2]=t),0|(e=0|de[e+4>>2])&&(de[t+20>>2]=e,de[e+24>>2]=t)}}while(0);if(de[u+4>>2]=1|i,de[o+i>>2]=i,(0|u)==(0|de[1149]))return void(de[1146]=i)}if(e=i>>>3,i>>>0<256)return t=4616+(e<<1<<2)|0,(r=0|de[1144])&(e=1<<e)?e=0|de[(r=t+8|0)>>2]:(de[1144]=r|e,r=(e=t)+8|0),de[r>>2]=u,de[e+12>>2]=u,de[u+8>>2]=e,void(de[u+12>>2]=t);n=4880+((e=(e=i>>>8)?16777215<i>>>0?31:i>>>((e=14-((a=((f=e<<(o=(e+1048320|0)>>>16&8))+520192|0)>>>16&4)|o|(e=((f<<=a)+245760|0)>>>16&2))+(f<<e>>>15)|0)+7|0)&1|e<<1:0)<<2)|0,de[u+28>>2]=e,de[u+20>>2]=0,r=(de[u+16>>2]=0)|de[1145],t=1<<e;do{if(r&t){for(r=i<<(31==(0|e)?0:25-(e>>>1)|0),t=0|de[n>>2];;){if((-8&de[t+4>>2]|0)==(0|i)){e=73;break}if(!(e=0|de[(n=t+16+(r>>>31<<2)|0)>>2])){e=72;break}r<<=1,t=e}if(72==(0|e)){de[n>>2]=u,de[u+24>>2]=t,de[u+12>>2]=u,de[u+8>>2]=u;break}if(73==(0|e)){f=0|de[(o=t+8|0)>>2],de[f+12>>2]=u,de[o>>2]=u,de[u+8>>2]=f,de[u+12>>2]=t,de[u+24>>2]=0;break}}else de[1145]=r|t,de[n>>2]=u,de[u+24>>2]=n,de[u+12>>2]=u,de[u+8>>2]=u}while(0);if(f=(0|de[1152])-1|0,!(de[1152]=f)){for(e=5032;e=0|de[e>>2];)e=e+8|0;de[1152]=-1}}}}function U(e,r){var t=0,n=0,i=0,a=0,o=0,u=0,f=0;f=(e|=0)+(r|=0)|0,t=0|de[e+4>>2];do{if(1&t)u=e,t=r;else{if(n=0|de[e>>2],!(3&t))return;if(o=n+r|0,(0|(a=e+(0-n)|0))==(0|de[1149])){if(3==(3&(t=0|de[(e=f+4|0)>>2])|0))return de[1146]=o,de[e>>2]=-2&t,de[a+4>>2]=1|o,void(de[a+o>>2]=o);u=a,t=o;break}if(r=n>>>3,n>>>0<256){if(e=0|de[a+8>>2],(0|(t=0|de[a+12>>2]))==(0|e)){de[1144]=de[1144]&~(1<<r),u=a,t=o;break}de[e+12>>2]=t,de[t+8>>2]=e,u=a,t=o;break}i=0|de[a+24>>2],e=0|de[a+12>>2];do{if((0|e)==(0|a)){if(!(e=0|de[(t=(r=a+16|0)+4|0)>>2])){if(!(e=0|de[r>>2])){e=0;break}t=r}for(;;)if(0|(n=0|de[(r=e+20|0)>>2]))e=n,t=r;else{if(!(n=0|de[(r=e+16|0)>>2]))break;e=n,t=r}de[t>>2]=0}else u=0|de[a+8>>2],de[u+12>>2]=e,de[e+8>>2]=u}while(0);if(i){if(t=0|de[a+28>>2],(0|a)==(0|de[(r=4880+(t<<2)|0)>>2])){if(!(de[r>>2]=e)){de[1145]=de[1145]&~(1<<t),u=a,t=o;break}}else if(!(de[i+16+(((0|de[i+16>>2])!=(0|a)&1)<<2)>>2]=e)){u=a,t=o;break}de[e+24>>2]=i,0|(r=0|de[(t=a+16|0)>>2])&&(de[e+16>>2]=r,de[r+24>>2]=e),t=(u=((t=0|de[t+4>>2])&&(de[e+20>>2]=t,de[t+24>>2]=e),a),o)}else u=a,t=o}}while(0);if(2&(n=0|de[(e=f+4|0)>>2]))de[e>>2]=-2&n,de[u+4>>2]=1|t,de[u+t>>2]=t;else{if(e=0|de[1149],(0|f)==(0|de[1150])){if(f=(0|de[1147])+t|0,de[1147]=f,de[1150]=u,de[u+4>>2]=1|f,(0|u)!=(0|e))return;return de[1149]=0,void(de[1146]=0)}if((0|f)==(0|e))return f=(0|de[1146])+t|0,de[1146]=f,de[1149]=u,de[u+4>>2]=1|f,void(de[u+f>>2]=f);a=(-8&n)+t|0,r=n>>>3;do{if(n>>>0<256){if(t=0|de[f+8>>2],(0|(e=0|de[f+12>>2]))==(0|t)){de[1144]=de[1144]&~(1<<r);break}de[t+12>>2]=e,de[e+8>>2]=t;break}i=0|de[f+24>>2],e=0|de[f+12>>2];do{if((0|e)==(0|f)){if(!(e=0|de[(t=(r=f+16|0)+4|0)>>2])){if(!(e=0|de[r>>2])){r=0;break}t=r}for(;;)if(0|(n=0|de[(r=e+20|0)>>2]))e=n,t=r;else{if(!(n=0|de[(r=e+16|0)>>2]))break;e=n,t=r}de[t>>2]=0,r=e}else r=0|de[f+8>>2],de[r+12>>2]=e,de[e+8>>2]=r,r=e}while(0);if(0|i){if(e=0|de[f+28>>2],(0|f)==(0|de[(t=4880+(e<<2)|0)>>2])){if(!(de[t>>2]=r)){de[1145]=de[1145]&~(1<<e);break}}else if(!(de[i+16+(((0|de[i+16>>2])!=(0|f)&1)<<2)>>2]=r))break;de[r+24>>2]=i,0|(t=0|de[(e=f+16|0)>>2])&&(de[r+16>>2]=t,de[t+24>>2]=r),0|(e=0|de[e+4>>2])&&(de[r+20>>2]=e,de[e+24>>2]=r)}}while(0);if(de[u+4>>2]=1|a,de[u+a>>2]=a,(0|u)==(0|de[1149]))return void(de[1146]=a);t=a}if(e=t>>>3,t>>>0<256)return r=4616+(e<<1<<2)|0,(t=0|de[1144])&(e=1<<e)?e=0|de[(t=r+8|0)>>2]:(de[1144]=t|e,t=(e=r)+8|0),de[t>>2]=u,de[e+12>>2]=u,de[u+8>>2]=e,void(de[u+12>>2]=r);if(i=4880+((e=(e=t>>>8)?16777215<t>>>0?31:t>>>((e=14-((a=((f=e<<(o=(e+1048320|0)>>>16&8))+520192|0)>>>16&4)|o|(e=((f<<=a)+245760|0)>>>16&2))+(f<<e>>>15)|0)+7|0)&1|e<<1:0)<<2)|0,de[u+28>>2]=e,de[u+20>>2]=0,!((r=(de[u+16>>2]=0)|de[1145])&(n=1<<e)))return de[1145]=r|n,de[i>>2]=u,de[u+24>>2]=i,de[u+12>>2]=u,void(de[u+8>>2]=u);for(r=t<<(31==(0|e)?0:25-(e>>>1)|0),n=0|de[i>>2];;){if((-8&de[n+4>>2]|0)==(0|t)){e=69;break}if(!(e=0|de[(i=n+16+(r>>>31<<2)|0)>>2])){e=68;break}r<<=1,n=e}return 68==(0|e)?(de[i>>2]=u,de[u+24>>2]=n,de[u+12>>2]=u,void(de[u+8>>2]=u)):69==(0|e)?(f=0|de[(o=n+8|0)>>2],de[f+12>>2]=u,de[o>>2]=u,de[u+8>>2]=f,de[u+12>>2]=n,void(de[u+24>>2]=0)):void 0}function H(e,r,t,n,i){i|=0;var a=0,o=0,u=0,f=0,c=0,s=0,l=0,d=0,h=0,v=0;if(s=e|=0,o=t|=0,u=d=n|=0,!(c=f=r|=0))return a=0!=(0|i),u?(a&&(de[i>>2]=0|e,de[i+4>>2]=0&r),(i=d=0)|(k=d,i)):(a&&(de[i>>2]=(s>>>0)%(o>>>0),de[i+4>>2]=0),(d=0)|(k=d,i=(s>>>0)/(o>>>0)>>>0));a=0==(0|u);do{if(o){if(!a){if((a=(0|_(0|u))-(0|_(0|c))|0)>>>0<=31){e=s>>>((o=l=a+1|0)>>>0)&(r=a-31>>31)|c<<(u=31-a|0),r&=c>>>(l>>>0),a=0,u=s<<u;break}return i&&(de[i>>2]=0|e,de[i+4>>2]=f|0&r),(i=d=0)|(k=d,i)}if((a=o-1|0)&o|0){e=(l=32-(u=33+(0|_(0|o))-(0|_(0|c))|0)|0)-1>>31&c>>>((h=u-32|0)>>>0)|(c<<l|s>>>((o=u)>>>0))&(r=h>>31),r&=c>>>(u>>>0),a=s<<(v=64-u|0)&(f=l>>31),u=(c<<v|s>>>(h>>>0))&f|s<<l&u-33>>31;break}return 0|i&&(de[i>>2]=a&s,de[i+4>>2]=0),1==(0|o)?0|(k=h=f|0&r,v=0|e):(v=0|Re(0|o),0|(k=h=c>>>(v>>>0)|0,v=c<<32-v|s>>>(v>>>0)|0))}if(a)return 0|i&&(de[i>>2]=(c>>>0)%(o>>>0),de[i+4>>2]=0),(h=0)|(k=h,v=(c>>>0)/(o>>>0)>>>0);if(!s)return 0|i&&(de[i>>2]=0,de[i+4>>2]=(c>>>0)%(u>>>0)),(h=0)|(k=h,v=(c>>>0)/(u>>>0)>>>0);if(!((a=u-1|0)&u))return 0|i&&(de[i>>2]=0|e,de[i+4>>2]=a&c|0&r),v=c>>>(((h=0)|Re(0|u))>>>0),0|(k=h,v);if((a=(0|_(0|u))-(0|_(0|c))|0)>>>0<=30){e=c<<(u=31-a|0)|s>>>((o=r=a+1|0)>>>0),r=c>>>(r>>>0),a=0,u=s<<u;break}return i&&(de[i>>2]=0|e,de[i+4>>2]=f|0&r),(v=h=0)|(k=h,v)}while(0);if(o){for(c=0|Ue(0|(l=0|t),0|(s=d|0&n),-1,-1),t=k,f=u,u=0;f=a>>>31|(n=f)<<1,a=u|a<<1,xe(0|c,0|t,0|(n=e<<1|n>>>31|0),0|(d=e>>>31|r<<1|0)),u=1&(h=(v=k)>>31|((0|v)<0?-1:0)<<1),e=0|xe(0|n,0|d,h&l|0,(((0|v)<0?-1:0)>>31|((0|v)<0?-1:0)<<1)&s|0),r=k,0!=(0|(o=o-1|0)););c=f,f=0}else c=u,u=f=0;return(o=0)|i&&(de[i>>2]=e,de[i+4>>2]=r),0|(k=h=(0|a)>>>31|(c|o)<<1|0&(o<<1|a>>>31)|f,v=-2&(a<<1|0)|u)}function Me(e,r){e|=0;var t,n,i,a,o,u,f,c,s=0,l=0,d=0,h=0,v=0,_=0;_e=(c=_e)+576|0,i=c+48|0,o=c+32|0,a=c+16|0,f=(n=c)+64|0,u=0|de[(r|=0)+20>>2],(0|(t=0|de[(_=e+20|0)>>2]))<24?(l=(s=0|de[(v=e+4|0)>>2])>>>0<(d=0|de[e+8>>2])>>>0,(0|t)<16?(l?(h=(0|he[s>>0])<<8,s=s+1|0):h=0,s>>>0<d>>>0?(d=0|he[s>>0],s=s+1|0):d=0,de[v>>2]=s,de[_>>2]=t+16,l=16,s=d|h):(s=l?(de[v>>2]=s+1,0|he[s>>0]):0,de[_>>2]=t+8,l=24),d=de[(v=e+16|0)>>2]|s<<l-t,de[v>>2]=d):d=0|de[(v=d=e+16|0)>>2],h=1+(d>>>16)|0;do{if(!(h>>>0<=(0|de[u+16>>2])>>>0)){for(l=0|de[u+20>>2];h>>>0>(0|de[u+28+((s=l+-1|0)<<2)>>2])>>>0;)l=l+1|0;if((s=(d>>>(32-l|0))+(0|de[u+96+(s<<2)>>2])|0)>>>0<(0|de[r>>2])>>>0){s=0|ve[(0|de[u+176>>2])+(s<<1)>>1];break}return de[i>>2]=866,de[i+4>>2]=3275,de[i+8>>2]=1348,Ce(f,812,i),Ae(f),_e=c,(_=0)|_}-1==(0|(l=0|de[(0|de[u+168>>2])+(d>>>(32-(0|de[u+8>>2])|0)<<2)>>2]))&&(de[n>>2]=866,de[n+4>>2]=3253,de[n+8>>2]=1393,Ce(f,812,n),Ae(f)),s=65535&l,l>>>=16,(0|de[r+8>>2])>>>0<=s>>>0&&(de[a>>2]=866,de[a+4>>2]=909,de[a+8>>2]=1497,Ce(f,812,a),Ae(f)),(0|he[(0|de[r+4>>2])+s>>0])!=(0|l)&&(de[o>>2]=866,de[o+4>>2]=3257,de[o+8>>2]=1410,Ce(f,812,o),Ae(f))}while(0);return de[v>>2]=de[v>>2]<<l,de[_>>2]=(0|de[_>>2])-l,_e=c,0|(_=s)}function Y(e){var r,t,n,i,a,o=0,u=0,f=0;if(_e=(a=_e)+576|0,f=a+48|0,n=a+32|0,t=a+16|0,i=(r=a)+64|0,(de[(e|=0)>>2]=0)|(u=0|de[(o=e+284|0)>>2])&&(7&u?(de[r>>2]=866,de[r+4>>2]=2506,de[r+8>>2]=1232,Ce(i,812,r),Ae(i)):ce(u,0,0,1,0),de[o>>2]=0,de[e+288>>2]=0,de[e+292>>2]=0),(le[e+296>>0]=0)|(u=0|de[(o=e+268|0)>>2])&&(7&u?(de[t>>2]=866,de[t+4>>2]=2506,de[t+8>>2]=1232,Ce(i,812,t),Ae(i)):ce(u,0,0,1,0),de[o>>2]=0,de[e+272>>2]=0,de[e+276>>2]=0),(le[e+280>>0]=0)|(u=0|de[(o=e+252|0)>>2])&&(7&u?(de[n>>2]=866,de[n+4>>2]=2506,de[n+8>>2]=1232,Ce(i,812,n),Ae(i)):ce(u,0,0,1,0),de[o>>2]=0,de[e+256>>2]=0,de[e+260>>2]=0),!(u=(le[e+264>>0]=0)|de[(o=e+236|0)>>2]))return ne(f=e+212|(le[(f=e+248|0)>>0]=0)),ne(f=e+188|0),ne(f=e+164|0),ne(f=e+140|0),ne(f=e+116|0),void(_e=a);7&u?(de[f>>2]=866,de[f+4>>2]=2506,de[f+8>>2]=1232,Ce(i,812,f),Ae(i)):ce(u,0,0,1,0),de[o>>2]=0,de[e+240>>2]=0,de[e+244>>2]=0,ne(f=e+212|(le[(f=e+248|0)>>0]=0)),ne(f=e+188|0),ne(f=e+164|0),ne(f=e+140|0),ne(f=e+116|0),_e=a}function $(e,r,t){e|=0,r|=0,t|=0;var n=0,i=0,a=0;e:do{if(r>>>0<=20){switch(0|r){case 9:n=3+(0|de[t>>2])&-4,r=0|de[n>>2],de[t>>2]=n+4,de[e>>2]=r;break e;case 10:n=3+(0|de[t>>2])&-4,r=0|de[n>>2],de[t>>2]=n+4,de[(n=e)>>2]=r,de[n+4>>2]=((0|r)<0)<<31>>31;break e;case 11:n=3+(0|de[t>>2])&-4,r=0|de[n>>2],de[t>>2]=n+4,de[(n=e)>>2]=r,de[n+4>>2]=0;break e;case 12:n=7+(0|de[t>>2])&-8,i=0|de[(r=n)>>2],r=0|de[r+4>>2],de[t>>2]=n+8,de[(n=e)>>2]=i,de[n+4>>2]=r;break e;case 13:i=3+(0|de[t>>2])&-4,n=0|de[i>>2],de[t>>2]=i+4,n=(65535&n)<<16>>16,de[(i=e)>>2]=n,de[i+4>>2]=((0|n)<0)<<31>>31;break e;case 14:i=3+(0|de[t>>2])&-4,n=0|de[i>>2],de[t>>2]=i+4,de[(i=e)>>2]=65535&n,de[i+4>>2]=0;break e;case 15:i=3+(0|de[t>>2])&-4,n=0|de[i>>2],de[t>>2]=i+4,n=(255&n)<<24>>24,de[(i=e)>>2]=n,de[i+4>>2]=((0|n)<0)<<31>>31;break e;case 16:i=3+(0|de[t>>2])&-4,n=0|de[i>>2],de[t>>2]=i+4,de[(i=e)>>2]=255&n,de[i+4>>2]=0;break e;case 17:case 18:i=7+(0|de[t>>2])&-8,a=+w[i>>3],de[t>>2]=i+8,w[e>>3]=a;break e;default:break e}}}while(0)}function V(e,r,t,n,i){r|=0,t|=0,n|=0,i|=0;var a,o,u,f,c,s,l=0,d=0,h=0,v=0;if(_e=(s=_e)+576|0,f=s+48|0,a=s+32|0,d=s+16|0,u=(l=s)+64|0,c=s+60|0,v=(e|=0)+8|0,(0|de[(o=e+4|0)>>2])>>>0>(0|de[v>>2])>>>0&&(de[l>>2]=866,de[l+4>>2]=2123,de[l+8>>2]=845,Ce(u,812,l),Ae(u)),(2147418112/(n>>>0)|0)>>>0<=r>>>0&&(de[d>>2]=866,de[d+4>>2]=2124,de[d+8>>2]=885,Ce(u,812,d),Ae(u)),r>>>0<=(l=0|de[v>>2])>>>0)return _e=s,0|(v=1);if(9==(0|(t=t&&0!=((h=r+-1|0)&r|0)?(r=h>>>16|h,r|=r>>>8,r|=r>>>4,(r=1+((r|=r>>>2)>>>1|r)|0)?9:(r=0,10)):9))&&r>>>0<=l>>>0&&(t=10),10==(0|t)&&(de[a>>2]=866,de[a+4>>2]=2133,de[a+8>>2]=933,Ce(u,812,a),Ae(u)),h=0|ie(r,n),i)if(d=0|ae(h,c)){cr[0&i](d,0|de[e>>2],0|de[o>>2]),l=0|de[e>>2];do{if(0|l){if(7&l){de[f>>2]=866,de[f+4>>2]=2506,de[f+8>>2]=1232,Ce(u,812,f),Ae(u);break}ce(l,0,0,1,0);break}}while(0);de[e>>2]=d,t=20}else r=0;else(l=0|function(e,r,t,n){r|=0,t|=0,n|=0;var i=0,a=0,o=0,u=0,f=0,c=0;if(_e=(c=_e)+560|0,f=c+32|0,a=c+16|0,o=(i=c)+48|0,u=c+44|0,7&(e|=0)|0)return de[i>>2]=866,de[i+4>>2]=2506,de[i+8>>2]=1210,Ce(o,812,i),Ae(o),_e=c,(f=0)|f;if(2147418112<r>>>0)return de[a>>2]=866,de[a+4>>2]=2506,de[a+8>>2]=1103,Ce(o,812,a),Ae(o),_e=c,(f=0)|f;de[u>>2]=r,e=0|ce(e,r,u,n,0),0|t&&(de[t>>2]=de[u>>2]);7&e|0&&(de[f>>2]=866,de[f+4>>2]=2558,de[f+8>>2]=1156,Ce(o,812,f),Ae(o));return _e=c,0|(f=e)}(0|de[e>>2],h,c,1))?(de[e>>2]=l,t=20):r=0;return 20==(0|t)&&(h>>>0<(l=0|de[c>>2])>>>0&&(r=(l>>>0)/(n>>>0)|0),de[v>>2]=r,r=1),_e=s,0|(v=r)}function G(e,r,t,n,i,a,o){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0;var u,f=0,c=0,s=0;if(s=0|de[(e|=0)+88>>2],f=((1<(f=(he[s+12>>0]<<8|he[s+13>>0])>>>o)>>>0?f:1)+3|0)>>>2,c=((1<(c=(he[s+14>>0]<<8|he[s+15>>0])>>>o)>>>0?c:1)+3|0)>>>2,o=0|le[(s=s+18|0)>>0],o=0|ie(f,o<<24>>24==0|o<<24>>24==9?8:16),a){if(!(0==(3&a|0)&o>>>0<=a>>>0))return(i=0)|i;o=a}if((0|ie(o,c))>>>0>i>>>0)return(i=0)|i;if(a=(f+1|0)>>>1,u=(c+1|0)>>>1,!t)return(i=0)|i;switch(de[e+92>>2]=r,de[e+96>>2]=r,de[e+104>>2]=t,de[e+100>>2]=r+t,de[e+108>>2]=0,(de[e+112>>2]=0)|le[s>>0]){case 0:if(!(0|function(e,r,t,n,i,a,o,u){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,u|=0;var f,c,s,l,d,h,v,_,M,E,T,m,A,b,p,S,O,g,y,R,w,k,N,P,C,I,L,D,x,F,U,H,Y=0,$=0,B=0,X=0,V=0,G=0,K=0,q=0,j=0,z=0,W=0,J=0,Z=0,Q=0,ee=0,re=0,te=0,ne=0;if(_e=(H=_e)+656|0,F=H+112|0,D=H+96|0,L=H+80|0,I=H+64|0,C=H+48|0,U=H+32|0,x=H+16|0,k=(P=H)+144|0,N=H+128|0,b=0|de[(A=240+(e|=0)|0)>>2],S=0|de[(p=e+256|0)>>2],O=255&(re=0|le[17+(0|de[e+88>>2])>>0]),!(re<<24>>24))return _e=H,1;y=0==(0|u),w=(R=o+-1|0)<<4,re=u+-1|0,v=0!=(1&a|0),_=n<<1,M=e+92|0,E=e+116|0,T=e+140|0,m=e+236|0,h=0!=(1&i|0),d=e+188|0,f=e+252|0,c=1+(g=n>>>2)|0,s=g+2|0,l=g+3|0,t=a=ee=0,i=1;do{if(!y)for(Z=0|de[r+(ee<<2)>>2],Q=0;;){if($=0==(0|(W=1&Q)),z=(W<<5^32)-16|0,W=(W<<1^2)-1|0,J=v&(e=(0|Q)==(0|re)),(0|(Y=$?0:R))!=(0|(j=$?o:-1)))for(q=v&e^1,K=$?Z:Z+w|0;;){for(1==(0|i)&&(i=512|Me(M,E)),G=7&i,i>>>=3,$=0|he[1539+G>>0],e=0;t=(V=(X=(B=(0|Me(M,T))+t|0)-b|0)>>31)&B|X&~V,(0|de[A>>2])>>>0<=t>>>0&&(de[P>>2]=866,de[P+4>>2]=910,de[P+8>>2]=1497,Ce(k,812,P),Ae(k)),de[N+(e<<2)>>2]=de[(0|de[m>>2])+(t<<2)>>2],(e=e+1|0)>>>0<$>>>0;);if(J|(V=h&(0|Y)==(0|R))){X=0;do{e=K+(0|ie(X,n))|0,B=0==(0|X)|q,$=X<<1,a=(a=(te=(ne=(0|Me(M,d))+a|0)-S|0)>>31)&ne|te&~a;do{if(V){if(!B){a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a;break}de[e>>2]=de[N+((0|he[1547+(G<<2)+$>>0])<<2)>>2],(0|de[p>>2])>>>0<=a>>>0&&(de[D>>2]=866,de[D+4>>2]=910,de[D+8>>2]=1497,Ce(k,812,D),Ae(k)),de[e+4>>2]=de[(0|de[f>>2])+(a<<2)>>2],a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a}else B&&(de[e>>2]=de[N+((0|he[1547+(G<<2)+$>>0])<<2)>>2],(0|de[p>>2])>>>0<=a>>>0&&(de[L>>2]=866,de[L+4>>2]=910,de[L+8>>2]=1497,Ce(k,812,L),Ae(k)),de[e+4>>2]=de[(0|de[f>>2])+(a<<2)>>2]),e=e+8|0,a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a,B&&(de[e>>2]=de[N+((0|he[1547+(G<<2)+(1|$)>>0])<<2)>>2],(0|de[p>>2])>>>0<=a>>>0&&(de[F>>2]=866,de[F+4>>2]=910,de[F+8>>2]=1497,Ce(k,812,F),Ae(k)),de[e+4>>2]=de[(0|de[f>>2])+(a<<2)>>2])}while(0);X=X+1|0}while(2!=(0|X))}else de[K>>2]=de[N+((0|he[1547+(G<<2)>>0])<<2)>>2],a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a,(0|de[p>>2])>>>0<=a>>>0&&(de[x>>2]=866,de[x+4>>2]=910,de[x+8>>2]=1497,Ce(k,812,x),Ae(k)),de[K+4>>2]=de[(0|de[f>>2])+(a<<2)>>2],de[K+8>>2]=de[N+((0|he[1547+(G<<2)+1>>0])<<2)>>2],a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a,(0|de[p>>2])>>>0<=a>>>0&&(de[U>>2]=866,de[U+4>>2]=910,de[U+8>>2]=1497,Ce(k,812,U),Ae(k)),de[K+12>>2]=de[(0|de[f>>2])+(a<<2)>>2],de[K+(g<<2)>>2]=de[N+((0|he[1547+(G<<2)+2>>0])<<2)>>2],a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a,(0|de[p>>2])>>>0<=a>>>0&&(de[C>>2]=866,de[C+4>>2]=910,de[C+8>>2]=1497,Ce(k,812,C),Ae(k)),de[K+(c<<2)>>2]=de[(0|de[f>>2])+(a<<2)>>2],de[K+(s<<2)>>2]=de[N+((0|he[1547+(G<<2)+3>>0])<<2)>>2],a=(a=(ne=(te=(0|Me(M,d))+a|0)-S|0)>>31)&te|ne&~a,(0|de[p>>2])>>>0<=a>>>0&&(de[I>>2]=866,de[I+4>>2]=910,de[I+8>>2]=1497,Ce(k,812,I),Ae(k)),de[K+(l<<2)>>2]=de[(0|de[f>>2])+(a<<2)>>2];if((0|(Y=W+Y|0))==(0|j))break;K=K+z|0}if((0|(Q=Q+1|0))==(0|u))break;Z=Z+_|0}ee=ee+1|0}while((0|ee)!=(0|O));return _e=H,1}(e,n,i,o,f,c,a,u)))return(i=0)|i;break;case 4:case 6:case 5:case 3:case 2:if(!(0|function(e,r,t,n,i,a,o,u){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,u|=0;var f,c,s,l,d,h,v,_,M,E,T,m,A,b,p,S,O,g,y,R,w,k,N,P,C,I,L,D,x,F,U,H,Y,$,B,X=0,V=0,G=0,K=0,q=0,j=0,z=0,W=0,J=0,Z=0,Q=0,ee=0,re=0,te=0,ne=0,ie=0,ae=0,oe=0,ue=0,fe=0,ce=0,se=0;if(_e=(B=_e)+640|0,H=B+80|0,U=B+64|0,F=B+48|0,$=B+32|0,Y=B+16|0,L=(x=B)+128|0,D=B+112|0,h=B+96|0,_=0|de[(v=240+(e|=0)|0)>>2],E=0|de[(M=e+256|0)>>2],m=0|de[(T=e+272|0)>>2],se=0|de[e+88>>2],A=(0|he[se+63>>0])<<8|0|he[se+64>>0],b=255&(se=0|le[se+17>>0]),!(se<<24>>24))return _e=B,1;p=0==(0|u),O=(S=o+-1|0)<<5,g=u+-1|0,y=n<<1,R=e+92|0,w=e+116|0,k=e+164|0,N=e+268|0,P=e+140|0,C=e+236|0,I=e+212|0,se=e+188|0,d=0==(1&i|0),l=0==(1&a|0),c=e+288|0,s=e+284|0,f=e+252|0,t=i=a=e=ce=0,X=1;do{if(!p)for(ue=0|de[r+(ce<<2)>>2],fe=0;;){if(G=0==(0|(oe=1&fe)),ae=(oe<<6^64)-32|0,oe=(oe<<1^2)-1|0,(0|(V=G?0:S))!=(0|(ne=G?o:-1)))for(ie=l|(0|fe)!=(0|g),te=G?ue:ue+O|0;;){for(1==(0|X)&&(X=512|Me(R,w)),re=7&X,X>>>=3,K=0|he[1539+re>>0],G=0;a=(ee=(Q=(Z=(0|Me(R,k))+a|0)-m|0)>>31)&Z|Q&~ee,(0|de[T>>2])>>>0<=a>>>0&&(de[x>>2]=866,de[x+4>>2]=910,de[x+8>>2]=1497,Ce(L,812,x),Ae(L)),de[h+(G<<2)>>2]=ve[(0|de[N>>2])+(a<<1)>>1],(G=G+1|0)>>>0<K>>>0;);for(G=0;t=(ee=(Q=(Z=(0|Me(R,P))+t|0)-_|0)>>31)&Z|Q&~ee,(0|de[v>>2])>>>0<=t>>>0&&(de[Y>>2]=866,de[Y+4>>2]=910,de[Y+8>>2]=1497,Ce(L,812,Y),Ae(L)),de[D+(G<<2)>>2]=de[(0|de[C>>2])+(t<<2)>>2],(G=G+1|0)>>>0<K>>>0;);for(ee=d|(0|V)!=(0|S),Z=0,Q=te;;){if(z=ie|0==(0|Z),W=Z<<1,ee)for(q=0,j=Q;e=(e=(K=(J=(0|Me(R,I))+e|0)-A|0)>>31)&J|K&~e,i=(i=(J=(K=(0|Me(R,se))+i|0)-E|0)>>31)&K|J&~i,z&&(G=0|he[q+W+(1547+(re<<2))>>0],K=3*e|0,(0|de[c>>2])>>>0<=K>>>0&&(de[$>>2]=866,de[$+4>>2]=910,de[$+8>>2]=1497,Ce(L,812,$),Ae(L)),J=(0|de[s>>2])+(K<<1)|0,de[j>>2]=(0|ve[J>>1])<<16|de[h+(G<<2)>>2],de[j+4>>2]=(0|ve[J+4>>1])<<16|0|ve[J+2>>1],de[j+8>>2]=de[D+(G<<2)>>2],(0|de[M>>2])>>>0<=i>>>0&&(de[F>>2]=866,de[F+4>>2]=910,de[F+8>>2]=1497,Ce(L,812,F),Ae(L)),de[j+12>>2]=de[(0|de[f>>2])+(i<<2)>>2]),2!=(0|(q=q+1|0));)j=j+16|0;else for(J=1^z,z=1547+(re<<2)+W|0,q=0,j=Q;e=(e=(K=(W=(0|Me(R,I))+e|0)-A|0)>>31)&W|K&~e,i=(i=(W=(K=(0|Me(R,se))+i|0)-E|0)>>31)&K|W&~i,0!=(0|q)|J||(G=0|he[z>>0],K=3*e|0,(0|de[c>>2])>>>0<=K>>>0&&(de[U>>2]=866,de[U+4>>2]=910,de[U+8>>2]=1497,Ce(L,812,U),Ae(L)),W=(0|de[s>>2])+(K<<1)|0,de[j>>2]=(0|ve[W>>1])<<16|de[h+(G<<2)>>2],de[j+4>>2]=(0|ve[W+4>>1])<<16|0|ve[W+2>>1],de[j+8>>2]=de[D+(G<<2)>>2],(0|de[M>>2])>>>0<=i>>>0&&(de[H>>2]=866,de[H+4>>2]=910,de[H+8>>2]=1497,Ce(L,812,H),Ae(L)),de[j+12>>2]=de[(0|de[f>>2])+(i<<2)>>2]),2!=(0|(q=q+1|0));)j=j+16|0;if(2==(0|(Z=Z+1|0)))break;Q=Q+n|0}if((0|(V=oe+V|0))==(0|ne))break;te=te+ae|0}if((0|(fe=fe+1|0))==(0|u))break;ue=ue+y|0}ce=ce+1|0}while((0|ce)!=(0|b));return _e=B,1}(e,n,i,o,f,c,a,u)))return(i=0)|i;break;case 9:if(!(0|function(e,r,t,n,i,a,o,u){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,u|=0;var f,c,s,l,d,h,v,_,M,E,T,m,A,b,p,S,O,g,y,R,w,k,N,P,C=0,I=0,L=0,D=0,x=0,F=0,U=0,H=0,Y=0,$=0,B=0,X=0,V=0,G=0,K=0,q=0,j=0,z=0;if(_e=(P=_e)+592|0,w=P+48|0,N=P+32|0,k=P+16|0,g=(R=P)+80|0,y=P+64|0,h=0|de[(d=272+(e|=0)|0)>>2],z=0|de[e+88>>2],v=(0|he[z+63>>0])<<8|0|he[z+64>>0],_=255&(z=0|le[z+17>>0]),!(z<<24>>24))return _e=P,1;M=0==(0|u),T=(E=o+-1|0)<<4,m=u+-1|0,A=n<<1,b=e+92|0,p=e+116|0,S=e+164|0,O=e+268|0,z=e+212|0,l=0==(1&i|0),s=0==(1&a|0),c=e+288|0,f=e+284|0,t=i=j=0,a=1;do{if(!M)for(K=0|de[r+(j<<2)>>2],q=0;;){if(C=0==(0|(G=1&q)),V=(G<<5^32)-16|0,G=(G<<1^2)-1|0,(0|(e=C?0:E))!=(0|(B=C?o:-1)))for(X=s|(0|q)!=(0|m),$=C?K:K+T|0;;){for(1==(0|a)&&(a=512|Me(b,p)),Y=7&a,a>>>=3,I=0|he[1539+Y>>0],C=0;t=(H=(U=(F=(0|Me(b,S))+t|0)-h|0)>>31)&F|U&~H,(0|de[d>>2])>>>0<=t>>>0&&(de[R>>2]=866,de[R+4>>2]=910,de[R+8>>2]=1497,Ce(g,812,R),Ae(g)),de[y+(C<<2)>>2]=ve[(0|de[O>>2])+(t<<1)>>1],(C=C+1|0)>>>0<I>>>0;);for(H=l|(0|e)!=(0|E),F=0,U=$;x=X|0==(0|F),I=F<<1,D=(D=(L=(C=(0|Me(b,z))+i|0)-v|0)>>31)&C|L&~D,H?(x&&(i=0|he[1547+(Y<<2)+I>>0],C=3*D|0,(0|de[c>>2])>>>0<=C>>>0&&(de[k>>2]=866,de[k+4>>2]=910,de[k+8>>2]=1497,Ce(g,812,k),Ae(g)),L=(0|de[f>>2])+(C<<1)|0,de[U>>2]=(0|ve[L>>1])<<16|de[y+(i<<2)>>2],de[U+4>>2]=(0|ve[L+4>>1])<<16|0|ve[L+2>>1]),L=U+8|0,i=(i=(D=(C=(0|Me(b,z))+D|0)-v|0)>>31)&C|D&~i,x&&(C=0|he[1547+(Y<<2)+(1|I)>>0],I=3*i|0,(0|de[c>>2])>>>0<=I>>>0&&(de[w>>2]=866,de[w+4>>2]=910,de[w+8>>2]=1497,Ce(g,812,w),Ae(g)),x=(0|de[f>>2])+(I<<1)|0,de[L>>2]=(0|ve[x>>1])<<16|de[y+(C<<2)>>2],de[U+12>>2]=(0|ve[x+4>>1])<<16|0|ve[x+2>>1])):(x&&(i=0|he[1547+(Y<<2)+I>>0],C=3*D|0,(0|de[c>>2])>>>0<=C>>>0&&(de[N>>2]=866,de[N+4>>2]=910,de[N+8>>2]=1497,Ce(g,812,N),Ae(g)),x=(0|de[f>>2])+(C<<1)|0,de[U>>2]=(0|ve[x>>1])<<16|de[y+(i<<2)>>2],de[U+4>>2]=(0|ve[x+4>>1])<<16|0|ve[x+2>>1]),i=(i=(x=(D=(0|Me(b,z))+D|0)-v|0)>>31)&D|x&~i),2!=(0|(F=F+1|0));)U=U+n|0;if((0|(e=G+e|0))==(0|B))break;$=$+V|0}if((0|(q=q+1|0))==(0|u))break;K=K+A|0}j=j+1|0}while((0|j)!=(0|_));return _e=P,1}(e,n,i,o,f,c,a,u)))return(i=0)|i;break;case 8:case 7:if(!(0|function(e,r,t,n,i,a,o,u){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,u|=0;var f,c,s,l,d,h,v,_,M,E,T,m,A,b,p,S,O,g,y,R,w,k,N,P,C,I,L,D=0,x=0,F=0,U=0,H=0,Y=0,$=0,B=0,X=0,V=0,G=0,K=0,q=0,j=0,z=0,W=0,J=0,Z=0,Q=0,ee=0,re=0,te=0,ne=0,ie=0,ae=0;if(_e=(L=_e)+640|0,P=L+80|0,N=L+64|0,k=L+48|0,I=L+32|0,C=L+16|0,y=(w=L)+128|0,R=L+112|0,d=L+96|0,v=0|de[(h=272+(e|=0)|0)>>2],ae=0|de[e+88>>2],_=(0|he[ae+63>>0])<<8|0|he[ae+64>>0],M=255&(ae=0|le[ae+17>>0]),!(ae<<24>>24))return _e=L,1;E=0==(0|u),m=(T=o+-1|0)<<5,A=u+-1|0,b=n<<1,p=e+92|0,S=e+116|0,O=e+164|0,g=e+268|0,ae=e+212|0,l=0==(1&i|0),s=0==(1&a|0),c=e+288|0,f=e+284|0,t=i=a=e=ie=0,D=1;do{if(!E)for(te=0|de[r+(ie<<2)>>2],ne=0;;){if(F=0==(0|(re=1&ne)),ee=(re<<6^64)-32|0,re=(re<<1^2)-1|0,(0|(x=F?0:T))!=(0|(Z=F?o:-1)))for(Q=s|(0|ne)!=(0|A),J=F?te:te+m|0;;){for(1==(0|D)&&(D=512|Me(p,S)),W=7&D,D>>>=3,U=0|he[1539+W>>0],F=0;t=(z=(j=(q=(0|Me(p,O))+t|0)-v|0)>>31)&q|j&~z,(0|de[h>>2])>>>0<=t>>>0&&(de[w>>2]=866,de[w+4>>2]=910,de[w+8>>2]=1497,Ce(y,812,w),Ae(y)),de[R+(F<<2)>>2]=ve[(0|de[g>>2])+(t<<1)>>1],(F=F+1|0)>>>0<U>>>0;);for(F=0;a=(z=(j=(q=(0|Me(p,O))+a|0)-v|0)>>31)&q|j&~z,(0|de[h>>2])>>>0<=a>>>0&&(de[C>>2]=866,de[C+4>>2]=910,de[C+8>>2]=1497,Ce(y,812,C),Ae(y)),de[d+(F<<2)>>2]=ve[(0|de[g>>2])+(a<<1)>>1],(F=F+1|0)>>>0<U>>>0;);for(z=l|(0|x)!=(0|T),q=0,j=J;;){if(V=Q|0==(0|q),G=q<<1,z)for(B=0,X=j;i=(i=($=(K=(0|Me(p,ae))+i|0)-_|0)>>31)&K|$&~i,e=(e=(K=($=(0|Me(p,ae))+e|0)-_|0)>>31)&$|K&~e,V&&($=0|he[B+G+(1547+(W<<2))>>0],U=3*i|0,(F=0|de[c>>2])>>>0<=U>>>0&&(de[I>>2]=866,de[I+4>>2]=910,de[I+8>>2]=1497,Ce(y,812,I),Ae(y),F=0|de[c>>2]),U=(H=0|de[f>>2])+(U<<1)|0,K=(F=(Y=3*e|0)>>>0<F>>>0?H:(de[k>>2]=866,de[k+4>>2]=910,de[k+8>>2]=1497,Ce(y,812,k),Ae(y),0|de[f>>2]))+(Y<<1)|0,de[X>>2]=(0|ve[U>>1])<<16|de[R+($<<2)>>2],de[X+4>>2]=(0|ve[U+4>>1])<<16|0|ve[U+2>>1],de[X+8>>2]=(0|ve[K>>1])<<16|de[d+($<<2)>>2],de[X+12>>2]=(0|ve[K+4>>1])<<16|0|ve[K+2>>1]),2!=(0|(B=B+1|0));)X=X+16|0;else for(K=1^V,V=1547+(W<<2)+G|0,B=0,X=j;i=(i=($=(G=(0|Me(p,ae))+i|0)-_|0)>>31)&G|$&~i,e=(e=(G=($=(0|Me(p,ae))+e|0)-_|0)>>31)&$|G&~e,0!=(0|B)|K||($=0|he[V>>0],U=3*i|0,(F=0|de[c>>2])>>>0<=U>>>0&&(de[N>>2]=866,de[N+4>>2]=910,de[N+8>>2]=1497,Ce(y,812,N),Ae(y),F=0|de[c>>2]),U=(H=0|de[f>>2])+(U<<1)|0,G=(F=(Y=3*e|0)>>>0<F>>>0?H:(de[P>>2]=866,de[P+4>>2]=910,de[P+8>>2]=1497,Ce(y,812,P),Ae(y),0|de[f>>2]))+(Y<<1)|0,de[X>>2]=(0|ve[U>>1])<<16|de[R+($<<2)>>2],de[X+4>>2]=(0|ve[U+4>>1])<<16|0|ve[U+2>>1],de[X+8>>2]=(0|ve[G>>1])<<16|de[d+($<<2)>>2],de[X+12>>2]=(0|ve[G+4>>1])<<16|0|ve[G+2>>1]),2!=(0|(B=B+1|0));)X=X+16|0;if(2==(0|(q=q+1|0)))break;j=j+n|0}if((0|(x=re+x|0))==(0|Z))break;J=J+ee|0}if((0|(ne=ne+1|0))==(0|u))break;te=te+b|0}ie=ie+1|0}while((0|ie)!=(0|M));return _e=L,1}(e,n,i,o,f,c,a,u)))return(i=0)|i;break;default:return(i=0)|i}return 0|(i=1)}function K(e,r,t){e|=0,r|=0;var n,i,a=0;if(8192<=(0|(t|=0)))return 0|R(0|e,0|r,0|t);if(i=0|e,n=e+t|0,(3&e)==(3&r)){for(;3&e;){if(!t)return 0|i;le[e>>0]=0|le[r>>0],e=e+1|0,r=r+1|0,t=t-1|0}for(a=(t=-4&n|0)-64|0;(0|e)<=(0|a);)de[e>>2]=de[r>>2],de[e+4>>2]=de[r+4>>2],de[e+8>>2]=de[r+8>>2],de[e+12>>2]=de[r+12>>2],de[e+16>>2]=de[r+16>>2],de[e+20>>2]=de[r+20>>2],de[e+24>>2]=de[r+24>>2],de[e+28>>2]=de[r+28>>2],de[e+32>>2]=de[r+32>>2],de[e+36>>2]=de[r+36>>2],de[e+40>>2]=de[r+40>>2],de[e+44>>2]=de[r+44>>2],de[e+48>>2]=de[r+48>>2],de[e+52>>2]=de[r+52>>2],de[e+56>>2]=de[r+56>>2],de[e+60>>2]=de[r+60>>2],e=e+64|0,r=r+64|0;for(;(0|e)<(0|t);)de[e>>2]=de[r>>2],e=e+4|0,r=r+4|0}else for(t=n-4|0;(0|e)<(0|t);)le[e>>0]=0|le[r>>0],le[e+1>>0]=0|le[r+1>>0],le[e+2>>0]=0|le[r+2>>0],le[e+3>>0]=0|le[r+3>>0],e=e+4|0,r=r+4|0;for(;(0|e)<(0|n);)le[e>>0]=0|le[r>>0],e=e+1|0,r=r+1|0;return 0|i}function q(e,r,t){r|=0,t|=0;var n,i,a,o,u,f=0,c=0,s=0,l=0,d=0,h=0;_e=(u=_e)+48|0,o=u+16|0,c=(s=u)+32|0,f=0|de[(i=(e|=0)+28|0)>>2],de[c>>2]=f,f=(0|de[(a=e+20|0)>>2])-f|0,de[c+4>>2]=f,de[c+8>>2]=r,f=f+(de[c+12>>2]=t)|0,n=e+60|0,de[s>>2]=de[n>>2],de[s+4>>2]=c,de[s+8>>2]=2,s=0|He(0|C(146,0|s));e:do{if((0|f)!=(0|s)){for(r=2;!((0|s)<0);)if(f=f-s|0,r=((d=(h=0|de[c+4>>2])>>>0<s>>>0)<<31>>31)+r|0,h=s-(d?h:0)|0,de[(c=d?c+8|0:c)>>2]=(0|de[c>>2])+h,de[(d=c+4|0)>>2]=(0|de[d>>2])-h,de[o>>2]=de[n>>2],de[o+4>>2]=c,de[o+8>>2]=r,(0|f)==(0|(s=0|He(0|C(146,0|o))))){l=3;break e}de[e+16>>2]=0,de[i>>2]=0,de[a>>2]=0,de[e>>2]=32|de[e>>2],t=2==(0|r)?0:t-(0|de[c+4>>2])|0}else l=3}while(0);return 3==(0|l)&&(h=0|de[e+44>>2],de[e+16>>2]=h+(0|de[e+48>>2]),de[i>>2]=h,de[a>>2]=h),_e=u,0|t}function j(e,r,t){e|=0,r|=0,t|=0;var n,i,a,o,u,f=0,c=0,s=0,l=0,d=0,h=0,v=0;for(_e=(u=_e)+224|0,n=u+120|0,o=(a=u)+136|0,c=(f=i=u+80|0)+40|0;(0|(f=f+4|(de[f>>2]=0)))<(0|c););return de[n>>2]=de[t>>2],t=(0|D(0,r,n,a,i))<0?-1:(de[e+76>>2],v=32&(t=0|de[e>>2]),(0|le[e+74>>0])<1&&(de[e>>2]=-33&t),0|de[(f=e+48|0)>>2]?t=0|D(e,r,n,a,i):(s=0|de[(c=e+44|0)>>2],de[c>>2]=o,de[(l=e+28|0)>>2]=o,de[(d=e+20|0)>>2]=o,de[f>>2]=80,de[(h=e+16|0)>>2]=o+80,t=0|D(e,r,n,a,i),s&&(ar[7&de[e+36>>2]](e,0,0),t=0==(0|de[d>>2])?-1:t,de[c>>2]=s,de[f>>2]=0,de[h>>2]=0,de[l>>2]=0,de[d>>2]=0)),f=0|de[e>>2],de[e>>2]=f|v,0==(32&f|0)?t:-1),_e=u,0|t}function z(e,r,t,n){r|=0,t|=0,n|=0;var i,a,o,u,f,c,s,l=0,d=0;for(_e=(s=_e)+64|0,f=s,d=0|de[(e|=0)>>2],c=e+(0|de[d+-8>>2])|0,d=0|de[d+-4>>2],de[f>>2]=t,de[f+4>>2]=e,de[f+8>>2]=r,de[f+12>>2]=n,r=f+20|0,n=f+24|0,i=f+28|0,a=f+32|0,o=f+40|0,u=(l=e=f+16|0)+36|0;(0|(l=l+4|(de[l>>2]=0)))<(0|u););B[e+36>>1]=0,le[e+38>>0]=0;e:do{if(0|Ve(d,t))de[f+48>>2]=1,lr[3&de[20+(0|de[d>>2])>>2]](d,f,c,c,1,0),e=1==(0|de[n>>2])?c:0;else{switch(or[3&de[24+(0|de[d>>2])>>2]](d,f,c,1,0),0|de[f+36>>2]){case 0:e=1==(0|de[o>>2])&1==(0|de[i>>2])&1==(0|de[a>>2])?0|de[r>>2]:0;break e;case 1:break;default:e=0;break e}if(1!=(0|de[n>>2])&&!(0==(0|de[o>>2])&1==(0|de[i>>2])&1==(0|de[a>>2]))){e=0;break}e=0|de[e>>2]}}while(0);return _e=s,0|e}function W(e){var r,t=0,n=0,i=0,a=0,o=0,u=0,f=0;if(_e=(r=_e)+544|0,u=r+16|0,a=(t=r)+32|0,8192<=((n=0|de[(o=(e|=0)+8|0)>>2])+-1|0)>>>0&&(de[t>>2]=866,de[t+4>>2]=3006,de[t+8>>2]=1257,Ce(a,812,t),Ae(a)),de[e>>2]=n,f=(t=0|de[(i=e+20|0)>>2])?n:((t=0|ae(180,0))?(de[(f=t+164|0)>>2]=0,de[f+4>>2]=0,de[f+8>>2]=0,de[f+12>>2]=0):t=0,de[i>>2]=t,0|de[e>>2]),u=0|de[o>>2]?f:(de[u>>2]=866,de[u+4>>2]=910,de[u+8>>2]=1497,Ce(a,812,u),Ae(a),0|de[e>>2]),a=0|de[e+4>>2],!(16<u>>>0))return e=(e=0)|x(t,f,a,e),_e=r,0|e;for(n=u,i=0;o=i+1|0,3<n>>>0;)n>>>=1,i=o;return e=0|x(t,f,a,e=255&((e=i+2+(32!=(0|o)&1<<o>>>0<u>>>0&1)|0)>>>0<11?e:11)),_e=r,0|e}function J(e){var r,t,n,i,a,o,u=0,f=0;_e=(o=_e)+576|0,i=o+48|0,a=o+32|0,t=o+16|0,n=(r=o)+64|0,u=0|de[(e|=0)+168>>2];do{if(0|u){if(f=0|de[u+-4>>2],u=u+-8|0,0!=(0|f)&&(0|f)==(0|~de[u>>2])||(de[r>>2]=866,de[r+4>>2]=651,de[r+8>>2]=1579,Ce(n,812,r),Ae(n)),7&u){de[t>>2]=866,de[t+4>>2]=2506,de[t+8>>2]=1232,Ce(n,812,t),Ae(n);break}ce(u,0,0,1,0);break}}while(0);if(u=0|de[e+176>>2])return f=0|de[u+-4>>2],u=u+-8|0,0!=(0|f)&&(0|f)==(0|~de[u>>2])||(de[a>>2]=866,de[a+4>>2]=651,de[a+8>>2]=1579,Ce(n,812,a),Ae(n)),7&u?(de[i>>2]=866,de[i+4>>2]=2506,de[i+8>>2]=1232,Ce(n,812,i),Ae(n)):ce(u,0,0,1,0),void(_e=o);_e=o}function Z(e,r,t){var n;return 0!=(0|(e|=0))&73<(r|=0)>>>0&0!=(0|(t|=0))?40!=(0|de[t>>2])?(t=0)|t:18552!=((0|he[e>>0])<<8|0|he[e+1>>0]|0)?(t=0)|t:((0|he[e+2>>0])<<8|0|he[e+3>>0])>>>0<74?(t=0)|t:((0|he[e+7>>0])<<16|(0|he[e+6>>0])<<24|(0|he[e+8>>0])<<8|0|he[e+9>>0])>>>0>r>>>0?(t=0)|t:(de[t+4>>2]=(0|he[e+12>>0])<<8|0|he[e+13>>0],de[t+8>>2]=(0|he[e+14>>0])<<8|0|he[e+15>>0],de[t+12>>2]=he[e+16>>0],de[t+16>>2]=he[e+17>>0],r=e+18|0,de[(n=t+32|0)>>2]=he[r>>0],r=(de[n+4>>2]=0)|le[r>>0],de[t+20>>2]=r<<24>>24==0|r<<24>>24==9?8:16,de[t+24>>2]=(0|he[e+26>>0])<<16|(0|he[e+25>>0])<<24|(0|he[e+27>>0])<<8|0|he[e+28>>0],de[t+28>>2]=(0|he[e+30>>0])<<16|(0|he[e+29>>0])<<24|(0|he[e+31>>0])<<8|0|he[e+32>>0],0|(t=1)):(t=0)|t}function Q(e,r){e|=0;var t,n,i,a=0,o=0,u=0,f=0,c=0;if(_e=(i=_e)+544|0,c=i+16|0,f=(a=i)+32|0,33<=(r|=0)>>>0&&(de[a>>2]=866,de[a+4>>2]=3199,de[a+8>>2]=1350,Ce(f,812,a),Ae(f)),(0|r)<=(0|(a=0|de[(n=e+20|0)>>2])))return f=a,c=(o=0|de[(u=o=e+16|0)>>2])>>>(c=32-r|0),o<<=r,de[u>>2]=o,r=f-r|0,de[n>>2]=r,_e=i,0|c;for(o=e+4|0,u=e+8|0,t=e+16|0;e=(0|(e=0|de[o>>2]))==(0|de[u>>2])?0:(de[o>>2]=e+1,0|he[e>>0]),a=a+8|0,33<=(0|(de[n>>2]=a))&&(de[c>>2]=866,de[c+4>>2]=3208,de[c+8>>2]=1366,Ce(f,812,c),Ae(f),a=0|de[n>>2]),e=e<<32-a|de[t>>2],de[t>>2]=e,(0|a)<(0|r););return c=e>>>(c=32-r|0),f=e<<r,de[t>>2]=f,r=a-r|0,de[n>>2]=r,_e=i,0|c}function ee(e,r,t){e|=0;var n=0,i=0,a=0,o=0;a=255&(r|=0),n=0!=(0|(t|=0));e:do{if(n&0!=(3&e|0))for(i=255&r;;){if((0|le[e>>0])==i<<24>>24){o=6;break e}if(!((n=0!=(0|(t=t+-1|0)))&0!=(3&(e=e+1|0)|0))){o=5;break}}else o=5}while(0);5==(0|o)&&(n?o=6:t=0);e:do{if(6==(0|o)&&(i=255&r,(0|le[e>>0])!=i<<24>>24)){n=0|ie(a,16843009);r:do{if(3<t>>>0){for(;!((-2139062144&(a=de[e>>2]^n)^-2139062144)&a+-16843009|0);)if(e=e+4|0,(t=t+-4|0)>>>0<=3){o=11;break r}}else o=11}while(0);if(11==(0|o)&&!t){t=0;break}for(;;){if((0|le[e>>0])==i<<24>>24)break e;if(e=e+1|0,!(t=t+-1|0)){t=0;break}}}}while(0);return 0|(0|t?e:0)}function re(e,r,t,n,i){r|=0,t|=0,n|=0,i|=0;var a,o,u,f=0,c=0,s=0;return _e=(u=_e)+528|0,c=(s=u)+16|0,a=0|de[(e|=0)+88>>2],_e=(s=((o=(0|he[a+70+(i<<2)+1>>0])<<16|(0|he[a+70+(i<<2)>>0])<<24|(0|he[a+70+(i<<2)+2>>0])<<8|0|he[a+70+(i<<2)+3>>0])>>>0<(f=(f=i+1|0)>>>0<(0|he[a+16>>0])>>>0?(0|he[a+70+(f<<2)+1>>0])<<16|(0|he[a+70+(f<<2)>>0])<<24|(0|he[a+70+(f<<2)+2>>0])<<8|0|he[a+70+(f<<2)+3>>0]:0|de[e+8>>2])>>>0||(de[s>>2]=866,de[s+4>>2]=3694,de[s+8>>2]=1508,Ce(c,812,s),Ae(c)),0|G(e,c=(c=0|de[(c=e+4|0)>>2])+o|0,s=f-o|0,r,t,n,i)),u),0|s}function te(e,r,t){e|=0,r|=0;var n=0,i=0,a=0,o=0,u=0;(i=0|de[(n=(t|=0)+16|0)>>2])?a=5:0|pe(t)?n=0:(i=0|de[n>>2],a=5);e:do{if(5==(0|a)){if((i-(n=o=0|de[(u=t+20|0)>>2])|0)>>>0<r>>>0){n=0|ar[7&de[t+36>>2]](t,e,r);break}r:do{if(-1<(0|le[t+75>>0])){for(o=r;;){if(!o){a=0,i=e;break r}if(10==(0|le[e+(i=o+-1|0)>>0]))break;o=i}if((n=0|ar[7&de[t+36>>2]](t,e,o))>>>0<o>>>0)break e;i=e+(a=o)|0,r=r-o|0,n=0|de[u>>2]}else a=0,i=e}while(0);K(0|n,0|i,0|r),de[u>>2]=(0|de[u>>2])+r,n=a+r|0}}while(0);return 0|n}function ne(e){var r,t,n=0,i=0,a=0;_e=(t=_e)+544|0,a=t+16|0,r=(i=t)+32|0,n=0|de[(e|=0)+20>>2];do{if(0|n){if(J(n),7&n){de[i>>2]=866,de[i+4>>2]=2506,de[i+8>>2]=1232,Ce(r,812,i),Ae(r);break}ce(n,0,0,1,0);break}}while(0);if(!(i=0|de[(n=e+4|0)>>2]))return le[(a=e+16|0)>>0]=0,void(_e=t);7&i?(de[a>>2]=866,de[a+4>>2]=2506,de[a+8>>2]=1232,Ce(r,812,a),Ae(r)):ce(i,0,0,1,0),de[n>>2]=0,de[e+8>>2]=0,de[e+12>>2]=0,le[(a=e+16|0)>>0]=0,_e=t}function ae(e,r){r|=0;var t,n,i,a,o=0,u=0,f=0;return _e=(a=_e)+560|0,f=a+32|0,i=a+16|0,n=(o=a)+48|0,t=a+44|0,2147418112<(u=0|(u=(e|=0)+3&-4)?u:4)>>>0?(de[o>>2]=866,de[o+4>>2]=2506,de[o+8>>2]=1103,Ce(n,812,o),Ae(n),_e=a,(f=0)|f):(e=0|ce(0,de[t>>2]=u,t,1,0),o=0|de[t>>2],0|r&&(de[r>>2]=o),0==(0|e)|o>>>0<u>>>0?(de[i>>2]=866,de[i+4>>2]=2506,de[i+8>>2]=1129,Ce(n,812,i),Ae(n),e=0):7&e&&(de[f>>2]=866,de[f+4>>2]=2533,de[f+8>>2]=1156,Ce(n,812,f),Ae(n)),_e=a,0|(f=e))}function oe(e,r,t){r|=0;var n,i=0,a=0,o=0;if(n=(e|=0)+(t|=0)|0,r&=255,67<=(0|t)){for(;3&e;)le[e>>0]=r,e=e+1|0;for(a=(i=-4&n|0)-64|0,o=r|r<<8|r<<16|r<<24;(0|e)<=(0|a);)de[e>>2]=o,de[e+4>>2]=o,de[e+8>>2]=o,de[e+12>>2]=o,de[e+16>>2]=o,de[e+20>>2]=o,de[e+24>>2]=o,de[e+28>>2]=o,de[e+32>>2]=o,de[e+36>>2]=o,de[e+40>>2]=o,de[e+44>>2]=o,de[e+48>>2]=o,de[e+52>>2]=o,de[e+56>>2]=o,de[e+60>>2]=o,e=e+64|0;for(;(0|e)<(0|i);)de[e>>2]=o,e=e+4|0}for(;(0|e)<(0|n);)le[e>>0]=r,e=e+1|0;return n-t|0}function ue(e,r,t,n,i){e|=0,t|=0,n|=0,i|=0;var a=0,o=0,u=0,f=0;le[(r|=0)+53>>0]=1;do{if((0|de[r+4>>2])==(0|n)){if(le[r+52>>0]=1,u=r+54|0,f=r+48|0,o=r+24|0,e=r+36|0,!(a=0|de[(n=r+16|0)>>2])){if(de[n>>2]=t,de[o>>2]=i,!((de[e>>2]=1)==(0|de[f>>2])&1==(0|i)))break;le[u>>0]=1;break}if((0|a)!=(0|t)){de[e>>2]=1+(0|de[e>>2]),le[u>>0]=1;break}2==(0|(e=0|de[o>>2]))&&(e=de[o>>2]=i),1==(0|de[f>>2])&1==(0|e)&&(le[u>>0]=1)}}while(0)}function fe(e,r){e|=0;var t,n,i,a=0,o=0,u=0,f=0;_e=(i=_e)+16|0,n=255&(r|=0),le[(t=i)>>0]=n,(u=0|de[(o=e+16|0)>>2])?f=4:0|pe(e)?a=-1:(u=0|de[o>>2],f=4);do{if(4==(0|f)){if((o=0|de[(f=e+20|0)>>2])>>>0<u>>>0&&(0|(a=255&r))!=(0|le[e+75>>0])){de[f>>2]=o+1,le[o>>0]=n;break}a=1==(0|ar[7&de[e+36>>2]](e,t,1))?0|he[t>>0]:-1}}while(0);return _e=i,0|a}function ce(e,r,t,n,i){e|=0,r|=0,t|=0,n|=0,i|=0;do{if(e){if(!r){if(F(e),!t){r=0;break}r=de[t>>2]=0;break}n?e=0==(0|(r=0|Te(e,r)))?e:r:r=0,t&&(i=0|Pe(e),de[t>>2]=i)}else r=0|I(r),t&&(e=r?0|Pe(r):0,de[t>>2]=e)}while(0);return 0|r}function se(e,r){e|=0,r|=0;var t,n,i,a,o=0,u=0;for(u=0;;){if((0|he[2140+u>>0])==(0|e)){e=2;break}if(87==(0|(o=u+1|0))){o=2228,u=87,e=5;break}u=o}if(2==(0|e)&&(u?(o=2228,e=5):o=2228),5==(0|e))for(;;){for(;o=(e=o)+1|0,0!=(0|le[e>>0]););if(!(u=u+-1|0))break;e=5}return 0|(t=o,n=0|de[r+20>>2],0|(i=t|=0,a=n|=0,i|=0,0|(0|(a=(a|=0)?0|function(e,r,t){r|=0,t|=0;var n,i=0,a=0,o=0,u=0,f=0,c=0,s=0,l=0,d=0;n=1794895138+(0|de[(e|=0)>>2])|0,o=0|Ge(0|de[e+8>>2],n),i=0|Ge(0|de[e+12>>2],n),a=0|Ge(0|de[e+16>>2],n);e:do{if(o>>>0<r>>>2>>>0&&i>>>0<(d=r-(o<<2)|0)>>>0&a>>>0<d>>>0&&0==(3&(a|i)|0)){for(d=i>>>2,l=a>>>2,s=0;;){if(i=0|Ge(0|de[e+((a=(u=(c=s+(f=o>>>1)|0)<<1)+d|0)<<2)>>2],n),!((a=0|Ge(0|de[e+(a+1<<2)>>2],n))>>>0<r>>>0&i>>>0<(r-a|0)>>>0)){i=0;break e}if(0|le[e+(a+i)>>0]){i=0;break e}if(!(i=0|Se(t,e+a|0)))break;if(i=(0|i)<0,1==(0|o)){i=0;break e}s=i?s:c,o=i?f:o-f|0}a=0|Ge(0|de[e+((i=u+l|0)<<2)>>2],n),i=(i=0|Ge(0|de[e+(i+1<<2)>>2],n))>>>0<r>>>0&a>>>0<(r-i|0)>>>0&&0==(0|le[e+(i+a)>>0])?e+i|0:0}else i=0}while(0);return 0|i}(0|de[a>>2],0|de[a+4>>2],i):0)?a:i)))}function Ee(e,r,t){t|=0;var n=0;if(0<(r|=0)>>>0|0==(0|r)&4294967295<(e|=0)>>>0){for(;n=0|Ne(0|e,0|r,10,0),le[(t=t+-1|0)>>0]=255&n|48,e=0|Ke(0|(n=e),0|r,10,0),9<r>>>0|9==(0|r)&4294967295<n>>>0;)r=k;r=e}else r=e;if(r)for(;le[(t=t+-1|0)>>0]=48|(r>>>0)%10,!(r>>>0<10);)r=(r>>>0)/10|0;return 0|t}function Te(e,r){r|=0;var t=0,n=0;return(e|=0)?4294967231<r>>>0?(r=0|er(),de[r>>2]=12,(r=0)|r):0|(t=0|function(e,r){r|=0;var t,n,i=0,a=0,o=0,u=0,f=0,c=0,s=0,l=0;if(t=(e|=0)+(i=-8&(s=0|de[(l=e+4|0)>>2]))|0,!(3&s))return r>>>0<256?(e=0)|e:(r+4|0)>>>0<=i>>>0&&(i-r|0)>>>0<=de[1264]<<1>>>0?0|e:(e=0)|e;if(r>>>0<=i>>>0)return(i=i-r|0)>>>0<=15||(c=e+r|0,de[l>>2]=1&s|r|2,de[c+4>>2]=3|i,de[(l=c+i+4|0)>>2]=1|de[l>>2],U(c,i)),0|e;if((0|t)==(0|de[1150]))return i=(c=(0|de[1147])+i|0)-r|0,a=e+r|0,c>>>0<=r>>>0?(e=0)|e:(de[l>>2]=1&s|r|2,de[a+4>>2]=1|i,de[1150]=a,de[1147]=i,0|e);if((0|t)==(0|de[1149]))return(o=(0|de[1146])+i|0)>>>0<r>>>0?(e=0)|e:(a=1&s,15<(i=o-r|0)>>>0?(c=(s=e+r|0)+i|0,de[l>>2]=a|r|2,de[s+4>>2]=1|i,de[c>>2]=i,de[(a=c+4|0)>>2]=-2&de[a>>2],a=s):(de[l>>2]=a|o|2,de[(a=e+o+4|0)>>2]=1|de[a>>2],i=a=0),de[1146]=i,de[1149]=a,0|e);if(2&(a=0|de[t+4>>2])|0)return(e=0)|e;if((n=(-8&a)+i|0)>>>0<r>>>0)return(e=0)|e;c=n-r|0,o=a>>>3;do{if(a>>>0<256){if(a=0|de[t+8>>2],(0|(i=0|de[t+12>>2]))==(0|a)){de[1144]=de[1144]&~(1<<o);break}de[a+12>>2]=i,de[i+8>>2]=a;break}f=0|de[t+24>>2],i=0|de[t+12>>2];do{if((0|i)==(0|t)){if(i=0|de[(a=4+(o=t+16|0)|0)>>2])u=a;else{if(!(i=0|de[o>>2])){o=0;break}u=o}for(;;)if(0|(a=0|de[(o=i+20|0)>>2]))i=a,u=o;else{if(!(o=0|de[(a=i+16|0)>>2]))break;i=o,u=a}de[u>>2]=0,o=i}else o=0|de[t+8>>2],de[o+12>>2]=i,de[i+8>>2]=o,o=i}while(0);if(0|f){if(i=0|de[t+28>>2],(0|t)==(0|de[(a=4880+(i<<2)|0)>>2])){if(!(de[a>>2]=o)){de[1145]=de[1145]&~(1<<i);break}}else if(!(de[f+16+(((0|de[f+16>>2])!=(0|t)&1)<<2)>>2]=o))break;de[o+24>>2]=f,0|(a=0|de[(i=t+16|0)>>2])&&(de[o+16>>2]=a,de[a+24>>2]=o),0|(i=0|de[i+4>>2])&&(de[o+20>>2]=i,de[i+24>>2]=o)}}while(0);return i=1&s,c>>>0<16?(de[l>>2]=n|i|2,de[(l=e+n+4|0)>>2]=1|de[l>>2]):(s=e+r|0,de[l>>2]=i|r|2,de[s+4>>2]=3|c,de[(l=s+c+4|0)>>2]=1|de[l>>2],U(s,c)),0|e}(e+-8|0,r>>>0<11?16:r+11&-8))?0|(r=t+8|0):(t=0|I(r))?(K(0|t,0|e,0|((n=(-8&(n=0|de[e+-4>>2]))-(0==(3&n|0)?8:4)|0)>>>0<r>>>0?n:r)),F(e),0|(r=t)):(r=0)|r:0|(r=0|I(r))}function me(e,r,t,n){e|=0,t|=0,n|=0;var i,a,o;i=0|de[(e=(r|=0)+16|0)>>2],a=r+36|0,o=r+24|0;do{if(i){if((0|i)!=(0|t)){de[a>>2]=1+(0|de[a>>2]),de[o>>2]=2,le[r+54>>0]=1;break}2==(0|de[o>>2])&&(de[o>>2]=n)}else de[e>>2]=t,de[o>>2]=n,de[a>>2]=1}while(0)}function Ae(e){e|=0;var r,t=0,n=0;r=0|de[119],de[r+76>>2];do{if((0|Ye(e,r))<0)e=1;else{if(10!=(0|le[r+75>>0])&&(n=0|de[(t=r+20|0)>>2])>>>0<(0|de[r+16>>2])>>>0){de[t>>2]=n+1,le[n>>0]=10,e=0;break}e=(0|fe(r,10))<0}}while(0);return e<<31>>31|0}function be(e,r,t,n,i){e|=0,r|=0;var a,o;if(_e=(o=_e)+256|0,a=o,(0|(n|=0))<(0|(t|=0))&0==(73728&(i|=0)|0)){if(oe(0|a,0|r,0|((i=t-n|0)>>>0<256?i:256)),255<i>>>0){for(r=t-n|0;$e(e,a,256),255<(i=i+-256|0)>>>0;);i=255&r}$e(e,a,i)}_e=o}function pe(e){var r=0,t=0;return t=0|le[(r=(e|=0)+74|0)>>0],le[r>>0]=t+255|t,0|(e=8&(r=0|de[e>>2])?(de[e>>2]=32|r,-1):(de[e+8>>2]=0,t=(de[e+4>>2]=0)|de[e+44>>2],de[e+28>>2]=t,de[e+20>>2]=t,de[e+16>>2]=t+(0|de[e+48>>2]),0))}function Se(e,r){r|=0;var t=0,n=0;if(t=0|le[(e|=0)>>0],n=0|le[r>>0],t<<24>>24==0||t<<24>>24!=n<<24>>24)e=n;else{for(;r=r+1|0,t=0|le[(e=e+1|0)>>0],n=0|le[r>>0],t<<24>>24!=0&&t<<24>>24==n<<24>>24;);e=n}return(255&t)-(255&e)|0}function Oe(e){var r,t;return 0<(0|(t=(e|=0)+15&-16|0))&(0|(e=(r=0|de[d>>2])+t|0))<(0|r)|(0|e)<0?(m(),O(12),-1):(0|(de[d>>2]=e))>(0|T())&&0==(0|E())?(de[d>>2]=r,O(12),-1):0|r}function ge(e){var r=0,t=0,n=0;if(t=0|de[(e|=0)>>2],(n=(0|le[t>>0])-48|0)>>>0<10)for(r=0;r=n+(10*r|0)|0,t=t+1|0,de[e>>2]=t,(n=(0|le[t>>0])-48|0)>>>0<10;);else r=0;return 0|r}function ye(e,r,t,n){if(t|=0,n|=0,!(0==(0|(e|=0))&0==(0|(r|=0))))for(;le[(t=t+-1|0)>>0]=0|he[2122+(15&e)>>0]|n,!(0==(0|(e=0|Le(0|e,0|r,4)))&0==(0|(r=k))););return 0|t}function Re(e){var r=0;return(0|(r=0|le[v+(255&(e|=0))>>0]))<8?0|r:(0|(r=0|le[v+(e>>8&255)>>0]))<8?r+8|0:(0|(r=0|le[v+(e>>16&255)>>0]))<8?r+16|0:24+(0|le[v+(e>>>24)>>0])|0}function we(e,r,t,n){t|=0,n|=0;var i=0;(0|de[(r|=0)+4>>2])==(0|t)&&1!=(0|de[(i=r+28|0)>>2])&&(de[i>>2]=n)}function ke(e,r,t){if(t|=0,!(0==(0|(e|=0))&0==(0|(r|=0))))for(;le[(t=t+-1|0)>>0]=7&e|48,!(0==(0|(e=0|Le(0|e,0|r,3)))&0==(0|(r=k))););return 0|t}function Ne(e,r,t,n){var i,a;return _e=(a=_e)+16|0,H(e|=0,r|=0,t|=0,n|=0,i=0|a),_e=a,0|(k=0|de[i+4>>2],0|de[i>>2])}function Pe(e){var r=0;return(e|=0)?0|(1==(0|(e=3&(r=0|de[e+-4>>2])))?0:(-8&r)-(0==(0|e)?8:4)|0):0}function Ce(e,r,t){e|=0,r|=0,t|=0;var n,i,a,o,u;return _e=(n=_e)+16|0,de[(i=n)>>2]=t,t=0|(a=e,o=r,u=i,0|function(e,r,t,n){e|=0,r|=0,t|=0,n|=0;var i,a,o=0,u=0,f=0,c=0,s=0;for(_e=(a=_e)+128|0,o=a+124|0,f=604,i=(u=s=a)+124|0;de[u>>2]=de[f>>2],f=f+4|0,(0|(u=u+4|0))<(0|i););return 2147483646<(r+-1|0)>>>0?r?(r=0|er(),de[r>>2]=75,r=-1):(e=o,r=1,c=4):c=4,4==(0|c)&&(c=(c=-2-e|0)>>>0<r>>>0?c:r,de[s+48>>2]=c,de[(o=s+20|0)>>2]=e,r=(de[s+44>>2]=e)+c|0,de[(e=s+16|0)>>2]=r,de[s+28>>2]=r,r=0|j(s,t,n),c&&(s=0|de[o>>2],le[s+(((0|s)==(0|de[e>>2]))<<31>>31)>>0]=0)),_e=a,0|r}(a|=0,2147483647,o|=0,u|=0)),_e=n,0|t}function Ie(e,r,t){return e|=0,r|=0,(0|(t|=0))<32?(k=r<<t|(e&(1<<t)-1<<32-t)>>>32-t,e<<t):(k=e<<t-32,0)}function Le(e,r,t){return e|=0,r|=0,(0|(t|=0))<32?(k=r>>>t,e>>>t|(r&(1<<t)-1)<<32-t):r>>>t-32|(k=0)}function De(e,r){e|=0,r|=0;var t;_e=(t=_e)+16|0,de[t>>2]=r,j(r=0|de[26],e,t),function(e,r){var t,n=0,i=0,a=0,o=0;n=t=255&(e|=0),de[76+(r|=0)>>2],o=3;do{if(3==(0|o)){if((0|n)!=(0|le[r+75>>0])&&(a=0|de[(i=r+20|0)>>2])>>>0<(0|de[r+16>>2])>>>0){de[i>>2]=a+1,le[a>>0]=t;break}n=0|fe(r,e)}}while(0)}(10,r),g()}function xe(e,r,t,n){return 0|(k=n=(r|=0)-(n|=0)-((e|=0)>>>0<(t|=0)>>>0|0)>>>0,e-t>>>0|0)}function Fe(e){e=+e;var r;return w[h>>3]=e,r=0|de[h>>2],k=0|de[h+4>>2],0|r}function Ue(e,r,t,n){return 0|(k=(r|=0)+(n|=0)+((t=(e|=0)+(t|=0)>>>0)>>>0<e>>>0|0)>>>0,0|t)}function He(e){var r=0;return 4294963200<(e|=0)>>>0&&(r=0|er(),de[r>>2]=0-e,e=-1),0|e}function Ye(e,r){r|=0;var t,n,i,a,o,u;return t=0|function(e){var r,t=0,n=0;r=e|=0;e:do{if(3&r)for(t=r;;){if(!(0|le[e>>0])){e=t;break e}if(!(3&(t=e=e+1|0))){n=4;break}}else n=4}while(0);if(4==(0|n)){for(;!((-2139062144&(t=0|de[e>>2])^-2139062144)&t+-16843009);)e=e+4|0;if((255&t)<<24>>24)for(;0!=(0|le[(e=e+1|0)>>0]););}return e-r|0}(e|=0),((0|(n=e,i=1,a=t,o=r,n|=0,o|=0,u=0|ie(a|=0,i|=0),a=0==(0|i)?0:a,(0|(de[o+76>>2],n=0|te(n,u,o)))!=(0|u)&&(a=(n>>>0)/(i>>>0)|0),0|a))!=(0|t))<<31>>31|0}function $e(e,r,t){r|=0,t|=0,32&de[(e|=0)>>2]||te(r,t,e)}function Be(e){e|=0;var r;return r=188+(0|rr())|0,0|se(e,0|de[r>>2])}function Xe(e,r){return r|=0,0|(e=(e|=0)?0|function(e,r,t){e|=0,r|=0,t|=0;do{if(e){if(r>>>0<128){le[e>>0]=r,e=1;break}if(t=188+(0|rr())|0,!(0|de[de[t>>2]>>2])){if(57216==(-128&r|0)){le[e>>0]=r,e=1;break}e=0|er(),de[e>>2]=84,e=-1;break}if(r>>>0<2048){le[e>>0]=r>>>6|192,le[e+1>>0]=63&r|128,e=2;break}if(r>>>0<55296|57344==(-8192&r|0)){le[e>>0]=r>>>12|224,le[e+1>>0]=r>>>6&63|128,le[e+2>>0]=63&r|128,e=3;break}if((r+-65536|0)>>>0<1048576){le[e>>0]=r>>>18|240,le[e+1>>0]=r>>>12&63|128,le[e+2>>0]=r>>>6&63|128,le[e+3>>0]=63&r|128,e=4;break}e=0|er(),de[e>>2]=84,e=-1;break}e=1}while(0);return 0|e}(e,r,0):0)}function Ve(e,r,t){return(0|(e|=0))==(0|(r|=0))|0}function Ge(e,r){r|=0;var t;return t=0|qe(0|(e|=0)),0|(0==(0|r)?e:t)}function Ke(e,r,t,n){return 0|H(e|=0,r|=0,t|=0,n|=0,0)}function qe(e){return(255&(e|=0))<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function je(e,r,t,n,i,a){M(6)}function ze(e,r,t,n,i){M(1)}function We(e){var r;r=e|=0,F(r|=0)}function Je(e,r,t,n){M(7)}function Ze(e,r,t){return M(0),0}function Qe(e,r){return+ +function e(r,t){r=+r,t|=0;var n,i,a=0;switch(w[h>>3]=r,2047&(i=0|Le(0|(a=0|de[h>>2]),0|(n=0|de[h+4>>2]),52))){case 0:a=0!=r?(r=+e(0x10000000000000000*r,t),(0|de[t>>2])-64|0):0,de[t>>2]=a;break;case 2047:break;default:de[t>>2]=(2047&i)-1022,de[h>>2]=a,de[h+4>>2]=-2146435073&n|1071644672,r=+w[h>>3]}return+r}(e=+e,r|=0)}function er(){return 64+(0|rr())|0}function rr(){return 232}function tr(e){}function nr(e){M(2)}function ir(){M(5)}var ar=[Ze,q,function(e,r,t){var n,i,a;return e|=0,r|=0,t|=0,_e=(i=_e)+32|0,n=(a=i)+20|0,de[a>>2]=de[e+60>>2],de[a+4>>2]=0,de[a+8>>2]=r,de[a+12>>2]=n,de[a+16>>2]=t,e=(0|He(0|P(140,0|a)))<0?de[n>>2]=-1:0|de[n>>2],_e=i,0|e},function(e,r,t){r|=0,t|=0;var n,i=0;return _e=(n=_e)+32|0,i=n,de[36+(e|=0)>>2]=1,0==(64&de[e>>2]|0)&&(de[i>>2]=de[e+60>>2],de[i+4>>2]=21523,de[i+8>>2]=n+16,0|b(54,0|i))&&(le[e+75>>0]=-1),i=0|q(e,r,t),_e=n,0|i},function(e,r,t){var n,i;return r|=0,t|=0,K(0|(i=0|de[(n=20+(e|=0)|0)>>2]),0|r,0|(e=t>>>0<(e=(0|de[e+16>>2])-i|0)>>>0?t:e)),de[n>>2]=(0|de[n>>2])+e,0|t},function(e,r,t){t|=0;var n,i,a=0,o=0;if(_e=(i=_e)+64|0,n=i,0|Ve(e|=0,r|=0))r=1;else if(0!=(0|r)&&0!=(0|(o=0|z(r,32,16,0)))){for(a=52+(r=n+4|0)|0;(0|(r=r+4|(de[r>>2]=0)))<(0|a););de[n>>2]=o,de[n+8>>2]=e,de[n+12>>2]=-1,de[n+48>>2]=1,dr[3&de[28+(0|de[o>>2])>>2]](o,n,0|de[t>>2],1),r=1==(0|de[n+24>>2])?(de[t>>2]=de[n+16>>2],1):0}else r=0;return _e=i,0|r},Ze,Ze],or=[ze,function(e,r,t,n,i){e|=0,r|=0,t|=0,n|=0;var a=0;do{if(0|Ve(e,0|de[r+8>>2]))we(0,r,t,n);else if(0|Ve(e,0|de[r>>2])){if(e=r+32|0,(0|de[r+16>>2])!=(0|t)&&(0|de[(a=r+20|0)>>2])!=(0|t)){de[e>>2]=n,de[a>>2]=t,de[(n=r+40|0)>>2]=1+(0|de[n>>2]),1==(0|de[r+36>>2])&&2==(0|de[r+24>>2])&&(le[r+54>>0]=1),de[r+44>>2]=4;break}1==(0|n)&&(de[e>>2]=1)}}while(0)},function(e,r,t,n,i){e|=0,r|=0,t|=0,n|=0,i|=0;var a=0,o=0,u=0,f=0;do{if(0|Ve(e,0|de[r+8>>2]))we(0,r,t,n);else{if(a=e+8|0,!(0|Ve(e,0|de[r>>2]))){u=0|de[a>>2],or[3&de[24+(0|de[u>>2])>>2]](u,r,t,n,i);break}if(e=r+32|0,(0|de[r+16>>2])!=(0|t)&&(0|de[(o=r+20|0)>>2])!=(0|t)){if(de[e>>2]=n,4==(0|de[(n=r+44|0)>>2]))break;le[(e=r+52|0)>>0]=0,a=(le[(f=r+53|0)>>0]=0)|de[a>>2],lr[3&de[20+(0|de[a>>2])>>2]](a,r,t,t,1,i),0|le[f>>0]?0|le[e>>0]?e=3:(e=3,u=11):(e=4,u=11),11==(0|u)&&(de[o>>2]=t,de[(f=r+40|0)>>2]=1+(0|de[f>>2]),1==(0|de[r+36>>2])&&2==(0|de[r+24>>2])&&(le[r+54>>0]=1)),de[n>>2]=e;break}1==(0|n)&&(de[e>>2]=1)}}while(0)},ze],ur=[nr,tr,We,tr,tr,We,function(e){var r;_e=(r=_e)+16|0,F(e|=0),0|p(0|de[1285],0)?De(4406,r):_e=r},nr],fr=[function(e){return M(3),0},function(e){var r,t,n;return _e=(r=_e)+16|0,t=r,e=0|(n=0|de[60+(e|=0)>>2],0|(n|=0)),de[t>>2]=e,e=0|He(0|S(6,0|t)),_e=r,0|e}],cr=[function(e,r,t){M(4)}],sr=[ir,function(){var e,r,t,n=0,i=0,a=0,o=0,u=0;_e=(o=_e)+48|0,t=o+32|0,e=o+24|0,u=o+16|0,o=(r=o)+36|0,0|(n=0|(f=0,c=0,_e=(f=_e)+16|0,0|y(5136,2)?(De(4307,f),0):(c=0|A(0|de[1285]),_e=f,0|c)))&&0|(a=0|de[n>>2])&&(1126902528==(-256&(i=0|de[(n=a+48|0)>>2])|0)&1129074247==(0|(n=0|de[n+4>>2]))||(de[e>>2]=4168,De(4118,e)),n=1126902529==(0|i)&1129074247==(0|n)?0|de[a+44>>2]:a+80|0,de[o>>2]=n,a=0|de[a>>2],n=0|de[a+4>>2],0|ar[7&de[16+(0|de[2])>>2]](8,a,o)?(u=0|de[o>>2],u=0|fr[1&de[8+(0|de[u>>2])>>2]](u),de[r>>2]=4168,de[r+4>>2]=n,de[r+8>>2]=u,De(4032,r)):(de[u>>2]=4168,de[u+4>>2]=n,De(4077,u))),De(4156,t);var f,c},function(){var e;_e=(e=_e)+16|0,0|N(5140,6)?De(4356,e):_e=e},ir],lr=[je,function(e,r,t,n,i,a){t|=0,n|=0,i|=0,0|Ve(e|=0,0|de[8+(r|=0)>>2])&&ue(0,r,t,n,i)},function(e,r,t,n,i,a){t|=0,n|=0,i|=0,a|=0,0|Ve(e|=0,0|de[8+(r|=0)>>2])?ue(0,r,t,n,i):(e=0|de[e+8>>2],lr[3&de[20+(0|de[e>>2])>>2]](e,r,t,n,i,a))},je],dr=[Je,function(e,r,t,n){t|=0,n|=0,0|Ve(e|=0,0|de[8+(r|=0)>>2])&&me(0,r,t,n)},function(e,r,t,n){t|=0,n|=0,0|Ve(e|=0,0|de[8+(r|=0)>>2])?me(0,r,t,n):(e=0|de[e+8>>2],dr[3&de[28+(0|de[e>>2])>>2]](e,r,t,n))},Je];return{stackSave:function(){return 0|_e},_i64Subtract:xe,_crn_get_bytes_per_block:function(e,r){e|=0,r|=0;var t,n,i,a=0;switch(_e=(i=_e)+576|0,n=i+40|0,t=i+56|0,de[(a=i)>>2]=40,Z(e,r,a),e=0|de[4+(r=a+32|0)>>2],0|de[r>>2]){case 0:if(!e)return _e=i,0|(a=8);e=14;break;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:e=e?14:13;break;case 9:case 10:if(!e)return _e=i,0|(a=8);e=14;break;default:e=14}return 13==(0|e)?(_e=i,0|(a=16)):14==(0|e)?(de[n>>2]=866,de[n+4>>2]=2672,de[n+8>>2]=1251,Ce(t,812,n),Ae(t),_e=i,(a=0)|a):0},setThrew:function(e,r){},dynCall_viii:function(e,r,t,n){r|=0,t|=0,n|=0,cr[0&(e|=0)](0|r,0|t,0|n)},_bitshift64Lshr:Le,_bitshift64Shl:Ie,dynCall_viiii:function(e,r,t,n,i){r|=0,t|=0,n|=0,i|=0,dr[3&(e|=0)](0|r,0|t,0|n,0|i)},setTempRet0:function(e){k=e|=0},_crn_decompress:function(e,r,t,n,i,a){e|=0,r|=0,t|=0,n|=0,i|=0,a|=0;var o,u,f,c,s=0,l=0,d=0,h=0,v=0;switch(_e=(c=_e)+592|0,f=c+56|0,d=c+40|0,o=c+72|0,u=(v=c)+68|0,de[v>>2]=40,Z(e,r,v),s=(0|de[v+4>>2])>>>i,l=(0|de[v+8>>2])>>>i,n=0|de[4+(v=v+32|0)>>2],0|de[v>>2]){case 0:n?h=14:v=8;break;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:h=n?14:13;break;case 9:case 10:n?h=14:v=8;break;default:h=14}13==(0|h)?v=16:14==(0|h)&&(de[d>>2]=866,de[d+4>>2]=2672,de[d+8>>2]=1251,Ce(o,812,d),Ae(o),v=0),de[u>>2]=t,h=0|function(e,r){var t=0,n=0,i=0,a=0,o=0,u=0,f=0,c=0,s=0,l=0,d=0,h=0;if(_e=(d=_e)+528|0,u=(s=d)+16|0,0==(0|(e|=0))|(r|=0)>>>0<62)return _e=d,(h=0)|h;if(!(f=0|ae(300,0)))return _e=d,(h=0)|h;for(de[f>>2]=519686845,de[f+4>>2]=0,de[f+8>>2]=0,c=f+88|0,t=f+136|0,n=f+160|0,i=f+184|0,a=f+208|0,o=f+232|0,de[(l=f+252|0)>>2]=0,de[l+4>>2]=0,de[l+8>>2]=0,le[l+12>>0]=0,de[(l=f+268|0)>>2]=0,de[l+4>>2]=0,de[l+8>>2]=0,le[l+12>>0]=0,de[(l=f+284|0)>>2]=0,de[l+4>>2]=0,de[l+8>>2]=0,le[l+12>>0]=0,h=(l=c)+44|0;((de[l>>2]=0)|(l=l+4|0))<(0|h););return le[c+44>>0]=0,de[t>>2]=0,de[t+4>>2]=0,de[t+8>>2]=0,de[t+12>>2]=0,de[t+16>>2]=0,le[t+20>>0]=0,de[n>>2]=0,de[n+4>>2]=0,de[n+8>>2]=0,de[n+12>>2]=0,de[n+16>>2]=0,le[n+20>>0]=0,de[i>>2]=0,de[i+4>>2]=0,de[i+8>>2]=0,de[i+12>>2]=0,de[i+16>>2]=0,le[i+20>>0]=0,de[a>>2]=0,de[a+4>>2]=0,de[a+8>>2]=0,de[a+12>>2]=0,de[a+16>>2]=0,le[a+20>>0]=0,de[o>>2]=0,de[o+4>>2]=0,de[o+8>>2]=0,de[o+12>>2]=0,(le[o+16>>0]=0)|function(e,r,t){e|=0;var n=0,i=0;if(!(0==(0|(r|=0))|(t|=0)>>>0<74||18552!=((0|he[r>>0])<<8|0|he[r+1>>0]|0))&&74<=((0|he[r+2>>0])<<8|0|he[r+3>>0])>>>0&&((0|he[r+7>>0])<<16|(0|he[r+6>>0])<<24|(0|he[r+8>>0])<<8|0|he[r+9>>0])>>>0<=t>>>0){if(de[(n=e+88|0)>>2]=r,de[e+4>>2]=r,de[e+8>>2]=t,!(0|function(e){var r=0,t=0,n=0,i=0;if(i=92+(e|=0)|0,t=0|de[(n=e+88|0)>>2],r=(0|de[e+4>>2])+((0|he[t+68>>0])<<8|(0|he[t+67>>0])<<16|0|he[t+69>>0])|0,!(t=(0|he[t+65>>0])<<8|0|he[t+66>>0]))return(i=0)|i;if(de[i>>2]=r,de[e+96>>2]=r,de[e+104>>2]=t,de[e+100>>2]=r+t,de[e+108>>2]=0,!((de[e+112>>2]=0)|X(i,e+116|0)))return(i=0)|i;r=0|de[n>>2];do{if((0|he[r+39>>0])<<8|0|he[r+40>>0]){if(!(0|X(i,e+140|0)))return(i=0)|i;if(0|X(i,e+188|0)){r=0|de[n>>2];break}return(i=0)|i}if(!((0|he[r+55>>0])<<8|0|he[r+56>>0]))return(i=0)|i}while(0);if((0|he[r+55>>0])<<8|0|he[r+56>>0]|0){if(!(0|X(i,e+164|0)))return(i=0)|i;if(!(0|X(i,e+212|0)))return(i=0)|i}return 0|(i=1)}(e)))return(i=0)|i;if(r=0|de[n>>2],(0|he[r+39>>0])<<8|0|he[r+40>>0]?0|function(e){var r=0,t=0,n=0,i=0,a=0,o=0,u=0,f=0,c=0,s=0,l=0,d=0,h=0;if(_e=(h=_e)+576|0,i=(o=h)+64|0,d=h+16|0,r=0|de[(n=88+(e|=0)|0)>>2],l=(0|he[r+39>>0])<<8|0|he[r+40>>0],c=e+236|0,(0|(t=0|de[(a=e+240|0)>>2]))!=(0|l)){if(t>>>0<=l>>>0){do{if((0|de[e+244>>2])>>>0<l>>>0){if(0|V(c,l,(t+1|0)==(0|l),4,0)){r=0|de[a>>2];break}return le[e+248>>0]=1,_e=h,(d=0)|d}r=t}while(0);oe((0|de[c>>2])+(r<<2)|0,0,l-r<<2|0),r=0|de[n>>2]}de[a>>2]=l}if(s=e+92|0,t=(0|de[e+4>>2])+((0|he[r+34>>0])<<8|(0|he[r+33>>0])<<16|0|he[r+35>>0])|0,!(r=(0|he[r+37>>0])<<8|(0|he[r+36>>0])<<16|0|he[r+38>>0]))return _e=h,(d=0)|d;if(de[s>>2]=t,de[e+96>>2]=t,de[e+104>>2]=r,de[e+100>>2]=t+r,de[e+108>>2]=0,de[e+112>>2]=0,u=d+20|0,de[d>>2]=0,de[d+4>>2]=0,de[d+8>>2]=0,de[d+12>>2]=0,le[d+16>>0]=0,f=d+24|0,de[d+44>>2]=0,de[u>>2]=0,de[u+4>>2]=0,de[u+8>>2]=0,de[u+12>>2]=0,de[u+16>>2]=0,(le[u+20>>0]=0)|X(s,d)&&0|X(s,f))if(0|de[a>>2]||(de[o>>2]=866,de[o+4>>2]=910,de[o+8>>2]=1497,Ce(i,812,o),Ae(i)),l)for(t=(u=o=0)|de[c>>2],a=i=r=e=n=0;;){if(o=(0|Me(s,d))+o&31,a=(0|Me(s,f))+a&63,i=(0|Me(s,d))+i&31,r=(0|Me(s,d))+r|0,e=(0|Me(s,f))+e&63,n=(0|Me(s,d))+n&31,de[t>>2]=a<<5|o<<11|i|r<<27|e<<21|n<<16,l>>>0<=(u=u+1|0)>>>0){r=1;break}t=t+4|0,r&=31}else r=1;else r=0;return ne(d+24|0),ne(d),_e=h,0|(d=r)}(e)&&0|function(e){var r,t,n,i,a,o,u=0,f=0,c=0,s=0,l=0,d=0,h=0,v=0,_=0,M=0,E=0,T=0,m=0,A=0,b=0,p=0,S=0,O=0,g=0,y=0,R=0,w=0,k=0,N=0,P=0,C=0,I=0,L=0,D=0,x=0,F=0,U=0,H=0;if(_e=(o=_e)+1008|0,l=(d=o)+496|0,g=o+472|0,n=o+276|0,i=o+80|0,a=o+16|0,f=0|de[88+(e|=0)>>2],r=(0|he[f+47>>0])<<8|0|he[f+48>>0],t=e+92|0,u=(0|de[e+4>>2])+((0|he[f+42>>0])<<8|(0|he[f+41>>0])<<16|0|he[f+43>>0])|0,!(f=(0|he[f+45>>0])<<8|(0|he[f+44>>0])<<16|0|he[f+46>>0]))return _e=o,(g=0)|g;if(de[t>>2]=u,de[e+96>>2]=u,de[e+104>>2]=f,de[e+100>>2]=u+f,de[e+108>>2]=0,de[e+112>>2]=0,de[g+20>>2]=0,de[g>>2]=0,de[g+4>>2]=0,de[g+8>>2]=0,de[g+12>>2]=0,(le[g+16>>0]=0)|X(t,g)){for(u=0,c=f=-3;de[n+(u<<2)>>2]=c,de[i+(u<<2)>>2]=f,s=2<(0|c),49!=(0|(u=u+1|0));)f=(1&s)+f|0,c=s?-3:c+1|0;for(f=(u=a)+64|0;(0|(u=u+4|(de[u>>2]=0)))<(0|f););c=e+252|0,u=0|de[(f=e+256|0)>>2];e:do{if((0|u)==(0|r))h=13;else{if(u>>>0<=r>>>0){do{if((0|de[e+260>>2])>>>0<r>>>0){if(0|V(c,r,(u+1|0)==(0|r),4,0)){u=0|de[f>>2];break}le[e+264>>0]=1,u=0;break e}}while(0);oe((0|de[c>>2])+(u<<2)|0,0,r-u<<2|0)}de[f>>2]=r,h=13}}while(0);do{if(13==(0|h)){if(!r){de[d>>2]=866,de[d+4>>2]=910,de[d+8>>2]=1497,Ce(l,812,d),Ae(l),u=1;break}for(e=a+4|0,l=a+8|0,d=a+12|0,h=a+16|0,v=a+20|0,_=a+24|0,M=a+28|0,E=a+32|0,T=a+36|0,m=a+40|0,A=a+44|0,b=a+48|0,p=a+52|0,S=a+56|0,O=a+60|0,u=(s=0)|de[c>>2],f=0|de[e>>2],c=0|de[a>>2];U=0|Me(t,g),c=c+(0|de[n+(U<<2)>>2])&3,f=f+(0|de[i+(U<<2)>>2])&3,U=0|Me(t,g),H=(0|de[l>>2])+(0|de[n+(U<<2)>>2])&3,de[l>>2]=H,U=(0|de[d>>2])+(0|de[i+(U<<2)>>2])&3,de[d>>2]=U,x=0|Me(t,g),F=(0|de[h>>2])+(0|de[n+(x<<2)>>2])&3,de[h>>2]=F,x=(0|de[v>>2])+(0|de[i+(x<<2)>>2])&3,de[v>>2]=x,L=0|Me(t,g),D=(0|de[_>>2])+(0|de[n+(L<<2)>>2])&3,de[_>>2]=D,L=(0|de[M>>2])+(0|de[i+(L<<2)>>2])&3,de[M>>2]=L,C=0|Me(t,g),I=(0|de[E>>2])+(0|de[n+(C<<2)>>2])&3,de[E>>2]=I,C=(0|de[T>>2])+(0|de[i+(C<<2)>>2])&3,de[T>>2]=C,N=0|Me(t,g),P=(0|de[m>>2])+(0|de[n+(N<<2)>>2])&3,de[m>>2]=P,N=(0|de[A>>2])+(0|de[i+(N<<2)>>2])&3,de[A>>2]=N,w=0|Me(t,g),k=(0|de[b>>2])+(0|de[n+(w<<2)>>2])&3,de[b>>2]=k,w=(0|de[p>>2])+(0|de[i+(w<<2)>>2])&3,de[p>>2]=w,y=0|Me(t,g),R=(0|de[S>>2])+(0|de[n+(y<<2)>>2])&3,de[S>>2]=R,y=(0|de[O>>2])+(0|de[i+(y<<2)>>2])&3,de[O>>2]=y,de[u>>2]=(0|he[1441+f>>0])<<2|0|he[1441+c>>0]|(0|he[1441+H>>0])<<4|(0|he[1441+U>>0])<<6|(0|he[1441+F>>0])<<8|(0|he[1441+x>>0])<<10|(0|he[1441+D>>0])<<12|(0|he[1441+L>>0])<<14|(0|he[1441+I>>0])<<16|(0|he[1441+C>>0])<<18|(0|he[1441+P>>0])<<20|(0|he[1441+N>>0])<<22|(0|he[1441+k>>0])<<24|(0|he[1441+w>>0])<<26|(0|he[1441+R>>0])<<28|(0|he[1441+y>>0])<<30,!(r>>>0<=(s=s+1|0)>>>0);)u=u+4|0;de[a>>2]=c,de[e>>2]=f,u=1}}while(0)}else u=0;return ne(g),_e=o,0|(H=u)}(e)&&(r=0|de[n>>2],i=11):i=11,11==(0|i)){if(!((0|he[r+55>>0])<<8|0|he[r+56>>0]))return 0|(i=1);if(0|function(e){var r=0,t=0,n=0,i=0,a=0,o=0,u=0,f=0,c=0;if(_e=(c=_e)+560|0,n=(i=c)+40|0,f=c+16|0,t=0|de[88+(e|=0)>>2],o=(0|he[t+55>>0])<<8|0|he[t+56>>0],u=e+92|0,r=(0|de[e+4>>2])+((0|he[t+50>>0])<<8|(0|he[t+49>>0])<<16|0|he[t+51>>0])|0,!(t=(0|he[t+53>>0])<<8|(0|he[t+52>>0])<<16|0|he[t+54>>0]))return _e=c,(f=0)|f;de[u>>2]=r,de[e+96>>2]=r,de[e+104>>2]=t,de[e+100>>2]=r+t,de[e+108>>2]=0,de[e+112>>2]=0,de[f+20>>2]=0,de[f>>2]=0,de[f+4>>2]=0,de[f+8>>2]=0,de[f+12>>2]=0,le[f+16>>0]=0;e:do{if(0|X(u,f)){if(a=e+268|0,(0|(r=0|de[(t=e+272|0)>>2]))!=(0|o)){if(r>>>0<=o>>>0){do{if((0|de[e+276>>2])>>>0<o>>>0){if(0|V(a,o,(r+1|0)==(0|o),2,0)){r=0|de[t>>2];break}le[e+280>>0]=1,r=0;break e}}while(0);oe((0|de[a>>2])+(r<<1)|0,0,o-r<<1|0)}de[t>>2]=o}if(!o){de[i>>2]=866,de[i+4>>2]=910,de[i+8>>2]=1497,Ce(n,812,i),Ae(n),r=1;break}for(r=(n=e=t=0)|de[a>>2];;){if(a=0|Me(u,f),n=a+n&255,e=(0|Me(u,f))+e&255,B[r>>1]=e<<8|n,o>>>0<=(t=t+1|0)>>>0){r=1;break}r=r+2|0}}else r=0}while(0);return ne(f),_e=c,0|(f=r)}(e)&&0|function(e){var r,t,n,i,a,o,u=0,f=0,c=0,s=0,l=0,d=0,h=0,v=0,_=0,M=0,E=0,T=0,m=0,A=0,b=0,p=0,S=0,O=0,g=0,y=0,R=0,w=0,k=0,N=0,P=0,C=0,I=0,L=0,D=0,x=0,F=0,U=0,H=0,Y=0,$=0;if(_e=(o=_e)+2416|0,l=(d=o)+1904|0,H=o+1880|0,n=o+980|0,i=o+80|0,a=o+16|0,f=0|de[88+(e|=0)>>2],r=(0|he[f+63>>0])<<8|0|he[f+64>>0],t=e+92|0,u=(0|de[e+4>>2])+((0|he[f+58>>0])<<8|(0|he[f+57>>0])<<16|0|he[f+59>>0])|0,!(f=(0|he[f+61>>0])<<8|(0|he[f+60>>0])<<16|0|he[f+62>>0]))return _e=o,(H=0)|H;if(de[t>>2]=u,de[e+96>>2]=u,de[e+104>>2]=f,de[e+100>>2]=u+f,de[e+108>>2]=0,de[e+112>>2]=0,de[H+20>>2]=0,de[H>>2]=0,de[H+4>>2]=0,de[H+8>>2]=0,de[H+12>>2]=0,(le[H+16>>0]=0)|X(t,H)){for(u=0,c=f=-7;de[n+(u<<2)>>2]=c,de[i+(u<<2)>>2]=f,s=6<(0|c),225!=(0|(u=u+1|0));)f=(1&s)+f|0,c=s?-7:c+1|0;for(f=(u=a)+64|0;(0|(u=u+4|(de[u>>2]=0)))<(0|f););s=e+284|0,f=3*r|0,u=0|de[(c=e+288|0)>>2];e:do{if((0|u)==(0|f))h=13;else{if(u>>>0<=f>>>0){do{if((0|de[e+292>>2])>>>0<f>>>0){if(0|V(s,f,(u+1|0)==(0|f),2,0)){u=0|de[c>>2];break}le[e+296>>0]=1,u=0;break e}}while(0);oe((0|de[s>>2])+(u<<1)|0,0,f-u<<1|0)}de[c>>2]=f,h=13}}while(0);do{if(13==(0|h)){if(!r){de[d>>2]=866,de[d+4>>2]=910,de[d+8>>2]=1497,Ce(l,812,d),Ae(l),u=1;break}for(O=a+4|0,g=a+8|0,y=a+12|0,R=a+16|0,w=a+20|0,k=a+24|0,N=a+28|0,P=a+32|0,C=a+36|0,I=a+40|0,L=a+44|0,D=a+48|0,x=a+52|0,F=a+56|0,U=a+60|0,u=(S=0)|de[s>>2],f=0|de[a>>2],c=0|de[O>>2],s=0|de[g>>2],e=0|de[y>>2],l=0|de[R>>2],d=0|de[w>>2],h=0|de[k>>2],v=0|de[N>>2],_=0|de[P>>2],M=0|de[C>>2],E=0|de[I>>2],T=0|de[L>>2],p=b=A=m=0;$=0|Me(t,H),f=f+(0|de[n+($<<2)>>2])&7,c=c+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),s=s+(0|de[n+($<<2)>>2])&7,e=e+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),l=l+(0|de[n+($<<2)>>2])&7,d=d+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),h=h+(0|de[n+($<<2)>>2])&7,v=v+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),_=_+(0|de[n+($<<2)>>2])&7,M=M+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),E=E+(0|de[n+($<<2)>>2])&7,T=T+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),m=m+(0|de[n+($<<2)>>2])&7,A=A+(0|de[i+($<<2)>>2])&7,$=0|Me(t,H),b=b+(0|de[n+($<<2)>>2])&7,p=p+(0|de[i+($<<2)>>2])&7,$=0|he[1445+d>>0],B[u>>1]=(0|he[1445+c>>0])<<3|0|he[1445+f>>0]|(0|he[1445+s>>0])<<6|(0|he[1445+e>>0])<<9|(0|he[1445+l>>0])<<12|$<<15,Y=0|he[1445+E>>0],B[u+2>>1]=(0|he[1445+h>>0])<<2|$>>>1|(0|he[1445+v>>0])<<5|(0|he[1445+_>>0])<<8|(0|he[1445+M>>0])<<11|Y<<14,B[u+4>>1]=(0|he[1445+T>>0])<<1|Y>>>2|(0|he[1445+m>>0])<<4|(0|he[1445+A>>0])<<7|(0|he[1445+b>>0])<<10|(0|he[1445+p>>0])<<13,!(r>>>0<=(S=S+1|0)>>>0);)u=u+6|0;de[a>>2]=f,de[O>>2]=c,de[g>>2]=s,de[y>>2]=e,de[R>>2]=l,de[w>>2]=d,de[k>>2]=h,de[N>>2]=v,de[P>>2]=_,de[C>>2]=M,de[I>>2]=E,de[L>>2]=T,de[D>>2]=m,de[x>>2]=A,de[F>>2]=b,de[U>>2]=p,u=1}}while(0)}else u=0;return ne(H),_e=o,0|($=u)}(e))return 0|(i=1)}return(i=0)|i}return de[e+88>>2]=0,(i=0)|i}(f,e,r)?(_e=d,0|(h=f)):(Y(f),7&f?(de[s>>2]=866,de[s+4>>2]=2506,de[s+8>>2]=1232,Ce(u,812,s),Ae(u)):ce(f,0,0,1,0),_e=d,(h=0)|h)}(e,r),r=a+i|0;do{if(i>>>0<r>>>0){if(!h){for(n=t;n=n+(0|ie(0|ie((s+3|0)>>>2,v),(l+3|0)>>>2))|0,(0|(i=i+1|0))!=(0|r);)l>>>=1,s>>>=1;de[u>>2]=n;break}for(e=l,n=t;l=0|ie((s+3|0)>>>2,v),15<i>>>0|(d=0|ie(l,(e+3|0)>>>2))>>>0<8||519686845!=(0|de[h>>2])||(re(h,u,d,l,i),n=0|de[u>>2]),n=n+d|0,de[u>>2]=n,(0|(i=i+1|0))!=(0|r);)e>>>=1,s>>>=1}}while(0);if(h){if(519686845==(0|de[h>>2]))return Y(h),7&h?(de[f>>2]=866,de[f+4>>2]=2506,de[f+8>>2]=1232,Ce(o,812,f),Ae(o)):ce(h,0,0,1,0),void(_e=c);_e=c}else _e=c},_memset:oe,_sbrk:Oe,_memcpy:K,stackAlloc:function(e){var r;return _e=15+(_e=(r=_e)+(e|=0)|0)&-16,0|r},_crn_get_height:function(e,r){var t,n;return e|=0,r|=0,_e=(n=_e)+48|0,de[(t=n)>>2]=40,Z(e,r,t),_e=n,0|de[t+8>>2]},dynCall_vi:function(e,r){r|=0,ur[7&(e|=0)](0|r)},getTempRet0:function(){return 0|k},_crn_get_levels:function(e,r){var t,n;return e|=0,r|=0,_e=(n=_e)+48|0,de[(t=n)>>2]=40,Z(e,r,t),_e=n,0|de[t+12>>2]},_crn_get_uncompressed_size:function(e,r,t){e|=0,r|=0,t|=0;var n,i,a,o,u=0,f=0;switch(_e=(o=_e)+576|0,a=o+40|0,i=o+56|0,de[(f=o)>>2]=40,Z(e,r,f),n=(3+((0|de[f+4>>2])>>>t)|0)>>>2,r=(3+((0|de[f+8>>2])>>>t)|0)>>>2,e=0|de[4+(t=f+32|0)>>2],0|de[t>>2]){case 0:e?u=14:e=8;break;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:u=e?14:13;break;case 9:case 10:e?u=14:e=8;break;default:u=14}return 13==(0|u)?e=16:14==(0|u)&&(de[a>>2]=866,de[a+4>>2]=2672,de[a+8>>2]=1251,Ce(i,812,a),Ae(i),e=0),f=0|ie(0|ie(r,n),e),_e=o,0|f},_i64Add:Ue,dynCall_iiii:function(e,r,t,n){return r|=0,t|=0,n|=0,0|ar[7&(e|=0)](0|r,0|t,0|n)},_emscripten_get_global_libc:function(){return 5072},dynCall_ii:function(e,r){return r|=0,0|fr[1&(e|=0)](0|r)},___udivdi3:Ke,_llvm_bswap_i32:qe,dynCall_viiiii:function(e,r,t,n,i,a){r|=0,t|=0,n|=0,i|=0,a|=0,or[3&(e|=0)](0|r,0|t,0|n,0|i,0|a)},___cxa_can_catch:function(e,r,t){var n,i;return e|=0,r|=0,t|=0,_e=(i=_e)+16|0,de[(n=i)>>2]=de[t>>2],(e=0|ar[7&de[16+(0|de[e>>2])>>2]](e,r,n))&&(de[t>>2]=de[n>>2]),_e=i,1&e|0},_free:F,runPostSets:function(){},dynCall_viiiiii:function(e,r,t,n,i,a,o){r|=0,t|=0,n|=0,i|=0,a|=0,o|=0,lr[3&(e|=0)](0|r,0|t,0|n,0|i,0|a,0|o)},establishStackSpace:function(e,r){_e=e|=0,r|=0},___uremdi3:Ne,___cxa_is_pointer_type:function(e){return 1&(e=(e|=0)?0!=(0|z(e,32,88,0)):0)|0},stackRestore:function(e){_e=e|=0},_malloc:I,_emscripten_replace_memory:function(e){return!(16777215&l(e)||l(e)<=16777215||2147483648<l(e)||(le=new n(e),B=new i(e),de=new a(e),he=new o(e),ve=new u(e),new f(e),new c(e),w=new s(e),t=e,0))},dynCall_v:function(e){sr[3&(e|=0)]()},_crn_get_width:function(e,r){var t,n;return e|=0,r|=0,_e=(n=_e)+48|0,de[(t=n)>>2]=40,Z(e,r,t),_e=n,0|de[t+4>>2]},_crn_get_dxt_format:function(e,r){var t,n;return e|=0,r|=0,_e=(n=_e)+48|0,de[(t=n)>>2]=40,Z(e,r,t),_e=n,0|de[t+32>>2]}}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),stackSave=Module.stackSave=asm.stackSave,getTempRet0=Module.getTempRet0=asm.getTempRet0,_memset=Module._memset=asm._memset,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,setTempRet0=Module.setTempRet0=asm.setTempRet0,_crn_decompress=Module._crn_decompress=asm._crn_decompress,_crn_get_bytes_per_block=Module._crn_get_bytes_per_block=asm._crn_get_bytes_per_block,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,_crn_get_height=Module._crn_get_height=asm._crn_get_height,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_crn_get_levels=Module._crn_get_levels=asm._crn_get_levels,_crn_get_uncompressed_size=Module._crn_get_uncompressed_size=asm._crn_get_uncompressed_size,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,___udivdi3=Module.___udivdi3=asm.___udivdi3,_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,___cxa_can_catch=Module.___cxa_can_catch=asm.___cxa_can_catch,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,___uremdi3=Module.___uremdi3=asm.___uremdi3,___cxa_is_pointer_type=Module.___cxa_is_pointer_type=asm.___cxa_is_pointer_type,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,_emscripten_replace_memory=Module._emscripten_replace_memory=asm._emscripten_replace_memory,_crn_get_width=Module._crn_get_width=asm._crn_get_width,_crn_get_dxt_format=Module._crn_get_dxt_format=asm._crn_get_dxt_format,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function run(e){function r(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,0<runDependencies||(preRun(),0<runDependencies||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),r()},1)):r()))}function exit(e,r){r&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE&&process.exit(e),Module.quit(e,new ExitStatus(e)))}Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus,dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){e=e||[],ensureInitRuntime();var r=e.length+1;function t(){for(var e=0;e<3;e++)n.push(0)}var n=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];t();for(var i=0;i<r-1;i+=1)n.push(allocate(intArrayFromString(e[i]),"i8",ALLOC_NORMAL)),t();n.push(0),n=allocate(n,"i32",ALLOC_NORMAL);try{exit(Module._main(r,n,0),!0)}catch(e){if(e instanceof ExitStatus)return;if("SimulateInfiniteLoop"==e)return void(Module.noExitRuntime=!0);var a=e;e&&"object"==typeof e&&e.stack&&(a=[e,e.stack]),Module.printErr("exception thrown: "+a),Module.quit(1,e)}},Module.run=Module.run=run,Module.exit=Module.exit=exit;var abortDecorators=[];function abort(r){Module.onAbort&&Module.onAbort(r),r=void 0!==r?(Module.print(r),Module.printErr(r),JSON.stringify(r)):"",ABORT=!0;var t="abort("+r+") at "+stackTrace()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw abortDecorators&&abortDecorators.forEach(function(e){t=e(t,r)}),t}if(Module.abort=Module.abort=abort,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);0<Module.preInit.length;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),Module.noExitRuntime=!0,run();var crunch=Module,PixelFormat={RGB_DXT1:33776,RGBA_DXT1:33777,RGBA_DXT3:33778,RGBA_DXT5:33779,RGB_ETC1:36196,RGB_PVRTC_4BPPV1:35840,RGB_PVRTC_2BPPV1:35841,RGBA_PVRTC_4BPPV1:35842,RGBA_PVRTC_2BPPV1:35843,compressedTextureSizeInBytes:function(e,r,t){switch(e){case PixelFormat.RGB_DXT1:case PixelFormat.RGBA_DXT1:case PixelFormat.RGB_ETC1:return Math.floor((r+3)/4)*Math.floor((t+3)/4)*8;case PixelFormat.RGBA_DXT3:case PixelFormat.RGBA_DXT5:return Math.floor((r+3)/4)*Math.floor((t+3)/4)*16;case PixelFormat.RGB_PVRTC_4BPPV1:case PixelFormat.RGBA_PVRTC_4BPPV1:return Math.floor((Math.max(r,8)*Math.max(t,8)*4+7)/8);case PixelFormat.RGB_PVRTC_2BPPV1:case PixelFormat.RGBA_PVRTC_2BPPV1:return Math.floor((Math.max(r,16)*Math.max(t,8)*2+7)/8);default:return 0}}},CRN_FORMAT={cCRNFmtInvalid:-1,cCRNFmtDXT1:0,cCRNFmtDXT3:1,cCRNFmtDXT5:2},DXT_FORMAT_MAP={},dst,dxtData;DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT1]=PixelFormat.RGB_DXT1,DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT3]=PixelFormat.RGBA_DXT3,DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT5]=PixelFormat.RGBA_DXT5;var cachedDstSize=0;function arrayBufferCopy(e,r,t,n){var i,a=t/4,o=n%4,u=new Uint32Array(e.buffer,0,(n-o)/4),f=new Uint32Array(r.buffer);for(i=0;i<u.length;i++)f[a+i]=u[i];for(i=n-o;i<n;i++)r[t+i]=e[i]}function transcodeCRNToDXT(e){var r=e.byteLength,t=new Uint8Array(e),n=crunch._malloc(r);arrayBufferCopy(t,crunch.HEAPU8,n,r);var i=crunch._crn_get_dxt_format(n,r),a=DXT_FORMAT_MAP[i];if(isNil(a))throw new Error("Unsupported compressed format.");var o=crunch._crn_get_levels(n,r),u=crunch._crn_get_width(n,r),f=crunch._crn_get_height(n,r);a!==PixelFormat.RGB_DXT1&&a!==PixelFormat.RGBA_DXT3&&a!==PixelFormat.RGBA_DXT5||(u%4!=0&&(u+=4-u%4),f%4!=0&&(f+=4-f%4));var c,s=0;for(c=0;c<o;++c)s+=PixelFormat.compressedTextureSizeInBytes(a,u>>c,f>>c);cachedDstSize<s&&(isNil(dst)||crunch._free(dst),dst=crunch._malloc(s),dxtData=new Uint8Array(crunch.HEAPU8.buffer,dst,s),cachedDstSize=s),crunch._crn_decompress(n,r,dst,s,0,o),crunch._free(n);var l=PixelFormat.compressedTextureSizeInBytes(a,u,f),d=dxtData.subarray(0,l),h=new Uint8Array(l);return h.set(d,0),{format:a,width:u,height:f,data:h}}var B3DMLoader=function(){function e(e){this.s=e}e.createEmptyB3DM=function(){return{featureTable:null,batchTable:null,gltf:{}}};var r=e.prototype;return r.load=function(t,e){var n=this;return e?this.Y(t,e):h.getArrayBuffer(t,{}).then(function(e){var r=e.data;return n.Y(t,r)})},r.Y=function(e,r){var t=this.$(r,e);if(t.error)return Promise.resolve(t);var n=e.substring(0,e.lastIndexOf("/")),i=new O(n,t.glb,{requestImage:this.s,imageDecoders:{"image/crn":transcodeCRNToDXT}});return i.load().then(function(e){return{transferables:i.transferables,featureTable:t.featureTable,batchTable:t.batchTable,gltf:e}})},r.$=function(e,r){var t,n=new DataView(e),i=n.getUint32(4,!0);if(1!==i){var a="Unsupported b3dm version: "+i+", url:"+r;return console.warn(a),{error:a}}if(n.getUint32(8,!0)!==e.byteLength){var o="Length in b3dm header is inconsistent with b3dm's byte length, url: "+r;return console.warn(o),{error:o}}for(var u=20;u<e.byteLength;){if(1179937895===n.getUint32(u,!0)){t=u;break}u+=4}return{glb:{buffer:e,byteOffset:t}}},r.B=function(){return null},r.X=function(){return null},e}();exports.B3DMLoader=B3DMLoader,exports.Geo3DTilesLayer=Geo3DTilesLayer,exports.Geo3DTilesUtil=Util,exports.Geo3DTransform=Transform,Object.defineProperty(exports,"J",{value:!0})}),"undefined"!=typeof console&&console.log("@maptalks/3dtiles v0.6.5")});
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@maptalks/3dtiles",
3
+ "version": "0.6.5",
4
+ "description": "3d tiles layer for maptalks",
5
+ "main": "dist/maptalks.3dtiles.js",
6
+ "scripts": {
7
+ "lint": "eslint src/**/*.js test/**/*.js",
8
+ "build": "npm run lint && rollup --environment BUILD:production -c build/rollup.config.js",
9
+ "build-dev": "rollup -c build/rollup.config.js",
10
+ "dev": "rollup -w -c build/rollup.config.js",
11
+ "test": "karma start --single-run",
12
+ "tdd": "npm run build-dev && karma start --no-single-run",
13
+ "pretest": "npm run build",
14
+ "prepare": "npm run build",
15
+ "preversion": "npm test"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/maptalks/maptalks.3dtiles.git"
20
+ },
21
+ "keywords": [
22
+ "maptalks",
23
+ "3dtiles",
24
+ "3d",
25
+ "maps"
26
+ ],
27
+ "files": [
28
+ "dist/maptalks.3dtiles.js"
29
+ ],
30
+ "author": "fuzhenn",
31
+ "license": "UNLICENSED",
32
+ "bugs": {
33
+ "url": "https://github.com/fuzhenn/3dtiles-issues/"
34
+ },
35
+ "homepage": "https://github.com/fuzhenn/3dtiles-issues/",
36
+ "dependencies": {
37
+ "@maptalks/gl": "<2.0.0",
38
+ "@maptalks/gltf-loader": "^0.9.1",
39
+ "frustum-intersects": "^0.2.0",
40
+ "gl-matrix": "^2.6.1"
41
+ },
42
+ "devDependencies": {
43
+ "@babel/core": "^7.2.2",
44
+ "@babel/preset-env": "^7.2.3",
45
+ "babel-eslint": "^10.0.1",
46
+ "eslint": "^5.11.1",
47
+ "eslint-config-maptalks": "^0.3.0",
48
+ "eslint-plugin-mocha": "^5.0.0",
49
+ "expect.js": "^0.3.1",
50
+ "karma": "^2.0.2",
51
+ "karma-babel-preprocessor": "^8.0.0-beta.0",
52
+ "karma-chrome-launcher": "^2.2.0",
53
+ "karma-expect": "^1.1.3",
54
+ "karma-mocha": "^1.3.0",
55
+ "karma-mocha-reporter": "^2.2.5",
56
+ "maptalks": "next",
57
+ "mocha": "^5.1.1",
58
+ "rollup": "^1.0.1",
59
+ "rollup-plugin-babel": "^4.2.0",
60
+ "rollup-plugin-commonjs": "^9.2.0",
61
+ "rollup-plugin-node-resolve": "^4.0.0",
62
+ "rollup-plugin-terser": "^4.0.1",
63
+ "rollup-plugin-uglify": "^6.0.0"
64
+ }
65
+ }