/*! For license information please see app.9bc57797b979e8d6cd4d.js.LICENSE.txt */ !function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=230)}([function(e,t,n){"use strict";n.d(t,"d",(function(){return s})),n.d(t,"e",(function(){return c})),n.d(t,"f",(function(){return l})),n.d(t,"b",(function(){return u})),n.d(t,"a",(function(){return p})),n.d(t,"c",(function(){return d}));var i=n(15),r=n(32),o=n(54),a=n(13),s=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=0),this.x=e,this.y=t}return e.prototype.toString=function(){return"{X: "+this.x+" Y:"+this.y+"}"},e.prototype.getClassName=function(){return"Vector2"},e.prototype.getHashCode=function(){var e=0|this.x;return e=397*e^(0|this.y)},e.prototype.toArray=function(e,t){return void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,this},e.prototype.asArray=function(){var e=new Array;return this.toArray(e,0),e},e.prototype.copyFrom=function(e){return this.x=e.x,this.y=e.y,this},e.prototype.copyFromFloats=function(e,t){return this.x=e,this.y=t,this},e.prototype.set=function(e,t){return this.copyFromFloats(e,t)},e.prototype.add=function(t){return new e(this.x+t.x,this.y+t.y)},e.prototype.addToRef=function(e,t){return t.x=this.x+e.x,t.y=this.y+e.y,this},e.prototype.addInPlace=function(e){return this.x+=e.x,this.y+=e.y,this},e.prototype.addVector3=function(t){return new e(this.x+t.x,this.y+t.y)},e.prototype.subtract=function(t){return new e(this.x-t.x,this.y-t.y)},e.prototype.subtractToRef=function(e,t){return t.x=this.x-e.x,t.y=this.y-e.y,this},e.prototype.subtractInPlace=function(e){return this.x-=e.x,this.y-=e.y,this},e.prototype.multiplyInPlace=function(e){return this.x*=e.x,this.y*=e.y,this},e.prototype.multiply=function(t){return new e(this.x*t.x,this.y*t.y)},e.prototype.multiplyToRef=function(e,t){return t.x=this.x*e.x,t.y=this.y*e.y,this},e.prototype.multiplyByFloats=function(t,n){return new e(this.x*t,this.y*n)},e.prototype.divide=function(t){return new e(this.x/t.x,this.y/t.y)},e.prototype.divideToRef=function(e,t){return t.x=this.x/e.x,t.y=this.y/e.y,this},e.prototype.divideInPlace=function(e){return this.divideToRef(e,this)},e.prototype.negate=function(){return new e(-this.x,-this.y)},e.prototype.negateInPlace=function(){return this.x*=-1,this.y*=-1,this},e.prototype.negateToRef=function(e){return e.copyFromFloats(-1*this.x,-1*this.y)},e.prototype.scaleInPlace=function(e){return this.x*=e,this.y*=e,this},e.prototype.scale=function(t){var n=new e(0,0);return this.scaleToRef(t,n),n},e.prototype.scaleToRef=function(e,t){return t.x=this.x*e,t.y=this.y*e,this},e.prototype.scaleAndAddToRef=function(e,t){return t.x+=this.x*e,t.y+=this.y*e,this},e.prototype.equals=function(e){return e&&this.x===e.x&&this.y===e.y},e.prototype.equalsWithEpsilon=function(e,t){return void 0===t&&(t=r.a),e&&i.a.WithinEpsilon(this.x,e.x,t)&&i.a.WithinEpsilon(this.y,e.y,t)},e.prototype.floor=function(){return new e(Math.floor(this.x),Math.floor(this.y))},e.prototype.fract=function(){return new e(this.x-Math.floor(this.x),this.y-Math.floor(this.y))},e.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},e.prototype.lengthSquared=function(){return this.x*this.x+this.y*this.y},e.prototype.normalize=function(){var e=this.length();return 0===e||(this.x/=e,this.y/=e),this},e.prototype.clone=function(){return new e(this.x,this.y)},e.Zero=function(){return new e(0,0)},e.One=function(){return new e(1,1)},e.FromArray=function(t,n){return void 0===n&&(n=0),new e(t[n],t[n+1])},e.FromArrayToRef=function(e,t,n){n.x=e[t],n.y=e[t+1]},e.CatmullRom=function(t,n,i,r,o){var a=o*o,s=o*a;return new e(.5*(2*n.x+(-t.x+i.x)*o+(2*t.x-5*n.x+4*i.x-r.x)*a+(-t.x+3*n.x-3*i.x+r.x)*s),.5*(2*n.y+(-t.y+i.y)*o+(2*t.y-5*n.y+4*i.y-r.y)*a+(-t.y+3*n.y-3*i.y+r.y)*s))},e.Clamp=function(t,n,i){var r=t.x;r=(r=r>i.x?i.x:r)i.y?i.y:o)n.x?t.x:n.x,t.y>n.y?t.y:n.y)},e.Transform=function(t,n){var i=e.Zero();return e.TransformToRef(t,n,i),i},e.TransformToRef=function(e,t,n){var i=t.m,r=e.x*i[0]+e.y*i[4]+i[12],o=e.x*i[1]+e.y*i[5]+i[13];n.x=r,n.y=o},e.PointInTriangle=function(e,t,n,i){var r=.5*(-n.y*i.x+t.y*(-n.x+i.x)+t.x*(n.y-i.y)+n.x*i.y),o=r<0?-1:1,a=(t.y*i.x-t.x*i.y+(i.y-t.y)*e.x+(t.x-i.x)*e.y)*o,s=(t.x*n.y-t.y*n.x+(t.y-n.y)*e.x+(n.x-t.x)*e.y)*o;return a>0&&s>0&&a+s<2*r*o},e.Distance=function(t,n){return Math.sqrt(e.DistanceSquared(t,n))},e.DistanceSquared=function(e,t){var n=e.x-t.x,i=e.y-t.y;return n*n+i*i},e.Center=function(e,t){var n=e.add(t);return n.scaleInPlace(.5),n},e.DistanceOfPointFromSegment=function(t,n,i){var r=e.DistanceSquared(n,i);if(0===r)return e.Distance(t,n);var o=i.subtract(n),a=Math.max(0,Math.min(1,e.Dot(t.subtract(n),o)/r)),s=n.add(o.multiplyByFloats(a,a));return e.Distance(t,s)},e}(),c=function(){function e(e,t,n){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),this.x=e,this.y=t,this.z=n}return e.prototype.toString=function(){return"{X: "+this.x+" Y:"+this.y+" Z:"+this.z+"}"},e.prototype.getClassName=function(){return"Vector3"},e.prototype.getHashCode=function(){var e=0|this.x;return e=397*(e=397*e^(0|this.y))^(0|this.z)},e.prototype.asArray=function(){var e=[];return this.toArray(e,0),e},e.prototype.toArray=function(e,t){return void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,this},e.prototype.toQuaternion=function(){return u.RotationYawPitchRoll(this.y,this.x,this.z)},e.prototype.addInPlace=function(e){return this.addInPlaceFromFloats(e.x,e.y,e.z)},e.prototype.addInPlaceFromFloats=function(e,t,n){return this.x+=e,this.y+=t,this.z+=n,this},e.prototype.add=function(t){return new e(this.x+t.x,this.y+t.y,this.z+t.z)},e.prototype.addToRef=function(e,t){return t.copyFromFloats(this.x+e.x,this.y+e.y,this.z+e.z)},e.prototype.subtractInPlace=function(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this},e.prototype.subtract=function(t){return new e(this.x-t.x,this.y-t.y,this.z-t.z)},e.prototype.subtractToRef=function(e,t){return this.subtractFromFloatsToRef(e.x,e.y,e.z,t)},e.prototype.subtractFromFloats=function(t,n,i){return new e(this.x-t,this.y-n,this.z-i)},e.prototype.subtractFromFloatsToRef=function(e,t,n,i){return i.copyFromFloats(this.x-e,this.y-t,this.z-n)},e.prototype.negate=function(){return new e(-this.x,-this.y,-this.z)},e.prototype.negateInPlace=function(){return this.x*=-1,this.y*=-1,this.z*=-1,this},e.prototype.negateToRef=function(e){return e.copyFromFloats(-1*this.x,-1*this.y,-1*this.z)},e.prototype.scaleInPlace=function(e){return this.x*=e,this.y*=e,this.z*=e,this},e.prototype.scale=function(t){return new e(this.x*t,this.y*t,this.z*t)},e.prototype.scaleToRef=function(e,t){return t.copyFromFloats(this.x*e,this.y*e,this.z*e)},e.prototype.scaleAndAddToRef=function(e,t){return t.addInPlaceFromFloats(this.x*e,this.y*e,this.z*e)},e.prototype.equals=function(e){return e&&this.x===e.x&&this.y===e.y&&this.z===e.z},e.prototype.equalsWithEpsilon=function(e,t){return void 0===t&&(t=r.a),e&&i.a.WithinEpsilon(this.x,e.x,t)&&i.a.WithinEpsilon(this.y,e.y,t)&&i.a.WithinEpsilon(this.z,e.z,t)},e.prototype.equalsToFloats=function(e,t,n){return this.x===e&&this.y===t&&this.z===n},e.prototype.multiplyInPlace=function(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this},e.prototype.multiply=function(e){return this.multiplyByFloats(e.x,e.y,e.z)},e.prototype.multiplyToRef=function(e,t){return t.copyFromFloats(this.x*e.x,this.y*e.y,this.z*e.z)},e.prototype.multiplyByFloats=function(t,n,i){return new e(this.x*t,this.y*n,this.z*i)},e.prototype.divide=function(t){return new e(this.x/t.x,this.y/t.y,this.z/t.z)},e.prototype.divideToRef=function(e,t){return t.copyFromFloats(this.x/e.x,this.y/e.y,this.z/e.z)},e.prototype.divideInPlace=function(e){return this.divideToRef(e,this)},e.prototype.minimizeInPlace=function(e){return this.minimizeInPlaceFromFloats(e.x,e.y,e.z)},e.prototype.maximizeInPlace=function(e){return this.maximizeInPlaceFromFloats(e.x,e.y,e.z)},e.prototype.minimizeInPlaceFromFloats=function(e,t,n){return ethis.x&&(this.x=e),t>this.y&&(this.y=t),n>this.z&&(this.z=n),this},e.prototype.isNonUniformWithinEpsilon=function(e){var t=Math.abs(this.x),n=Math.abs(this.y);if(!i.a.WithinEpsilon(t,n,e))return!0;var r=Math.abs(this.z);return!i.a.WithinEpsilon(t,r,e)||!i.a.WithinEpsilon(n,r,e)},Object.defineProperty(e.prototype,"isNonUniform",{get:function(){var e=Math.abs(this.x),t=Math.abs(this.y);if(e!==t)return!0;var n=Math.abs(this.z);return e!==n||t!==n},enumerable:!0,configurable:!0}),e.prototype.floor=function(){return new e(Math.floor(this.x),Math.floor(this.y),Math.floor(this.z))},e.prototype.fract=function(){return new e(this.x-Math.floor(this.x),this.y-Math.floor(this.y),this.z-Math.floor(this.z))},e.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},e.prototype.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z},e.prototype.normalize=function(){return this.normalizeFromLength(this.length())},e.prototype.reorderInPlace=function(e){var t=this;return"xyz"===(e=e.toLowerCase())||(h.Vector3[0].copyFrom(this),["x","y","z"].forEach((function(n,i){t[n]=h.Vector3[0][e[i]]}))),this},e.prototype.rotateByQuaternionToRef=function(t,n){return t.toRotationMatrix(h.Matrix[0]),e.TransformCoordinatesToRef(this,h.Matrix[0],n),n},e.prototype.rotateByQuaternionAroundPointToRef=function(e,t,n){return this.subtractToRef(t,h.Vector3[0]),h.Vector3[0].rotateByQuaternionToRef(e,h.Vector3[0]),t.addToRef(h.Vector3[0],n),n},e.prototype.cross=function(t){return e.Cross(this,t)},e.prototype.normalizeFromLength=function(e){return 0===e||1===e?this:this.scaleInPlace(1/e)},e.prototype.normalizeToNew=function(){var t=new e(0,0,0);return this.normalizeToRef(t),t},e.prototype.normalizeToRef=function(e){var t=this.length();return 0===t||1===t?e.copyFromFloats(this.x,this.y,this.z):this.scaleToRef(1/t,e)},e.prototype.clone=function(){return new e(this.x,this.y,this.z)},e.prototype.copyFrom=function(e){return this.copyFromFloats(e.x,e.y,e.z)},e.prototype.copyFromFloats=function(e,t,n){return this.x=e,this.y=t,this.z=n,this},e.prototype.set=function(e,t,n){return this.copyFromFloats(e,t,n)},e.prototype.setAll=function(e){return this.x=this.y=this.z=e,this},e.GetClipFactor=function(t,n,i,r){var o=e.Dot(t,i)-r;return o/(o-(e.Dot(n,i)-r))},e.GetAngleBetweenVectors=function(t,n,i){var r=t.normalizeToRef(h.Vector3[1]),o=n.normalizeToRef(h.Vector3[2]),a=e.Dot(r,o),s=h.Vector3[3];return e.CrossToRef(r,o,s),e.Dot(s,i)>0?Math.acos(a):-Math.acos(a)},e.FromArray=function(t,n){return void 0===n&&(n=0),new e(t[n],t[n+1],t[n+2])},e.FromFloatArray=function(t,n){return e.FromArray(t,n)},e.FromArrayToRef=function(e,t,n){n.x=e[t],n.y=e[t+1],n.z=e[t+2]},e.FromFloatArrayToRef=function(t,n,i){return e.FromArrayToRef(t,n,i)},e.FromFloatsToRef=function(e,t,n,i){i.copyFromFloats(e,t,n)},e.Zero=function(){return new e(0,0,0)},e.One=function(){return new e(1,1,1)},e.Up=function(){return new e(0,1,0)},Object.defineProperty(e,"UpReadOnly",{get:function(){return e._UpReadOnly},enumerable:!0,configurable:!0}),Object.defineProperty(e,"ZeroReadOnly",{get:function(){return e._ZeroReadOnly},enumerable:!0,configurable:!0}),e.Down=function(){return new e(0,-1,0)},e.Forward=function(){return new e(0,0,1)},e.Backward=function(){return new e(0,0,-1)},e.Right=function(){return new e(1,0,0)},e.Left=function(){return new e(-1,0,0)},e.TransformCoordinates=function(t,n){var i=e.Zero();return e.TransformCoordinatesToRef(t,n,i),i},e.TransformCoordinatesToRef=function(t,n,i){e.TransformCoordinatesFromFloatsToRef(t.x,t.y,t.z,n,i)},e.TransformCoordinatesFromFloatsToRef=function(e,t,n,i,r){var o=i.m,a=e*o[0]+t*o[4]+n*o[8]+o[12],s=e*o[1]+t*o[5]+n*o[9]+o[13],c=e*o[2]+t*o[6]+n*o[10]+o[14],l=1/(e*o[3]+t*o[7]+n*o[11]+o[15]);r.x=a*l,r.y=s*l,r.z=c*l},e.TransformNormal=function(t,n){var i=e.Zero();return e.TransformNormalToRef(t,n,i),i},e.TransformNormalToRef=function(e,t,n){this.TransformNormalFromFloatsToRef(e.x,e.y,e.z,t,n)},e.TransformNormalFromFloatsToRef=function(e,t,n,i,r){var o=i.m;r.x=e*o[0]+t*o[4]+n*o[8],r.y=e*o[1]+t*o[5]+n*o[9],r.z=e*o[2]+t*o[6]+n*o[10]},e.CatmullRom=function(t,n,i,r,o){var a=o*o,s=o*a;return new e(.5*(2*n.x+(-t.x+i.x)*o+(2*t.x-5*n.x+4*i.x-r.x)*a+(-t.x+3*n.x-3*i.x+r.x)*s),.5*(2*n.y+(-t.y+i.y)*o+(2*t.y-5*n.y+4*i.y-r.y)*a+(-t.y+3*n.y-3*i.y+r.y)*s),.5*(2*n.z+(-t.z+i.z)*o+(2*t.z-5*n.z+4*i.z-r.z)*a+(-t.z+3*n.z-3*i.z+r.z)*s))},e.Clamp=function(t,n,i){var r=new e;return e.ClampToRef(t,n,i,r),r},e.ClampToRef=function(e,t,n,i){var r=e.x;r=(r=r>n.x?n.x:r)n.y?n.y:o)n.z?n.z:a)this.x&&(this.x=e.x),e.y>this.y&&(this.y=e.y),e.z>this.z&&(this.z=e.z),e.w>this.w&&(this.w=e.w),this},e.prototype.floor=function(){return new e(Math.floor(this.x),Math.floor(this.y),Math.floor(this.z),Math.floor(this.w))},e.prototype.fract=function(){return new e(this.x-Math.floor(this.x),this.y-Math.floor(this.y),this.z-Math.floor(this.z),this.w-Math.floor(this.w))},e.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.prototype.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e.prototype.normalize=function(){var e=this.length();return 0===e?this:this.scaleInPlace(1/e)},e.prototype.toVector3=function(){return new c(this.x,this.y,this.z)},e.prototype.clone=function(){return new e(this.x,this.y,this.z,this.w)},e.prototype.copyFrom=function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this},e.prototype.copyFromFloats=function(e,t,n,i){return this.x=e,this.y=t,this.z=n,this.w=i,this},e.prototype.set=function(e,t,n,i){return this.copyFromFloats(e,t,n,i)},e.prototype.setAll=function(e){return this.x=this.y=this.z=this.w=e,this},e.FromArray=function(t,n){return n||(n=0),new e(t[n],t[n+1],t[n+2],t[n+3])},e.FromArrayToRef=function(e,t,n){n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3]},e.FromFloatArrayToRef=function(t,n,i){e.FromArrayToRef(t,n,i)},e.FromFloatsToRef=function(e,t,n,i,r){r.x=e,r.y=t,r.z=n,r.w=i},e.Zero=function(){return new e(0,0,0,0)},e.One=function(){return new e(1,1,1,1)},e.Normalize=function(t){var n=e.Zero();return e.NormalizeToRef(t,n),n},e.NormalizeToRef=function(e,t){t.copyFrom(e),t.normalize()},e.Minimize=function(e,t){var n=e.clone();return n.minimizeInPlace(t),n},e.Maximize=function(e,t){var n=e.clone();return n.maximizeInPlace(t),n},e.Distance=function(t,n){return Math.sqrt(e.DistanceSquared(t,n))},e.DistanceSquared=function(e,t){var n=e.x-t.x,i=e.y-t.y,r=e.z-t.z,o=e.w-t.w;return n*n+i*i+r*r+o*o},e.Center=function(e,t){var n=e.add(t);return n.scaleInPlace(.5),n},e.TransformNormal=function(t,n){var i=e.Zero();return e.TransformNormalToRef(t,n,i),i},e.TransformNormalToRef=function(e,t,n){var i=t.m,r=e.x*i[0]+e.y*i[4]+e.z*i[8],o=e.x*i[1]+e.y*i[5]+e.z*i[9],a=e.x*i[2]+e.y*i[6]+e.z*i[10];n.x=r,n.y=o,n.z=a,n.w=e.w},e.TransformNormalFromFloatsToRef=function(e,t,n,i,r,o){var a=r.m;o.x=e*a[0]+t*a[4]+n*a[8],o.y=e*a[1]+t*a[5]+n*a[9],o.z=e*a[2]+t*a[6]+n*a[10],o.w=i},e.FromVector3=function(t,n){return void 0===n&&(n=0),new e(t.x,t.y,t.z,n)},e}(),u=function(){function e(e,t,n,i){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),void 0===i&&(i=1),this.x=e,this.y=t,this.z=n,this.w=i}return e.prototype.toString=function(){return"{X: "+this.x+" Y:"+this.y+" Z:"+this.z+" W:"+this.w+"}"},e.prototype.getClassName=function(){return"Quaternion"},e.prototype.getHashCode=function(){var e=0|this.x;return e=397*(e=397*(e=397*e^(0|this.y))^(0|this.z))^(0|this.w)},e.prototype.asArray=function(){return[this.x,this.y,this.z,this.w]},e.prototype.equals=function(e){return e&&this.x===e.x&&this.y===e.y&&this.z===e.z&&this.w===e.w},e.prototype.equalsWithEpsilon=function(e,t){return void 0===t&&(t=r.a),e&&i.a.WithinEpsilon(this.x,e.x,t)&&i.a.WithinEpsilon(this.y,e.y,t)&&i.a.WithinEpsilon(this.z,e.z,t)&&i.a.WithinEpsilon(this.w,e.w,t)},e.prototype.clone=function(){return new e(this.x,this.y,this.z,this.w)},e.prototype.copyFrom=function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w,this},e.prototype.copyFromFloats=function(e,t,n,i){return this.x=e,this.y=t,this.z=n,this.w=i,this},e.prototype.set=function(e,t,n,i){return this.copyFromFloats(e,t,n,i)},e.prototype.add=function(t){return new e(this.x+t.x,this.y+t.y,this.z+t.z,this.w+t.w)},e.prototype.addInPlace=function(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this},e.prototype.subtract=function(t){return new e(this.x-t.x,this.y-t.y,this.z-t.z,this.w-t.w)},e.prototype.scale=function(t){return new e(this.x*t,this.y*t,this.z*t,this.w*t)},e.prototype.scaleToRef=function(e,t){return t.x=this.x*e,t.y=this.y*e,t.z=this.z*e,t.w=this.w*e,this},e.prototype.scaleInPlace=function(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this},e.prototype.scaleAndAddToRef=function(e,t){return t.x+=this.x*e,t.y+=this.y*e,t.z+=this.z*e,t.w+=this.w*e,this},e.prototype.multiply=function(t){var n=new e(0,0,0,1);return this.multiplyToRef(t,n),n},e.prototype.multiplyToRef=function(e,t){var n=this.x*e.w+this.y*e.z-this.z*e.y+this.w*e.x,i=-this.x*e.z+this.y*e.w+this.z*e.x+this.w*e.y,r=this.x*e.y-this.y*e.x+this.z*e.w+this.w*e.z,o=-this.x*e.x-this.y*e.y-this.z*e.z+this.w*e.w;return t.copyFromFloats(n,i,r,o),this},e.prototype.multiplyInPlace=function(e){return this.multiplyToRef(e,this),this},e.prototype.conjugateToRef=function(e){return e.copyFromFloats(-this.x,-this.y,-this.z,this.w),this},e.prototype.conjugateInPlace=function(){return this.x*=-1,this.y*=-1,this.z*=-1,this},e.prototype.conjugate=function(){return new e(-this.x,-this.y,-this.z,this.w)},e.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.prototype.normalize=function(){var e=this.length();if(0===e)return this;var t=1/e;return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},e.prototype.toEulerAngles=function(e){void 0===e&&(e="YZX");var t=c.Zero();return this.toEulerAnglesToRef(t),t},e.prototype.toEulerAnglesToRef=function(e){var t=this.z,n=this.x,i=this.y,r=this.w,o=r*r,a=t*t,s=n*n,c=i*i,l=i*t-n*r,u=.4999999;return l<-u?(e.y=2*Math.atan2(i,r),e.x=Math.PI/2,e.z=0):l>u?(e.y=2*Math.atan2(i,r),e.x=-Math.PI/2,e.z=0):(e.z=Math.atan2(2*(n*i+t*r),-a-s+c+o),e.x=Math.asin(-2*(t*i-n*r)),e.y=Math.atan2(2*(t*n+i*r),a-s-c+o)),this},e.prototype.toRotationMatrix=function(e){return p.FromQuaternionToRef(this,e),this},e.prototype.fromRotationMatrix=function(t){return e.FromRotationMatrixToRef(t,this),this},e.FromRotationMatrix=function(t){var n=new e;return e.FromRotationMatrixToRef(t,n),n},e.FromRotationMatrixToRef=function(e,t){var n,i=e.m,r=i[0],o=i[4],a=i[8],s=i[1],c=i[5],l=i[9],u=i[2],p=i[6],h=i[10],d=r+c+h;d>0?(n=.5/Math.sqrt(d+1),t.w=.25/n,t.x=(p-l)*n,t.y=(a-u)*n,t.z=(s-o)*n):r>c&&r>h?(n=2*Math.sqrt(1+r-c-h),t.w=(p-l)/n,t.x=.25*n,t.y=(o+s)/n,t.z=(a+u)/n):c>h?(n=2*Math.sqrt(1+c-r-h),t.w=(a-u)/n,t.x=(o+s)/n,t.y=.25*n,t.z=(l+p)/n):(n=2*Math.sqrt(1+h-r-c),t.w=(s-o)/n,t.x=(a+u)/n,t.y=(l+p)/n,t.z=.25*n)},e.Dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w},e.AreClose=function(t,n){return e.Dot(t,n)>=0},e.Zero=function(){return new e(0,0,0,0)},e.Inverse=function(t){return new e(-t.x,-t.y,-t.z,t.w)},e.InverseToRef=function(e,t){return t.set(-e.x,-e.y,-e.z,e.w),t},e.Identity=function(){return new e(0,0,0,1)},e.IsIdentity=function(e){return e&&0===e.x&&0===e.y&&0===e.z&&1===e.w},e.RotationAxis=function(t,n){return e.RotationAxisToRef(t,n,new e)},e.RotationAxisToRef=function(e,t,n){var i=Math.sin(t/2);return e.normalize(),n.w=Math.cos(t/2),n.x=e.x*i,n.y=e.y*i,n.z=e.z*i,n},e.FromArray=function(t,n){return n||(n=0),new e(t[n],t[n+1],t[n+2],t[n+3])},e.FromEulerAngles=function(t,n,i){var r=new e;return e.RotationYawPitchRollToRef(n,t,i,r),r},e.FromEulerAnglesToRef=function(t,n,i,r){return e.RotationYawPitchRollToRef(n,t,i,r),r},e.FromEulerVector=function(t){var n=new e;return e.RotationYawPitchRollToRef(t.y,t.x,t.z,n),n},e.FromEulerVectorToRef=function(t,n){return e.RotationYawPitchRollToRef(t.y,t.x,t.z,n),n},e.RotationYawPitchRoll=function(t,n,i){var r=new e;return e.RotationYawPitchRollToRef(t,n,i,r),r},e.RotationYawPitchRollToRef=function(e,t,n,i){var r=.5*n,o=.5*t,a=.5*e,s=Math.sin(r),c=Math.cos(r),l=Math.sin(o),u=Math.cos(o),p=Math.sin(a),h=Math.cos(a);i.x=h*l*c+p*u*s,i.y=p*u*c-h*l*s,i.z=h*u*s-p*l*c,i.w=h*u*c+p*l*s},e.RotationAlphaBetaGamma=function(t,n,i){var r=new e;return e.RotationAlphaBetaGammaToRef(t,n,i,r),r},e.RotationAlphaBetaGammaToRef=function(e,t,n,i){var r=.5*(n+e),o=.5*(n-e),a=.5*t;i.x=Math.cos(o)*Math.sin(a),i.y=Math.sin(o)*Math.sin(a),i.z=Math.sin(r)*Math.cos(a),i.w=Math.cos(r)*Math.cos(a)},e.RotationQuaternionFromAxis=function(t,n,i){var r=new e(0,0,0,0);return e.RotationQuaternionFromAxisToRef(t,n,i,r),r},e.RotationQuaternionFromAxisToRef=function(t,n,i,r){var o=h.Matrix[0];p.FromXYZAxesToRef(t.normalize(),n.normalize(),i.normalize(),o),e.FromRotationMatrixToRef(o,r)},e.Slerp=function(t,n,i){var r=e.Identity();return e.SlerpToRef(t,n,i,r),r},e.SlerpToRef=function(e,t,n,i){var r,o,a=e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w,s=!1;if(a<0&&(s=!0,a=-a),a>.999999)o=1-n,r=s?-n:n;else{var c=Math.acos(a),l=1/Math.sin(c);o=Math.sin((1-n)*c)*l,r=s?-Math.sin(n*c)*l:Math.sin(n*c)*l}i.x=o*e.x+r*t.x,i.y=o*e.y+r*t.y,i.z=o*e.z+r*t.z,i.w=o*e.w+r*t.w},e.Hermite=function(t,n,i,r,o){var a=o*o,s=o*a,c=2*s-3*a+1,l=-2*s+3*a,u=s-2*a+o,p=s-a;return new e(t.x*c+i.x*l+n.x*u+r.x*p,t.y*c+i.y*l+n.y*u+r.y*p,t.z*c+i.z*l+n.z*u+r.z*p,t.w*c+i.w*l+n.w*u+r.w*p)},e}(),p=function(){function e(){this._isIdentity=!1,this._isIdentityDirty=!0,this._isIdentity3x2=!0,this._isIdentity3x2Dirty=!0,this.updateFlag=-1,this._m=new Float32Array(16),this._updateIdentityStatus(!1)}return Object.defineProperty(e.prototype,"m",{get:function(){return this._m},enumerable:!0,configurable:!0}),e.prototype._markAsUpdated=function(){this.updateFlag=e._updateFlagSeed++,this._isIdentity=!1,this._isIdentity3x2=!1,this._isIdentityDirty=!0,this._isIdentity3x2Dirty=!0},e.prototype._updateIdentityStatus=function(t,n,i,r){void 0===n&&(n=!1),void 0===i&&(i=!1),void 0===r&&(r=!0),this.updateFlag=e._updateFlagSeed++,this._isIdentity=t,this._isIdentity3x2=t||i,this._isIdentityDirty=!this._isIdentity&&n,this._isIdentity3x2Dirty=!this._isIdentity3x2&&r},e.prototype.isIdentity=function(){if(this._isIdentityDirty){this._isIdentityDirty=!1;var e=this._m;this._isIdentity=1===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[7]&&0===e[8]&&0===e[9]&&1===e[10]&&0===e[11]&&0===e[12]&&0===e[13]&&0===e[14]&&1===e[15]}return this._isIdentity},e.prototype.isIdentityAs3x2=function(){return this._isIdentity3x2Dirty&&(this._isIdentity3x2Dirty=!1,1!==this._m[0]||1!==this._m[5]||1!==this._m[15]||0!==this._m[1]||0!==this._m[2]||0!==this._m[3]||0!==this._m[4]||0!==this._m[6]||0!==this._m[7]||0!==this._m[8]||0!==this._m[9]||0!==this._m[10]||0!==this._m[11]||0!==this._m[12]||0!==this._m[13]||0!==this._m[14]?this._isIdentity3x2=!1:this._isIdentity3x2=!0),this._isIdentity3x2},e.prototype.determinant=function(){if(!0===this._isIdentity)return 1;var e=this._m,t=e[0],n=e[1],i=e[2],r=e[3],o=e[4],a=e[5],s=e[6],c=e[7],l=e[8],u=e[9],p=e[10],h=e[11],d=e[12],f=e[13],_=e[14],m=e[15],b=p*m-_*h,g=u*m-f*h,v=u*_-f*p,y=l*m-d*h,C=l*_-p*d,A=l*f-d*u;return t*+(a*b-s*g+c*v)+n*-(o*b-s*y+c*C)+i*+(o*g-a*y+c*A)+r*-(o*v-a*C+s*A)},e.prototype.toArray=function(){return this._m},e.prototype.asArray=function(){return this._m},e.prototype.invert=function(){return this.invertToRef(this),this},e.prototype.reset=function(){return e.FromValuesToRef(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,this),this._updateIdentityStatus(!1),this},e.prototype.add=function(t){var n=new e;return this.addToRef(t,n),n},e.prototype.addToRef=function(e,t){for(var n=this._m,i=t._m,r=e.m,o=0;o<16;o++)i[o]=n[o]+r[o];return t._markAsUpdated(),this},e.prototype.addToSelf=function(e){for(var t=this._m,n=e.m,i=0;i<16;i++)t[i]+=n[i];return this._markAsUpdated(),this},e.prototype.invertToRef=function(t){if(!0===this._isIdentity)return e.IdentityToRef(t),this;var n=this._m,i=n[0],r=n[1],o=n[2],a=n[3],s=n[4],c=n[5],l=n[6],u=n[7],p=n[8],h=n[9],d=n[10],f=n[11],_=n[12],m=n[13],b=n[14],g=n[15],v=d*g-b*f,y=h*g-m*f,C=h*b-m*d,A=p*g-_*f,x=p*b-d*_,S=p*m-_*h,T=+(c*v-l*y+u*C),E=-(s*v-l*A+u*x),P=+(s*y-c*A+u*S),O=-(s*C-c*x+l*S),M=i*T+r*E+o*P+a*O;if(0===M)return t.copyFrom(this),this;var R=1/M,I=l*g-b*u,w=c*g-m*u,D=c*b-m*l,L=s*g-_*u,N=s*b-_*l,F=s*m-_*c,B=l*f-d*u,k=c*f-h*u,V=c*d-h*l,z=s*f-p*u,j=s*d-p*l,U=s*h-p*c,G=-(r*v-o*y+a*C),H=+(i*v-o*A+a*x),W=-(i*y-r*A+a*S),X=+(i*C-r*x+o*S),Y=+(r*I-o*w+a*D),Q=-(i*I-o*L+a*N),K=+(i*w-r*L+a*F),Z=-(i*D-r*N+o*F),q=-(r*B-o*k+a*V),J=+(i*B-o*z+a*j),$=-(i*k-r*z+a*U),ee=+(i*V-r*j+o*U);return e.FromValuesToRef(T*R,G*R,Y*R,q*R,E*R,H*R,Q*R,J*R,P*R,W*R,K*R,$*R,O*R,X*R,Z*R,ee*R,t),this},e.prototype.addAtIndex=function(e,t){return this._m[e]+=t,this._markAsUpdated(),this},e.prototype.multiplyAtIndex=function(e,t){return this._m[e]*=t,this._markAsUpdated(),this},e.prototype.setTranslationFromFloats=function(e,t,n){return this._m[12]=e,this._m[13]=t,this._m[14]=n,this._markAsUpdated(),this},e.prototype.addTranslationFromFloats=function(e,t,n){return this._m[12]+=e,this._m[13]+=t,this._m[14]+=n,this._markAsUpdated(),this},e.prototype.setTranslation=function(e){return this.setTranslationFromFloats(e.x,e.y,e.z)},e.prototype.getTranslation=function(){return new c(this._m[12],this._m[13],this._m[14])},e.prototype.getTranslationToRef=function(e){return e.x=this._m[12],e.y=this._m[13],e.z=this._m[14],this},e.prototype.removeRotationAndScaling=function(){var t=this.m;return e.FromValuesToRef(1,0,0,0,0,1,0,0,0,0,1,0,t[12],t[13],t[14],t[15],this),this._updateIdentityStatus(0===t[12]&&0===t[13]&&0===t[14]&&1===t[15]),this},e.prototype.multiply=function(t){var n=new e;return this.multiplyToRef(t,n),n},e.prototype.copyFrom=function(e){e.copyToArray(this._m);var t=e;return this._updateIdentityStatus(t._isIdentity,t._isIdentityDirty,t._isIdentity3x2,t._isIdentity3x2Dirty),this},e.prototype.copyToArray=function(e,t){void 0===t&&(t=0);var n=this._m;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],this},e.prototype.multiplyToRef=function(e,t){return this._isIdentity?(t.copyFrom(e),this):e._isIdentity?(t.copyFrom(this),this):(this.multiplyToArray(e,t._m,0),t._markAsUpdated(),this)},e.prototype.multiplyToArray=function(e,t,n){var i=this._m,r=e.m,o=i[0],a=i[1],s=i[2],c=i[3],l=i[4],u=i[5],p=i[6],h=i[7],d=i[8],f=i[9],_=i[10],m=i[11],b=i[12],g=i[13],v=i[14],y=i[15],C=r[0],A=r[1],x=r[2],S=r[3],T=r[4],E=r[5],P=r[6],O=r[7],M=r[8],R=r[9],I=r[10],w=r[11],D=r[12],L=r[13],N=r[14],F=r[15];return t[n]=o*C+a*T+s*M+c*D,t[n+1]=o*A+a*E+s*R+c*L,t[n+2]=o*x+a*P+s*I+c*N,t[n+3]=o*S+a*O+s*w+c*F,t[n+4]=l*C+u*T+p*M+h*D,t[n+5]=l*A+u*E+p*R+h*L,t[n+6]=l*x+u*P+p*I+h*N,t[n+7]=l*S+u*O+p*w+h*F,t[n+8]=d*C+f*T+_*M+m*D,t[n+9]=d*A+f*E+_*R+m*L,t[n+10]=d*x+f*P+_*I+m*N,t[n+11]=d*S+f*O+_*w+m*F,t[n+12]=b*C+g*T+v*M+y*D,t[n+13]=b*A+g*E+v*R+y*L,t[n+14]=b*x+g*P+v*I+y*N,t[n+15]=b*S+g*O+v*w+y*F,this},e.prototype.equals=function(e){var t=e;if(!t)return!1;if((this._isIdentity||t._isIdentity)&&!this._isIdentityDirty&&!t._isIdentityDirty)return this._isIdentity&&t._isIdentity;var n=this.m,i=t.m;return n[0]===i[0]&&n[1]===i[1]&&n[2]===i[2]&&n[3]===i[3]&&n[4]===i[4]&&n[5]===i[5]&&n[6]===i[6]&&n[7]===i[7]&&n[8]===i[8]&&n[9]===i[9]&&n[10]===i[10]&&n[11]===i[11]&&n[12]===i[12]&&n[13]===i[13]&&n[14]===i[14]&&n[15]===i[15]},e.prototype.clone=function(){var t=new e;return t.copyFrom(this),t},e.prototype.getClassName=function(){return"Matrix"},e.prototype.getHashCode=function(){for(var e=0|this._m[0],t=1;t<16;t++)e=397*e^(0|this._m[t]);return e},e.prototype.decompose=function(t,n,i){if(this._isIdentity)return i&&i.setAll(0),t&&t.setAll(1),n&&n.copyFromFloats(0,0,0,1),!0;var r=this._m;if(i&&i.copyFromFloats(r[12],r[13],r[14]),(t=t||h.Vector3[0]).x=Math.sqrt(r[0]*r[0]+r[1]*r[1]+r[2]*r[2]),t.y=Math.sqrt(r[4]*r[4]+r[5]*r[5]+r[6]*r[6]),t.z=Math.sqrt(r[8]*r[8]+r[9]*r[9]+r[10]*r[10]),this.determinant()<=0&&(t.y*=-1),0===t.x||0===t.y||0===t.z)return n&&n.copyFromFloats(0,0,0,1),!1;if(n){var o=1/t.x,a=1/t.y,s=1/t.z;e.FromValuesToRef(r[0]*o,r[1]*o,r[2]*o,0,r[4]*a,r[5]*a,r[6]*a,0,r[8]*s,r[9]*s,r[10]*s,0,0,0,0,1,h.Matrix[0]),u.FromRotationMatrixToRef(h.Matrix[0],n)}return!0},e.prototype.getRow=function(e){if(e<0||e>3)return null;var t=4*e;return new l(this._m[t+0],this._m[t+1],this._m[t+2],this._m[t+3])},e.prototype.setRow=function(e,t){return this.setRowFromFloats(e,t.x,t.y,t.z,t.w)},e.prototype.transpose=function(){return e.Transpose(this)},e.prototype.transposeToRef=function(t){return e.TransposeToRef(this,t),this},e.prototype.setRowFromFloats=function(e,t,n,i,r){if(e<0||e>3)return this;var o=4*e;return this._m[o+0]=t,this._m[o+1]=n,this._m[o+2]=i,this._m[o+3]=r,this._markAsUpdated(),this},e.prototype.scale=function(t){var n=new e;return this.scaleToRef(t,n),n},e.prototype.scaleToRef=function(e,t){for(var n=0;n<16;n++)t._m[n]=this._m[n]*e;return t._markAsUpdated(),this},e.prototype.scaleAndAddToRef=function(e,t){for(var n=0;n<16;n++)t._m[n]+=this._m[n]*e;return t._markAsUpdated(),this},e.prototype.toNormalMatrix=function(t){var n=h.Matrix[0];this.invertToRef(n),n.transposeToRef(t);var i=t._m;e.FromValuesToRef(i[0],i[1],i[2],0,i[4],i[5],i[6],0,i[8],i[9],i[10],0,0,0,0,1,t)},e.prototype.getRotationMatrix=function(){var t=new e;return this.getRotationMatrixToRef(t),t},e.prototype.getRotationMatrixToRef=function(t){var n=h.Vector3[0];if(!this.decompose(n))return e.IdentityToRef(t),this;var i=this._m,r=1/n.x,o=1/n.y,a=1/n.z;return e.FromValuesToRef(i[0]*r,i[1]*r,i[2]*r,0,i[4]*o,i[5]*o,i[6]*o,0,i[8]*a,i[9]*a,i[10]*a,0,0,0,0,1,t),this},e.prototype.toggleModelMatrixHandInPlace=function(){var e=this._m;e[2]*=-1,e[6]*=-1,e[8]*=-1,e[9]*=-1,e[14]*=-1,this._markAsUpdated()},e.prototype.toggleProjectionMatrixHandInPlace=function(){var e=this._m;e[8]*=-1,e[9]*=-1,e[10]*=-1,e[11]*=-1,this._markAsUpdated()},e.FromArray=function(t,n){void 0===n&&(n=0);var i=new e;return e.FromArrayToRef(t,n,i),i},e.FromArrayToRef=function(e,t,n){for(var i=0;i<16;i++)n._m[i]=e[i+t];n._markAsUpdated()},e.FromFloat32ArrayToRefScaled=function(e,t,n,i){for(var r=0;r<16;r++)i._m[r]=e[r+t]*n;i._markAsUpdated()},Object.defineProperty(e,"IdentityReadOnly",{get:function(){return e._identityReadOnly},enumerable:!0,configurable:!0}),e.FromValuesToRef=function(e,t,n,i,r,o,a,s,c,l,u,p,h,d,f,_,m){var b=m._m;b[0]=e,b[1]=t,b[2]=n,b[3]=i,b[4]=r,b[5]=o,b[6]=a,b[7]=s,b[8]=c,b[9]=l,b[10]=u,b[11]=p,b[12]=h,b[13]=d,b[14]=f,b[15]=_,m._markAsUpdated()},e.FromValues=function(t,n,i,r,o,a,s,c,l,u,p,h,d,f,_,m){var b=new e,g=b._m;return g[0]=t,g[1]=n,g[2]=i,g[3]=r,g[4]=o,g[5]=a,g[6]=s,g[7]=c,g[8]=l,g[9]=u,g[10]=p,g[11]=h,g[12]=d,g[13]=f,g[14]=_,g[15]=m,b._markAsUpdated(),b},e.Compose=function(t,n,i){var r=new e;return e.ComposeToRef(t,n,i,r),r},e.ComposeToRef=function(e,t,n,i){var r=i._m,o=t.x,a=t.y,s=t.z,c=t.w,l=o+o,u=a+a,p=s+s,h=o*l,d=o*u,f=o*p,_=a*u,m=a*p,b=s*p,g=c*l,v=c*u,y=c*p,C=e.x,A=e.y,x=e.z;r[0]=(1-(_+b))*C,r[1]=(d+y)*C,r[2]=(f-v)*C,r[3]=0,r[4]=(d-y)*A,r[5]=(1-(h+b))*A,r[6]=(m+g)*A,r[7]=0,r[8]=(f+v)*x,r[9]=(m-g)*x,r[10]=(1-(h+_))*x,r[11]=0,r[12]=n.x,r[13]=n.y,r[14]=n.z,r[15]=1,i._markAsUpdated()},e.Identity=function(){var t=e.FromValues(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return t._updateIdentityStatus(!0),t},e.IdentityToRef=function(t){e.FromValuesToRef(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,t),t._updateIdentityStatus(!0)},e.Zero=function(){var t=e.FromValues(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);return t._updateIdentityStatus(!1),t},e.RotationX=function(t){var n=new e;return e.RotationXToRef(t,n),n},e.Invert=function(t){var n=new e;return t.invertToRef(n),n},e.RotationXToRef=function(t,n){var i=Math.sin(t),r=Math.cos(t);e.FromValuesToRef(1,0,0,0,0,r,i,0,0,-i,r,0,0,0,0,1,n),n._updateIdentityStatus(1===r&&0===i)},e.RotationY=function(t){var n=new e;return e.RotationYToRef(t,n),n},e.RotationYToRef=function(t,n){var i=Math.sin(t),r=Math.cos(t);e.FromValuesToRef(r,0,-i,0,0,1,0,0,i,0,r,0,0,0,0,1,n),n._updateIdentityStatus(1===r&&0===i)},e.RotationZ=function(t){var n=new e;return e.RotationZToRef(t,n),n},e.RotationZToRef=function(t,n){var i=Math.sin(t),r=Math.cos(t);e.FromValuesToRef(r,i,0,0,-i,r,0,0,0,0,1,0,0,0,0,1,n),n._updateIdentityStatus(1===r&&0===i)},e.RotationAxis=function(t,n){var i=new e;return e.RotationAxisToRef(t,n,i),i},e.RotationAxisToRef=function(e,t,n){var i=Math.sin(-t),r=Math.cos(-t),o=1-r;e.normalize();var a=n._m;a[0]=e.x*e.x*o+r,a[1]=e.x*e.y*o-e.z*i,a[2]=e.x*e.z*o+e.y*i,a[3]=0,a[4]=e.y*e.x*o+e.z*i,a[5]=e.y*e.y*o+r,a[6]=e.y*e.z*o-e.x*i,a[7]=0,a[8]=e.z*e.x*o-e.y*i,a[9]=e.z*e.y*o+e.x*i,a[10]=e.z*e.z*o+r,a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1,n._markAsUpdated()},e.RotationAlignToRef=function(e,t,n){var i=c.Cross(t,e),r=c.Dot(t,e),o=1/(1+r),a=n._m;a[0]=i.x*i.x*o+r,a[1]=i.y*i.x*o-i.z,a[2]=i.z*i.x*o+i.y,a[3]=0,a[4]=i.x*i.y*o+i.z,a[5]=i.y*i.y*o+r,a[6]=i.z*i.y*o-i.x,a[7]=0,a[8]=i.x*i.z*o-i.y,a[9]=i.y*i.z*o+i.x,a[10]=i.z*i.z*o+r,a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1,n._markAsUpdated()},e.RotationYawPitchRoll=function(t,n,i){var r=new e;return e.RotationYawPitchRollToRef(t,n,i,r),r},e.RotationYawPitchRollToRef=function(e,t,n,i){u.RotationYawPitchRollToRef(e,t,n,h.Quaternion[0]),h.Quaternion[0].toRotationMatrix(i)},e.Scaling=function(t,n,i){var r=new e;return e.ScalingToRef(t,n,i,r),r},e.ScalingToRef=function(t,n,i,r){e.FromValuesToRef(t,0,0,0,0,n,0,0,0,0,i,0,0,0,0,1,r),r._updateIdentityStatus(1===t&&1===n&&1===i)},e.Translation=function(t,n,i){var r=new e;return e.TranslationToRef(t,n,i,r),r},e.TranslationToRef=function(t,n,i,r){e.FromValuesToRef(1,0,0,0,0,1,0,0,0,0,1,0,t,n,i,1,r),r._updateIdentityStatus(0===t&&0===n&&0===i)},e.Lerp=function(t,n,i){var r=new e;return e.LerpToRef(t,n,i,r),r},e.LerpToRef=function(e,t,n,i){for(var r=i._m,o=e.m,a=t.m,s=0;s<16;s++)r[s]=o[s]*(1-n)+a[s]*n;i._markAsUpdated()},e.DecomposeLerp=function(t,n,i){var r=new e;return e.DecomposeLerpToRef(t,n,i,r),r},e.DecomposeLerpToRef=function(t,n,i,r){var o=h.Vector3[0],a=h.Quaternion[0],s=h.Vector3[1];t.decompose(o,a,s);var l=h.Vector3[2],p=h.Quaternion[1],d=h.Vector3[3];n.decompose(l,p,d);var f=h.Vector3[4];c.LerpToRef(o,l,i,f);var _=h.Quaternion[2];u.SlerpToRef(a,p,i,_);var m=h.Vector3[5];c.LerpToRef(s,d,i,m),e.ComposeToRef(f,_,m,r)},e.LookAtLH=function(t,n,i){var r=new e;return e.LookAtLHToRef(t,n,i,r),r},e.LookAtLHToRef=function(t,n,i,r){var o=h.Vector3[0],a=h.Vector3[1],s=h.Vector3[2];n.subtractToRef(t,s),s.normalize(),c.CrossToRef(i,s,o);var l=o.lengthSquared();0===l?o.x=1:o.normalizeFromLength(Math.sqrt(l)),c.CrossToRef(s,o,a),a.normalize();var u=-c.Dot(o,t),p=-c.Dot(a,t),d=-c.Dot(s,t);e.FromValuesToRef(o.x,a.x,s.x,0,o.y,a.y,s.y,0,o.z,a.z,s.z,0,u,p,d,1,r)},e.LookAtRH=function(t,n,i){var r=new e;return e.LookAtRHToRef(t,n,i,r),r},e.LookAtRHToRef=function(t,n,i,r){var o=h.Vector3[0],a=h.Vector3[1],s=h.Vector3[2];t.subtractToRef(n,s),s.normalize(),c.CrossToRef(i,s,o);var l=o.lengthSquared();0===l?o.x=1:o.normalizeFromLength(Math.sqrt(l)),c.CrossToRef(s,o,a),a.normalize();var u=-c.Dot(o,t),p=-c.Dot(a,t),d=-c.Dot(s,t);e.FromValuesToRef(o.x,a.x,s.x,0,o.y,a.y,s.y,0,o.z,a.z,s.z,0,u,p,d,1,r)},e.OrthoLH=function(t,n,i,r){var o=new e;return e.OrthoLHToRef(t,n,i,r,o),o},e.OrthoLHToRef=function(t,n,i,r,o){var a=2/t,s=2/n,c=2/(r-i),l=-(r+i)/(r-i);e.FromValuesToRef(a,0,0,0,0,s,0,0,0,0,c,0,0,0,l,1,o),o._updateIdentityStatus(1===a&&1===s&&1===c&&0===l)},e.OrthoOffCenterLH=function(t,n,i,r,o,a){var s=new e;return e.OrthoOffCenterLHToRef(t,n,i,r,o,a,s),s},e.OrthoOffCenterLHToRef=function(t,n,i,r,o,a,s){var c=2/(n-t),l=2/(r-i),u=2/(a-o),p=-(a+o)/(a-o),h=(t+n)/(t-n),d=(r+i)/(i-r);e.FromValuesToRef(c,0,0,0,0,l,0,0,0,0,u,0,h,d,p,1,s),s._markAsUpdated()},e.OrthoOffCenterRH=function(t,n,i,r,o,a){var s=new e;return e.OrthoOffCenterRHToRef(t,n,i,r,o,a,s),s},e.OrthoOffCenterRHToRef=function(t,n,i,r,o,a,s){e.OrthoOffCenterLHToRef(t,n,i,r,o,a,s),s._m[10]*=-1},e.PerspectiveLH=function(t,n,i,r){var o=new e,a=2*i/t,s=2*i/n,c=(r+i)/(r-i),l=-2*r*i/(r-i);return e.FromValuesToRef(a,0,0,0,0,s,0,0,0,0,c,1,0,0,l,0,o),o._updateIdentityStatus(!1),o},e.PerspectiveFovLH=function(t,n,i,r){var o=new e;return e.PerspectiveFovLHToRef(t,n,i,r,o),o},e.PerspectiveFovLHToRef=function(t,n,i,r,o,a){void 0===a&&(a=!0);var s=i,c=r,l=1/Math.tan(.5*t),u=a?l/n:l,p=a?l:l*n,h=(c+s)/(c-s),d=-2*c*s/(c-s);e.FromValuesToRef(u,0,0,0,0,p,0,0,0,0,h,1,0,0,d,0,o),o._updateIdentityStatus(!1)},e.PerspectiveFovReverseLHToRef=function(t,n,i,r,o,a){void 0===a&&(a=!0);var s=1/Math.tan(.5*t),c=a?s/n:s,l=a?s:s*n;e.FromValuesToRef(c,0,0,0,0,l,0,0,0,0,-i,1,0,0,1,0,o),o._updateIdentityStatus(!1)},e.PerspectiveFovRH=function(t,n,i,r){var o=new e;return e.PerspectiveFovRHToRef(t,n,i,r,o),o},e.PerspectiveFovRHToRef=function(t,n,i,r,o,a){void 0===a&&(a=!0);var s=i,c=r,l=1/Math.tan(.5*t),u=a?l/n:l,p=a?l:l*n,h=-(c+s)/(c-s),d=-2*c*s/(c-s);e.FromValuesToRef(u,0,0,0,0,p,0,0,0,0,h,-1,0,0,d,0,o),o._updateIdentityStatus(!1)},e.PerspectiveFovReverseRHToRef=function(t,n,i,r,o,a){void 0===a&&(a=!0);var s=1/Math.tan(.5*t),c=a?s/n:s,l=a?s:s*n;e.FromValuesToRef(c,0,0,0,0,l,0,0,0,0,-i,-1,0,0,-1,0,o),o._updateIdentityStatus(!1)},e.PerspectiveFovWebVRToRef=function(e,t,n,i,r){void 0===r&&(r=!1);var o=r?-1:1,a=Math.tan(e.upDegrees*Math.PI/180),s=Math.tan(e.downDegrees*Math.PI/180),c=Math.tan(e.leftDegrees*Math.PI/180),l=Math.tan(e.rightDegrees*Math.PI/180),u=2/(c+l),p=2/(a+s),h=i._m;h[0]=u,h[1]=h[2]=h[3]=h[4]=0,h[5]=p,h[6]=h[7]=0,h[8]=(c-l)*u*.5,h[9]=-(a-s)*p*.5,h[10]=-n/(t-n),h[11]=1*o,h[12]=h[13]=h[15]=0,h[14]=-2*n*t/(n-t),i._markAsUpdated()},e.GetFinalMatrix=function(t,n,i,r,o,a){var s=t.width,c=t.height,l=t.x,u=t.y,p=e.FromValues(s/2,0,0,0,0,-c/2,0,0,0,0,a-o,0,l+s/2,c/2+u,o,1),d=h.Matrix[0];return n.multiplyToRef(i,d),d.multiplyToRef(r,d),d.multiply(p)},e.GetAsMatrix2x2=function(e){var t=e.m;return new Float32Array([t[0],t[1],t[4],t[5]])},e.GetAsMatrix3x3=function(e){var t=e.m;return new Float32Array([t[0],t[1],t[2],t[4],t[5],t[6],t[8],t[9],t[10]])},e.Transpose=function(t){var n=new e;return e.TransposeToRef(t,n),n},e.TransposeToRef=function(e,t){var n=t._m,i=e.m;n[0]=i[0],n[1]=i[4],n[2]=i[8],n[3]=i[12],n[4]=i[1],n[5]=i[5],n[6]=i[9],n[7]=i[13],n[8]=i[2],n[9]=i[6],n[10]=i[10],n[11]=i[14],n[12]=i[3],n[13]=i[7],n[14]=i[11],n[15]=i[15],t._updateIdentityStatus(e._isIdentity,e._isIdentityDirty)},e.Reflection=function(t){var n=new e;return e.ReflectionToRef(t,n),n},e.ReflectionToRef=function(t,n){t.normalize();var i=t.normal.x,r=t.normal.y,o=t.normal.z,a=-2*i,s=-2*r,c=-2*o;e.FromValuesToRef(a*i+1,s*i,c*i,0,a*r,s*r+1,c*r,0,a*o,s*o,c*o+1,0,a*t.d,s*t.d,c*t.d,1,n)},e.FromXYZAxesToRef=function(t,n,i,r){e.FromValuesToRef(t.x,t.y,t.z,0,n.x,n.y,n.z,0,i.x,i.y,i.z,0,0,0,0,1,r)},e.FromQuaternionToRef=function(e,t){var n=e.x*e.x,i=e.y*e.y,r=e.z*e.z,o=e.x*e.y,a=e.z*e.w,s=e.z*e.x,c=e.y*e.w,l=e.y*e.z,u=e.x*e.w;t._m[0]=1-2*(i+r),t._m[1]=2*(o+a),t._m[2]=2*(s-c),t._m[3]=0,t._m[4]=2*(o-a),t._m[5]=1-2*(r+n),t._m[6]=2*(l+u),t._m[7]=0,t._m[8]=2*(s+c),t._m[9]=2*(l-u),t._m[10]=1-2*(i+n),t._m[11]=0,t._m[12]=0,t._m[13]=0,t._m[14]=0,t._m[15]=1,t._markAsUpdated()},e._updateFlagSeed=0,e._identityReadOnly=e.Identity(),e}(),h=function(){function e(){}return e.Vector3=o.a.BuildArray(6,c.Zero),e.Matrix=o.a.BuildArray(2,p.Identity),e.Quaternion=o.a.BuildArray(3,u.Zero),e}(),d=function(){function e(){}return e.Vector2=o.a.BuildArray(3,s.Zero),e.Vector3=o.a.BuildArray(13,c.Zero),e.Vector4=o.a.BuildArray(3,l.Zero),e.Quaternion=o.a.BuildArray(2,u.Zero),e.Matrix=o.a.BuildArray(8,p.Identity),e}();a.a.RegisteredTypes["BABYLON.Vector2"]=s,a.a.RegisteredTypes["BABYLON.Vector3"]=c,a.a.RegisteredTypes["BABYLON.Vector4"]=l,a.a.RegisteredTypes["BABYLON.Matrix"]=p},function(e,t,n){"use strict";n.d(t,"d",(function(){return r})),n.d(t,"a",(function(){return o})),n.d(t,"c",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"e",(function(){return c})),n.d(t,"f",(function(){return l}));var i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function r(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return(o=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}function s(e,t,n,i){return new(n||(n=Promise))((function(r,o){function a(e){try{c(i.next(e))}catch(e){o(e)}}function s(e){try{c(i.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))}function c(e,t){var n,i,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=0&&o<=1?(s=r,c=a):o>=1&&o<=2?(s=a,c=r):o>=2&&o<=3?(c=r,l=a):o>=3&&o<=4?(c=a,l=r):o>=4&&o<=5?(s=a,l=r):o>=5&&o<=6&&(s=r,l=a);var u=n-r;i.set(s+u,c+u,l+u)},e.FromHexString=function(t){if("#"!==t.substring(0,1)||7!==t.length)return new e(0,0,0);var n=parseInt(t.substring(1,3),16),i=parseInt(t.substring(3,5),16),r=parseInt(t.substring(5,7),16);return e.FromInts(n,i,r)},e.FromArray=function(t,n){return void 0===n&&(n=0),new e(t[n],t[n+1],t[n+2])},e.FromInts=function(t,n,i){return new e(t/255,n/255,i/255)},e.Lerp=function(t,n,i){var r=new e(0,0,0);return e.LerpToRef(t,n,i,r),r},e.LerpToRef=function(e,t,n,i){i.r=e.r+(t.r-e.r)*n,i.g=e.g+(t.g-e.g)*n,i.b=e.b+(t.b-e.b)*n},e.Red=function(){return new e(1,0,0)},e.Green=function(){return new e(0,1,0)},e.Blue=function(){return new e(0,0,1)},e.Black=function(){return new e(0,0,0)},Object.defineProperty(e,"BlackReadOnly",{get:function(){return e._BlackReadOnly},enumerable:!0,configurable:!0}),e.White=function(){return new e(1,1,1)},e.Purple=function(){return new e(.5,0,.5)},e.Magenta=function(){return new e(1,0,1)},e.Yellow=function(){return new e(1,1,0)},e.Gray=function(){return new e(.5,.5,.5)},e.Teal=function(){return new e(0,1,1)},e.Random=function(){return new e(Math.random(),Math.random(),Math.random())},e._BlackReadOnly=e.Black(),e}(),c=function(){function e(e,t,n,i){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),void 0===i&&(i=1),this.r=e,this.g=t,this.b=n,this.a=i}return e.prototype.addInPlace=function(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this.a+=e.a,this},e.prototype.asArray=function(){var e=new Array;return this.toArray(e,0),e},e.prototype.toArray=function(e,t){return void 0===t&&(t=0),e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e[t+3]=this.a,this},e.prototype.equals=function(e){return e&&this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a},e.prototype.add=function(t){return new e(this.r+t.r,this.g+t.g,this.b+t.b,this.a+t.a)},e.prototype.subtract=function(t){return new e(this.r-t.r,this.g-t.g,this.b-t.b,this.a-t.a)},e.prototype.subtractToRef=function(e,t){return t.r=this.r-e.r,t.g=this.g-e.g,t.b=this.b-e.b,t.a=this.a-e.a,this},e.prototype.scale=function(t){return new e(this.r*t,this.g*t,this.b*t,this.a*t)},e.prototype.scaleToRef=function(e,t){return t.r=this.r*e,t.g=this.g*e,t.b=this.b*e,t.a=this.a*e,this},e.prototype.scaleAndAddToRef=function(e,t){return t.r+=this.r*e,t.g+=this.g*e,t.b+=this.b*e,t.a+=this.a*e,this},e.prototype.clampToRef=function(e,t,n){return void 0===e&&(e=0),void 0===t&&(t=1),n.r=i.a.Clamp(this.r,e,t),n.g=i.a.Clamp(this.g,e,t),n.b=i.a.Clamp(this.b,e,t),n.a=i.a.Clamp(this.a,e,t),this},e.prototype.multiply=function(t){return new e(this.r*t.r,this.g*t.g,this.b*t.b,this.a*t.a)},e.prototype.multiplyToRef=function(e,t){return t.r=this.r*e.r,t.g=this.g*e.g,t.b=this.b*e.b,t.a=this.a*e.a,t},e.prototype.toString=function(){return"{R: "+this.r+" G:"+this.g+" B:"+this.b+" A:"+this.a+"}"},e.prototype.getClassName=function(){return"Color4"},e.prototype.getHashCode=function(){var e=255*this.r|0;return e=397*(e=397*(e=397*e^(255*this.g|0))^(255*this.b|0))^(255*this.a|0)},e.prototype.clone=function(){return new e(this.r,this.g,this.b,this.a)},e.prototype.copyFrom=function(e){return this.r=e.r,this.g=e.g,this.b=e.b,this.a=e.a,this},e.prototype.copyFromFloats=function(e,t,n,i){return this.r=e,this.g=t,this.b=n,this.a=i,this},e.prototype.set=function(e,t,n,i){return this.copyFromFloats(e,t,n,i)},e.prototype.toHexString=function(){var e=255*this.r|0,t=255*this.g|0,n=255*this.b|0,r=255*this.a|0;return"#"+i.a.ToHex(e)+i.a.ToHex(t)+i.a.ToHex(n)+i.a.ToHex(r)},e.prototype.toLinearSpace=function(){var t=new e;return this.toLinearSpaceToRef(t),t},e.prototype.toLinearSpaceToRef=function(e){return e.r=Math.pow(this.r,r.c),e.g=Math.pow(this.g,r.c),e.b=Math.pow(this.b,r.c),e.a=this.a,this},e.prototype.toGammaSpace=function(){var t=new e;return this.toGammaSpaceToRef(t),t},e.prototype.toGammaSpaceToRef=function(e){return e.r=Math.pow(this.r,r.b),e.g=Math.pow(this.g,r.b),e.b=Math.pow(this.b,r.b),e.a=this.a,this},e.FromHexString=function(t){if("#"!==t.substring(0,1)||9!==t.length)return new e(0,0,0,0);var n=parseInt(t.substring(1,3),16),i=parseInt(t.substring(3,5),16),r=parseInt(t.substring(5,7),16),o=parseInt(t.substring(7,9),16);return e.FromInts(n,i,r,o)},e.Lerp=function(t,n,i){var r=new e(0,0,0,0);return e.LerpToRef(t,n,i,r),r},e.LerpToRef=function(e,t,n,i){i.r=e.r+(t.r-e.r)*n,i.g=e.g+(t.g-e.g)*n,i.b=e.b+(t.b-e.b)*n,i.a=e.a+(t.a-e.a)*n},e.FromColor3=function(t,n){return void 0===n&&(n=1),new e(t.r,t.g,t.b,n)},e.FromArray=function(t,n){return void 0===n&&(n=0),new e(t[n],t[n+1],t[n+2],t[n+3])},e.FromInts=function(t,n,i,r){return new e(t/255,n/255,i/255,r/255)},e.CheckColors4=function(e,t){if(e.length===3*t){for(var n=[],i=0;i0},e.prototype.clear=function(){this._observers=new Array,this._onObserverAdded=null},e.prototype.clone=function(){var t=new e;return t._observers=this._observers.slice(0),t},e.prototype.hasSpecificMask=function(e){void 0===e&&(e=-1);for(var t=0,n=this._observers;t=2?"WEBGL2":"WEBGL1"};this._loadShader(f,"Vertex","",(function(e){m._loadShader(_,"Fragment","Pixel",(function(n){a.a.Process(e,y,(function(e){y.isFragment=!0,a.a.Process(n,y,(function(n){m._useFinalCode(e,n,t)}))}))}))}))}return Object.defineProperty(e.prototype,"onBindObservable",{get:function(){return this._onBindObservable||(this._onBindObservable=new i.c),this._onBindObservable},enumerable:!0,configurable:!0}),e.prototype._useFinalCode=function(e,t,n){if(n){var i=n.vertexElement||n.vertex||n.spectorName||n,r=n.fragmentElement||n.fragment||n.spectorName||n;this._vertexSourceCode="#define SHADER_NAME vertex:"+i+"\n"+e,this._fragmentSourceCode="#define SHADER_NAME fragment:"+r+"\n"+t}else this._vertexSourceCode=e,this._fragmentSourceCode=t;this._prepareEffect()},Object.defineProperty(e.prototype,"key",{get:function(){return this._key},enumerable:!0,configurable:!0}),e.prototype.isReady=function(){try{return this._isReadyInternal()}catch(e){return!1}},e.prototype._isReadyInternal=function(){return!!this._isReady||!!this._pipelineContext&&this._pipelineContext.isReady},e.prototype.getEngine=function(){return this._engine},e.prototype.getPipelineContext=function(){return this._pipelineContext},e.prototype.getAttributesNames=function(){return this._attributesNames},e.prototype.getAttributeLocation=function(e){return this._attributes[e]},e.prototype.getAttributeLocationByName=function(e){return this._attributeLocationByName[e]},e.prototype.getAttributesCount=function(){return this._attributes.length},e.prototype.getUniformIndex=function(e){return this._uniformsNames.indexOf(e)},e.prototype.getUniform=function(e){return this._uniforms[e]},e.prototype.getSamplers=function(){return this._samplerList},e.prototype.getCompilationError=function(){return this._compilationError},e.prototype.allFallbacksProcessed=function(){return this._allFallbacksProcessed},e.prototype.executeWhenCompiled=function(e){var t=this;this.isReady()?e(this):(this.onCompileObservable.add((function(t){e(t)})),this._pipelineContext&&!this._pipelineContext.isAsync||setTimeout((function(){t._checkIsReady(null)}),16))},e.prototype._checkIsReady=function(e){var t=this;try{if(this._isReadyInternal())return}catch(t){return void this._processCompilationErrors(t,e)}setTimeout((function(){t._checkIsReady(e)}),16)},e.prototype._loadShader=function(t,n,i,o){var a;if("undefined"!=typeof HTMLElement&&t instanceof HTMLElement)return void o(r.a.GetDOMTextContent(t));"source:"!==t.substr(0,7)?"base64:"!==t.substr(0,7)?e.ShadersStore[t+n+"Shader"]?o(e.ShadersStore[t+n+"Shader"]):i&&e.ShadersStore[t+i+"Shader"]?o(e.ShadersStore[t+i+"Shader"]):(a="."===t[0]||"/"===t[0]||t.indexOf("http")>-1?t:e.ShadersRepository+t,this._engine._loadFile(a+"."+n.toLowerCase()+".fx",o)):o(window.atob(t.substr(7))):o(t.substr(7))},e.prototype._rebuildProgram=function(e,t,n,i){var r=this;this._isReady=!1,this._vertexSourceCodeOverride=e,this._fragmentSourceCodeOverride=t,this.onError=function(e,t){i&&i(t)},this.onCompiled=function(){var e=r.getEngine().scenes;if(e)for(var t=0;tthis.value;case t.IsLesser:return this._effectiveTarget[this._property]-1&&this._scene.actionManagers.splice(e,1)},t.prototype.getScene=function(){return this._scene},t.prototype.hasSpecificTriggers=function(e){for(var t=0;t-1)return!0}return!1},t.prototype.hasSpecificTriggers2=function(e,t){for(var n=0;n=t.OnPickTrigger&&n.trigger<=t.OnPointerOutTrigger)return!0}return!1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasPickTriggers",{get:function(){for(var e=0;e=t.OnPickTrigger&&n.trigger<=t.OnPickUpTrigger)return!0}return!1},enumerable:!0,configurable:!0}),t.prototype.registerAction=function(e){return e.trigger===t.OnEveryFrameTrigger&&this.getScene().actionManager!==this?(m.a.Warn("OnEveryFrameTrigger can only be used with scene.actionManager"),null):(this.actions.push(e),t.Triggers[e.trigger]?t.Triggers[e.trigger]++:t.Triggers[e.trigger]=1,e._actionManager=this,e._prepare(),e)},t.prototype.unregisterAction=function(e){var n=this.actions.indexOf(e);return-1!==n&&(this.actions.splice(n,1),t.Triggers[e.trigger]-=1,0===t.Triggers[e.trigger]&&delete t.Triggers[e.trigger],delete e._actionManager,!0)},t.prototype.processTrigger=function(e,n){for(var i=0;i0;if(2===e.type?p.push(r):p.push(n),m){for(var b=new Array,g=0;g0){var _=f.properties[0].value,m=null===f.properties[0].targetType?_:i.getMeshByName(_);m._meshId&&(m.mesh=i.getMeshByID(m._meshId)),p={trigger:t[f.name],parameter:m}}else p=t[f.name];for(var b=0;b=.5?.5*(1-this.easeInCore(2*(1-t)))+.5:.5*this.easeInCore(2*t)},e.EASINGMODE_EASEIN=0,e.EASINGMODE_EASEOUT=1,e.EASINGMODE_EASEINOUT=2,e}(),V=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t.prototype.easeInCore=function(e){return e=Math.max(0,Math.min(1,e)),1-Math.sqrt(1-e*e)},t}(k),z=function(e){function t(t){void 0===t&&(t=1);var n=e.call(this)||this;return n.amplitude=t,n}return Object(p.d)(t,e),t.prototype.easeInCore=function(e){var t=Math.max(0,this.amplitude);return Math.pow(e,3)-e*t*Math.sin(3.141592653589793*e)},t}(k),j=function(e){function t(t,n){void 0===t&&(t=3),void 0===n&&(n=2);var i=e.call(this)||this;return i.bounces=t,i.bounciness=n,i}return Object(p.d)(t,e),t.prototype.easeInCore=function(e){var t=Math.max(0,this.bounces),n=this.bounciness;n<=1&&(n=1.001);var i=Math.pow(n,t),r=1-n,o=(1-i)/r+.5*i,a=e*o,s=Math.log(-a*(1-n)+1)/Math.log(n),c=Math.floor(s),l=c+1,u=(1-Math.pow(n,c))/(r*o),p=.5*(u+(1-Math.pow(n,l))/(r*o)),h=e-p,d=p-u;return-Math.pow(1/n,t-c)/(d*d)*(h-d)*(h+d)},t}(k),U=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t.prototype.easeInCore=function(e){return e*e*e},t}(k),G=function(e){function t(t,n){void 0===t&&(t=3),void 0===n&&(n=3);var i=e.call(this)||this;return i.oscillations=t,i.springiness=n,i}return Object(p.d)(t,e),t.prototype.easeInCore=function(e){var t=Math.max(0,this.oscillations),n=Math.max(0,this.springiness);return(0==n?e:(Math.exp(n*e)-1)/(Math.exp(n)-1))*Math.sin((6.283185307179586*t+1.5707963267948966)*e)},t}(k),H=function(e){function t(t){void 0===t&&(t=2);var n=e.call(this)||this;return n.exponent=t,n}return Object(p.d)(t,e),t.prototype.easeInCore=function(e){return this.exponent<=0?e:(Math.exp(this.exponent*e)-1)/(Math.exp(this.exponent)-1)},t}(k),W=function(e){function t(t){void 0===t&&(t=2);var n=e.call(this)||this;return n.power=t,n}return Object(p.d)(t,e),t.prototype.easeInCore=function(e){var t=Math.max(0,this.power);return Math.pow(e,t)},t}(k),X=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t.prototype.easeInCore=function(e){return e*e},t}(k),Y=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t.prototype.easeInCore=function(e){return e*e*e*e},t}(k),Q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t.prototype.easeInCore=function(e){return e*e*e*e*e},t}(k),K=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t.prototype.easeInCore=function(e){return 1-Math.sin(1.5707963267948966*(1-e))},t}(k),Z=function(e){function t(t,n,i,r){void 0===t&&(t=0),void 0===n&&(n=0),void 0===i&&(i=1),void 0===r&&(r=1);var o=e.call(this)||this;return o.x1=t,o.y1=n,o.x2=i,o.y2=r,o}return Object(p.d)(t,e),t.prototype.easeInCore=function(e){return B.c.Interpolate(e,this.x1,this.y1,this.x2,this.y2)},t}(k),q=n(177),J=n(187),$=n(132),ee=n(145),te=n(118),ne=n(14),ie=function(){function e(e){this.SMOOTHING=.75,this.FFT_SIZE=512,this.BARGRAPHAMPLITUDE=256,this.DEBUGCANVASPOS={x:20,y:20},this.DEBUGCANVASSIZE={width:320,height:200},this._scene=e,this._audioEngine=ne.a.audioEngine,this._audioEngine.canUseWebAudio&&this._audioEngine.audioContext&&(this._webAudioAnalyser=this._audioEngine.audioContext.createAnalyser(),this._webAudioAnalyser.minDecibels=-140,this._webAudioAnalyser.maxDecibels=0,this._byteFreqs=new Uint8Array(this._webAudioAnalyser.frequencyBinCount),this._byteTime=new Uint8Array(this._webAudioAnalyser.frequencyBinCount),this._floatFreqs=new Float32Array(this._webAudioAnalyser.frequencyBinCount))}return e.prototype.getFrequencyBinCount=function(){return this._audioEngine.canUseWebAudio?this._webAudioAnalyser.frequencyBinCount:0},e.prototype.getByteFrequencyData=function(){return this._audioEngine.canUseWebAudio&&(this._webAudioAnalyser.smoothingTimeConstant=this.SMOOTHING,this._webAudioAnalyser.fftSize=this.FFT_SIZE,this._webAudioAnalyser.getByteFrequencyData(this._byteFreqs)),this._byteFreqs},e.prototype.getByteTimeDomainData=function(){return this._audioEngine.canUseWebAudio&&(this._webAudioAnalyser.smoothingTimeConstant=this.SMOOTHING,this._webAudioAnalyser.fftSize=this.FFT_SIZE,this._webAudioAnalyser.getByteTimeDomainData(this._byteTime)),this._byteTime},e.prototype.getFloatFrequencyData=function(){return this._audioEngine.canUseWebAudio&&(this._webAudioAnalyser.smoothingTimeConstant=this.SMOOTHING,this._webAudioAnalyser.fftSize=this.FFT_SIZE,this._webAudioAnalyser.getFloatFrequencyData(this._floatFreqs)),this._floatFreqs},e.prototype.drawDebugCanvas=function(){var e=this;if(this._audioEngine.canUseWebAudio&&(this._debugCanvas||(this._debugCanvas=document.createElement("canvas"),this._debugCanvas.width=this.DEBUGCANVASSIZE.width,this._debugCanvas.height=this.DEBUGCANVASSIZE.height,this._debugCanvas.style.position="absolute",this._debugCanvas.style.top=this.DEBUGCANVASPOS.y+"px",this._debugCanvas.style.left=this.DEBUGCANVASPOS.x+"px",this._debugCanvasContext=this._debugCanvas.getContext("2d"),document.body.appendChild(this._debugCanvas),this._registerFunc=function(){e.drawDebugCanvas()},this._scene.registerBeforeRender(this._registerFunc)),this._registerFunc&&this._debugCanvasContext)){var t=this.getByteFrequencyData();this._debugCanvasContext.fillStyle="rgb(0, 0, 0)",this._debugCanvasContext.fillRect(0,0,this.DEBUGCANVASSIZE.width,this.DEBUGCANVASSIZE.height);for(var n=0;n0?t.activeCameras[0]:t.activeCamera){this._cachedCameraPosition.equals(r.globalPosition)||(this._cachedCameraPosition.copyFrom(r.globalPosition),n.audioContext.listener.setPosition(r.globalPosition.x,r.globalPosition.y,r.globalPosition.z)),r.rigCameras&&r.rigCameras.length>0&&(r=r.rigCameras[0]);var o=a.a.Invert(r.getViewMatrix()),s=a.e.TransformNormal(new a.e(0,0,-1),o);s.normalize(),isNaN(s.x)||isNaN(s.y)||isNaN(s.z)||this._cachedCameraDirection.equals(s)||(this._cachedCameraDirection.copyFrom(s),n.audioContext.listener.setOrientation(s.x,s.y,s.z,0,1,0))}else n.audioContext.listener.setPosition(0,0,0)}var c;for(c=0;c0},enumerable:!0,configurable:!0}),e.prototype.init=function(){},e.prototype.attach=function(e){var t=this;this._attachedCamera=e;var n=this._attachedCamera.getScene();this._onPrePointerObservableObserver=n.onPrePointerObservable.add((function(e){e.type!==he.a.POINTERDOWN?e.type===he.a.POINTERUP&&(t._isPointerDown=!1):t._isPointerDown=!0})),this._onAfterCheckInputsObserver=e.onAfterCheckInputsObservable.add((function(){var e=le.a.Now,n=0;null!=t._lastFrameTime&&(n=e-t._lastFrameTime),t._lastFrameTime=e,t._applyUserInteraction();var i=e-t._lastInteractionTime-t._idleRotationWaitTime,r=Math.max(Math.min(i/t._idleRotationSpinupTime,1),0);t._cameraRotationSpeed=t._idleRotationSpeed*r,t._attachedCamera&&(t._attachedCamera.alpha-=t._cameraRotationSpeed*(n/1e3))}))},e.prototype.detach=function(){if(this._attachedCamera){var e=this._attachedCamera.getScene();this._onPrePointerObservableObserver&&e.onPrePointerObservable.remove(this._onPrePointerObservableObserver),this._attachedCamera.onAfterCheckInputsObservable.remove(this._onAfterCheckInputsObserver),this._attachedCamera=null}},e.prototype._userIsZooming=function(){return!!this._attachedCamera&&0!==this._attachedCamera.inertialRadiusOffset},e.prototype._shouldAnimationStopForInteraction=function(){if(!this._attachedCamera)return!1;var e=!1;return this._lastFrameRadius===this._attachedCamera.radius&&0!==this._attachedCamera.inertialRadiusOffset&&(e=!0),this._lastFrameRadius=this._attachedCamera.radius,this._zoomStopsAnimation?e:this._userIsZooming()},e.prototype._applyUserInteraction=function(){this._userIsMoving()&&!this._shouldAnimationStopForInteraction()&&(this._lastInteractionTime=le.a.Now)},e.prototype._userIsMoving=function(){return!!this._attachedCamera&&(0!==this._attachedCamera.inertialAlphaOffset||0!==this._attachedCamera.inertialBetaOffset||0!==this._attachedCamera.inertialRadiusOffset||0!==this._attachedCamera.inertialPanningX||0!==this._attachedCamera.inertialPanningY||this._isPointerDown)},e}(),fe=function(){function e(){this.transitionDuration=450,this.lowerRadiusTransitionRange=2,this.upperRadiusTransitionRange=-2,this._autoTransitionRange=!1,this._radiusIsAnimating=!1,this._radiusBounceTransition=null,this._animatables=new Array}return Object.defineProperty(e.prototype,"name",{get:function(){return"Bouncing"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"autoTransitionRange",{get:function(){return this._autoTransitionRange},set:function(e){var t=this;if(this._autoTransitionRange!==e){this._autoTransitionRange=e;var n=this._attachedCamera;n&&(e?this._onMeshTargetChangedObserver=n.onMeshTargetChangedObservable.add((function(e){if(e){e.computeWorldMatrix(!0);var n=e.getBoundingInfo().diagonalLength;t.lowerRadiusTransitionRange=.05*n,t.upperRadiusTransitionRange=.05*n}})):this._onMeshTargetChangedObserver&&n.onMeshTargetChangedObservable.remove(this._onMeshTargetChangedObserver))}},enumerable:!0,configurable:!0}),e.prototype.init=function(){},e.prototype.attach=function(e){var t=this;this._attachedCamera=e,this._onAfterCheckInputsObserver=e.onAfterCheckInputsObservable.add((function(){t._attachedCamera&&(t._isRadiusAtLimit(t._attachedCamera.lowerRadiusLimit)&&t._applyBoundRadiusAnimation(t.lowerRadiusTransitionRange),t._isRadiusAtLimit(t._attachedCamera.upperRadiusLimit)&&t._applyBoundRadiusAnimation(t.upperRadiusTransitionRange))}))},e.prototype.detach=function(){this._attachedCamera&&(this._onAfterCheckInputsObserver&&this._attachedCamera.onAfterCheckInputsObservable.remove(this._onAfterCheckInputsObserver),this._onMeshTargetChangedObserver&&this._attachedCamera.onMeshTargetChangedObservable.remove(this._onMeshTargetChangedObserver),this._attachedCamera=null)},e.prototype._isRadiusAtLimit=function(e){return!!this._attachedCamera&&(this._attachedCamera.radius===e&&!this._radiusIsAnimating)},e.prototype._applyBoundRadiusAnimation=function(t){var n=this;if(this._attachedCamera){this._radiusBounceTransition||(e.EasingFunction.setEasingMode(e.EasingMode),this._radiusBounceTransition=w.a.CreateAnimation("radius",w.a.ANIMATIONTYPE_FLOAT,60,e.EasingFunction)),this._cachedWheelPrecision=this._attachedCamera.wheelPrecision,this._attachedCamera.wheelPrecision=1/0,this._attachedCamera.inertialRadiusOffset=0,this.stopAllAnimations(),this._radiusIsAnimating=!0;var i=w.a.TransitionTo("radius",this._attachedCamera.radius+t,this._attachedCamera,this._attachedCamera.getScene(),60,this._radiusBounceTransition,this.transitionDuration,(function(){return n._clearAnimationLocks()}));i&&this._animatables.push(i)}},e.prototype._clearAnimationLocks=function(){this._radiusIsAnimating=!1,this._attachedCamera&&(this._attachedCamera.wheelPrecision=this._cachedWheelPrecision)},e.prototype.stopAllAnimations=function(){for(this._attachedCamera&&(this._attachedCamera.animations=[]);this._animatables.length;)this._animatables[0].onAnimationEnd=null,this._animatables[0].stop(),this._animatables.shift()},e.EasingFunction=new z(.3),e.EasingMode=k.EASINGMODE_EASEOUT,e}(),_e=function(){function e(){this._mode=e.FitFrustumSidesMode,this._radiusScale=1,this._positionScale=.5,this._defaultElevation=.3,this._elevationReturnTime=1500,this._elevationReturnWaitTime=1e3,this._zoomStopsAnimation=!1,this._framingTime=1500,this.autoCorrectCameraLimitsAndSensibility=!0,this._isPointerDown=!1,this._lastInteractionTime=-1/0,this._animatables=new Array,this._betaIsAnimating=!1}return Object.defineProperty(e.prototype,"name",{get:function(){return"Framing"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"mode",{get:function(){return this._mode},set:function(e){this._mode=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"radiusScale",{get:function(){return this._radiusScale},set:function(e){this._radiusScale=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"positionScale",{get:function(){return this._positionScale},set:function(e){this._positionScale=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"defaultElevation",{get:function(){return this._defaultElevation},set:function(e){this._defaultElevation=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"elevationReturnTime",{get:function(){return this._elevationReturnTime},set:function(e){this._elevationReturnTime=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"elevationReturnWaitTime",{get:function(){return this._elevationReturnWaitTime},set:function(e){this._elevationReturnWaitTime=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"zoomStopsAnimation",{get:function(){return this._zoomStopsAnimation},set:function(e){this._zoomStopsAnimation=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"framingTime",{get:function(){return this._framingTime},set:function(e){this._framingTime=e},enumerable:!0,configurable:!0}),e.prototype.init=function(){},e.prototype.attach=function(t){var n=this;this._attachedCamera=t;var i=this._attachedCamera.getScene();e.EasingFunction.setEasingMode(e.EasingMode),this._onPrePointerObservableObserver=i.onPrePointerObservable.add((function(e){e.type!==he.a.POINTERDOWN?e.type===he.a.POINTERUP&&(n._isPointerDown=!1):n._isPointerDown=!0})),this._onMeshTargetChangedObserver=t.onMeshTargetChangedObservable.add((function(e){e&&n.zoomOnMesh(e)})),this._onAfterCheckInputsObserver=t.onAfterCheckInputsObservable.add((function(){n._applyUserInteraction(),n._maintainCameraAboveGround()}))},e.prototype.detach=function(){if(this._attachedCamera){var e=this._attachedCamera.getScene();this._onPrePointerObservableObserver&&e.onPrePointerObservable.remove(this._onPrePointerObservableObserver),this._onAfterCheckInputsObserver&&this._attachedCamera.onAfterCheckInputsObservable.remove(this._onAfterCheckInputsObserver),this._onMeshTargetChangedObserver&&this._attachedCamera.onMeshTargetChangedObservable.remove(this._onMeshTargetChangedObserver),this._attachedCamera=null}},e.prototype.zoomOnMesh=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=null),e.computeWorldMatrix(!0);var i=e.getBoundingInfo().boundingBox;this.zoomOnBoundingInfo(i.minimumWorld,i.maximumWorld,t,n)},e.prototype.zoomOnMeshHierarchy=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=null),e.computeWorldMatrix(!0);var i=e.getHierarchyBoundingVectors(!0);this.zoomOnBoundingInfo(i.min,i.max,t,n)},e.prototype.zoomOnMeshesHierarchy=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=null);for(var i=new a.e(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),r=new a.e(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),o=0;ol.upperRadiusLimit?l.upperRadiusLimit:c),c):0},e.prototype._maintainCameraAboveGround=function(){var t=this;if(!(this._elevationReturnTime<0)){var n=le.a.Now-this._lastInteractionTime,i=.5*Math.PI-this._defaultElevation,r=.5*Math.PI;if(this._attachedCamera&&!this._betaIsAnimating&&this._attachedCamera.beta>r&&n>=this._elevationReturnWaitTime){this._betaIsAnimating=!0,this.stopAllAnimations(),this._betaTransition||(this._betaTransition=w.a.CreateAnimation("beta",w.a.ANIMATIONTYPE_FLOAT,60,e.EasingFunction));var o=w.a.TransitionTo("beta",i,this._attachedCamera,this._attachedCamera.getScene(),60,this._betaTransition,this._elevationReturnTime,(function(){t._clearAnimationLocks(),t.stopAllAnimations()}));o&&this._animatables.push(o)}}},e.prototype._getFrustumSlope=function(){var e=this._attachedCamera;if(!e)return a.d.Zero();var t=e.getScene().getEngine().getAspectRatio(e),n=Math.tan(e.fov/2),i=n*t;return new a.d(i,n)},e.prototype._clearAnimationLocks=function(){this._betaIsAnimating=!1},e.prototype._applyUserInteraction=function(){this.isUserIsMoving&&(this._lastInteractionTime=le.a.Now,this.stopAllAnimations(),this._clearAnimationLocks())},e.prototype.stopAllAnimations=function(){for(this._attachedCamera&&(this._attachedCamera.animations=[]);this._animatables.length;)this._animatables[0]&&(this._animatables[0].onAnimationEnd=null,this._animatables[0].stop()),this._animatables.shift()},Object.defineProperty(e.prototype,"isUserIsMoving",{get:function(){return!!this._attachedCamera&&(0!==this._attachedCamera.inertialAlphaOffset||0!==this._attachedCamera.inertialBetaOffset||0!==this._attachedCamera.inertialRadiusOffset||0!==this._attachedCamera.inertialPanningX||0!==this._attachedCamera.inertialPanningY||this._isPointerDown)},enumerable:!0,configurable:!0}),e.EasingFunction=new H,e.EasingMode=k.EASINGMODE_EASEINOUT,e.IgnoreBoundsSizeMode=0,e.FitFrustumSidesMode=1,e}(),me=function(e,t,n,i){void 0===t&&(t=new a.e),void 0===n&&(n=0),void 0===i&&(i=!1),this.direction=e,this.rotatedDirection=t,this.diff=n,this.ignore=i},be=function(){function e(e){this.ui=e,this.name="AttachToBoxBehavior",this.distanceAwayFromFace=.15,this.distanceAwayFromBottomOfFace=.15,this._faceVectors=[new me(a.e.Up()),new me(a.e.Down()),new me(a.e.Left()),new me(a.e.Right()),new me(a.e.Forward()),new me(a.e.Forward().scaleInPlace(-1))],this._tmpMatrix=new a.a,this._tmpVector=new a.e,this._zeroVector=a.e.Zero(),this._lookAtTmpMatrix=new a.a}return e.prototype.init=function(){},e.prototype._closestFace=function(e){var t=this;return this._faceVectors.forEach((function(n){t._target.rotationQuaternion||(t._target.rotationQuaternion=a.b.RotationYawPitchRoll(t._target.rotation.y,t._target.rotation.x,t._target.rotation.z)),t._target.rotationQuaternion.toRotationMatrix(t._tmpMatrix),a.e.TransformCoordinatesToRef(n.direction,t._tmpMatrix,n.rotatedDirection),n.diff=a.e.GetAngleBetweenVectors(n.rotatedDirection,e,a.e.Cross(n.rotatedDirection,e))})),this._faceVectors.reduce((function(e,t){return e.ignore?t:t.ignore||e.diffl.x)return!1}else if(r=1/this.direction.x,o=(c.x-this.origin.x)*r,(a=(l.x-this.origin.x)*r)===-1/0&&(a=1/0),o>a&&(s=o,o=a,a=s),(u=Math.max(o,u))>(p=Math.min(a,p)))return!1;if(Math.abs(this.direction.y)<1e-7){if(this.origin.yl.y)return!1}else if(r=1/this.direction.y,o=(c.y-this.origin.y)*r,(a=(l.y-this.origin.y)*r)===-1/0&&(a=1/0),o>a&&(s=o,o=a,a=s),(u=Math.max(o,u))>(p=Math.min(a,p)))return!1;if(Math.abs(this.direction.z)<1e-7){if(this.origin.zl.z)return!1}else if(r=1/this.direction.z,o=(c.z-this.origin.z)*r,(a=(l.z-this.origin.z)*r)===-1/0&&(a=1/0),o>a&&(s=o,o=a,a=s),(u=Math.max(o,u))>(p=Math.min(a,p)))return!1;return!0},e.prototype.intersectsBox=function(e,t){return void 0===t&&(t=0),this.intersectsBoxMinMax(e.minimum,e.maximum,t)},e.prototype.intersectsSphere=function(e,t){void 0===t&&(t=0);var n=e.center.x-this.origin.x,i=e.center.y-this.origin.y,r=e.center.z-this.origin.z,o=n*n+i*i+r*r,a=e.radius+t,s=a*a;if(o<=s)return!0;var c=n*this.direction.x+i*this.direction.y+r*this.direction.z;return!(c<0)&&o-c*c<=s},e.prototype.intersectsTriangle=function(t,n,i){var r=e.TmpVector3[0],o=e.TmpVector3[1],s=e.TmpVector3[2],c=e.TmpVector3[3],l=e.TmpVector3[4];n.subtractToRef(t,r),i.subtractToRef(t,o),a.e.CrossToRef(this.direction,o,s);var u=a.e.Dot(r,s);if(0===u)return null;var p=1/u;this.origin.subtractToRef(t,c);var h=a.e.Dot(c,s)*p;if(h<0||h>1)return null;a.e.CrossToRef(c,r,l);var d=a.e.Dot(this.direction,l)*p;if(d<0||h+d>1)return null;var f=a.e.Dot(o,l)*p;return f>this.length?null:new Ae.a(1-h-d,h,f)},e.prototype.intersectsPlane=function(e){var t,n=a.e.Dot(e.normal,this.direction);if(Math.abs(n)<9.99999997475243e-7)return null;var i=a.e.Dot(e.normal,this.origin);return(t=(-e.d-i)/n)<0?t<-9.99999997475243e-7?null:0:t},e.prototype.intersectsAxis=function(e,t){switch(void 0===t&&(t=0),e){case"y":return(n=(this.origin.y-t)/this.direction.y)>0?null:new a.e(this.origin.x+this.direction.x*-n,t,this.origin.z+this.direction.z*-n);case"x":return(n=(this.origin.x-t)/this.direction.x)>0?null:new a.e(t,this.origin.y+this.direction.y*-n,this.origin.z+this.direction.z*-n);case"z":var n;return(n=(this.origin.z-t)/this.direction.z)>0?null:new a.e(this.origin.x+this.direction.x*-n,this.origin.y+this.direction.y*-n,t);default:return null}},e.prototype.intersectsMesh=function(t,n){var i=a.c.Matrix[0];return t.getWorldMatrix().invertToRef(i),this._tmpRay?e.TransformToRef(this,i,this._tmpRay):this._tmpRay=e.Transform(this,i),t.intersects(this._tmpRay,n)},e.prototype.intersectsMeshes=function(e,t,n){n?n.length=0:n=[];for(var i=0;it.distance?1:0},e.prototype.intersectionSegment=function(t,n,i){var r=this.origin,o=a.c.Vector3[0],s=a.c.Vector3[1],c=a.c.Vector3[2],l=a.c.Vector3[3];n.subtractToRef(t,o),this.direction.scaleToRef(e.rayl,c),r.addToRef(c,s),t.subtractToRef(r,l);var u,p,h,d,f=a.e.Dot(o,o),_=a.e.Dot(o,c),m=a.e.Dot(c,c),b=a.e.Dot(o,l),g=a.e.Dot(c,l),v=f*m-_*_,y=v,C=v;vy&&(p=y,d=g+_,C=m)),d<0?(d=0,-b<0?p=0:-b>f?p=y:(p=-b,y=f)):d>C&&(d=C,-b+_<0?p=0:-b+_>f?p=y:(p=-b+_,y=f)),u=Math.abs(p)0&&h<=this.length&&S.lengthSquared()=r.distance))&&(r=c,n)))break}return r||new Ce.a},ce.a.prototype._internalMultiPick=function(e,t,n){if(!Ce.a)return null;for(var i=new Array,r=0;r1)throw"Multiple drag modes specified in dragBehavior options. Only one expected"}return Object.defineProperty(e.prototype,"options",{get:function(){return this._options},set:function(e){this._options=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return"PointerDrag"},enumerable:!0,configurable:!0}),e.prototype.init=function(){},e.prototype.attach=function(t,n){var i=this;this._scene=t.getScene(),this.attachedNode=t,e._planeScene||(this._debugMode?e._planeScene=this._scene:(e._planeScene=new ce.a(this._scene.getEngine(),{virtual:!0}),e._planeScene.detachControl(),this._scene.onDisposeObservable.addOnce((function(){e._planeScene.dispose(),e._planeScene=null})))),this._dragPlane=ve.a.CreatePlane("pointerDragPlane",this._debugMode?1:1e4,e._planeScene,!1,ve.a.DOUBLESIDE),this.lastDragPosition=new a.e(0,0,0);var r=n||function(e){return i.attachedNode==e||e.isDescendantOf(i.attachedNode)};this._pointerObserver=this._scene.onPointerObservable.add((function(t,n){if(i.enabled)if(t.type==he.a.POINTERDOWN)i.startAndReleaseDragOnPointerEvents&&!i.dragging&&t.pickInfo&&t.pickInfo.hit&&t.pickInfo.pickedMesh&&t.pickInfo.pickedPoint&&t.pickInfo.ray&&r(t.pickInfo.pickedMesh)&&i._startDrag(t.event.pointerId,t.pickInfo.ray,t.pickInfo.pickedPoint);else if(t.type==he.a.POINTERUP)i.startAndReleaseDragOnPointerEvents&&i.currentDraggingPointerID==t.event.pointerId&&i.releaseDrag();else if(t.type==he.a.POINTERMOVE){var o=t.event.pointerId;i.currentDraggingPointerID===e._AnyMouseID&&o!==e._AnyMouseID&&"mouse"==t.event.pointerType&&(i._lastPointerRay[i.currentDraggingPointerID]&&(i._lastPointerRay[o]=i._lastPointerRay[i.currentDraggingPointerID],delete i._lastPointerRay[i.currentDraggingPointerID]),i.currentDraggingPointerID=o),i._lastPointerRay[o]||(i._lastPointerRay[o]=new Se(new a.e,new a.e)),t.pickInfo&&t.pickInfo.ray&&(i._lastPointerRay[o].origin.copyFrom(t.pickInfo.ray.origin),i._lastPointerRay[o].direction.copyFrom(t.pickInfo.ray.direction),i.currentDraggingPointerID==o&&i.dragging&&i._moveDrag(t.pickInfo.ray))}})),this._beforeRenderObserver=this._scene.onBeforeRenderObservable.add((function(){i._moving&&i.moveAttached&&(Te._RemoveAndStorePivotPoint(i.attachedNode),i._targetPosition.subtractToRef(i.attachedNode.absolutePosition,i._tmpVector),i._tmpVector.scaleInPlace(i.dragDeltaRatio),i.attachedNode.getAbsolutePosition().addToRef(i._tmpVector,i._tmpVector),i.validateDrag(i._tmpVector)&&i.attachedNode.setAbsolutePosition(i._tmpVector),Te._RestorePivotPoint(i.attachedNode))}))},e.prototype.releaseDrag=function(){this.dragging&&(this.onDragEndObservable.notifyObservers({dragPlanePoint:this.lastDragPosition,pointerId:this.currentDraggingPointerID}),this.dragging=!1),this.currentDraggingPointerID=-1,this._moving=!1,this.detachCameraControls&&this._attachedElement&&this._scene.activeCamera&&!this._scene.activeCamera.leftCamera&&this._scene.activeCamera.attachControl(this._attachedElement,!this._scene.activeCamera.inputs||this._scene.activeCamera.inputs.noPreventDefault)},e.prototype.startDrag=function(t,n,i){void 0===t&&(t=e._AnyMouseID),this._startDrag(t,n,i);var r=this._lastPointerRay[t];t===e._AnyMouseID&&(r=this._lastPointerRay[Object.keys(this._lastPointerRay)[0]]),r&&this._moveDrag(r)},e.prototype._startDrag=function(e,t,n){if(this._scene.activeCamera&&!this.dragging&&this.attachedNode){Te._RemoveAndStorePivotPoint(this.attachedNode),t?(this._startDragRay.direction.copyFrom(t.direction),this._startDragRay.origin.copyFrom(t.origin)):(this._startDragRay.origin.copyFrom(this._scene.activeCamera.position),this.attachedNode.getWorldMatrix().getTranslationToRef(this._tmpVector),this._tmpVector.subtractToRef(this._scene.activeCamera.position,this._startDragRay.direction)),this._updateDragPlanePosition(this._startDragRay,n||this._tmpVector);var i=this._pickWithRayOnDragPlane(this._startDragRay);i&&(this.dragging=!0,this.currentDraggingPointerID=e,this.lastDragPosition.copyFrom(i),this.onDragStartObservable.notifyObservers({dragPlanePoint:i,pointerId:this.currentDraggingPointerID}),this._targetPosition.copyFrom(this.attachedNode.absolutePosition),this.detachCameraControls&&this._scene.activeCamera&&this._scene.activeCamera.inputs&&!this._scene.activeCamera.leftCamera&&(this._scene.activeCamera.inputs.attachedElement?(this._attachedElement=this._scene.activeCamera.inputs.attachedElement,this._scene.activeCamera.detachControl(this._scene.activeCamera.inputs.attachedElement)):this._attachedElement=null)),Te._RestorePivotPoint(this.attachedNode)}},e.prototype._moveDrag=function(e){this._moving=!0;var t=this._pickWithRayOnDragPlane(e);if(t){this.updateDragPlane&&this._updateDragPlanePosition(e,t);var n=0;this._options.dragAxis?(this.useObjectOrientationForDragging?a.e.TransformCoordinatesToRef(this._options.dragAxis,this.attachedNode.getWorldMatrix().getRotationMatrix(),this._worldDragAxis):this._worldDragAxis.copyFrom(this._options.dragAxis),t.subtractToRef(this.lastDragPosition,this._tmpVector),n=a.e.Dot(this._tmpVector,this._worldDragAxis),this._worldDragAxis.scaleToRef(n,this._dragDelta)):(n=this._dragDelta.length(),t.subtractToRef(this.lastDragPosition,this._dragDelta)),this._targetPosition.addInPlace(this._dragDelta),this.onDragObservable.notifyObservers({dragDistance:n,delta:this._dragDelta,dragPlanePoint:t,dragPlaneNormal:this._dragPlane.forward,pointerId:this.currentDraggingPointerID}),this.lastDragPosition.copyFrom(t)}},e.prototype._pickWithRayOnDragPlane=function(t){var n=this;if(!t)return null;var i=Math.acos(a.e.Dot(this._dragPlane.forward,t.direction));if(i>Math.PI/2&&(i=Math.PI-i),this.maxDragAngle>0&&i>this.maxDragAngle){if(this._useAlternatePickedPointAboveMaxDragAngle){this._tmpVector.copyFrom(t.direction),this.attachedNode.absolutePosition.subtractToRef(t.origin,this._alternatePickedPoint),this._alternatePickedPoint.normalize(),this._alternatePickedPoint.scaleInPlace(this._useAlternatePickedPointAboveMaxDragAngleDragSpeed*a.e.Dot(this._alternatePickedPoint,this._tmpVector)),this._tmpVector.addInPlace(this._alternatePickedPoint);var r=a.e.Dot(this._dragPlane.forward,this._tmpVector);return this._dragPlane.forward.scaleToRef(-r,this._alternatePickedPoint),this._alternatePickedPoint.addInPlace(this._tmpVector),this._alternatePickedPoint.addInPlace(this.attachedNode.absolutePosition),this._alternatePickedPoint}return null}var o=e._planeScene.pickWithRay(t,(function(e){return e==n._dragPlane}));return o&&o.hit&&o.pickedMesh&&o.pickedPoint?o.pickedPoint:null},e.prototype._updateDragPlanePosition=function(e,t){this._pointA.copyFrom(t),this._options.dragAxis?(this.useObjectOrientationForDragging?a.e.TransformCoordinatesToRef(this._options.dragAxis,this.attachedNode.getWorldMatrix().getRotationMatrix(),this._localAxis):this._localAxis.copyFrom(this._options.dragAxis),this._pointA.addToRef(this._localAxis,this._pointB),e.origin.subtractToRef(this._pointA,this._pointC),this._pointA.addToRef(this._pointC.normalize(),this._pointC),this._pointB.subtractToRef(this._pointA,this._lineA),this._pointC.subtractToRef(this._pointA,this._lineB),a.e.CrossToRef(this._lineA,this._lineB,this._lookAt),a.e.CrossToRef(this._lineA,this._lookAt,this._lookAt),this._lookAt.normalize(),this._dragPlane.position.copyFrom(this._pointA),this._pointA.addToRef(this._lookAt,this._lookAt),this._dragPlane.lookAt(this._lookAt)):this._options.dragPlaneNormal?(this.useObjectOrientationForDragging?a.e.TransformCoordinatesToRef(this._options.dragPlaneNormal,this.attachedNode.getWorldMatrix().getRotationMatrix(),this._localAxis):this._localAxis.copyFrom(this._options.dragPlaneNormal),this._dragPlane.position.copyFrom(this._pointA),this._pointA.addToRef(this._localAxis,this._lookAt),this._dragPlane.lookAt(this._lookAt)):(this._dragPlane.position.copyFrom(this._pointA),this._dragPlane.lookAt(e.origin)),this._dragPlane.position.copyFrom(this.attachedNode.absolutePosition),this._dragPlane.computeWorldMatrix(!0)},e.prototype.detach=function(){this._pointerObserver&&this._scene.onPointerObservable.remove(this._pointerObserver),this._beforeRenderObserver&&this._scene.onBeforeRenderObservable.remove(this._beforeRenderObserver),this.releaseDrag()},e._AnyMouseID=-2,e}(),Oe=function(){function e(){this._startDistance=0,this._initialScale=new a.e(0,0,0),this._targetScale=new a.e(0,0,0),this._sceneRenderObserver=null,this._dragBehaviorA=new Pe({}),this._dragBehaviorA.moveAttached=!1,this._dragBehaviorB=new Pe({}),this._dragBehaviorB.moveAttached=!1}return Object.defineProperty(e.prototype,"name",{get:function(){return"MultiPointerScale"},enumerable:!0,configurable:!0}),e.prototype.init=function(){},e.prototype._getCurrentDistance=function(){return this._dragBehaviorA.lastDragPosition.subtract(this._dragBehaviorB.lastDragPosition).length()},e.prototype.attach=function(e){var t=this;this._ownerNode=e,this._dragBehaviorA.onDragStartObservable.add((function(n){t._dragBehaviorA.dragging&&t._dragBehaviorB.dragging&&(t._dragBehaviorA.currentDraggingPointerID==t._dragBehaviorB.currentDraggingPointerID?t._dragBehaviorA.releaseDrag():(t._initialScale.copyFrom(e.scaling),t._startDistance=t._getCurrentDistance()))})),this._dragBehaviorB.onDragStartObservable.add((function(n){t._dragBehaviorA.dragging&&t._dragBehaviorB.dragging&&(t._dragBehaviorA.currentDraggingPointerID==t._dragBehaviorB.currentDraggingPointerID?t._dragBehaviorB.releaseDrag():(t._initialScale.copyFrom(e.scaling),t._startDistance=t._getCurrentDistance()))})),[this._dragBehaviorA,this._dragBehaviorB].forEach((function(e){e.onDragObservable.add((function(){if(t._dragBehaviorA.dragging&&t._dragBehaviorB.dragging){var e=t._getCurrentDistance()/t._startDistance;t._initialScale.scaleToRef(e,t._targetScale)}}))})),e.addBehavior(this._dragBehaviorA),e.addBehavior(this._dragBehaviorB),this._sceneRenderObserver=e.getScene().onBeforeRenderObservable.add((function(){if(t._dragBehaviorA.dragging&&t._dragBehaviorB.dragging){var n=t._targetScale.subtract(e.scaling).scaleInPlace(.1);n.length()>.01&&e.scaling.addInPlace(n)}}))},e.prototype.detach=function(){var e=this;this._ownerNode.getScene().onBeforeRenderObservable.remove(this._sceneRenderObserver),[this._dragBehaviorA,this._dragBehaviorB].forEach((function(t){t.onDragStartObservable.clear(),t.onDragObservable.clear(),e._ownerNode.removeBehavior(t)}))},e}(),Me=n(29),Re=function(){function e(){this._sceneRenderObserver=null,this._targetPosition=new a.e(0,0,0),this._moving=!1,this._startingOrientation=new a.b,this.zDragFactor=3,this.rotateDraggedObject=!0,this.dragging=!1,this.dragDeltaRatio=.2,this.currentDraggingPointerID=-1,this.detachCameraControls=!0,this.onDragStartObservable=new o.c,this.onDragEndObservable=new o.c}return Object.defineProperty(e.prototype,"name",{get:function(){return"SixDofDrag"},enumerable:!0,configurable:!0}),e.prototype.init=function(){},Object.defineProperty(e.prototype,"_pointerCamera",{get:function(){return this._scene.cameraToUseForPointers?this._scene.cameraToUseForPointers:this._scene.activeCamera},enumerable:!0,configurable:!0}),e.prototype.attach=function(t){var n=this;this._ownerNode=t,this._scene=this._ownerNode.getScene(),e._virtualScene||(e._virtualScene=new ce.a(this._scene.getEngine()),e._virtualScene.detachControl(),this._scene.getEngine().scenes.pop());var i=null,r=new a.e(0,0,0);this._virtualOriginMesh=new Me.a("",e._virtualScene),this._virtualOriginMesh.rotationQuaternion=new a.b,this._virtualDragMesh=new Me.a("",e._virtualScene),this._virtualDragMesh.rotationQuaternion=new a.b;var o=null;this._pointerObserver=this._scene.onPointerObservable.add((function(e,t){if(e.type==he.a.POINTERDOWN){if(!n.dragging&&e.pickInfo&&e.pickInfo.hit&&e.pickInfo.pickedMesh&&e.pickInfo.ray&&(p=e.pickInfo.pickedMesh,n._ownerNode==p||p.isDescendantOf(n._ownerNode))){n._pointerCamera&&n._pointerCamera.cameraRigMode==xe.a.RIG_MODE_NONE&&e.pickInfo.ray.origin.copyFrom(n._pointerCamera.globalPosition),i=n._ownerNode,Te._RemoveAndStorePivotPoint(i),r.copyFrom(e.pickInfo.ray.origin),n._virtualOriginMesh.position.copyFrom(e.pickInfo.ray.origin),n._virtualOriginMesh.lookAt(e.pickInfo.ray.origin.add(e.pickInfo.ray.direction)),n._virtualOriginMesh.removeChild(n._virtualDragMesh),i.computeWorldMatrix(),n._virtualDragMesh.position.copyFrom(i.absolutePosition),i.rotationQuaternion||(i.rotationQuaternion=a.b.RotationYawPitchRoll(i.rotation.y,i.rotation.x,i.rotation.z));var s=i.parent;i.setParent(null),n._virtualDragMesh.rotationQuaternion.copyFrom(i.rotationQuaternion),i.setParent(s),n._virtualOriginMesh.addChild(n._virtualDragMesh),n._targetPosition.copyFrom(n._virtualDragMesh.absolutePosition),n.dragging=!0,n.currentDraggingPointerID=e.event.pointerId,n.detachCameraControls&&n._pointerCamera&&!n._pointerCamera.leftCamera&&(n._pointerCamera.inputs.attachedElement?(o=n._pointerCamera.inputs.attachedElement,n._pointerCamera.detachControl(n._pointerCamera.inputs.attachedElement)):o=null),Te._RestorePivotPoint(i),n.onDragStartObservable.notifyObservers({})}}else if(e.type==he.a.POINTERUP)n.currentDraggingPointerID==e.event.pointerId&&(n.dragging=!1,n._moving=!1,n.currentDraggingPointerID=-1,i=null,n._virtualOriginMesh.removeChild(n._virtualDragMesh),n.detachCameraControls&&o&&n._pointerCamera&&!n._pointerCamera.leftCamera&&n._pointerCamera.attachControl(o,!0),n.onDragEndObservable.notifyObservers({}));else if(e.type==he.a.POINTERMOVE&&n.currentDraggingPointerID==e.event.pointerId&&n.dragging&&e.pickInfo&&e.pickInfo.ray&&i){var c=n.zDragFactor;n._pointerCamera&&n._pointerCamera.cameraRigMode==xe.a.RIG_MODE_NONE&&(e.pickInfo.ray.origin.copyFrom(n._pointerCamera.globalPosition),c=0);var l=e.pickInfo.ray.origin.subtract(r);r.copyFrom(e.pickInfo.ray.origin);var u=-a.e.Dot(l,e.pickInfo.ray.direction);n._virtualOriginMesh.addChild(n._virtualDragMesh),n._virtualDragMesh.position.z-=n._virtualDragMesh.position.z<1?u*n.zDragFactor:u*c*n._virtualDragMesh.position.z,n._virtualDragMesh.position.z<0&&(n._virtualDragMesh.position.z=0),n._virtualOriginMesh.position.copyFrom(e.pickInfo.ray.origin),n._virtualOriginMesh.lookAt(e.pickInfo.ray.origin.add(e.pickInfo.ray.direction)),n._virtualOriginMesh.removeChild(n._virtualDragMesh),n._targetPosition.copyFrom(n._virtualDragMesh.absolutePosition),i.parent&&a.e.TransformCoordinatesToRef(n._targetPosition,a.a.Invert(i.parent.getWorldMatrix()),n._targetPosition),n._moving||n._startingOrientation.copyFrom(n._virtualDragMesh.rotationQuaternion),n._moving=!0}var p}));var s=new a.b;this._sceneRenderObserver=t.getScene().onBeforeRenderObservable.add((function(){if(n.dragging&&n._moving&&i){if(Te._RemoveAndStorePivotPoint(i),i.position.addInPlace(n._targetPosition.subtract(i.position).scale(n.dragDeltaRatio)),n.rotateDraggedObject){s.copyFrom(n._startingOrientation),s.x=-s.x,s.y=-s.y,s.z=-s.z,n._virtualDragMesh.rotationQuaternion.multiplyToRef(s,s),a.b.RotationYawPitchRollToRef(s.toEulerAngles("xyz").y,0,0,s),s.multiplyToRef(n._startingOrientation,s);var e=i.parent;(!e||e.scaling&&!e.scaling.isNonUniformWithinEpsilon(.001))&&(i.setParent(null),a.b.SlerpToRef(i.rotationQuaternion,s,n.dragDeltaRatio,i.rotationQuaternion),i.setParent(e))}Te._RestorePivotPoint(i)}}))},e.prototype.detach=function(){this._scene&&this._scene.onPointerObservable.remove(this._pointerObserver),this._ownerNode&&this._ownerNode.getScene().onBeforeRenderObservable.remove(this._sceneRenderObserver),this._virtualOriginMesh&&this._virtualOriginMesh.dispose(),this._virtualDragMesh&&this._virtualDragMesh.dispose(),this.onDragEndObservable.clear(),this.onDragStartObservable.clear()},e}(),Ie=n(107),we=n(23),De=function(){function e(e,t,n){if(this.targetPosition=a.e.Zero(),this.poleTargetPosition=a.e.Zero(),this.poleTargetLocalOffset=a.e.Zero(),this.poleAngle=0,this.slerpAmount=1,this._bone1Quat=a.b.Identity(),this._bone1Mat=a.a.Identity(),this._bone2Ang=Math.PI,this._maxAngle=Math.PI,this._rightHandedSystem=!1,this._bendAxis=a.e.Right(),this._slerping=!1,this._adjustRoll=0,this._bone2=t,this._bone1=t.getParent(),this._bone1){this.mesh=e;var i=t.getPosition();if(t.getAbsoluteTransform().determinant()>0&&(this._rightHandedSystem=!0,this._bendAxis.x=0,this._bendAxis.y=0,this._bendAxis.z=-1,i.x>i.y&&i.x>i.z&&(this._adjustRoll=.5*Math.PI,this._bendAxis.z=1)),this._bone1.length){var r=this._bone1.getScale(),o=this._bone2.getScale();this._bone1Length=this._bone1.length*r.y*this.mesh.scaling.y,this._bone2Length=this._bone2.length*o.y*this.mesh.scaling.y}else if(this._bone1.children[0]){e.computeWorldMatrix(!0);var s=this._bone2.children[0].getAbsolutePosition(e),c=this._bone2.getAbsolutePosition(e),l=this._bone1.getAbsolutePosition(e);this._bone1Length=a.e.Distance(s,c),this._bone2Length=a.e.Distance(c,l)}this._bone1.getRotationMatrixToRef(we.b.WORLD,e,this._bone1Mat),this.maxAngle=Math.PI,n&&(n.targetMesh&&(this.targetMesh=n.targetMesh,this.targetMesh.computeWorldMatrix(!0)),n.poleTargetMesh?(this.poleTargetMesh=n.poleTargetMesh,this.poleTargetMesh.computeWorldMatrix(!0)):n.poleTargetBone?this.poleTargetBone=n.poleTargetBone:this._bone1.getParent()&&(this.poleTargetBone=this._bone1.getParent()),n.poleTargetLocalOffset&&this.poleTargetLocalOffset.copyFrom(n.poleTargetLocalOffset),n.poleAngle&&(this.poleAngle=n.poleAngle),n.bendAxis&&this._bendAxis.copyFrom(n.bendAxis),n.maxAngle&&(this.maxAngle=n.maxAngle),n.slerpAmount&&(this.slerpAmount=n.slerpAmount))}}return Object.defineProperty(e.prototype,"maxAngle",{get:function(){return this._maxAngle},set:function(e){this._setMaxAngle(e)},enumerable:!0,configurable:!0}),e.prototype._setMaxAngle=function(e){e<0&&(e=0),(e>Math.PI||null==e)&&(e=Math.PI),this._maxAngle=e;var t=this._bone1Length,n=this._bone2Length;this._maxReach=Math.sqrt(t*t+n*n-2*t*n*Math.cos(e))},e.prototype.update=function(){var t=this._bone1;if(t){var n=this.targetPosition,i=this.poleTargetPosition,r=e._tmpMats[0],o=e._tmpMats[1];this.targetMesh&&n.copyFrom(this.targetMesh.getAbsolutePosition()),this.poleTargetBone?this.poleTargetBone.getAbsolutePositionFromLocalToRef(this.poleTargetLocalOffset,this.mesh,i):this.poleTargetMesh&&a.e.TransformCoordinatesToRef(this.poleTargetLocalOffset,this.poleTargetMesh.getWorldMatrix(),i);var s=e._tmpVecs[0],c=e._tmpVecs[1],l=e._tmpVecs[2],u=e._tmpVecs[3],p=e._tmpVecs[4],h=e._tmpQuat;t.getAbsolutePositionToRef(this.mesh,s),i.subtractToRef(s,p),0==p.x&&0==p.y&&0==p.z?p.y=1:p.normalize(),n.subtractToRef(s,u),u.normalize(),a.e.CrossToRef(u,p,c),c.normalize(),a.e.CrossToRef(u,c,l),l.normalize(),a.a.FromXYZAxesToRef(l,u,c,r);var d=this._bone1Length,f=this._bone2Length,_=a.e.Distance(s,n);this._maxReach>0&&(_=Math.min(this._maxReach,_));var m=(f*f+_*_-d*d)/(2*f*_),b=(_*_+d*d-f*f)/(2*_*d);m>1&&(m=1),b>1&&(b=1),m<-1&&(m=-1),b<-1&&(b=-1);var g=Math.acos(m),v=Math.acos(b),y=-g-v;if(this._rightHandedSystem)a.a.RotationYawPitchRollToRef(0,0,this._adjustRoll,o),o.multiplyToRef(r,r),a.a.RotationAxisToRef(this._bendAxis,v,o),o.multiplyToRef(r,r);else{var C=e._tmpVecs[5];C.copyFrom(this._bendAxis),C.x*=-1,a.a.RotationAxisToRef(C,-v,o),o.multiplyToRef(r,r)}this.poleAngle&&(a.a.RotationAxisToRef(u,this.poleAngle,o),r.multiplyToRef(o,r)),this._bone1&&(this.slerpAmount<1?(this._slerping||a.b.FromRotationMatrixToRef(this._bone1Mat,this._bone1Quat),a.b.FromRotationMatrixToRef(r,h),a.b.SlerpToRef(this._bone1Quat,h,this.slerpAmount,this._bone1Quat),y=this._bone2Ang*(1-this.slerpAmount)+y*this.slerpAmount,this._bone1.setRotationQuaternion(this._bone1Quat,we.b.WORLD,this.mesh),this._slerping=!0):(this._bone1.setRotationMatrix(r,we.b.WORLD,this.mesh),this._bone1Mat.copyFrom(r),this._slerping=!1)),this._bone2.setAxisAngle(this._bendAxis,y,we.b.LOCAL),this._bone2Ang=y}},e._tmpVecs=[a.e.Zero(),a.e.Zero(),a.e.Zero(),a.e.Zero(),a.e.Zero(),a.e.Zero()],e._tmpQuat=a.b.Identity(),e._tmpMats=[a.a.Identity(),a.a.Identity()],e}(),Le=function(){function e(e,t,n,i){if(this.upAxis=a.e.Up(),this.upAxisSpace=we.b.LOCAL,this.adjustYaw=0,this.adjustPitch=0,this.adjustRoll=0,this.slerpAmount=1,this._boneQuat=a.b.Identity(),this._slerping=!1,this._firstFrameSkipped=!1,this._fowardAxis=a.e.Forward(),this.mesh=e,this.bone=t,this.target=n,i&&(i.adjustYaw&&(this.adjustYaw=i.adjustYaw),i.adjustPitch&&(this.adjustPitch=i.adjustPitch),i.adjustRoll&&(this.adjustRoll=i.adjustRoll),null!=i.maxYaw?this.maxYaw=i.maxYaw:this.maxYaw=Math.PI,null!=i.minYaw?this.minYaw=i.minYaw:this.minYaw=-Math.PI,null!=i.maxPitch?this.maxPitch=i.maxPitch:this.maxPitch=Math.PI,null!=i.minPitch?this.minPitch=i.minPitch:this.minPitch=-Math.PI,null!=i.slerpAmount&&(this.slerpAmount=i.slerpAmount),null!=i.upAxis&&(this.upAxis=i.upAxis),null!=i.upAxisSpace&&(this.upAxisSpace=i.upAxisSpace),null!=i.yawAxis||null!=i.pitchAxis)){var r=we.a.Y,o=we.a.X;null!=i.yawAxis&&(r=i.yawAxis.clone()).normalize(),null!=i.pitchAxis&&(o=i.pitchAxis.clone()).normalize();var s=a.e.Cross(o,r);this._transformYawPitch=a.a.Identity(),a.a.FromXYZAxesToRef(o,r,s,this._transformYawPitch),this._transformYawPitchInv=this._transformYawPitch.clone(),this._transformYawPitch.invert()}t.getParent()||this.upAxisSpace!=we.b.BONE||(this.upAxisSpace=we.b.LOCAL)}return Object.defineProperty(e.prototype,"minYaw",{get:function(){return this._minYaw},set:function(e){this._minYaw=e,this._minYawSin=Math.sin(e),this._minYawCos=Math.cos(e),null!=this._maxYaw&&(this._midYawConstraint=.5*this._getAngleDiff(this._minYaw,this._maxYaw)+this._minYaw,this._yawRange=this._maxYaw-this._minYaw)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxYaw",{get:function(){return this._maxYaw},set:function(e){this._maxYaw=e,this._maxYawSin=Math.sin(e),this._maxYawCos=Math.cos(e),null!=this._minYaw&&(this._midYawConstraint=.5*this._getAngleDiff(this._minYaw,this._maxYaw)+this._minYaw,this._yawRange=this._maxYaw-this._minYaw)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"minPitch",{get:function(){return this._minPitch},set:function(e){this._minPitch=e,this._minPitchTan=Math.tan(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxPitch",{get:function(){return this._maxPitch},set:function(e){this._maxPitch=e,this._maxPitchTan=Math.tan(e)},enumerable:!0,configurable:!0}),e.prototype.update=function(){if(this.slerpAmount<1&&!this._firstFrameSkipped)this._firstFrameSkipped=!0;else{var t=this.bone,n=e._tmpVecs[0];t.getAbsolutePositionToRef(this.mesh,n);var i=this.target,r=e._tmpMats[0],o=e._tmpMats[1],s=this.mesh,c=t.getParent(),l=e._tmpVecs[1];l.copyFrom(this.upAxis),this.upAxisSpace==we.b.BONE&&c?(this._transformYawPitch&&a.e.TransformCoordinatesToRef(l,this._transformYawPitchInv,l),c.getDirectionToRef(l,this.mesh,l)):this.upAxisSpace==we.b.LOCAL&&(s.getDirectionToRef(l,l),1==s.scaling.x&&1==s.scaling.y&&1==s.scaling.z||l.normalize());var u=!1,p=!1;if(this._maxYaw==Math.PI&&this._minYaw==-Math.PI||(u=!0),this._maxPitch==Math.PI&&this._minPitch==-Math.PI||(p=!0),u||p){var h=e._tmpMats[2],d=e._tmpMats[3];if(this.upAxisSpace==we.b.BONE&&1==l.y&&c)c.getRotationMatrixToRef(we.b.WORLD,this.mesh,h);else if(this.upAxisSpace!=we.b.LOCAL||1!=l.y||c){(_=e._tmpVecs[2]).copyFrom(this._fowardAxis),this._transformYawPitch&&a.e.TransformCoordinatesToRef(_,this._transformYawPitchInv,_),c?c.getDirectionToRef(_,this.mesh,_):s.getDirectionToRef(_,_);var f=a.e.Cross(l,_);f.normalize();var _=a.e.Cross(f,l);a.a.FromXYZAxesToRef(f,l,_,h)}else h.copyFrom(s.getWorldMatrix());h.invertToRef(d);var m=null;if(p){var b=e._tmpVecs[3];i.subtractToRef(n,b),a.e.TransformCoordinatesToRef(b,d,b),m=Math.sqrt(b.x*b.x+b.z*b.z);var g=Math.atan2(b.y,m),v=g;g>this._maxPitch?(b.y=this._maxPitchTan*m,v=this._maxPitch):gthis._maxYaw||yMath.PI?this._isAngleBetween(y,this._maxYaw,this._midYawConstraint)?(b.z=this._maxYawCos*m,b.x=this._maxYawSin*m,C=this._maxYaw):this._isAngleBetween(y,this._midYawConstraint,this._minYaw)&&(b.z=this._minYawCos*m,b.x=this._minYawSin*m,C=this._minYaw):y>this._maxYaw?(b.z=this._maxYawCos*m,b.x=this._maxYawSin*m,C=this._maxYaw):yMath.PI){var A=e._tmpVecs[8];A.copyFrom(we.a.Z),this._transformYawPitch&&a.e.TransformCoordinatesToRef(A,this._transformYawPitchInv,A);var x=e._tmpMats[4];this._boneQuat.toRotationMatrix(x),this.mesh.getWorldMatrix().multiplyToRef(x,x),a.e.TransformCoordinatesToRef(A,x,A),a.e.TransformCoordinatesToRef(A,d,A);var S=Math.atan2(A.x,A.z);if(this._getAngleBetween(S,y)>this._getAngleBetween(S,this._midYawConstraint)){null==m&&(m=Math.sqrt(b.x*b.x+b.z*b.z));var T=this._getAngleBetween(S,this._maxYaw);this._getAngleBetween(S,this._minYaw)Math.PI?n-=2*Math.PI:n<-Math.PI&&(n+=2*Math.PI),n},e.prototype._getAngleBetween=function(e,t){var n=0;return(n=(e=(e%=2*Math.PI)<0?e+2*Math.PI:e)<(t=(t%=2*Math.PI)<0?t+2*Math.PI:t)?t-e:e-t)>Math.PI&&(n=2*Math.PI-n),n},e.prototype._isAngleBetween=function(e,t,n){if(e=(e%=2*Math.PI)<0?e+2*Math.PI:e,(t=(t%=2*Math.PI)<0?t+2*Math.PI:t)<(n=(n%=2*Math.PI)<0?n+2*Math.PI:n)){if(e>t&&en&&e=2&&(this._leftStick={x:this.browserGamepad.axes[this._leftStickAxisX],y:this.browserGamepad.axes[this._leftStickAxisY]}),this.browserGamepad.axes.length>=4&&(this._rightStick={x:this.browserGamepad.axes[this._rightStickAxisX],y:this.browserGamepad.axes[this._rightStickAxisY]})}return Object.defineProperty(e.prototype,"isConnected",{get:function(){return this._isConnected},enumerable:!0,configurable:!0}),e.prototype.onleftstickchanged=function(e){this._onleftstickchanged=e},e.prototype.onrightstickchanged=function(e){this._onrightstickchanged=e},Object.defineProperty(e.prototype,"leftStick",{get:function(){return this._leftStick},set:function(e){!this._onleftstickchanged||this._leftStick.x===e.x&&this._leftStick.y===e.y||this._onleftstickchanged(e),this._leftStick=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rightStick",{get:function(){return this._rightStick},set:function(e){!this._onrightstickchanged||this._rightStick.x===e.x&&this._rightStick.y===e.y||this._onrightstickchanged(e),this._rightStick=e},enumerable:!0,configurable:!0}),e.prototype.update=function(){this._leftStick&&(this.leftStick={x:this.browserGamepad.axes[this._leftStickAxisX],y:this.browserGamepad.axes[this._leftStickAxisY]},this._invertLeftStickY&&(this.leftStick.y*=-1)),this._rightStick&&(this.rightStick={x:this.browserGamepad.axes[this._rightStickAxisX],y:this.browserGamepad.axes[this._rightStickAxisY]})},e.prototype.dispose=function(){},e.GAMEPAD=0,e.GENERIC=1,e.XBOX=2,e.POSE_ENABLED=3,e.DUALSHOCK=4,e}(),ze=function(e){function t(t,n,i){var r=e.call(this,t,n,i)||this;return r.onButtonDownObservable=new o.c,r.onButtonUpObservable=new o.c,r.type=Ve.GENERIC,r._buttons=new Array(i.buttons.length),r}return Object(p.d)(t,e),t.prototype.onbuttondown=function(e){this._onbuttondown=e},t.prototype.onbuttonup=function(e){this._onbuttonup=e},t.prototype._setButtonValue=function(e,t,n){return e!==t&&(1===e&&(this._onbuttondown&&this._onbuttondown(n),this.onButtonDownObservable.notifyObservers(n)),0===e&&(this._onbuttonup&&this._onbuttonup(n),this.onButtonUpObservable.notifyObservers(n))),e},t.prototype.update=function(){e.prototype.update.call(this);for(var t=0;t.005&&(e.inertialAlphaOffset+=n)}if(0!=t.y){var i=t.y/this.gamepadRotationSensibility*this._yAxisScale;0!=i&&Math.abs(i)>.005&&(e.inertialBetaOffset+=i)}}var r=this.gamepad.leftStick;if(r&&0!=r.y){var o=r.y/this.gamepadMoveSensibility;0!=o&&Math.abs(o)>.005&&(this.camera.inertialRadiusOffset-=o)}}},e.prototype.getClassName=function(){return"ArcRotateCameraGamepadInput"},e.prototype.getSimpleName=function(){return"gamepad"},Object(p.c)([Object(Fe.c)()],e.prototype,"gamepadRotationSensibility",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"gamepadMoveSensibility",void 0),e}();Be.a.ArcRotateCameraGamepadInput=je;var Ue=n(86),Ge=function(){function e(){this.keysUp=[38],this.keysDown=[40],this.keysLeft=[37],this.keysRight=[39],this.keysReset=[220],this.panningSensibility=50,this.zoomingSensibility=25,this.useAltToZoom=!0,this.angularSpeed=.01,this._keys=new Array}return e.prototype.attachControl=function(e,t){var n=this;this._onCanvasBlurObserver||(this._scene=this.camera.getScene(),this._engine=this._scene.getEngine(),this._onCanvasBlurObserver=this._engine.onCanvasBlurObservable.add((function(){n._keys=[]})),this._onKeyboardObserver=this._scene.onKeyboardObservable.add((function(e){var i,r=e.event;r.metaKey||(e.type===Ue.a.KEYDOWN?(n._ctrlPressed=r.ctrlKey,n._altPressed=r.altKey,(-1!==n.keysUp.indexOf(r.keyCode)||-1!==n.keysDown.indexOf(r.keyCode)||-1!==n.keysLeft.indexOf(r.keyCode)||-1!==n.keysRight.indexOf(r.keyCode)||-1!==n.keysReset.indexOf(r.keyCode))&&(-1===(i=n._keys.indexOf(r.keyCode))&&n._keys.push(r.keyCode),r.preventDefault&&(t||r.preventDefault()))):-1===n.keysUp.indexOf(r.keyCode)&&-1===n.keysDown.indexOf(r.keyCode)&&-1===n.keysLeft.indexOf(r.keyCode)&&-1===n.keysRight.indexOf(r.keyCode)&&-1===n.keysReset.indexOf(r.keyCode)||((i=n._keys.indexOf(r.keyCode))>=0&&n._keys.splice(i,1),r.preventDefault&&(t||r.preventDefault())))})))},e.prototype.detachControl=function(e){this._scene&&(this._onKeyboardObserver&&this._scene.onKeyboardObservable.remove(this._onKeyboardObserver),this._onCanvasBlurObserver&&this._engine.onCanvasBlurObservable.remove(this._onCanvasBlurObserver),this._onKeyboardObserver=null,this._onCanvasBlurObserver=null),this._keys=[]},e.prototype.checkInputs=function(){if(this._onKeyboardObserver)for(var e=this.camera,t=0;t0?n/(1+this.wheelDeltaPercentage):n*(1+this.wheelDeltaPercentage)},e.prototype.attachControl=function(e,t){var n=this;this._wheel=function(e,i){if(e.type===he.a.POINTERWHEEL){var r=e.event,o=0,a=r,s=0;if(s=a.wheelDelta?a.wheelDelta:60*-(r.deltaY||r.detail),n.wheelDeltaPercentage){if((o=n.computeDeltaFromMouseWheelLegacyEvent(s,n.camera.radius))>0){for(var c=n.camera.radius,l=n.camera.inertialRadiusOffset+o,u=0;u<20&&Math.abs(l)>.001;u++)c-=l,l*=n.camera.inertia;c=He.a.Clamp(c,0,Number.MAX_VALUE),o=n.computeDeltaFromMouseWheelLegacyEvent(s,c)}}else o=s/(40*n.wheelPrecision);o&&(n.camera.inertialRadiusOffset+=o),r.preventDefault&&(t||r.preventDefault())}},this._observer=this.camera.getScene().onPointerObservable.add(this._wheel,he.a.POINTERWHEEL)},e.prototype.detachControl=function(e){this._observer&&e&&(this.camera.getScene().onPointerObservable.remove(this._observer),this._observer=null,this._wheel=null)},e.prototype.getClassName=function(){return"ArcRotateCameraMouseWheelInput"},e.prototype.getSimpleName=function(){return"mousewheel"},Object(p.c)([Object(Fe.c)()],e.prototype,"wheelPrecision",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"wheelDeltaPercentage",void 0),e}();Be.a.ArcRotateCameraMouseWheelInput=We;var Xe=n(12),Ye=function(){function e(){this.buttons=[0,1,2]}return e.prototype.attachControl=function(e,t){var n=this,i=this.camera.getEngine(),r=0,o=null;this.pointA=null,this.pointB=null,this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._buttonsPressed=0,this._pointerInput=function(a,s){var c=a.event,l="touch"===c.pointerType;if(!i.isInVRExclusivePointerMode&&(a.type===he.a.POINTERMOVE||-1!==n.buttons.indexOf(c.button))){var u=c.srcElement||c.target;if(n._altKey=c.altKey,n._ctrlKey=c.ctrlKey,n._metaKey=c.metaKey,n._shiftKey=c.shiftKey,n._buttonsPressed=c.buttons,i.isPointerLock){var p=c.movementX||c.mozMovementX||c.webkitMovementX||c.msMovementX||0,h=c.movementY||c.mozMovementY||c.webkitMovementY||c.msMovementY||0;n.onTouch(null,p,h),n.pointA=null,n.pointB=null}else if(a.type===he.a.POINTERDOWN&&u){try{u.setPointerCapture(c.pointerId)}catch(e){}null===n.pointA?n.pointA={x:c.clientX,y:c.clientY,pointerId:c.pointerId,type:c.pointerType}:null===n.pointB&&(n.pointB={x:c.clientX,y:c.clientY,pointerId:c.pointerId,type:c.pointerType}),n.onButtonDown(c),t||(c.preventDefault(),e.focus())}else if(a.type===he.a.POINTERDOUBLETAP)n.onDoubleTap(c.pointerType);else if(a.type===he.a.POINTERUP&&u){try{u.releasePointerCapture(c.pointerId)}catch(e){}l||(n.pointB=null),i._badOS?n.pointA=n.pointB=null:n.pointB&&n.pointA&&n.pointA.pointerId==c.pointerId?(n.pointA=n.pointB,n.pointB=null):n.pointA&&n.pointB&&n.pointB.pointerId==c.pointerId?n.pointB=null:n.pointA=n.pointB=null,(0!==r||o)&&(n.onMultiTouch(n.pointA,n.pointB,r,0,o,null),r=0,o=null),n.onButtonUp(c),t||c.preventDefault()}else if(a.type===he.a.POINTERMOVE)if(t||c.preventDefault(),n.pointA&&null===n.pointB){p=c.clientX-n.pointA.x,h=c.clientY-n.pointA.y;n.onTouch(n.pointA,p,h),n.pointA.x=c.clientX,n.pointA.y=c.clientY}else if(n.pointA&&n.pointB){var d=n.pointA.pointerId===c.pointerId?n.pointA:n.pointB;d.x=c.clientX,d.y=c.clientY;var f=n.pointA.x-n.pointB.x,_=n.pointA.y-n.pointB.y,m=f*f+_*_,b={x:(n.pointA.x+n.pointB.x)/2,y:(n.pointA.y+n.pointB.y)/2,pointerId:c.pointerId,type:a.type};n.onMultiTouch(n.pointA,n.pointB,r,m,o,b),o=b,r=m}}},this._observer=this.camera.getScene().onPointerObservable.add(this._pointerInput,he.a.POINTERDOWN|he.a.POINTERUP|he.a.POINTERMOVE),this._onLostFocus=function(){n.pointA=n.pointB=null,r=0,o=null,n.onLostFocus()},e.addEventListener("contextmenu",this.onContextMenu.bind(this),!1);var a=this.camera.getScene().getEngine().getHostWindow();a&&Xe.b.RegisterTopRootEvents(a,[{name:"blur",handler:this._onLostFocus}])},e.prototype.detachControl=function(e){if(this._onLostFocus){var t=this.camera.getScene().getEngine().getHostWindow();t&&Xe.b.UnregisterTopRootEvents(t,[{name:"blur",handler:this._onLostFocus}])}e&&this._observer&&(this.camera.getScene().onPointerObservable.remove(this._observer),this._observer=null,this.onContextMenu&&e.removeEventListener("contextmenu",this.onContextMenu),this._onLostFocus=null),this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._buttonsPressed=0},e.prototype.getClassName=function(){return"BaseCameraPointersInput"},e.prototype.getSimpleName=function(){return"pointers"},e.prototype.onDoubleTap=function(e){},e.prototype.onTouch=function(e,t,n){},e.prototype.onMultiTouch=function(e,t,n,i,r,o){},e.prototype.onContextMenu=function(e){e.preventDefault()},e.prototype.onButtonDown=function(e){},e.prototype.onButtonUp=function(e){},e.prototype.onLostFocus=function(){},Object(p.c)([Object(Fe.c)()],e.prototype,"buttons",void 0),e}(),Qe=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.buttons=[0,1,2],t.angularSensibilityX=1e3,t.angularSensibilityY=1e3,t.pinchPrecision=12,t.pinchDeltaPercentage=0,t.useNaturalPinchZoom=!1,t.panningSensibility=1e3,t.multiTouchPanning=!0,t.multiTouchPanAndZoom=!0,t.pinchInwards=!0,t._isPanClick=!1,t._twoFingerActivityCount=0,t._isPinching=!1,t}return Object(p.d)(t,e),t.prototype.getClassName=function(){return"ArcRotateCameraPointersInput"},t.prototype.onTouch=function(e,t,n){0!==this.panningSensibility&&(this._ctrlKey&&this.camera._useCtrlForPanning||this._isPanClick)?(this.camera.inertialPanningX+=-t/this.panningSensibility,this.camera.inertialPanningY+=n/this.panningSensibility):(this.camera.inertialAlphaOffset-=t/this.angularSensibilityX,this.camera.inertialBetaOffset-=n/this.angularSensibilityY)},t.prototype.onDoubleTap=function(e){this.camera.useInputToRestoreState&&this.camera.restoreState()},t.prototype.onMultiTouch=function(e,t,n,i,r,o){if(!(0===n&&null===r||0===i&&null===o)){var a=this.pinchInwards?1:-1;if(this.multiTouchPanAndZoom){if(this.useNaturalPinchZoom?this.camera.radius=this.camera.radius*Math.sqrt(n)/Math.sqrt(i):this.pinchDeltaPercentage?this.camera.inertialRadiusOffset+=.001*(i-n)*this.camera.radius*this.pinchDeltaPercentage:this.camera.inertialRadiusOffset+=(i-n)/(this.pinchPrecision*a*(this.angularSensibilityX+this.angularSensibilityY)/2),0!==this.panningSensibility&&r&&o){var s=o.x-r.x,c=o.y-r.y;this.camera.inertialPanningX+=-s/this.panningSensibility,this.camera.inertialPanningY+=c/this.panningSensibility}}else{this._twoFingerActivityCount++;var l=Math.sqrt(n),u=Math.sqrt(i);if(this._isPinching||this._twoFingerActivityCount<20&&Math.abs(u-l)>this.camera.pinchToPanMaxDistance)this.pinchDeltaPercentage?this.camera.inertialRadiusOffset+=.001*(i-n)*this.camera.radius*this.pinchDeltaPercentage:this.camera.inertialRadiusOffset+=(i-n)/(this.pinchPrecision*a*(this.angularSensibilityX+this.angularSensibilityY)/2),this._isPinching=!0;else if(0!==this.panningSensibility&&this.multiTouchPanning&&o&&r){s=o.x-r.x,c=o.y-r.y;this.camera.inertialPanningX+=-s/this.panningSensibility,this.camera.inertialPanningY+=c/this.panningSensibility}}}},t.prototype.onButtonDown=function(e){this._isPanClick=e.button===this.camera._panningMouseButton},t.prototype.onButtonUp=function(e){this._twoFingerActivityCount=0,this._isPinching=!1},t.prototype.onLostFocus=function(){this._isPanClick=!1,this._twoFingerActivityCount=0,this._isPinching=!1},Object(p.c)([Object(Fe.c)()],t.prototype,"buttons",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"angularSensibilityX",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"angularSensibilityY",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"pinchPrecision",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"pinchDeltaPercentage",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"useNaturalPinchZoom",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"panningSensibility",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"multiTouchPanning",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"multiTouchPanAndZoom",void 0),t}(Ye);Be.a.ArcRotateCameraPointersInput=Qe;var Ke=function(e){function t(t){return e.call(this,t)||this}return Object(p.d)(t,e),t.prototype.addMouseWheel=function(){return this.add(new We),this},t.prototype.addPointers=function(){return this.add(new Qe),this},t.prototype.addKeyboard=function(){return this.add(new Ge),this},t}(Be.b);Ke.prototype.addVRDeviceOrientation=function(){return this.add(new Ze),this};var Ze=function(){function e(){this.alphaCorrection=1,this.gammaCorrection=1,this._alpha=0,this._gamma=0,this._dirty=!1,this._deviceOrientationHandler=this._onOrientationEvent.bind(this)}return e.prototype.attachControl=function(e,t){var n=this;this.camera.attachControl(e,t);var i=this.camera.getScene().getEngine().getHostWindow();i&&("undefined"!=typeof DeviceOrientationEvent&&"function"==typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((function(e){"granted"===e?i.addEventListener("deviceorientation",n._deviceOrientationHandler):Xe.b.Warn("Permission not granted.")})).catch((function(e){Xe.b.Error(e)})):i.addEventListener("deviceorientation",this._deviceOrientationHandler))},e.prototype._onOrientationEvent=function(e){null!==e.alpha&&(this._alpha=(0|+e.alpha)*this.alphaCorrection),null!==e.gamma&&(this._gamma=(0|+e.gamma)*this.gammaCorrection),this._dirty=!0},e.prototype.checkInputs=function(){this._dirty&&(this._dirty=!1,this._gamma<0&&(this._gamma=180+this._gamma),this.camera.alpha=-this._alpha/180*Math.PI%Math.PI*2,this.camera.beta=this._gamma/180*Math.PI)},e.prototype.detachControl=function(e){window.removeEventListener("deviceorientation",this._deviceOrientationHandler)},e.prototype.getClassName=function(){return"ArcRotateCameraVRDeviceOrientationInput"},e.prototype.getSimpleName=function(){return"VRDeviceOrientation"},e}();Be.a.ArcRotateCameraVRDeviceOrientationInput=Ze;var qe=function(){function e(){this.keysForward=[87],this.keysBackward=[83],this.keysUp=[69],this.keysDown=[81],this.keysRight=[68],this.keysLeft=[65],this._keys=new Array}return e.prototype.attachControl=function(e,t){var n=this;this._onCanvasBlurObserver||(this._scene=this.camera.getScene(),this._engine=this._scene.getEngine(),this._onCanvasBlurObserver=this._engine.onCanvasBlurObservable.add((function(){n._keys=[]})),this._onKeyboardObserver=this._scene.onKeyboardObservable.add((function(e){var i,r=e.event;e.type===Ue.a.KEYDOWN?-1===n.keysForward.indexOf(r.keyCode)&&-1===n.keysBackward.indexOf(r.keyCode)&&-1===n.keysUp.indexOf(r.keyCode)&&-1===n.keysDown.indexOf(r.keyCode)&&-1===n.keysLeft.indexOf(r.keyCode)&&-1===n.keysRight.indexOf(r.keyCode)||(-1===(i=n._keys.indexOf(r.keyCode))&&n._keys.push(r.keyCode),t||r.preventDefault()):-1===n.keysForward.indexOf(r.keyCode)&&-1===n.keysBackward.indexOf(r.keyCode)&&-1===n.keysUp.indexOf(r.keyCode)&&-1===n.keysDown.indexOf(r.keyCode)&&-1===n.keysLeft.indexOf(r.keyCode)&&-1===n.keysRight.indexOf(r.keyCode)||((i=n._keys.indexOf(r.keyCode))>=0&&n._keys.splice(i,1),t||r.preventDefault())})))},e.prototype.detachControl=function(e){this._scene&&(this._onKeyboardObserver&&this._scene.onKeyboardObservable.remove(this._onKeyboardObserver),this._onCanvasBlurObserver&&this._engine.onCanvasBlurObservable.remove(this._onCanvasBlurObserver),this._onKeyboardObserver=null,this._onCanvasBlurObserver=null),this._keys=[]},e.prototype.getClassName=function(){return"FlyCameraKeyboardInput"},e.prototype._onLostFocus=function(e){this._keys=[]},e.prototype.getSimpleName=function(){return"keyboard"},e.prototype.checkInputs=function(){if(this._onKeyboardObserver)for(var e=this.camera,t=0;t=0&&n._keys.splice(i,1),r.preventDefault&&(t||r.preventDefault())))})))},e.prototype.detachControl=function(e){this._scene&&(this._onKeyboardObserver&&this._scene.onKeyboardObservable.remove(this._onKeyboardObserver),this._onCanvasBlurObserver&&this._engine.onCanvasBlurObservable.remove(this._onCanvasBlurObserver),this._onKeyboardObserver=null,this._onCanvasBlurObserver=null),this._keys=[]},e.prototype.checkInputs=function(){var e=this;this._onKeyboardObserver&&this._keys.forEach((function(t){-1!==e.keysHeightOffsetIncr.indexOf(t)&&e._modifierHeightOffset()?e.camera.heightOffset+=e.heightSensibility:-1!==e.keysHeightOffsetDecr.indexOf(t)&&e._modifierHeightOffset()?e.camera.heightOffset-=e.heightSensibility:-1!==e.keysRotationOffsetIncr.indexOf(t)&&e._modifierRotationOffset()?(e.camera.rotationOffset+=e.rotationSensibility,e.camera.rotationOffset%=360):-1!==e.keysRotationOffsetDecr.indexOf(t)&&e._modifierRotationOffset()?(e.camera.rotationOffset-=e.rotationSensibility,e.camera.rotationOffset%=360):-1!==e.keysRadiusIncr.indexOf(t)&&e._modifierRadius()?e.camera.radius+=e.radiusSensibility:-1!==e.keysRadiusDecr.indexOf(t)&&e._modifierRadius()&&(e.camera.radius-=e.radiusSensibility)}))},e.prototype.getClassName=function(){return"FollowCameraKeyboardMoveInput"},e.prototype.getSimpleName=function(){return"keyboard"},e.prototype._modifierHeightOffset=function(){return this.keysHeightOffsetModifierAlt===this._altPressed&&this.keysHeightOffsetModifierCtrl===this._ctrlPressed&&this.keysHeightOffsetModifierShift===this._shiftPressed},e.prototype._modifierRotationOffset=function(){return this.keysRotationOffsetModifierAlt===this._altPressed&&this.keysRotationOffsetModifierCtrl===this._ctrlPressed&&this.keysRotationOffsetModifierShift===this._shiftPressed},e.prototype._modifierRadius=function(){return this.keysRadiusModifierAlt===this._altPressed&&this.keysRadiusModifierCtrl===this._ctrlPressed&&this.keysRadiusModifierShift===this._shiftPressed},Object(p.c)([Object(Fe.c)()],e.prototype,"keysHeightOffsetIncr",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysHeightOffsetDecr",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysHeightOffsetModifierAlt",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysHeightOffsetModifierCtrl",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysHeightOffsetModifierShift",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysRotationOffsetIncr",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysRotationOffsetDecr",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysRotationOffsetModifierAlt",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysRotationOffsetModifierCtrl",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysRotationOffsetModifierShift",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysRadiusIncr",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysRadiusDecr",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysRadiusModifierAlt",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysRadiusModifierCtrl",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"keysRadiusModifierShift",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"heightSensibility",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"rotationSensibility",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"radiusSensibility",void 0),e}();Be.a.FollowCameraKeyboardMoveInput=$e;var et=function(){function e(){this.axisControlRadius=!0,this.axisControlHeight=!1,this.axisControlRotation=!1,this.wheelPrecision=3,this.wheelDeltaPercentage=0}return e.prototype.attachControl=function(e,t){var n=this;this._wheel=function(e,i){if(e.type===he.a.POINTERWHEEL){var r=e.event,o=0,a=Math.max(-1,Math.min(1,r.deltaY||r.wheelDelta||-r.detail));n.wheelDeltaPercentage?(console.assert(n.axisControlRadius+n.axisControlHeight+n.axisControlRotation<=1,"wheelDeltaPercentage only usable when mouse wheel controlls ONE axis. Currently enabled: axisControlRadius: "+n.axisControlRadius+", axisControlHeightOffset: "+n.axisControlHeight+", axisControlRotationOffset: "+n.axisControlRotation),n.axisControlRadius?o=.01*a*n.wheelDeltaPercentage*n.camera.radius:n.axisControlHeight?o=.01*a*n.wheelDeltaPercentage*n.camera.heightOffset:n.axisControlRotation&&(o=.01*a*n.wheelDeltaPercentage*n.camera.rotationOffset)):o=a*n.wheelPrecision,o&&(n.axisControlRadius?n.camera.radius+=o:n.axisControlHeight?n.camera.heightOffset-=o:n.axisControlRotation&&(n.camera.rotationOffset-=o)),r.preventDefault&&(t||r.preventDefault())}},this._observer=this.camera.getScene().onPointerObservable.add(this._wheel,he.a.POINTERWHEEL)},e.prototype.detachControl=function(e){this._observer&&e&&(this.camera.getScene().onPointerObservable.remove(this._observer),this._observer=null,this._wheel=null)},e.prototype.getClassName=function(){return"ArcRotateCameraMouseWheelInput"},e.prototype.getSimpleName=function(){return"mousewheel"},Object(p.c)([Object(Fe.c)()],e.prototype,"axisControlRadius",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"axisControlHeight",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"axisControlRotation",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"wheelPrecision",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"wheelDeltaPercentage",void 0),e}();Be.a.FollowCameraMouseWheelInput=et;var tt=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.angularSensibilityX=1,t.angularSensibilityY=1,t.pinchPrecision=1e4,t.pinchDeltaPercentage=0,t.axisXControlRadius=!1,t.axisXControlHeight=!1,t.axisXControlRotation=!0,t.axisYControlRadius=!1,t.axisYControlHeight=!0,t.axisYControlRotation=!1,t.axisPinchControlRadius=!0,t.axisPinchControlHeight=!1,t.axisPinchControlRotation=!1,t.warningEnable=!0,t._warningCounter=0,t}return Object(p.d)(t,e),t.prototype.getClassName=function(){return"FollowCameraPointersInput"},t.prototype.onTouch=function(e,t,n){this._warning(),this.axisXControlRotation?this.camera.rotationOffset+=t/this.angularSensibilityX:this.axisYControlRotation&&(this.camera.rotationOffset+=n/this.angularSensibilityX),this.axisXControlHeight?this.camera.heightOffset+=t/this.angularSensibilityY:this.axisYControlHeight&&(this.camera.heightOffset+=n/this.angularSensibilityY),this.axisXControlRadius?this.camera.radius-=t/this.angularSensibilityY:this.axisYControlRadius&&(this.camera.radius-=n/this.angularSensibilityY)},t.prototype.onMultiTouch=function(e,t,n,i,r,o){if(!(0===n&&null===r||0===i&&null===o)){var a=(i-n)/(this.pinchPrecision*(this.angularSensibilityX+this.angularSensibilityY)/2);this.pinchDeltaPercentage?(a*=.01*this.pinchDeltaPercentage,this.axisPinchControlRotation&&(this.camera.rotationOffset+=a*this.camera.rotationOffset),this.axisPinchControlHeight&&(this.camera.heightOffset+=a*this.camera.heightOffset),this.axisPinchControlRadius&&(this.camera.radius-=a*this.camera.radius)):(this.axisPinchControlRotation&&(this.camera.rotationOffset+=a),this.axisPinchControlHeight&&(this.camera.heightOffset+=a),this.axisPinchControlRadius&&(this.camera.radius-=a))}},t.prototype._warning=function(){if(this.warningEnable&&this._warningCounter++%100==0){var e="It probably only makes sense to control ONE camera property with each pointer axis. Set 'warningEnable = false' if you are sure. Currently enabled: ";console.assert(this.axisXControlRotation+this.axisXControlHeight+this.axisXControlRadius<=1,e+"axisXControlRotation: "+this.axisXControlRotation+", axisXControlHeight: "+this.axisXControlHeight+", axisXControlRadius: "+this.axisXControlRadius),console.assert(this.axisYControlRotation+this.axisYControlHeight+this.axisYControlRadius<=1,e+"axisYControlRotation: "+this.axisYControlRotation+", axisYControlHeight: "+this.axisYControlHeight+", axisYControlRadius: "+this.axisYControlRadius),console.assert(this.axisPinchControlRotation+this.axisPinchControlHeight+this.axisPinchControlRadius<=1,e+"axisPinchControlRotation: "+this.axisPinchControlRotation+", axisPinchControlHeight: "+this.axisPinchControlHeight+", axisPinchControlRadius: "+this.axisPinchControlRadius)}},Object(p.c)([Object(Fe.c)()],t.prototype,"angularSensibilityX",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"angularSensibilityY",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"pinchPrecision",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"pinchDeltaPercentage",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"axisXControlRadius",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"axisXControlHeight",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"axisXControlRotation",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"axisYControlRadius",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"axisYControlHeight",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"axisYControlRotation",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"axisPinchControlRadius",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"axisPinchControlHeight",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"axisPinchControlRotation",void 0),t}(Ye);Be.a.FollowCameraPointersInput=tt;var nt=n(119);nt.a.prototype.addDeviceOrientation=function(){return this._deviceOrientationInput||(this._deviceOrientationInput=new it,this.add(this._deviceOrientationInput)),this};var it=function(){function e(){var e=this;this._screenOrientationAngle=0,this._screenQuaternion=new a.b,this._alpha=0,this._beta=0,this._gamma=0,this._onDeviceOrientationChangedObservable=new o.c,this._orientationChanged=function(){e._screenOrientationAngle=void 0!==window.orientation?+window.orientation:window.screen.orientation&&window.screen.orientation.angle?window.screen.orientation.angle:0,e._screenOrientationAngle=-Xe.b.ToRadians(e._screenOrientationAngle/2),e._screenQuaternion.copyFromFloats(0,Math.sin(e._screenOrientationAngle),0,Math.cos(e._screenOrientationAngle))},this._deviceOrientation=function(t){e._alpha=null!==t.alpha?t.alpha:0,e._beta=null!==t.beta?t.beta:0,e._gamma=null!==t.gamma?t.gamma:0,null!==t.alpha&&e._onDeviceOrientationChangedObservable.notifyObservers()},this._constantTranform=new a.b(-Math.sqrt(.5),0,0,Math.sqrt(.5)),this._orientationChanged()}return e.WaitForOrientationChangeAsync=function(e){return new Promise((function(t,n){var i=!1,r=function(){window.removeEventListener("deviceorientation",r),i=!0,t()};e&&setTimeout((function(){i||(window.removeEventListener("deviceorientation",r),n("WaitForOrientationChangeAsync timed out"))}),e),"undefined"!=typeof DeviceOrientationEvent&&"function"==typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((function(e){"granted"==e?window.addEventListener("deviceorientation",r):Xe.b.Warn("Permission not granted.")})).catch((function(e){Xe.b.Error(e)})):window.addEventListener("deviceorientation",r)}))},Object.defineProperty(e.prototype,"camera",{get:function(){return this._camera},set:function(e){var t=this;this._camera=e,null==this._camera||this._camera.rotationQuaternion||(this._camera.rotationQuaternion=new a.b),this._camera&&this._camera.onDisposeObservable.add((function(){t._onDeviceOrientationChangedObservable.clear()}))},enumerable:!0,configurable:!0}),e.prototype.attachControl=function(e,t){var n=this,i=this.camera.getScene().getEngine().getHostWindow();if(i){var r=function(){i.addEventListener("orientationchange",n._orientationChanged),i.addEventListener("deviceorientation",n._deviceOrientation),n._orientationChanged()};"undefined"!=typeof DeviceOrientationEvent&&"function"==typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((function(e){"granted"===e?r():Xe.b.Warn("Permission not granted.")})).catch((function(e){Xe.b.Error(e)})):r()}},e.prototype.detachControl=function(e){window.removeEventListener("orientationchange",this._orientationChanged),window.removeEventListener("deviceorientation",this._deviceOrientation),this._alpha=0},e.prototype.checkInputs=function(){this._alpha&&(a.b.RotationYawPitchRollToRef(Xe.b.ToRadians(this._alpha),Xe.b.ToRadians(this._beta),-Xe.b.ToRadians(this._gamma),this.camera.rotationQuaternion),this._camera.rotationQuaternion.multiplyInPlace(this._screenQuaternion),this._camera.rotationQuaternion.multiplyInPlace(this._constantTranform),this._camera.rotationQuaternion.z*=-1,this._camera.rotationQuaternion.w*=-1)},e.prototype.getClassName=function(){return"FreeCameraDeviceOrientationInput"},e.prototype.getSimpleName=function(){return"deviceOrientation"},e}();Be.a.FreeCameraDeviceOrientationInput=it;var rt=function(){function e(){this.gamepadAngularSensibility=200,this.gamepadMoveSensibility=40,this._yAxisScale=1,this._cameraTransform=a.a.Identity(),this._deltaTransform=a.e.Zero(),this._vector3=a.e.Zero(),this._vector2=a.d.Zero()}return Object.defineProperty(e.prototype,"invertYAxis",{get:function(){return 1!==this._yAxisScale},set:function(e){this._yAxisScale=e?-1:1},enumerable:!0,configurable:!0}),e.prototype.attachControl=function(e,t){var n=this,i=this.camera.getScene().gamepadManager;this._onGamepadConnectedObserver=i.onGamepadConnectedObservable.add((function(e){e.type!==Ve.POSE_ENABLED&&(n.gamepad&&e.type!==Ve.XBOX||(n.gamepad=e))})),this._onGamepadDisconnectedObserver=i.onGamepadDisconnectedObservable.add((function(e){n.gamepad===e&&(n.gamepad=null)})),this.gamepad=i.getGamepadByType(Ve.XBOX)},e.prototype.detachControl=function(e){this.camera.getScene().gamepadManager.onGamepadConnectedObservable.remove(this._onGamepadConnectedObserver),this.camera.getScene().gamepadManager.onGamepadDisconnectedObservable.remove(this._onGamepadDisconnectedObserver),this.gamepad=null},e.prototype.checkInputs=function(){if(this.gamepad&&this.gamepad.leftStick){var e=this.camera,t=this.gamepad.leftStick,n=t.x/this.gamepadMoveSensibility,i=t.y/this.gamepadMoveSensibility;t.x=Math.abs(n)>.005?0+n:0,t.y=Math.abs(i)>.005?0+i:0;var r=this.gamepad.rightStick;if(r){var o=r.x/this.gamepadAngularSensibility,s=r.y/this.gamepadAngularSensibility*this._yAxisScale;r.x=Math.abs(o)>.001?0+o:0,r.y=Math.abs(s)>.001?0+s:0}else r={x:0,y:0};e.rotationQuaternion?e.rotationQuaternion.toRotationMatrix(this._cameraTransform):a.a.RotationYawPitchRollToRef(e.rotation.y,e.rotation.x,0,this._cameraTransform);var c=50*e._computeLocalCameraSpeed();this._vector3.copyFromFloats(t.x*c,0,-t.y*c),a.e.TransformCoordinatesToRef(this._vector3,this._cameraTransform,this._deltaTransform),e.cameraDirection.addInPlace(this._deltaTransform),this._vector2.copyFromFloats(r.y,r.x),e.cameraRotation.addInPlace(this._vector2)}},e.prototype.getClassName=function(){return"FreeCameraGamepadInput"},e.prototype.getSimpleName=function(){return"gamepad"},Object(p.c)([Object(Fe.c)()],e.prototype,"gamepadAngularSensibility",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"gamepadMoveSensibility",void 0),e}();Be.a.FreeCameraGamepadInput=rt;var ot,at=n(191),st=n(192),ct=n(193),lt=n(149);!function(e){e[e.X=0]="X",e[e.Y=1]="Y",e[e.Z=2]="Z"}(ot||(ot={}));var ut=function(){function e(t){var n=this;if(this._leftJoystick=!!t,e._globalJoystickIndex++,this._axisTargetedByLeftAndRight=ot.X,this._axisTargetedByUpAndDown=ot.Y,this.reverseLeftRight=!1,this.reverseUpDown=!1,this._touches=new lt.a,this.deltaPosition=a.e.Zero(),this._joystickSensibility=25,this._inversedSensibility=1/(this._joystickSensibility/1e3),this._onResize=function(t){e.vjCanvasWidth=window.innerWidth,e.vjCanvasHeight=window.innerHeight,e.Canvas&&(e.Canvas.width=e.vjCanvasWidth,e.Canvas.height=e.vjCanvasHeight),e.halfWidth=e.vjCanvasWidth/2},!e.Canvas){window.addEventListener("resize",this._onResize,!1),e.Canvas=document.createElement("canvas"),e.vjCanvasWidth=window.innerWidth,e.vjCanvasHeight=window.innerHeight,e.Canvas.width=window.innerWidth,e.Canvas.height=window.innerHeight,e.Canvas.style.width="100%",e.Canvas.style.height="100%",e.Canvas.style.position="absolute",e.Canvas.style.backgroundColor="transparent",e.Canvas.style.top="0px",e.Canvas.style.left="0px",e.Canvas.style.zIndex="5",e.Canvas.style.msTouchAction="none",e.Canvas.setAttribute("touch-action","none");var i=e.Canvas.getContext("2d");if(!i)throw new Error("Unable to create canvas for virtual joystick");e.vjCanvasContext=i,e.vjCanvasContext.strokeStyle="#ffffff",e.vjCanvasContext.lineWidth=2,document.body.appendChild(e.Canvas)}e.halfWidth=e.Canvas.width/2,this.pressed=!1,this._joystickColor="cyan",this._joystickPointerID=-1,this._joystickPointerPos=new a.d(0,0),this._joystickPreviousPointerPos=new a.d(0,0),this._joystickPointerStartPos=new a.d(0,0),this._deltaJoystickVector=new a.d(0,0),this._onPointerDownHandlerRef=function(e){n._onPointerDown(e)},this._onPointerMoveHandlerRef=function(e){n._onPointerMove(e)},this._onPointerUpHandlerRef=function(e){n._onPointerUp(e)},e.Canvas.addEventListener("pointerdown",this._onPointerDownHandlerRef,!1),e.Canvas.addEventListener("pointermove",this._onPointerMoveHandlerRef,!1),e.Canvas.addEventListener("pointerup",this._onPointerUpHandlerRef,!1),e.Canvas.addEventListener("pointerout",this._onPointerUpHandlerRef,!1),e.Canvas.addEventListener("contextmenu",(function(e){e.preventDefault()}),!1),requestAnimationFrame((function(){n._drawVirtualJoystick()}))}return e.prototype.setJoystickSensibility=function(e){this._joystickSensibility=e,this._inversedSensibility=1/(this._joystickSensibility/1e3)},e.prototype._onPointerDown=function(t){t.preventDefault(),(!0===this._leftJoystick?t.clientXe.halfWidth)&&this._joystickPointerID<0?(this._joystickPointerID=t.pointerId,this._joystickPointerStartPos.x=t.clientX,this._joystickPointerStartPos.y=t.clientY,this._joystickPointerPos=this._joystickPointerStartPos.clone(),this._joystickPreviousPointerPos=this._joystickPointerStartPos.clone(),this._deltaJoystickVector.x=0,this._deltaJoystickVector.y=0,this.pressed=!0,this._touches.add(t.pointerId.toString(),t)):e._globalJoystickIndex<2&&this._action&&(this._action(),this._touches.add(t.pointerId.toString(),{x:t.clientX,y:t.clientY,prevX:t.clientX,prevY:t.clientY}))},e.prototype._onPointerMove=function(e){if(this._joystickPointerID==e.pointerId){this._joystickPointerPos.x=e.clientX,this._joystickPointerPos.y=e.clientY,this._deltaJoystickVector=this._joystickPointerPos.clone(),this._deltaJoystickVector=this._deltaJoystickVector.subtract(this._joystickPointerStartPos);var t=(this.reverseLeftRight?-1:1)*this._deltaJoystickVector.x/this._inversedSensibility;switch(this._axisTargetedByLeftAndRight){case ot.X:this.deltaPosition.x=Math.min(1,Math.max(-1,t));break;case ot.Y:this.deltaPosition.y=Math.min(1,Math.max(-1,t));break;case ot.Z:this.deltaPosition.z=Math.min(1,Math.max(-1,t))}var n=(this.reverseUpDown?1:-1)*this._deltaJoystickVector.y/this._inversedSensibility;switch(this._axisTargetedByUpAndDown){case ot.X:this.deltaPosition.x=Math.min(1,Math.max(-1,n));break;case ot.Y:this.deltaPosition.y=Math.min(1,Math.max(-1,n));break;case ot.Z:this.deltaPosition.z=Math.min(1,Math.max(-1,n))}}else{var i=this._touches.get(e.pointerId.toString());i&&(i.x=e.clientX,i.y=e.clientY)}},e.prototype._onPointerUp=function(t){if(this._joystickPointerID==t.pointerId)e.vjCanvasContext.clearRect(this._joystickPointerStartPos.x-64,this._joystickPointerStartPos.y-64,128,128),e.vjCanvasContext.clearRect(this._joystickPreviousPointerPos.x-42,this._joystickPreviousPointerPos.y-42,84,84),this._joystickPointerID=-1,this.pressed=!1;else{var n=this._touches.get(t.pointerId.toString());n&&e.vjCanvasContext.clearRect(n.prevX-44,n.prevY-44,88,88)}this._deltaJoystickVector.x=0,this._deltaJoystickVector.y=0,this._touches.remove(t.pointerId.toString())},e.prototype.setJoystickColor=function(e){this._joystickColor=e},e.prototype.setActionOnTouch=function(e){this._action=e},e.prototype.setAxisForLeftRight=function(e){switch(e){case ot.X:case ot.Y:case ot.Z:this._axisTargetedByLeftAndRight=e;break;default:this._axisTargetedByLeftAndRight=ot.X}},e.prototype.setAxisForUpDown=function(e){switch(e){case ot.X:case ot.Y:case ot.Z:this._axisTargetedByUpAndDown=e;break;default:this._axisTargetedByUpAndDown=ot.Y}},e.prototype._drawVirtualJoystick=function(){var t=this;this.pressed&&this._touches.forEach((function(n,i){i.pointerId===t._joystickPointerID?(e.vjCanvasContext.clearRect(t._joystickPointerStartPos.x-64,t._joystickPointerStartPos.y-64,128,128),e.vjCanvasContext.clearRect(t._joystickPreviousPointerPos.x-42,t._joystickPreviousPointerPos.y-42,84,84),e.vjCanvasContext.beginPath(),e.vjCanvasContext.lineWidth=6,e.vjCanvasContext.strokeStyle=t._joystickColor,e.vjCanvasContext.arc(t._joystickPointerStartPos.x,t._joystickPointerStartPos.y,40,0,2*Math.PI,!0),e.vjCanvasContext.stroke(),e.vjCanvasContext.closePath(),e.vjCanvasContext.beginPath(),e.vjCanvasContext.strokeStyle=t._joystickColor,e.vjCanvasContext.lineWidth=2,e.vjCanvasContext.arc(t._joystickPointerStartPos.x,t._joystickPointerStartPos.y,60,0,2*Math.PI,!0),e.vjCanvasContext.stroke(),e.vjCanvasContext.closePath(),e.vjCanvasContext.beginPath(),e.vjCanvasContext.strokeStyle=t._joystickColor,e.vjCanvasContext.arc(t._joystickPointerPos.x,t._joystickPointerPos.y,40,0,2*Math.PI,!0),e.vjCanvasContext.stroke(),e.vjCanvasContext.closePath(),t._joystickPreviousPointerPos=t._joystickPointerPos.clone()):(e.vjCanvasContext.clearRect(i.prevX-44,i.prevY-44,88,88),e.vjCanvasContext.beginPath(),e.vjCanvasContext.fillStyle="white",e.vjCanvasContext.beginPath(),e.vjCanvasContext.strokeStyle="red",e.vjCanvasContext.lineWidth=6,e.vjCanvasContext.arc(i.x,i.y,40,0,2*Math.PI,!0),e.vjCanvasContext.stroke(),e.vjCanvasContext.closePath(),i.prevX=i.x,i.prevY=i.y)})),requestAnimationFrame((function(){t._drawVirtualJoystick()}))},e.prototype.releaseCanvas=function(){e.Canvas&&(e.Canvas.removeEventListener("pointerdown",this._onPointerDownHandlerRef),e.Canvas.removeEventListener("pointermove",this._onPointerMoveHandlerRef),e.Canvas.removeEventListener("pointerup",this._onPointerUpHandlerRef),e.Canvas.removeEventListener("pointerout",this._onPointerUpHandlerRef),window.removeEventListener("resize",this._onResize),document.body.removeChild(e.Canvas),e.Canvas=null)},e._globalJoystickIndex=0,e}();nt.a.prototype.addVirtualJoystick=function(){return this.add(new pt),this};var pt=function(){function e(){}return e.prototype.getLeftJoystick=function(){return this._leftjoystick},e.prototype.getRightJoystick=function(){return this._rightjoystick},e.prototype.checkInputs=function(){if(this._leftjoystick){var e=this.camera,t=50*e._computeLocalCameraSpeed(),n=a.a.RotationYawPitchRoll(e.rotation.y,e.rotation.x,0),i=a.e.TransformCoordinates(new a.e(this._leftjoystick.deltaPosition.x*t,this._leftjoystick.deltaPosition.y*t,this._leftjoystick.deltaPosition.z*t),n);e.cameraDirection=e.cameraDirection.add(i),e.cameraRotation=e.cameraRotation.addVector3(this._rightjoystick.deltaPosition),this._leftjoystick.pressed||(this._leftjoystick.deltaPosition=this._leftjoystick.deltaPosition.scale(.9)),this._rightjoystick.pressed||(this._rightjoystick.deltaPosition=this._rightjoystick.deltaPosition.scale(.9))}},e.prototype.attachControl=function(e,t){this._leftjoystick=new ut(!0),this._leftjoystick.setAxisForUpDown(ot.Z),this._leftjoystick.setAxisForLeftRight(ot.X),this._leftjoystick.setJoystickSensibility(.15),this._rightjoystick=new ut(!1),this._rightjoystick.setAxisForUpDown(ot.X),this._rightjoystick.setAxisForLeftRight(ot.Y),this._rightjoystick.reverseUpDown=!0,this._rightjoystick.setJoystickSensibility(.05),this._rightjoystick.setJoystickColor("yellow")},e.prototype.detachControl=function(e){this._leftjoystick.releaseCanvas(),this._rightjoystick.releaseCanvas()},e.prototype.getClassName=function(){return"FreeCameraVirtualJoystickInput"},e.prototype.getSimpleName=function(){return"virtualJoystick"},e}();Be.a.FreeCameraVirtualJoystickInput=pt;var ht=n(100),dt=n(61),ft=n(33);ft.a.AddNodeConstructor("TouchCamera",(function(e,t){return function(){return new _t(e,a.e.Zero(),t)}}));var _t=function(e){function t(t,n,i){var r=e.call(this,t,n,i)||this;return r.inputs.addTouch(),r._setupInputs(),r}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"touchAngularSensibility",{get:function(){var e=this.inputs.attached.touch;return e?e.touchAngularSensibility:0},set:function(e){var t=this.inputs.attached.touch;t&&(t.touchAngularSensibility=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"touchMoveSensibility",{get:function(){var e=this.inputs.attached.touch;return e?e.touchMoveSensibility:0},set:function(e){var t=this.inputs.attached.touch;t&&(t.touchMoveSensibility=e)},enumerable:!0,configurable:!0}),t.prototype.getClassName=function(){return"TouchCamera"},t.prototype._setupInputs=function(){var e=this.inputs.attached.mouse;e&&(e.touchEnabled=!1)},t}(dt.a),mt=n(32);ft.a.AddNodeConstructor("ArcRotateCamera",(function(e,t){return function(){return new bt(e,0,0,1,a.e.Zero(),t)}}));var bt=function(e){function t(t,n,i,r,s,c,l){void 0===l&&(l=!0);var u=e.call(this,t,a.e.Zero(),c,l)||this;return u._upVector=a.e.Up(),u.inertialAlphaOffset=0,u.inertialBetaOffset=0,u.inertialRadiusOffset=0,u.lowerAlphaLimit=null,u.upperAlphaLimit=null,u.lowerBetaLimit=.01,u.upperBetaLimit=Math.PI-.01,u.lowerRadiusLimit=null,u.upperRadiusLimit=null,u.inertialPanningX=0,u.inertialPanningY=0,u.pinchToPanMaxDistance=20,u.panningDistanceLimit=null,u.panningOriginTarget=a.e.Zero(),u.panningInertia=.9,u.zoomOnFactor=1,u.targetScreenOffset=a.d.Zero(),u.allowUpsideDown=!0,u.useInputToRestoreState=!0,u._viewMatrix=new a.a,u.panningAxis=new a.e(1,1,0),u.onMeshTargetChangedObservable=new o.c,u.checkCollisions=!1,u.collisionRadius=new a.e(.5,.5,.5),u._previousPosition=a.e.Zero(),u._collisionVelocity=a.e.Zero(),u._newPosition=a.e.Zero(),u._computationVector=a.e.Zero(),u._onCollisionPositionChange=function(e,t,n){void 0===n&&(n=null),n?(u.setPosition(t),u.onCollide&&u.onCollide(n)):u._previousPosition.copyFrom(u._position);var i=Math.cos(u.alpha),r=Math.sin(u.alpha),o=Math.cos(u.beta),a=Math.sin(u.beta);0===a&&(a=1e-4);var s=u._getTargetPosition();u._computationVector.copyFromFloats(u.radius*i*a,u.radius*o,u.radius*r*a),s.addToRef(u._computationVector,u._newPosition),u._position.copyFrom(u._newPosition);var c=u.upVector;u.allowUpsideDown&&u.beta<0&&(c=(c=c.clone()).negate()),u._computeViewMatrix(u._position,s,c),u._viewMatrix.addAtIndex(12,u.targetScreenOffset.x),u._viewMatrix.addAtIndex(13,u.targetScreenOffset.y),u._collisionTriggered=!1},u._target=a.e.Zero(),s&&u.setTarget(s),u.alpha=n,u.beta=i,u.radius=r,u.getViewMatrix(),u.inputs=new Ke(u),u.inputs.addKeyboard().addMouseWheel().addPointers(),u}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"target",{get:function(){return this._target},set:function(e){this.setTarget(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"position",{get:function(){return this._position},set:function(e){this.setPosition(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"upVector",{get:function(){return this._upVector},set:function(e){this._upToYMatrix||(this._YToUpMatrix=new a.a,this._upToYMatrix=new a.a,this._upVector=a.e.Zero()),e.normalize(),this._upVector.copyFrom(e),this.setMatUp()},enumerable:!0,configurable:!0}),t.prototype.setMatUp=function(){a.a.RotationAlignToRef(a.e.UpReadOnly,this._upVector,this._YToUpMatrix),a.a.RotationAlignToRef(this._upVector,a.e.UpReadOnly,this._upToYMatrix)},Object.defineProperty(t.prototype,"angularSensibilityX",{get:function(){var e=this.inputs.attached.pointers;return e?e.angularSensibilityX:0},set:function(e){var t=this.inputs.attached.pointers;t&&(t.angularSensibilityX=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"angularSensibilityY",{get:function(){var e=this.inputs.attached.pointers;return e?e.angularSensibilityY:0},set:function(e){var t=this.inputs.attached.pointers;t&&(t.angularSensibilityY=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pinchPrecision",{get:function(){var e=this.inputs.attached.pointers;return e?e.pinchPrecision:0},set:function(e){var t=this.inputs.attached.pointers;t&&(t.pinchPrecision=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pinchDeltaPercentage",{get:function(){var e=this.inputs.attached.pointers;return e?e.pinchDeltaPercentage:0},set:function(e){var t=this.inputs.attached.pointers;t&&(t.pinchDeltaPercentage=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useNaturalPinchZoom",{get:function(){var e=this.inputs.attached.pointers;return!!e&&e.useNaturalPinchZoom},set:function(e){var t=this.inputs.attached.pointers;t&&(t.useNaturalPinchZoom=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"panningSensibility",{get:function(){var e=this.inputs.attached.pointers;return e?e.panningSensibility:0},set:function(e){var t=this.inputs.attached.pointers;t&&(t.panningSensibility=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysUp",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysUp:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysUp=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysDown",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysDown:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysDown=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysLeft",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysLeft:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysLeft=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysRight",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysRight:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysRight=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"wheelPrecision",{get:function(){var e=this.inputs.attached.mousewheel;return e?e.wheelPrecision:0},set:function(e){var t=this.inputs.attached.mousewheel;t&&(t.wheelPrecision=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"wheelDeltaPercentage",{get:function(){var e=this.inputs.attached.mousewheel;return e?e.wheelDeltaPercentage:0},set:function(e){var t=this.inputs.attached.mousewheel;t&&(t.wheelDeltaPercentage=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bouncingBehavior",{get:function(){return this._bouncingBehavior},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useBouncingBehavior",{get:function(){return null!=this._bouncingBehavior},set:function(e){e!==this.useBouncingBehavior&&(e?(this._bouncingBehavior=new fe,this.addBehavior(this._bouncingBehavior)):this._bouncingBehavior&&(this.removeBehavior(this._bouncingBehavior),this._bouncingBehavior=null))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"framingBehavior",{get:function(){return this._framingBehavior},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useFramingBehavior",{get:function(){return null!=this._framingBehavior},set:function(e){e!==this.useFramingBehavior&&(e?(this._framingBehavior=new _e,this.addBehavior(this._framingBehavior)):this._framingBehavior&&(this.removeBehavior(this._framingBehavior),this._framingBehavior=null))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"autoRotationBehavior",{get:function(){return this._autoRotationBehavior},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useAutoRotationBehavior",{get:function(){return null!=this._autoRotationBehavior},set:function(e){e!==this.useAutoRotationBehavior&&(e?(this._autoRotationBehavior=new de,this.addBehavior(this._autoRotationBehavior)):this._autoRotationBehavior&&(this.removeBehavior(this._autoRotationBehavior),this._autoRotationBehavior=null))},enumerable:!0,configurable:!0}),t.prototype._initCache=function(){e.prototype._initCache.call(this),this._cache._target=new a.e(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this._cache.alpha=void 0,this._cache.beta=void 0,this._cache.radius=void 0,this._cache.targetScreenOffset=a.d.Zero()},t.prototype._updateCache=function(t){t||e.prototype._updateCache.call(this),this._cache._target.copyFrom(this._getTargetPosition()),this._cache.alpha=this.alpha,this._cache.beta=this.beta,this._cache.radius=this.radius,this._cache.targetScreenOffset.copyFrom(this.targetScreenOffset)},t.prototype._getTargetPosition=function(){if(this._targetHost&&this._targetHost.getAbsolutePosition){var e=this._targetHost.absolutePosition;this._targetBoundingCenter?e.addToRef(this._targetBoundingCenter,this._target):this._target.copyFrom(e)}var t=this._getLockedTargetPosition();return t||this._target},t.prototype.storeState=function(){return this._storedAlpha=this.alpha,this._storedBeta=this.beta,this._storedRadius=this.radius,this._storedTarget=this._getTargetPosition().clone(),this._storedTargetScreenOffset=this.targetScreenOffset.clone(),e.prototype.storeState.call(this)},t.prototype._restoreStateValues=function(){return!!e.prototype._restoreStateValues.call(this)&&(this.setTarget(this._storedTarget.clone()),this.alpha=this._storedAlpha,this.beta=this._storedBeta,this.radius=this._storedRadius,this.targetScreenOffset=this._storedTargetScreenOffset.clone(),this.inertialAlphaOffset=0,this.inertialBetaOffset=0,this.inertialRadiusOffset=0,this.inertialPanningX=0,this.inertialPanningY=0,!0)},t.prototype._isSynchronizedViewMatrix=function(){return!!e.prototype._isSynchronizedViewMatrix.call(this)&&(this._cache._target.equals(this._getTargetPosition())&&this._cache.alpha===this.alpha&&this._cache.beta===this.beta&&this._cache.radius===this.radius&&this._cache.targetScreenOffset.equals(this.targetScreenOffset))},t.prototype.attachControl=function(e,t,n,i){var r=this;void 0===n&&(n=!0),void 0===i&&(i=2),this._useCtrlForPanning=n,this._panningMouseButton=i,this.inputs.attachElement(e,t),this._reset=function(){r.inertialAlphaOffset=0,r.inertialBetaOffset=0,r.inertialRadiusOffset=0,r.inertialPanningX=0,r.inertialPanningY=0}},t.prototype.detachControl=function(e){this.inputs.detachElement(e),this._reset&&this._reset()},t.prototype._checkInputs=function(){if(!this._collisionTriggered){if(this.inputs.checkInputs(),0!==this.inertialAlphaOffset||0!==this.inertialBetaOffset||0!==this.inertialRadiusOffset){var t=this.inertialAlphaOffset;this.beta<=0&&(t*=-1),this.getScene().useRightHandedSystem&&(t*=-1),this.parent&&this.parent._getWorldMatrixDeterminant()<0&&(t*=-1),this.alpha+=t,this.beta+=this.inertialBetaOffset,this.radius-=this.inertialRadiusOffset,this.inertialAlphaOffset*=this.inertia,this.inertialBetaOffset*=this.inertia,this.inertialRadiusOffset*=this.inertia,Math.abs(this.inertialAlphaOffset)Math.PI&&(this.beta=this.beta-2*Math.PI):this.betathis.upperBetaLimit&&(this.beta=this.upperBetaLimit),null!==this.lowerAlphaLimit&&this.alphathis.upperAlphaLimit&&(this.alpha=this.upperAlphaLimit),null!==this.lowerRadiusLimit&&this.radiusthis.upperRadiusLimit&&(this.radius=this.upperRadiusLimit,this.inertialRadiusOffset=0)},t.prototype.rebuildAnglesAndRadius=function(){this._position.subtractToRef(this._getTargetPosition(),this._computationVector),0===this._upVector.x&&1===this._upVector.y&&0===this._upVector.z||a.e.TransformCoordinatesToRef(this._computationVector,this._upToYMatrix,this._computationVector),this.radius=this._computationVector.length(),0===this.radius&&(this.radius=1e-4),0===this._computationVector.x&&0===this._computationVector.z?this.alpha=Math.PI/2:this.alpha=Math.acos(this._computationVector.x/Math.sqrt(Math.pow(this._computationVector.x,2)+Math.pow(this._computationVector.z,2))),this._computationVector.z<0&&(this.alpha=2*Math.PI-this.alpha),this.beta=Math.acos(this._computationVector.y/this.radius),this._checkLimits()},t.prototype.setPosition=function(e){this._position.equals(e)||(this._position.copyFrom(e),this.rebuildAnglesAndRadius())},t.prototype.setTarget=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=!1),e.getBoundingInfo)this._targetBoundingCenter=t?e.getBoundingInfo().boundingBox.centerWorld.clone():null,e.computeWorldMatrix(),this._targetHost=e,this._target=this._getTargetPosition(),this.onMeshTargetChangedObservable.notifyObservers(this._targetHost);else{var i=e,r=this._getTargetPosition();if(r&&!n&&r.equals(i))return;this._targetHost=null,this._target=i,this._targetBoundingCenter=null,this.onMeshTargetChangedObservable.notifyObservers(null)}this.rebuildAnglesAndRadius()},t.prototype._getViewMatrix=function(){var e=Math.cos(this.alpha),t=Math.sin(this.alpha),n=Math.cos(this.beta),i=Math.sin(this.beta);0===i&&(i=1e-4);var r=this._getTargetPosition();if(this._computationVector.copyFromFloats(this.radius*e*i,this.radius*n,this.radius*t*i),0===this._upVector.x&&1===this._upVector.y&&0===this._upVector.z||a.e.TransformCoordinatesToRef(this._computationVector,this._YToUpMatrix,this._computationVector),r.addToRef(this._computationVector,this._newPosition),this.getScene().collisionsEnabled&&this.checkCollisions){var o=this.getScene().collisionCoordinator;this._collider||(this._collider=o.createCollider()),this._collider._radius=this.collisionRadius,this._newPosition.subtractToRef(this._position,this._collisionVelocity),this._collisionTriggered=!0,o.getNewPosition(this._position,this._collisionVelocity,this._collider,3,null,this._onCollisionPositionChange,this.uniqueId)}else{this._position.copyFrom(this._newPosition);var s=this.upVector;this.allowUpsideDown&&i<0&&(s=s.negate()),this._computeViewMatrix(this._position,r,s),this._viewMatrix.addAtIndex(12,this.targetScreenOffset.x),this._viewMatrix.addAtIndex(13,this.targetScreenOffset.y)}return this._currentTarget=r,this._viewMatrix},t.prototype.zoomOn=function(e,t){void 0===t&&(t=!1),e=e||this.getScene().meshes;var n=ve.a.MinMax(e),i=a.e.Distance(n.min,n.max);this.radius=i*this.zoomOnFactor,this.focusOn({min:n.min,max:n.max,distance:i},t)},t.prototype.focusOn=function(e,t){var n,i;if(void 0===t&&(t=!1),void 0===e.min){var r=e||this.getScene().meshes;n=ve.a.MinMax(r),i=a.e.Distance(n.min,n.max)}else{n=e,i=e.distance}this._target=ve.a.Center(n),t||(this.maxZ=2*i)},t.prototype.createRigCamera=function(e,n){var i=0;switch(this.cameraRigMode){case xe.a.RIG_MODE_STEREOSCOPIC_ANAGLYPH:case xe.a.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:case xe.a.RIG_MODE_STEREOSCOPIC_OVERUNDER:case xe.a.RIG_MODE_STEREOSCOPIC_INTERLACED:case xe.a.RIG_MODE_VR:i=this._cameraRigParams.stereoHalfAngle*(0===n?1:-1);break;case xe.a.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED:i=this._cameraRigParams.stereoHalfAngle*(0===n?-1:1)}var r=new t(e,this.alpha+i,this.beta,this.radius,this._target,this.getScene());return r._cameraRigParams={},r.isRigCamera=!0,r.rigParent=this,r},t.prototype._updateRigCameras=function(){var t=this._rigCameras[0],n=this._rigCameras[1];switch(t.beta=n.beta=this.beta,this.cameraRigMode){case xe.a.RIG_MODE_STEREOSCOPIC_ANAGLYPH:case xe.a.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:case xe.a.RIG_MODE_STEREOSCOPIC_OVERUNDER:case xe.a.RIG_MODE_STEREOSCOPIC_INTERLACED:case xe.a.RIG_MODE_VR:t.alpha=this.alpha-this._cameraRigParams.stereoHalfAngle,n.alpha=this.alpha+this._cameraRigParams.stereoHalfAngle;break;case xe.a.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED:t.alpha=this.alpha+this._cameraRigParams.stereoHalfAngle,n.alpha=this.alpha-this._cameraRigParams.stereoHalfAngle}e.prototype._updateRigCameras.call(this)},t.prototype.dispose=function(){this.inputs.clear(),e.prototype.dispose.call(this)},t.prototype.getClassName=function(){return"ArcRotateCamera"},Object(p.c)([Object(Fe.c)()],t.prototype,"alpha",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"beta",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"radius",void 0),Object(p.c)([Object(Fe.o)("target")],t.prototype,"_target",void 0),Object(p.c)([Object(Fe.o)("upVector")],t.prototype,"_upVector",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"inertialAlphaOffset",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"inertialBetaOffset",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"inertialRadiusOffset",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"lowerAlphaLimit",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"upperAlphaLimit",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"lowerBetaLimit",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"upperBetaLimit",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"lowerRadiusLimit",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"upperRadiusLimit",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"inertialPanningX",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"inertialPanningY",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"pinchToPanMaxDistance",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"panningDistanceLimit",void 0),Object(p.c)([Object(Fe.o)()],t.prototype,"panningOriginTarget",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"panningInertia",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"zoomOnFactor",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"targetScreenOffset",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"allowUpsideDown",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"useInputToRestoreState",void 0),t}(ht.a);ft.a.AddNodeConstructor("DeviceOrientationCamera",(function(e,t){return function(){return new gt(e,a.e.Zero(),t)}}));var gt=function(e){function t(t,n,i){var r=e.call(this,t,n,i)||this;return r._tmpDragQuaternion=new a.b,r._disablePointerInputWhenUsingDeviceOrientation=!0,r._dragFactor=0,r._quaternionCache=new a.b,r.inputs.addDeviceOrientation(),r.inputs._deviceOrientationInput&&r.inputs._deviceOrientationInput._onDeviceOrientationChangedObservable.addOnce((function(){r._disablePointerInputWhenUsingDeviceOrientation&&r.inputs._mouseInput&&(r.inputs._mouseInput._allowCameraRotation=!1,r.inputs._mouseInput.onPointerMovedObservable.add((function(e){0!=r._dragFactor&&(r._initialQuaternion||(r._initialQuaternion=new a.b),a.b.FromEulerAnglesToRef(0,e.offsetX*r._dragFactor,0,r._tmpDragQuaternion),r._initialQuaternion.multiplyToRef(r._tmpDragQuaternion,r._initialQuaternion))})))})),r}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"disablePointerInputWhenUsingDeviceOrientation",{get:function(){return this._disablePointerInputWhenUsingDeviceOrientation},set:function(e){this._disablePointerInputWhenUsingDeviceOrientation=e},enumerable:!0,configurable:!0}),t.prototype.enableHorizontalDragging=function(e){void 0===e&&(e=1/300),this._dragFactor=e},t.prototype.getClassName=function(){return"DeviceOrientationCamera"},t.prototype._checkInputs=function(){e.prototype._checkInputs.call(this),this._quaternionCache.copyFrom(this.rotationQuaternion),this._initialQuaternion&&this._initialQuaternion.multiplyToRef(this.rotationQuaternion,this.rotationQuaternion)},t.prototype.resetToCurrentRotation=function(e){var t=this;void 0===e&&(e=we.a.Y),this.rotationQuaternion&&(this._initialQuaternion||(this._initialQuaternion=new a.b),this._initialQuaternion.copyFrom(this._quaternionCache||this.rotationQuaternion),["x","y","z"].forEach((function(n){e[n]?t._initialQuaternion[n]*=-1:t._initialQuaternion[n]=0})),this._initialQuaternion.normalize(),this._initialQuaternion.multiplyToRef(this.rotationQuaternion,this.rotationQuaternion))},t}(dt.a),vt=function(e){function t(t){return e.call(this,t)||this}return Object(p.d)(t,e),t.prototype.addKeyboard=function(){return this.add(new qe),this},t.prototype.addMouse=function(e){return void 0===e&&(e=!0),this.add(new Je(e)),this},t}(Be.b),yt=function(e){function t(t,n,i,r){void 0===r&&(r=!0);var o=e.call(this,t,n,i,r)||this;return o.ellipsoid=new a.e(1,1,1),o.ellipsoidOffset=new a.e(0,0,0),o.checkCollisions=!1,o.applyGravity=!1,o.cameraDirection=a.e.Zero(),o._trackRoll=0,o.rollCorrect=100,o.bankedTurn=!1,o.bankedTurnLimit=Math.PI/2,o.bankedTurnMultiplier=1,o._needMoveForGravity=!1,o._oldPosition=a.e.Zero(),o._diffPosition=a.e.Zero(),o._newPosition=a.e.Zero(),o._collisionMask=-1,o._onCollisionPositionChange=function(e,t,n){void 0===n&&(n=null);var i;i=t,o._newPosition.copyFrom(i),o._newPosition.subtractToRef(o._oldPosition,o._diffPosition),o._diffPosition.length()>ne.a.CollisionsEpsilon&&(o.position.addInPlace(o._diffPosition),o.onCollide&&n&&o.onCollide(n))},o.inputs=new vt(o),o.inputs.addKeyboard().addMouse(),o}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"angularSensibility",{get:function(){var e=this.inputs.attached.mouse;return e?e.angularSensibility:0},set:function(e){var t=this.inputs.attached.mouse;t&&(t.angularSensibility=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysForward",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysForward:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysForward=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysBackward",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysBackward:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysBackward=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysUp",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysUp:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysUp=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysDown",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysDown:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysDown=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysLeft",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysLeft:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysLeft=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysRight",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysRight:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysRight=e)},enumerable:!0,configurable:!0}),t.prototype.attachControl=function(e,t){this.inputs.attachElement(e,t)},t.prototype.detachControl=function(e){this.inputs.detachElement(e),this.cameraDirection=new a.e(0,0,0)},Object.defineProperty(t.prototype,"collisionMask",{get:function(){return this._collisionMask},set:function(e){this._collisionMask=isNaN(e)?-1:e},enumerable:!0,configurable:!0}),t.prototype._collideWithWorld=function(e){(this.parent?a.e.TransformCoordinates(this.position,this.parent.getWorldMatrix()):this.position).subtractFromFloatsToRef(0,this.ellipsoid.y,0,this._oldPosition),this._oldPosition.addInPlace(this.ellipsoidOffset);var t=this.getScene().collisionCoordinator;this._collider||(this._collider=t.createCollider()),this._collider._radius=this.ellipsoid,this._collider.collisionMask=this._collisionMask;var n=e;this.applyGravity&&(n=e.add(this.getScene().gravity)),t.getNewPosition(this._oldPosition,n,this._collider,3,null,this._onCollisionPositionChange,this.uniqueId)},t.prototype._checkInputs=function(){this._localDirection||(this._localDirection=a.e.Zero(),this._transformedDirection=a.e.Zero()),this.inputs.checkInputs(),e.prototype._checkInputs.call(this)},t.prototype._decideIfNeedsToMove=function(){return this._needMoveForGravity||Math.abs(this.cameraDirection.x)>0||Math.abs(this.cameraDirection.y)>0||Math.abs(this.cameraDirection.z)>0},t.prototype._updatePosition=function(){this.checkCollisions&&this.getScene().collisionsEnabled?this._collideWithWorld(this.cameraDirection):e.prototype._updatePosition.call(this)},t.prototype.restoreRoll=function(e){var t=this._trackRoll,n=t-this.rotation.z;Math.abs(n)>=.001&&(this.rotation.z+=n/e,Math.abs(t-this.rotation.z)<=.001&&(this.rotation.z=t))},t.prototype.dispose=function(){this.inputs.clear(),e.prototype.dispose.call(this)},t.prototype.getClassName=function(){return"FlyCamera"},Object(p.c)([Object(Fe.o)()],t.prototype,"ellipsoid",void 0),Object(p.c)([Object(Fe.o)()],t.prototype,"ellipsoidOffset",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"checkCollisions",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"applyGravity",void 0),t}(ht.a),Ct=function(e){function t(t){return e.call(this,t)||this}return Object(p.d)(t,e),t.prototype.addKeyboard=function(){return this.add(new $e),this},t.prototype.addMouseWheel=function(){return this.add(new et),this},t.prototype.addPointers=function(){return this.add(new tt),this},t.prototype.addVRDeviceOrientation=function(){return console.warn("DeviceOrientation support not yet implemented for FollowCamera."),this},t}(Be.b);ft.a.AddNodeConstructor("FollowCamera",(function(e,t){return function(){return new xt(e,a.e.Zero(),t)}})),ft.a.AddNodeConstructor("ArcFollowCamera",(function(e,t){return function(){return new St(e,0,0,1,null,t)}}));var At,xt=function(e){function t(t,n,i,r){void 0===r&&(r=null);var o=e.call(this,t,n,i)||this;return o.radius=12,o.lowerRadiusLimit=null,o.upperRadiusLimit=null,o.rotationOffset=0,o.lowerRotationOffsetLimit=null,o.upperRotationOffsetLimit=null,o.heightOffset=4,o.lowerHeightOffsetLimit=null,o.upperHeightOffsetLimit=null,o.cameraAcceleration=.05,o.maxCameraSpeed=20,o.lockedTarget=r,o.inputs=new Ct(o),o.inputs.addKeyboard().addMouseWheel().addPointers(),o}return Object(p.d)(t,e),t.prototype._follow=function(e){if(e){var t;if(e.rotationQuaternion){var n=new a.a;e.rotationQuaternion.toRotationMatrix(n),t=Math.atan2(n.m[8],n.m[10])}else t=e.rotation.y;var i=Xe.b.ToRadians(this.rotationOffset)+t,r=e.getAbsolutePosition(),o=r.x+Math.sin(i)*this.radius,s=r.z+Math.cos(i)*this.radius,c=o-this.position.x,l=r.y+this.heightOffset-this.position.y,u=s-this.position.z,p=c*this.cameraAcceleration*2,h=l*this.cameraAcceleration,d=u*this.cameraAcceleration*2;(p>this.maxCameraSpeed||p<-this.maxCameraSpeed)&&(p=p<1?-this.maxCameraSpeed:this.maxCameraSpeed),(h>this.maxCameraSpeed||h<-this.maxCameraSpeed)&&(h=h<1?-this.maxCameraSpeed:this.maxCameraSpeed),(d>this.maxCameraSpeed||d<-this.maxCameraSpeed)&&(d=d<1?-this.maxCameraSpeed:this.maxCameraSpeed),this.position=new a.e(this.position.x+p,this.position.y+h,this.position.z+d),this.setTarget(r)}},t.prototype.attachControl=function(e,t){this.inputs.attachElement(e,t),this._reset=function(){}},t.prototype.detachControl=function(e){this.inputs.detachElement(e),this._reset&&this._reset()},t.prototype._checkInputs=function(){this.inputs.checkInputs(),this._checkLimits(),e.prototype._checkInputs.call(this),this.lockedTarget&&this._follow(this.lockedTarget)},t.prototype._checkLimits=function(){null!==this.lowerRadiusLimit&&this.radiusthis.upperRadiusLimit&&(this.radius=this.upperRadiusLimit),null!==this.lowerHeightOffsetLimit&&this.heightOffsetthis.upperHeightOffsetLimit&&(this.heightOffset=this.upperHeightOffsetLimit),null!==this.lowerRotationOffsetLimit&&this.rotationOffsetthis.upperRotationOffsetLimit&&(this.rotationOffset=this.upperRotationOffsetLimit)},t.prototype.getClassName=function(){return"FollowCamera"},Object(p.c)([Object(Fe.c)()],t.prototype,"radius",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"lowerRadiusLimit",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"upperRadiusLimit",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"rotationOffset",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"lowerRotationOffsetLimit",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"upperRotationOffsetLimit",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"heightOffset",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"lowerHeightOffsetLimit",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"upperHeightOffsetLimit",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"cameraAcceleration",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"maxCameraSpeed",void 0),Object(p.c)([Object(Fe.k)("lockedTargetId")],t.prototype,"lockedTarget",void 0),t}(ht.a),St=function(e){function t(t,n,i,r,o,s){var c=e.call(this,t,a.e.Zero(),s)||this;return c.alpha=n,c.beta=i,c.radius=r,c.target=o,c._cartesianCoordinates=a.e.Zero(),c._follow(),c}return Object(p.d)(t,e),t.prototype._follow=function(){if(this.target){this._cartesianCoordinates.x=this.radius*Math.cos(this.alpha)*Math.cos(this.beta),this._cartesianCoordinates.y=this.radius*Math.sin(this.beta),this._cartesianCoordinates.z=this.radius*Math.sin(this.alpha)*Math.cos(this.beta);var e=this.target.getAbsolutePosition();this.position=e.add(this._cartesianCoordinates),this.setTarget(e)}},t.prototype._checkInputs=function(){e.prototype._checkInputs.call(this),this._follow()},t.prototype.getClassName=function(){return"ArcFollowCamera"},t}(ht.a),Tt=n(52);!function(e){e[e.VIVE=0]="VIVE",e[e.OCULUS=1]="OCULUS",e[e.WINDOWS=2]="WINDOWS",e[e.GEAR_VR=3]="GEAR_VR",e[e.DAYDREAM=4]="DAYDREAM",e[e.GENERIC=5]="GENERIC"}(At||(At={}));var Et,Pt,Ot=function(){function e(){}return e.InitiateController=function(e){for(var t=0,n=this._ControllerFactories;tthis._maxRotationDistFromHeadset){var i=n-(n<0?-this._maxRotationDistFromHeadset:this._maxRotationDistFromHeadset);this._draggedRoomRotation+=i;var r=Math.sin(-i),o=Math.cos(-i);this._calculatedPosition.x=this._calculatedPosition.x*o-this._calculatedPosition.z*r,this._calculatedPosition.z=this._calculatedPosition.x*r+this._calculatedPosition.z*o}}a.e.TransformCoordinatesToRef(this._calculatedPosition,this._deviceToWorld,this.devicePosition),this._deviceToWorld.getRotationMatrixToRef(this._workingMatrix),a.b.FromRotationMatrixToRef(this._workingMatrix,this.deviceRotationQuaternion),this.deviceRotationQuaternion.multiplyInPlace(this._calculatedRotation),this._mesh&&(this._mesh.position.copyFrom(this.devicePosition),this._mesh.rotationQuaternion&&this._mesh.rotationQuaternion.copyFrom(this.deviceRotationQuaternion))}},t.prototype.updateFromDevice=function(e){if(!this.isXR&&e){this.rawPose=e,e.position&&(this._deviceRoomPosition.copyFromFloats(e.position[0],e.position[1],-e.position[2]),this._mesh&&this._mesh.getScene().useRightHandedSystem&&(this._deviceRoomPosition.z*=-1),this._trackPosition&&this._deviceRoomPosition.scaleToRef(this.deviceScaleFactor,this._calculatedPosition),this._calculatedPosition.addInPlace(this.position));var t=this.rawPose;e.orientation&&t.orientation&&4===t.orientation.length&&(this._deviceRoomRotationQuaternion.copyFromFloats(t.orientation[0],t.orientation[1],-t.orientation[2],-t.orientation[3]),this._mesh&&(this._mesh.getScene().useRightHandedSystem?(this._deviceRoomRotationQuaternion.z*=-1,this._deviceRoomRotationQuaternion.w*=-1):this._deviceRoomRotationQuaternion.multiplyToRef(this._leftHandSystemQuaternion,this._deviceRoomRotationQuaternion)),this._deviceRoomRotationQuaternion.multiplyToRef(this.rotationQuaternion,this._calculatedRotation))}},t.prototype.attachToMesh=function(e){if(this._mesh&&(this._mesh.parent=null),this._mesh=e,this._poseControlledCamera&&(this._mesh.parent=this._poseControlledCamera),this._mesh.rotationQuaternion||(this._mesh.rotationQuaternion=new a.b),!this.isXR&&(this._updatePoseAndMesh(),this._pointingPoseNode)){for(var t=[],n=this._pointingPoseNode;n.parent;)t.push(n.parent),n=n.parent;t.reverse().forEach((function(e){e.computeWorldMatrix(!0)}))}this._meshAttachedObservable.notifyObservers(e)},t.prototype.attachToPoseControlledCamera=function(e){this._poseControlledCamera=e,this._mesh&&(this._mesh.parent=this._poseControlledCamera)},t.prototype.dispose=function(){this._mesh&&this._mesh.dispose(),this._mesh=null,e.prototype.dispose.call(this)},Object.defineProperty(t.prototype,"mesh",{get:function(){return this._mesh},enumerable:!0,configurable:!0}),t.prototype.getForwardRay=function(e){if(void 0===e&&(e=100),!this.mesh)return new Se(a.e.Zero(),new a.e(0,0,1),e);var t=this._pointingPoseNode?this._pointingPoseNode.getWorldMatrix():this.mesh.getWorldMatrix(),n=t.getTranslation(),i=new a.e(0,0,-1),r=a.e.TransformNormal(i,t),o=a.e.Normalize(r);return new Se(n,o,e)},t.POINTING_POSE="POINTING_POSE",t}(Ve);!function(e){e[e.A=0]="A",e[e.B=1]="B",e[e.X=2]="X",e[e.Y=3]="Y",e[e.LB=4]="LB",e[e.RB=5]="RB",e[e.Back=8]="Back",e[e.Start=9]="Start",e[e.LeftStick=10]="LeftStick",e[e.RightStick=11]="RightStick"}(Et||(Et={})),function(e){e[e.Up=12]="Up",e[e.Down=13]="Down",e[e.Left=14]="Left",e[e.Right=15]="Right"}(Pt||(Pt={}));var Rt,It,wt=function(e){function t(t,n,i,r){void 0===r&&(r=!1);var a=e.call(this,t,n,i,0,1,2,3)||this;return a._leftTrigger=0,a._rightTrigger=0,a.onButtonDownObservable=new o.c,a.onButtonUpObservable=new o.c,a.onPadDownObservable=new o.c,a.onPadUpObservable=new o.c,a._buttonA=0,a._buttonB=0,a._buttonX=0,a._buttonY=0,a._buttonBack=0,a._buttonStart=0,a._buttonLB=0,a._buttonRB=0,a._buttonLeftStick=0,a._buttonRightStick=0,a._dPadUp=0,a._dPadDown=0,a._dPadLeft=0,a._dPadRight=0,a._isXboxOnePad=!1,a.type=Ve.XBOX,a._isXboxOnePad=r,a}return Object(p.d)(t,e),t.prototype.onlefttriggerchanged=function(e){this._onlefttriggerchanged=e},t.prototype.onrighttriggerchanged=function(e){this._onrighttriggerchanged=e},Object.defineProperty(t.prototype,"leftTrigger",{get:function(){return this._leftTrigger},set:function(e){this._onlefttriggerchanged&&this._leftTrigger!==e&&this._onlefttriggerchanged(e),this._leftTrigger=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rightTrigger",{get:function(){return this._rightTrigger},set:function(e){this._onrighttriggerchanged&&this._rightTrigger!==e&&this._onrighttriggerchanged(e),this._rightTrigger=e},enumerable:!0,configurable:!0}),t.prototype.onbuttondown=function(e){this._onbuttondown=e},t.prototype.onbuttonup=function(e){this._onbuttonup=e},t.prototype.ondpaddown=function(e){this._ondpaddown=e},t.prototype.ondpadup=function(e){this._ondpadup=e},t.prototype._setButtonValue=function(e,t,n){return e!==t&&(1===e&&(this._onbuttondown&&this._onbuttondown(n),this.onButtonDownObservable.notifyObservers(n)),0===e&&(this._onbuttonup&&this._onbuttonup(n),this.onButtonUpObservable.notifyObservers(n))),e},t.prototype._setDPadValue=function(e,t,n){return e!==t&&(1===e&&(this._ondpaddown&&this._ondpaddown(n),this.onPadDownObservable.notifyObservers(n)),0===e&&(this._ondpadup&&this._ondpadup(n),this.onPadUpObservable.notifyObservers(n))),e},Object.defineProperty(t.prototype,"buttonA",{get:function(){return this._buttonA},set:function(e){this._buttonA=this._setButtonValue(e,this._buttonA,Et.A)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonB",{get:function(){return this._buttonB},set:function(e){this._buttonB=this._setButtonValue(e,this._buttonB,Et.B)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonX",{get:function(){return this._buttonX},set:function(e){this._buttonX=this._setButtonValue(e,this._buttonX,Et.X)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonY",{get:function(){return this._buttonY},set:function(e){this._buttonY=this._setButtonValue(e,this._buttonY,Et.Y)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonStart",{get:function(){return this._buttonStart},set:function(e){this._buttonStart=this._setButtonValue(e,this._buttonStart,Et.Start)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonBack",{get:function(){return this._buttonBack},set:function(e){this._buttonBack=this._setButtonValue(e,this._buttonBack,Et.Back)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonLB",{get:function(){return this._buttonLB},set:function(e){this._buttonLB=this._setButtonValue(e,this._buttonLB,Et.LB)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonRB",{get:function(){return this._buttonRB},set:function(e){this._buttonRB=this._setButtonValue(e,this._buttonRB,Et.RB)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonLeftStick",{get:function(){return this._buttonLeftStick},set:function(e){this._buttonLeftStick=this._setButtonValue(e,this._buttonLeftStick,Et.LeftStick)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonRightStick",{get:function(){return this._buttonRightStick},set:function(e){this._buttonRightStick=this._setButtonValue(e,this._buttonRightStick,Et.RightStick)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dPadUp",{get:function(){return this._dPadUp},set:function(e){this._dPadUp=this._setDPadValue(e,this._dPadUp,Pt.Up)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dPadDown",{get:function(){return this._dPadDown},set:function(e){this._dPadDown=this._setDPadValue(e,this._dPadDown,Pt.Down)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dPadLeft",{get:function(){return this._dPadLeft},set:function(e){this._dPadLeft=this._setDPadValue(e,this._dPadLeft,Pt.Left)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dPadRight",{get:function(){return this._dPadRight},set:function(e){this._dPadRight=this._setDPadValue(e,this._dPadRight,Pt.Right)},enumerable:!0,configurable:!0}),t.prototype.update=function(){e.prototype.update.call(this),this._isXboxOnePad,this.buttonA=this.browserGamepad.buttons[0].value,this.buttonB=this.browserGamepad.buttons[1].value,this.buttonX=this.browserGamepad.buttons[2].value,this.buttonY=this.browserGamepad.buttons[3].value,this.buttonLB=this.browserGamepad.buttons[4].value,this.buttonRB=this.browserGamepad.buttons[5].value,this.leftTrigger=this.browserGamepad.buttons[6].value,this.rightTrigger=this.browserGamepad.buttons[7].value,this.buttonBack=this.browserGamepad.buttons[8].value,this.buttonStart=this.browserGamepad.buttons[9].value,this.buttonLeftStick=this.browserGamepad.buttons[10].value,this.buttonRightStick=this.browserGamepad.buttons[11].value,this.dPadUp=this.browserGamepad.buttons[12].value,this.dPadDown=this.browserGamepad.buttons[13].value,this.dPadLeft=this.browserGamepad.buttons[14].value,this.dPadRight=this.browserGamepad.buttons[15].value},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.onButtonDownObservable.clear(),this.onButtonUpObservable.clear(),this.onPadDownObservable.clear(),this.onPadUpObservable.clear()},t}(Ve);!function(e){e[e.Cross=0]="Cross",e[e.Circle=1]="Circle",e[e.Square=2]="Square",e[e.Triangle=3]="Triangle",e[e.L1=4]="L1",e[e.R1=5]="R1",e[e.Share=8]="Share",e[e.Options=9]="Options",e[e.LeftStick=10]="LeftStick",e[e.RightStick=11]="RightStick"}(Rt||(Rt={})),function(e){e[e.Up=12]="Up",e[e.Down=13]="Down",e[e.Left=14]="Left",e[e.Right=15]="Right"}(It||(It={}));var Dt=function(e){function t(t,n,i){var r=e.call(this,t.replace("STANDARD GAMEPAD","SONY PLAYSTATION DUALSHOCK"),n,i,0,1,2,3)||this;return r._leftTrigger=0,r._rightTrigger=0,r.onButtonDownObservable=new o.c,r.onButtonUpObservable=new o.c,r.onPadDownObservable=new o.c,r.onPadUpObservable=new o.c,r._buttonCross=0,r._buttonCircle=0,r._buttonSquare=0,r._buttonTriangle=0,r._buttonShare=0,r._buttonOptions=0,r._buttonL1=0,r._buttonR1=0,r._buttonLeftStick=0,r._buttonRightStick=0,r._dPadUp=0,r._dPadDown=0,r._dPadLeft=0,r._dPadRight=0,r.type=Ve.DUALSHOCK,r}return Object(p.d)(t,e),t.prototype.onlefttriggerchanged=function(e){this._onlefttriggerchanged=e},t.prototype.onrighttriggerchanged=function(e){this._onrighttriggerchanged=e},Object.defineProperty(t.prototype,"leftTrigger",{get:function(){return this._leftTrigger},set:function(e){this._onlefttriggerchanged&&this._leftTrigger!==e&&this._onlefttriggerchanged(e),this._leftTrigger=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rightTrigger",{get:function(){return this._rightTrigger},set:function(e){this._onrighttriggerchanged&&this._rightTrigger!==e&&this._onrighttriggerchanged(e),this._rightTrigger=e},enumerable:!0,configurable:!0}),t.prototype.onbuttondown=function(e){this._onbuttondown=e},t.prototype.onbuttonup=function(e){this._onbuttonup=e},t.prototype.ondpaddown=function(e){this._ondpaddown=e},t.prototype.ondpadup=function(e){this._ondpadup=e},t.prototype._setButtonValue=function(e,t,n){return e!==t&&(1===e&&(this._onbuttondown&&this._onbuttondown(n),this.onButtonDownObservable.notifyObservers(n)),0===e&&(this._onbuttonup&&this._onbuttonup(n),this.onButtonUpObservable.notifyObservers(n))),e},t.prototype._setDPadValue=function(e,t,n){return e!==t&&(1===e&&(this._ondpaddown&&this._ondpaddown(n),this.onPadDownObservable.notifyObservers(n)),0===e&&(this._ondpadup&&this._ondpadup(n),this.onPadUpObservable.notifyObservers(n))),e},Object.defineProperty(t.prototype,"buttonCross",{get:function(){return this._buttonCross},set:function(e){this._buttonCross=this._setButtonValue(e,this._buttonCross,Rt.Cross)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonCircle",{get:function(){return this._buttonCircle},set:function(e){this._buttonCircle=this._setButtonValue(e,this._buttonCircle,Rt.Circle)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonSquare",{get:function(){return this._buttonSquare},set:function(e){this._buttonSquare=this._setButtonValue(e,this._buttonSquare,Rt.Square)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonTriangle",{get:function(){return this._buttonTriangle},set:function(e){this._buttonTriangle=this._setButtonValue(e,this._buttonTriangle,Rt.Triangle)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonOptions",{get:function(){return this._buttonOptions},set:function(e){this._buttonOptions=this._setButtonValue(e,this._buttonOptions,Rt.Options)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonShare",{get:function(){return this._buttonShare},set:function(e){this._buttonShare=this._setButtonValue(e,this._buttonShare,Rt.Share)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonL1",{get:function(){return this._buttonL1},set:function(e){this._buttonL1=this._setButtonValue(e,this._buttonL1,Rt.L1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonR1",{get:function(){return this._buttonR1},set:function(e){this._buttonR1=this._setButtonValue(e,this._buttonR1,Rt.R1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonLeftStick",{get:function(){return this._buttonLeftStick},set:function(e){this._buttonLeftStick=this._setButtonValue(e,this._buttonLeftStick,Rt.LeftStick)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buttonRightStick",{get:function(){return this._buttonRightStick},set:function(e){this._buttonRightStick=this._setButtonValue(e,this._buttonRightStick,Rt.RightStick)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dPadUp",{get:function(){return this._dPadUp},set:function(e){this._dPadUp=this._setDPadValue(e,this._dPadUp,It.Up)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dPadDown",{get:function(){return this._dPadDown},set:function(e){this._dPadDown=this._setDPadValue(e,this._dPadDown,It.Down)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dPadLeft",{get:function(){return this._dPadLeft},set:function(e){this._dPadLeft=this._setDPadValue(e,this._dPadLeft,It.Left)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dPadRight",{get:function(){return this._dPadRight},set:function(e){this._dPadRight=this._setDPadValue(e,this._dPadRight,It.Right)},enumerable:!0,configurable:!0}),t.prototype.update=function(){e.prototype.update.call(this),this.buttonCross=this.browserGamepad.buttons[0].value,this.buttonCircle=this.browserGamepad.buttons[1].value,this.buttonSquare=this.browserGamepad.buttons[2].value,this.buttonTriangle=this.browserGamepad.buttons[3].value,this.buttonL1=this.browserGamepad.buttons[4].value,this.buttonR1=this.browserGamepad.buttons[5].value,this.leftTrigger=this.browserGamepad.buttons[6].value,this.rightTrigger=this.browserGamepad.buttons[7].value,this.buttonShare=this.browserGamepad.buttons[8].value,this.buttonOptions=this.browserGamepad.buttons[9].value,this.buttonLeftStick=this.browserGamepad.buttons[10].value,this.buttonRightStick=this.browserGamepad.buttons[11].value,this.dPadUp=this.browserGamepad.buttons[12].value,this.dPadDown=this.browserGamepad.buttons[13].value,this.dPadLeft=this.browserGamepad.buttons[14].value,this.dPadRight=this.browserGamepad.buttons[15].value},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.onButtonDownObservable.clear(),this.onButtonUpObservable.clear(),this.onPadDownObservable.clear(),this.onPadUpObservable.clear()},t}(Ve),Lt=function(){function e(e){var t=this;if(this._scene=e,this._babylonGamepads=[],this._oneGamepadConnected=!1,this._isMonitoring=!1,this.onGamepadDisconnectedObservable=new o.c,Tt.a.IsWindowObjectExist()?(this._gamepadEventSupported="GamepadEvent"in window,this._gamepadSupport=navigator.getGamepads||navigator.webkitGetGamepads||navigator.msGetGamepads||navigator.webkitGamepads):this._gamepadEventSupported=!1,this.onGamepadConnectedObservable=new o.c((function(e){for(var n in t._babylonGamepads){var i=t._babylonGamepads[n];i&&i._isConnected&&t.onGamepadConnectedObservable.notifyObserver(e,i)}})),this._onGamepadConnectedEvent=function(e){var n,i=e.gamepad;i.index in t._babylonGamepads&&t._babylonGamepads[i.index].isConnected||(t._babylonGamepads[i.index]?((n=t._babylonGamepads[i.index]).browserGamepad=i,n._isConnected=!0):n=t._addNewGamepad(i),t.onGamepadConnectedObservable.notifyObservers(n),t._startMonitoringGamepads())},this._onGamepadDisconnectedEvent=function(e){var n=e.gamepad;for(var i in t._babylonGamepads)if(t._babylonGamepads[i].index===n.index){var r=t._babylonGamepads[i];r._isConnected=!1,t.onGamepadDisconnectedObservable.notifyObservers(r),r.dispose&&r.dispose();break}},this._gamepadSupport)if(this._updateGamepadObjects(),this._babylonGamepads.length&&this._startMonitoringGamepads(),this._gamepadEventSupported){var n=this._scene?this._scene.getEngine().getHostWindow():window;n&&(n.addEventListener("gamepadconnected",this._onGamepadConnectedEvent,!1),n.addEventListener("gamepaddisconnected",this._onGamepadDisconnectedEvent,!1))}else this._startMonitoringGamepads()}return Object.defineProperty(e.prototype,"gamepads",{get:function(){return this._babylonGamepads},enumerable:!0,configurable:!0}),e.prototype.getGamepadByType=function(e){void 0===e&&(e=Ve.XBOX);for(var t=0,n=this._babylonGamepads;t0.5;\nuseCamA=!useCamB;\ntexCoord1=vec2(useCamB ? (vUV.x-0.5)*2.0 : vUV.x*2.0,vUV.y);\ntexCoord2=vec2(texCoord1.x+stepSize.x,vUV.y);\n#else\n#ifdef IS_STEREOSCOPIC_INTERLACED\nfloat rowNum=floor(vUV.y/stepSize.y);\nuseCamA=mod(rowNum,2.0) == 1.0;\nuseCamB=mod(rowNum,2.0) == 0.0;\ntexCoord1=vec2(vUV.x,vUV.y);\ntexCoord2=vec2(vUV.x,vUV.y);\n#else\nuseCamB=vUV.y>0.5;\nuseCamA=!useCamB;\ntexCoord1=vec2(vUV.x,useCamB ? (vUV.y-0.5)*2.0 : vUV.y*2.0);\ntexCoord2=vec2(vUV.x,texCoord1.y+stepSize.y);\n#endif\n#endif\n\nif (useCamB){\nfrag1=texture2D(textureSampler,texCoord1).rgb;\nfrag2=texture2D(textureSampler,texCoord2).rgb;\n}else if (useCamA){\nfrag1=texture2D(camASampler ,texCoord1).rgb;\nfrag2=texture2D(camASampler ,texCoord2).rgb;\n}else {\ndiscard;\n}\ngl_FragColor=vec4((frag1+frag2)/TWO,1.0);\n}\n";zt.a.ShadersStore.stereoscopicInterlacePixelShader=Yt;var Qt=function(e){function t(t,n,i,r,o,s,c){var l=e.call(this,t,"stereoscopicInterlace",["stepSize"],["camASampler"],1,n[1],o,s,c,r?"#define IS_STEREOSCOPIC_INTERLACED 1":i?"#define IS_STEREOSCOPIC_HORIZ 1":void 0)||this;return l._passedProcess=n[0]._rigPostProcess,l._stepSize=new a.d(1/l.width,1/l.height),l.onSizeChangedObservable.add((function(){l._stepSize=new a.d(1/l.width,1/l.height)})),l.onApplyObservable.add((function(e){e.setTextureFromPostProcess("camASampler",l._passedProcess),e.setFloat2("stepSize",l._stepSize.x,l._stepSize.y)})),l}return Object(p.d)(t,e),t}(Vt.a),Kt=function(e){function t(t,n,i,r,o,s){var c=e.call(this,t,"stereoscopicInterlace",["stepSize"],["camASampler"],1,n[1],r,o,s,i?"#define IS_STEREOSCOPIC_HORIZ 1":void 0)||this;return c._passedProcess=n[0]._rigPostProcess,c._stepSize=new a.d(1/c.width,1/c.height),c.onSizeChangedObservable.add((function(){c._stepSize=new a.d(1/c.width,1/c.height)})),c.onApplyObservable.add((function(e){e.setTextureFromPostProcess("camASampler",c._passedProcess),e.setFloat2("stepSize",c._stepSize.x,c._stepSize.y)})),c}return Object(p.d)(t,e),t}(Vt.a);xe.a._setStereoscopicRigMode=function(e){var t=e.cameraRigMode===xe.a.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL||e.cameraRigMode===xe.a.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED,n=e.cameraRigMode===xe.a.RIG_MODE_STEREOSCOPIC_INTERLACED;e._rigCameras[0]._rigPostProcess=new kt.b(e.name+"_passthru",1,e._rigCameras[0]),e._rigCameras[1]._rigPostProcess=new Qt(e.name+"_stereoInterlace",e._rigCameras,t,n)},ft.a.AddNodeConstructor("StereoscopicArcRotateCamera",(function(e,t,n){return function(){return new Zt(e,0,0,1,a.e.Zero(),n.interaxial_distance,n.isStereoscopicSideBySide,t)}}));var Zt=function(e){function t(t,n,i,r,o,a,s,c){var l=e.call(this,t,n,i,r,o,c)||this;return l.interaxialDistance=a,l.isStereoscopicSideBySide=s,l.setCameraRigMode(s?xe.a.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:xe.a.RIG_MODE_STEREOSCOPIC_OVERUNDER,{interaxialDistance:a}),l}return Object(p.d)(t,e),t.prototype.getClassName=function(){return"StereoscopicArcRotateCamera"},t}(bt);ft.a.AddNodeConstructor("StereoscopicFreeCamera",(function(e,t,n){return function(){return new qt(e,a.e.Zero(),n.interaxial_distance,n.isStereoscopicSideBySide,t)}}));var qt=function(e){function t(t,n,i,r,o){var a=e.call(this,t,n,o)||this;return a.interaxialDistance=i,a.isStereoscopicSideBySide=r,a.setCameraRigMode(r?xe.a.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:xe.a.RIG_MODE_STEREOSCOPIC_OVERUNDER,{interaxialDistance:i}),a}return Object(p.d)(t,e),t.prototype.getClassName=function(){return"StereoscopicFreeCamera"},t}(dt.a);ft.a.AddNodeConstructor("StereoscopicGamepadCamera",(function(e,t,n){return function(){return new Jt(e,a.e.Zero(),n.interaxial_distance,n.isStereoscopicSideBySide,t)}}));var Jt=function(e){function t(t,n,i,r,o){var a=e.call(this,t,n,o)||this;return a.interaxialDistance=i,a.isStereoscopicSideBySide=r,a.setCameraRigMode(r?xe.a.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:xe.a.RIG_MODE_STEREOSCOPIC_OVERUNDER,{interaxialDistance:i}),a}return Object(p.d)(t,e),t.prototype.getClassName=function(){return"StereoscopicGamepadCamera"},t}(Bt);ft.a.AddNodeConstructor("StereoscopicFreeCamera",(function(e,t,n){return function(){return new $t(e,a.e.Zero(),n.interaxial_distance,n.isStereoscopicSideBySide,t)}}));var $t=function(e){function t(t,n,i,r,o){var a=e.call(this,t,n,o)||this;return a.interaxialDistance=i,a.isStereoscopicSideBySide=r,a.setCameraRigMode(r?xe.a.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:xe.a.RIG_MODE_STEREOSCOPIC_OVERUNDER,{interaxialDistance:i}),a}return Object(p.d)(t,e),t.prototype.getClassName=function(){return"StereoscopicUniversalCamera"},t}(Ft);ft.a.AddNodeConstructor("VirtualJoysticksCamera",(function(e,t){return function(){return new en(e,a.e.Zero(),t)}}));var en=function(e){function t(t,n,i){var r=e.call(this,t,n,i)||this;return r.inputs.addVirtualJoystick(),r}return Object(p.d)(t,e),t.prototype.getClassName=function(){return"VirtualJoysticksCamera"},t}(dt.a),tn=function(){function e(){this.compensateDistortion=!0,this.multiviewEnabled=!1}return Object.defineProperty(e.prototype,"aspectRatio",{get:function(){return this.hResolution/(2*this.vResolution)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"aspectRatioFov",{get:function(){return 2*Math.atan(this.postProcessScaleFactor*this.vScreenSize/(2*this.eyeToScreenDistance))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"leftHMatrix",{get:function(){var e=4*(this.hScreenSize/4-this.lensSeparationDistance/2)/this.hScreenSize;return a.a.Translation(e,0,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rightHMatrix",{get:function(){var e=4*(this.hScreenSize/4-this.lensSeparationDistance/2)/this.hScreenSize;return a.a.Translation(-e,0,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"leftPreViewMatrix",{get:function(){return a.a.Translation(.5*this.interpupillaryDistance,0,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rightPreViewMatrix",{get:function(){return a.a.Translation(-.5*this.interpupillaryDistance,0,0)},enumerable:!0,configurable:!0}),e.GetDefault=function(){var t=new e;return t.hResolution=1280,t.vResolution=800,t.hScreenSize=.149759993,t.vScreenSize=.0935999975,t.vScreenCenter=.0467999987,t.eyeToScreenDistance=.0410000011,t.lensSeparationDistance=.063500002,t.interpupillaryDistance=.064000003,t.distortionK=[1,.219999999,.239999995,0],t.chromaAbCorrection=[.995999992,-.00400000019,1.01400006,0],t.postProcessScaleFactor=1.714605507808412,t.lensCenterOffset=.151976421,t},e}(),nn=n(7),rn="\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\nuniform vec2 LensCenter;\nuniform vec2 Scale;\nuniform vec2 ScaleIn;\nuniform vec4 HmdWarpParam;\nvec2 HmdWarp(vec2 in01) {\nvec2 theta=(in01-LensCenter)*ScaleIn;\nfloat rSq=theta.x*theta.x+theta.y*theta.y;\nvec2 rvector=theta*(HmdWarpParam.x+HmdWarpParam.y*rSq+HmdWarpParam.z*rSq*rSq+HmdWarpParam.w*rSq*rSq*rSq);\nreturn LensCenter+Scale*rvector;\n}\nvoid main(void)\n{\nvec2 tc=HmdWarp(vUV);\nif (tc.x <0.0 || tc.x>1.0 || tc.y<0.0 || tc.y>1.0)\ngl_FragColor=vec4(0.0,0.0,0.0,0.0);\nelse{\ngl_FragColor=texture2D(textureSampler,tc);\n}\n}";zt.a.ShadersStore.vrDistortionCorrectionPixelShader=rn;var on=function(e){function t(t,n,i,r){var o=e.call(this,t,"vrDistortionCorrection",["LensCenter","Scale","ScaleIn","HmdWarpParam"],null,r.postProcessScaleFactor,n,nn.a.BILINEAR_SAMPLINGMODE)||this;return o._isRightEye=i,o._distortionFactors=r.distortionK,o._postProcessScaleFactor=r.postProcessScaleFactor,o._lensCenterOffset=r.lensCenterOffset,o.adaptScaleToCurrentViewport=!0,o.onSizeChangedObservable.add((function(){o._scaleIn=new a.d(2,2/o.aspectRatio),o._scaleFactor=new a.d(1/o._postProcessScaleFactor*.5,1/o._postProcessScaleFactor*.5*o.aspectRatio),o._lensCenter=new a.d(o._isRightEye?.5-.5*o._lensCenterOffset:.5+.5*o._lensCenterOffset,.5)})),o.onApplyObservable.add((function(e){e.setFloat2("LensCenter",o._lensCenter.x,o._lensCenter.y),e.setFloat2("Scale",o._scaleFactor.x,o._scaleFactor.y),e.setFloat2("ScaleIn",o._scaleIn.x,o._scaleIn.y),e.setFloat4("HmdWarpParam",o._distortionFactors[0],o._distortionFactors[1],o._distortionFactors[2],o._distortionFactors[3])})),o}return Object(p.d)(t,e),t}(Vt.a),an="precision mediump sampler2DArray;\nvarying vec2 vUV;\nuniform sampler2DArray multiviewSampler;\nuniform int imageIndex;\nvoid main(void)\n{\ngl_FragColor=texture(multiviewSampler,vec3(vUV,imageIndex));\n}";zt.a.ShadersStore.vrMultiviewToSingleviewPixelShader=an;var sn=n(30),cn=n(123),ln=n(42),un=function(e){function t(t,n){void 0===n&&(n=512);var i=e.call(this,"multiview rtt",n,t,!1,!0,sn.b.Unknown,!1,void 0,!1,!1,!0,void 0,!0)||this,r=t.getEngine().createMultiviewRenderTargetTexture(i.getRenderWidth(),i.getRenderHeight());return r.isMultiview=!0,r.format=5,i._texture=r,i.samples=i._engine.getCaps().maxSamples||i.samples,i}return Object(p.d)(t,e),t.prototype._bindFrameBuffer=function(e){void 0===e&&(e=0),this._texture&&this.getScene().getEngine().bindMultiviewFramebuffer(this._texture)},t.prototype.getViewCount=function(){return 2},t}(ln.a),pn=n(127);ne.a.prototype.createMultiviewRenderTargetTexture=function(e,t){var n=this._gl;if(!this.getCaps().multiview)throw"Multiview is not supported";var i=new sn.a(this,sn.b.Unknown,!0);return i.width=e,i.height=t,i._framebuffer=n.createFramebuffer(),i._colorTextureArray=n.createTexture(),n.bindTexture(n.TEXTURE_2D_ARRAY,i._colorTextureArray),n.texStorage3D(n.TEXTURE_2D_ARRAY,1,n.RGBA8,e,t,2),i._depthStencilTextureArray=n.createTexture(),n.bindTexture(n.TEXTURE_2D_ARRAY,i._depthStencilTextureArray),n.texStorage3D(n.TEXTURE_2D_ARRAY,1,n.DEPTH32F_STENCIL8,e,t,2),i.isReady=!0,i},ne.a.prototype.bindMultiviewFramebuffer=function(e){var t=this._gl,n=this.getCaps().oculusMultiview||this.getCaps().multiview;if(this.bindFramebuffer(e,void 0,void 0,void 0,!0),t.bindFramebuffer(t.DRAW_FRAMEBUFFER,e._framebuffer),!e._colorTextureArray||!e._depthStencilTextureArray)throw"Invalid multiview frame buffer";this.getCaps().oculusMultiview?(n.framebufferTextureMultisampleMultiviewOVR(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0,e._colorTextureArray,0,e.samples,0,2),n.framebufferTextureMultisampleMultiviewOVR(t.DRAW_FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,e._depthStencilTextureArray,0,e.samples,0,2)):(n.framebufferTextureMultiviewOVR(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0,e._colorTextureArray,0,0,2),n.framebufferTextureMultiviewOVR(t.DRAW_FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,e._depthStencilTextureArray,0,0,2))},xe.a.prototype._useMultiviewToSingleView=!1,xe.a.prototype._multiviewTexture=null,xe.a.prototype._resizeOrCreateMultiviewTexture=function(e,t){this._multiviewTexture?this._multiviewTexture.getRenderWidth()==e&&this._multiviewTexture.getRenderHeight()==t||(this._multiviewTexture.dispose(),this._multiviewTexture=new un(this.getScene(),{width:e,height:t})):this._multiviewTexture=new un(this.getScene(),{width:e,height:t})},ce.a.prototype._transformMatrixR=a.a.Zero(),ce.a.prototype._multiviewSceneUbo=null,ce.a.prototype._createMultiviewUbo=function(){this._multiviewSceneUbo=new cn.a(this.getEngine(),void 0,!0),this._multiviewSceneUbo.addUniform("viewProjection",16),this._multiviewSceneUbo.addUniform("viewProjectionR",16),this._multiviewSceneUbo.addUniform("view",16)},ce.a.prototype._updateMultiviewUbo=function(e,t){e&&t&&e.multiplyToRef(t,this._transformMatrixR),e&&t&&(e.multiplyToRef(t,a.c.Matrix[0]),pn.a.GetRightPlaneToRef(a.c.Matrix[0],this._frustumPlanes[3])),this._multiviewSceneUbo&&(this._multiviewSceneUbo.updateMatrix("viewProjection",this.getTransformMatrix()),this._multiviewSceneUbo.updateMatrix("viewProjectionR",this._transformMatrixR),this._multiviewSceneUbo.updateMatrix("view",this._viewMatrix),this._multiviewSceneUbo.update())},ce.a.prototype._renderMultiviewToSingleView=function(e){e._resizeOrCreateMultiviewTexture(e._rigPostProcess&&e._rigPostProcess&&e._rigPostProcess.width>0?e._rigPostProcess.width:this.getEngine().getRenderWidth(!0),e._rigPostProcess&&e._rigPostProcess&&e._rigPostProcess.height>0?e._rigPostProcess.height:this.getEngine().getRenderHeight(!0)),this._multiviewSceneUbo||this._createMultiviewUbo(),e.outputRenderTarget=e._multiviewTexture,this._renderForCamera(e),e.outputRenderTarget=null;for(var t=0;t=2&&e.onControllersAttachedObservable.notifyObservers(e.controllers)}}}))},t}(dt.a),yn=function(e){function t(t){var n=e.call(this,t)||this;return n.onTriggerStateChangedObservable=new o.c,n.onMainButtonStateChangedObservable=new o.c,n.onSecondaryButtonStateChangedObservable=new o.c,n.onPadStateChangedObservable=new o.c,n.onPadValuesChangedObservable=new o.c,n.pad={x:0,y:0},n._changes={pressChanged:!1,touchChanged:!1,valueChanged:!1,changed:!1},n._buttons=new Array(t.buttons.length),n.hand=t.hand,n}return Object(p.d)(t,e),t.prototype.onButtonStateChange=function(e){this._onButtonStateChange=e},Object.defineProperty(t.prototype,"defaultModel",{get:function(){return this._defaultModel},enumerable:!0,configurable:!0}),t.prototype.update=function(){e.prototype.update.call(this);for(var t=0;t\n#include\n#include\nvoid main(void)\n{\nvec4 result=texture2D(textureSampler,vUV);\n#ifdef IMAGEPROCESSING\n#ifndef FROMLINEARSPACE\n\nresult.rgb=toLinearSpace(result.rgb);\n#endif\nresult=applyImageProcessing(result);\n#else\n\n#ifdef FROMLINEARSPACE\nresult=applyImageProcessing(result);\n#endif\n#endif\ngl_FragColor=result;\n}");zt.a.ShadersStore.imageProcessingPixelShader=Sn;n(204);var Tn=function(e){function t(t,n,i,r,o,a,s,c){void 0===i&&(i=null),void 0===s&&(s=0);var l=e.call(this,t,"imageProcessing",[],[],n,i,r,o,a,null,s,"postprocess",null,!0)||this;return l._fromLinearSpace=!0,l._defines={IMAGEPROCESSING:!1,VIGNETTE:!1,VIGNETTEBLENDMODEMULTIPLY:!1,VIGNETTEBLENDMODEOPAQUE:!1,TONEMAPPING:!1,TONEMAPPING_ACES:!1,CONTRAST:!1,COLORCURVES:!1,COLORGRADING:!1,COLORGRADING3D:!1,FROMLINEARSPACE:!1,SAMPLER3DGREENDEPTH:!1,SAMPLER3DBGRMAP:!1,IMAGEPROCESSINGPOSTPROCESS:!1,EXPOSURE:!1},c?(c.applyByPostProcess=!0,l._attachImageProcessingConfiguration(c,!0),l.fromLinearSpace=!1):(l._attachImageProcessingConfiguration(null,!0),l.imageProcessingConfiguration.applyByPostProcess=!0),l.onApply=function(e){l.imageProcessingConfiguration.bind(e,l.aspectRatio)},l}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"imageProcessingConfiguration",{get:function(){return this._imageProcessingConfiguration},set:function(e){e.applyByPostProcess=!0,this._attachImageProcessingConfiguration(e)},enumerable:!0,configurable:!0}),t.prototype._attachImageProcessingConfiguration=function(e,t){var n=this;if(void 0===t&&(t=!1),e!==this._imageProcessingConfiguration){if(this._imageProcessingConfiguration&&this._imageProcessingObserver&&this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver),e)this._imageProcessingConfiguration=e;else{var i=null,r=this.getEngine(),o=this.getCamera();if(o)i=o.getScene();else if(r&&r.scenes){var a=r.scenes;i=a[a.length-1]}else i=P.a.LastCreatedScene;this._imageProcessingConfiguration=i.imageProcessingConfiguration}this._imageProcessingConfiguration&&(this._imageProcessingObserver=this._imageProcessingConfiguration.onUpdateParameters.add((function(){n._updateParameters()}))),t||this._updateParameters()}},Object.defineProperty(t.prototype,"colorCurves",{get:function(){return this.imageProcessingConfiguration.colorCurves},set:function(e){this.imageProcessingConfiguration.colorCurves=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"colorCurvesEnabled",{get:function(){return this.imageProcessingConfiguration.colorCurvesEnabled},set:function(e){this.imageProcessingConfiguration.colorCurvesEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"colorGradingTexture",{get:function(){return this.imageProcessingConfiguration.colorGradingTexture},set:function(e){this.imageProcessingConfiguration.colorGradingTexture=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"colorGradingEnabled",{get:function(){return this.imageProcessingConfiguration.colorGradingEnabled},set:function(e){this.imageProcessingConfiguration.colorGradingEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"exposure",{get:function(){return this.imageProcessingConfiguration.exposure},set:function(e){this.imageProcessingConfiguration.exposure=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"toneMappingEnabled",{get:function(){return this._imageProcessingConfiguration.toneMappingEnabled},set:function(e){this._imageProcessingConfiguration.toneMappingEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"toneMappingType",{get:function(){return this._imageProcessingConfiguration.toneMappingType},set:function(e){this._imageProcessingConfiguration.toneMappingType=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"contrast",{get:function(){return this.imageProcessingConfiguration.contrast},set:function(e){this.imageProcessingConfiguration.contrast=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"vignetteStretch",{get:function(){return this.imageProcessingConfiguration.vignetteStretch},set:function(e){this.imageProcessingConfiguration.vignetteStretch=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"vignetteCentreX",{get:function(){return this.imageProcessingConfiguration.vignetteCentreX},set:function(e){this.imageProcessingConfiguration.vignetteCentreX=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"vignetteCentreY",{get:function(){return this.imageProcessingConfiguration.vignetteCentreY},set:function(e){this.imageProcessingConfiguration.vignetteCentreY=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"vignetteWeight",{get:function(){return this.imageProcessingConfiguration.vignetteWeight},set:function(e){this.imageProcessingConfiguration.vignetteWeight=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"vignetteColor",{get:function(){return this.imageProcessingConfiguration.vignetteColor},set:function(e){this.imageProcessingConfiguration.vignetteColor=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"vignetteCameraFov",{get:function(){return this.imageProcessingConfiguration.vignetteCameraFov},set:function(e){this.imageProcessingConfiguration.vignetteCameraFov=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"vignetteBlendMode",{get:function(){return this.imageProcessingConfiguration.vignetteBlendMode},set:function(e){this.imageProcessingConfiguration.vignetteBlendMode=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"vignetteEnabled",{get:function(){return this.imageProcessingConfiguration.vignetteEnabled},set:function(e){this.imageProcessingConfiguration.vignetteEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"fromLinearSpace",{get:function(){return this._fromLinearSpace},set:function(e){this._fromLinearSpace!==e&&(this._fromLinearSpace=e,this._updateParameters())},enumerable:!0,configurable:!0}),t.prototype.getClassName=function(){return"ImageProcessingPostProcess"},t.prototype._updateParameters=function(){this._defines.FROMLINEARSPACE=this._fromLinearSpace,this.imageProcessingConfiguration.prepareDefines(this._defines,!0);var e="";for(var t in this._defines)this._defines[t]&&(e+="#define "+t+";\r\n");var n=["textureSampler"],i=["scale"];Cn.a&&(Cn.a.PrepareSamplers(n,this._defines),Cn.a.PrepareUniforms(i,this._defines)),this.updateEffect(e,i,n)},t.prototype.dispose=function(t){e.prototype.dispose.call(this,t),this._imageProcessingConfiguration&&this._imageProcessingObserver&&this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver),this._imageProcessingConfiguration&&(this.imageProcessingConfiguration.applyByPostProcess=!1)},Object(p.c)([Object(Fe.c)()],t.prototype,"_fromLinearSpace",void 0),t}(Vt.a),En=n(16),Pn=n(3);ve.a._GroundMeshParser=function(e,t){return On.Parse(e,t)};var On=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.generateOctree=!1,i}return Object(p.d)(t,e),t.prototype.getClassName=function(){return"GroundMesh"},Object.defineProperty(t.prototype,"subdivisions",{get:function(){return Math.min(this._subdivisionsX,this._subdivisionsY)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"subdivisionsX",{get:function(){return this._subdivisionsX},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"subdivisionsY",{get:function(){return this._subdivisionsY},enumerable:!0,configurable:!0}),t.prototype.optimize=function(e,t){void 0===t&&(t=32),this._subdivisionsX=e,this._subdivisionsY=e,this.subdivide(e);this.createOrUpdateSubmeshesOctree&&this.createOrUpdateSubmeshesOctree(t)},t.prototype.getHeightAtCoordinates=function(e,t){var n=this.getWorldMatrix(),i=a.c.Matrix[5];n.invertToRef(i);var r=a.c.Vector3[8];if(a.e.TransformCoordinatesFromFloatsToRef(e,0,t,i,r),e=r.x,t=r.z,ethis._maxX||tthis._maxZ)return this.position.y;this._heightQuads&&0!=this._heightQuads.length||(this._initHeightQuads(),this._computeHeightQuads());var o=this._getFacetAt(e,t),s=-(o.x*e+o.z*t+o.w)/o.y;return a.e.TransformCoordinatesFromFloatsToRef(0,s,0,n,r),r.y},t.prototype.getNormalAtCoordinates=function(e,t){var n=new a.e(0,1,0);return this.getNormalAtCoordinatesToRef(e,t,n),n},t.prototype.getNormalAtCoordinatesToRef=function(e,t,n){var i=this.getWorldMatrix(),r=a.c.Matrix[5];i.invertToRef(r);var o=a.c.Vector3[8];if(a.e.TransformCoordinatesFromFloatsToRef(e,0,t,r,o),e=o.x,t=o.z,ethis._maxX||tthis._maxZ)return this;this._heightQuads&&0!=this._heightQuads.length||(this._initHeightQuads(),this._computeHeightQuads());var s=this._getFacetAt(e,t);return a.e.TransformNormalFromFloatsToRef(s.x,s.y,s.z,i,n),this},t.prototype.updateCoordinateHeights=function(){return this._heightQuads&&0!=this._heightQuads.length||this._initHeightQuads(),this._computeHeightQuads(),this},t.prototype._getFacetAt=function(e,t){var n=Math.floor((e+this._maxX)*this._subdivisionsX/this._width),i=Math.floor(-(t+this._maxZ)*this._subdivisionsY/this._height+this._subdivisionsY),r=this._heightQuads[i*this._subdivisionsX+n];return te.maxHeight){p=!0;var h=e.maxHeight;e.maxHeight=e.minHeight,e.minHeight=h}for(t=0;t<=e.subdivisions;t++)for(n=0;n<=e.subdivisions;n++){var d=new a.e(n*e.width/e.subdivisions-e.width/2,0,(e.subdivisions-t)*e.height/e.subdivisions-e.height/2),f=4*(((d.x+e.width/2)/e.width*(e.bufferWidth-1)|0)+((1-(d.z+e.height/2)/e.height)*(e.bufferHeight-1)|0)*e.bufferWidth),_=e.buffer[f]/255,m=e.buffer[f+1]/255,b=e.buffer[f+2]/255,g=e.buffer[f+3]/255;p&&(_=1-_,m=1-m,b=1-b);var v=_*l.r+m*l.g+b*l.b;d.y=g>=u?e.minHeight+(e.maxHeight-e.minHeight)*v:e.minHeight-mt.a,r.push(d.x,d.y,d.z),o.push(0,0,0),c.push(n/e.subdivisions,1-t/e.subdivisions)}for(t=0;t=e.minHeight,T=r[3*C+1]>=e.minHeight,E=r[3*A+1]>=e.minHeight;S&&T&&E&&(i.push(y),i.push(C),i.push(A)),r[3*x+1]>=e.minHeight&&S&&E&&(i.push(x),i.push(y),i.push(A))}En.a.ComputeNormals(r,i,o);var P=new En.a;return P.indices=i,P.positions=r,P.normals=o,P.uvs=c,P},ve.a.CreateGround=function(e,t,n,i,r,o){var a={width:t,height:n,subdivisions:i,updatable:o};return Rn.CreateGround(e,a,r)},ve.a.CreateTiledGround=function(e,t,n,i,r,o,a,s,c){var l={xmin:t,zmin:n,xmax:i,zmax:r,subdivisions:o,precision:a,updatable:c};return Rn.CreateTiledGround(e,l,s)},ve.a.CreateGroundFromHeightMap=function(e,t,n,i,r,o,a,s,c,l,u){var p={width:n,height:i,subdivisions:r,minHeight:o,maxHeight:a,updatable:c,onReady:l,alphaFilter:u};return Rn.CreateGroundFromHeightMap(e,t,p,s)};var Rn=function(){function e(){}return e.CreateGround=function(e,t,n){var i=new On(e,n);return i._setReady(!1),i._subdivisionsX=t.subdivisionsX||t.subdivisions||1,i._subdivisionsY=t.subdivisionsY||t.subdivisions||1,i._width=t.width||1,i._height=t.height||1,i._maxX=i._width/2,i._maxZ=i._height/2,i._minX=-i._maxX,i._minZ=-i._maxZ,En.a.CreateGround(t).applyToMesh(i,t.updatable),i._setReady(!0),i},e.CreateTiledGround=function(e,t,n){void 0===n&&(n=null);var i=new ve.a(e,n);return En.a.CreateTiledGround(t).applyToMesh(i,t.updatable),i},e.CreateGroundFromHeightMap=function(e,t,n,i){void 0===i&&(i=null);var r=n.width||10,o=n.height||10,a=n.subdivisions||1,c=n.minHeight||0,l=n.maxHeight||1,u=n.colorFilter||new s.a(.3,.59,.11),p=n.alphaFilter||0,h=n.updatable,d=n.onReady;i=i||P.a.LastCreatedScene;var f=new On(e,i);f._subdivisionsX=a,f._subdivisionsY=a,f._width=r,f._height=o,f._maxX=f._width/2,f._maxZ=f._height/2,f._minX=-f._maxX,f._minZ=-f._maxZ,f._setReady(!1);return Xe.b.LoadImage(t,(function(e){var t=e.width,n=e.height,s=Mn.a.CreateCanvas(t,n).getContext("2d");if(!s)throw new Error("Unable to get 2d context for CreateGroundFromHeightMap");if(!i.isDisposed){s.drawImage(e,0,0);var _=s.getImageData(0,0,t,n).data;En.a.CreateGroundFromHeightMap({width:r,height:o,subdivisions:a,minHeight:c,maxHeight:l,colorFilter:u,buffer:_,bufferWidth:t,bufferHeight:n,alphaFilter:p}).applyToMesh(f,h),d&&d(f),f._setReady(!0)}}),(function(){}),i.offlineProvider),f},e}();En.a.CreateTorus=function(e){for(var t=[],n=[],i=[],r=[],o=e.diameter||1,s=e.thickness||.5,c=e.tessellation||16,l=0===e.sideOrientation?0:e.sideOrientation||En.a.DEFAULTSIDE,u=c+1,p=0;p<=c;p++)for(var h=p/c,d=p*Math.PI*2/c-Math.PI/2,f=a.a.Translation(o/2,0,0).multiply(a.a.RotationY(d)),_=0;_<=c;_++){var m=1-_/c,b=_*Math.PI*2/c+Math.PI,g=Math.cos(b),v=Math.sin(b),y=new a.e(g,v,0),C=y.scale(s/2),A=new a.d(h,m);C=a.e.TransformCoordinates(C,f),y=a.e.TransformNormal(y,f),n.push(C.x,C.y,C.z),i.push(y.x,y.y,y.z),r.push(A.x,A.y);var x=(p+1)%u,S=(_+1)%u;t.push(p*u+_),t.push(p*u+S),t.push(x*u+_),t.push(p*u+S),t.push(x*u+S),t.push(x*u+_)}En.a._ComputeSides(l,n,t,i,r,e.frontUVs,e.backUVs);var T=new En.a;return T.indices=t,T.positions=n,T.normals=i,T.uvs=r,T},ve.a.CreateTorus=function(e,t,n,i,r,o,a){var s={diameter:t,thickness:n,tessellation:i,sideOrientation:a,updatable:o};return In.CreateTorus(e,s,r)};var In=function(){function e(){}return e.CreateTorus=function(e,t,n){var i=new ve.a(e,n);return t.sideOrientation=ve.a._GetDefaultSideOrientation(t.sideOrientation),i._originalBuilderSideOrientation=t.sideOrientation,En.a.CreateTorus(t).applyToMesh(i,t.updatable),i},e}();En.a.CreateCylinder=function(e){var t=e.height||2,n=0===e.diameterTop?0:e.diameterTop||e.diameter||1,i=0===e.diameterBottom?0:e.diameterBottom||e.diameter||1;n=n||1e-5,i=i||1e-5;var r,o=e.tessellation||24,c=e.subdivisions||1,l=!!e.hasRings,u=!!e.enclose,p=0===e.cap?0:e.cap||ve.a.CAP_ALL,h=e.arc&&(e.arc<=0||e.arc>1)?1:e.arc||1,d=0===e.sideOrientation?0:e.sideOrientation||En.a.DEFAULTSIDE,f=e.faceUV||new Array(3),_=e.faceColors,m=2+(1+(1!==h&&u?2:0))*(l?c:1);for(r=0;r=0){i=n[r],this.webVRController._pointingPoseNode=i;break}this._laserPointer.parent=i},t.prototype._updatePointerDistance=function(e){void 0===e&&(e=100),this._laserPointer.scaling.y=e,this._laserPointer.position.z=-e/2},t.prototype.dispose=function(){e.prototype.dispose.call(this),this._laserPointer.dispose(),this._meshAttachedObserver&&this.webVRController._meshAttachedObservable.remove(this._meshAttachedObserver)},t}(kn),zn=function(e){function t(t,n){var i=e.call(this,n)||this;return i.getCamera=t,i}return Object(p.d)(t,e),t.prototype._getForwardRay=function(e){var t=this.getCamera();return t?t.getForwardRay(e):new Se(a.e.Zero(),a.e.Forward())},t}(kn),jn=function(){},Un=function(){function e(t,n){var i=this;if(void 0===n&&(n={}),this.webVROptions=n,this._webVRsupported=!1,this._webVRready=!1,this._webVRrequesting=!1,this._webVRpresenting=!1,this._fullscreenVRpresenting=!1,this.enableGazeEvenWhenNoPointerLock=!1,this.exitVROnDoubleTap=!0,this.onEnteringVRObservable=new o.c,this.onAfterEnteringVRObservable=new o.c,this.onExitingVRObservable=new o.c,this.onControllerMeshLoadedObservable=new o.c,this._useCustomVRButton=!1,this._teleportationRequested=!1,this._teleportActive=!1,this._floorMeshesCollection=[],this._teleportationMode=e.TELEPORTATIONMODE_CONSTANTTIME,this._teleportationTime=122,this._teleportationSpeed=20,this._rotationAllowed=!0,this._teleportBackwardsVector=new a.e(0,-1,-1),this._isDefaultTeleportationTarget=!0,this._teleportationFillColor="#444444",this._teleportationBorderColor="#FFFFFF",this._rotationAngle=0,this._haloCenter=new a.e(0,0,0),this._padSensibilityUp=.65,this._padSensibilityDown=.35,this._leftController=null,this._rightController=null,this._gazeColor=new s.a(.7,.7,.7),this._laserColor=new s.a(.7,.7,.7),this._pickedLaserColor=new s.a(.2,.2,1),this._pickedGazeColor=new s.a(0,0,1),this.onNewMeshSelected=new o.c,this.onMeshSelectedWithController=new o.c,this.onNewMeshPicked=new o.c,this.onBeforeCameraTeleport=new o.c,this.onAfterCameraTeleport=new o.c,this.onSelectedMeshUnselected=new o.c,this.teleportationEnabled=!0,this._teleportationInitialized=!1,this._interactionsEnabled=!1,this._interactionsRequested=!1,this._displayGaze=!0,this._displayLaserPointer=!0,this.updateGazeTrackerScale=!0,this.updateGazeTrackerColor=!0,this.updateControllerLaserColor=!0,this.requestPointerLockOnFullScreen=!0,this.xrTestDone=!1,this._onResize=function(){i.moveButtonToBottomRight(),i._fullscreenVRpresenting&&i._webVRready&&i.exitVR()},this._onFullscreenChange=function(){var e=document;void 0!==e.fullscreen?i._fullscreenVRpresenting=document.fullscreen:void 0!==e.mozFullScreen?i._fullscreenVRpresenting=e.mozFullScreen:void 0!==e.webkitIsFullScreen?i._fullscreenVRpresenting=e.webkitIsFullScreen:void 0!==e.msIsFullScreen?i._fullscreenVRpresenting=e.msIsFullScreen:void 0!==document.msFullscreenElement&&(i._fullscreenVRpresenting=document.msFullscreenElement),!i._fullscreenVRpresenting&&i._inputElement&&(i.exitVR(),!i._useCustomVRButton&&i._btnVR&&(i._btnVR.style.top=i._inputElement.offsetTop+i._inputElement.offsetHeight-70+"px",i._btnVR.style.left=i._inputElement.offsetLeft+i._inputElement.offsetWidth-100+"px",i.updateButtonVisibility()))},this._cachedAngularSensibility={angularSensibilityX:null,angularSensibilityY:null,angularSensibility:null},this.beforeRender=function(){i._leftController&&i._leftController._activePointer&&i._castRayAndSelectObject(i._leftController),i._rightController&&i._rightController._activePointer&&i._castRayAndSelectObject(i._rightController),i._noControllerIsActive&&(i._scene.getEngine().isPointerLock||i.enableGazeEvenWhenNoPointerLock)?i._castRayAndSelectObject(i._cameraGazer):i._cameraGazer._gazeTracker.isVisible=!1},this._onNewGamepadConnected=function(e){if(e.type!==Ve.POSE_ENABLED)e.leftStick&&e.onleftstickchanged((function(e){i._teleportationInitialized&&i.teleportationEnabled&&(!i._leftController&&!i._rightController||i._leftController&&!i._leftController._activePointer&&i._rightController&&!i._rightController._activePointer)&&(i._checkTeleportWithRay(e,i._cameraGazer),i._checkTeleportBackwards(e,i._cameraGazer))})),e.rightStick&&e.onrightstickchanged((function(e){i._teleportationInitialized&&i._checkRotate(e,i._cameraGazer)})),e.type===Ve.XBOX&&(e.onbuttondown((function(e){i._interactionsEnabled&&e===Et.A&&i._cameraGazer._selectionPointerDown()})),e.onbuttonup((function(e){i._interactionsEnabled&&e===Et.A&&i._cameraGazer._selectionPointerUp()})));else{var t=e,n=new Vn(t,i._scene,i._cameraGazer._gazeTracker);"right"===t.hand||i._leftController&&i._leftController.webVRController!=t?i._rightController=n:i._leftController=n,i._tryEnableInteractionOnController(n)}},this._tryEnableInteractionOnController=function(e){i._interactionsRequested&&!e._interactionsEnabled&&i._enableInteractionOnController(e),i._teleportationRequested&&!e._teleportationEnabled&&i._enableTeleportationOnController(e)},this._onNewGamepadDisconnected=function(e){e instanceof yn&&("left"===e.hand&&null!=i._leftController&&(i._leftController.dispose(),i._leftController=null),"right"===e.hand&&null!=i._rightController&&(i._rightController.dispose(),i._rightController=null))},this._workingVector=a.e.Zero(),this._workingQuaternion=a.b.Identity(),this._workingMatrix=a.a.Identity(),this._scene=t,this._inputElement=t.getEngine().getInputElement(),"getVRDisplays"in navigator||(n.useXR=!0),void 0===n.createFallbackVRDeviceOrientationFreeCamera&&(n.createFallbackVRDeviceOrientationFreeCamera=!0),void 0===n.createDeviceOrientationCamera&&(n.createDeviceOrientationCamera=!0),void 0===n.laserToggle&&(n.laserToggle=!0),void 0===n.defaultHeight&&(n.defaultHeight=1.7),n.useCustomVRButton&&(this._useCustomVRButton=!0,n.customVRButton&&(this._btnVR=n.customVRButton)),n.rayLength&&(this._rayLength=n.rayLength),this._defaultHeight=n.defaultHeight,n.positionScale&&(this._rayLength*=n.positionScale,this._defaultHeight*=n.positionScale),this._hasEnteredVR=!1,this._scene.activeCamera?this._position=this._scene.activeCamera.position.clone():this._position=new a.e(0,this._defaultHeight,0),n.createDeviceOrientationCamera||!this._scene.activeCamera){if(this._deviceOrientationCamera=new gt("deviceOrientationVRHelper",this._position.clone(),t),this._scene.activeCamera&&(this._deviceOrientationCamera.minZ=this._scene.activeCamera.minZ,this._deviceOrientationCamera.maxZ=this._scene.activeCamera.maxZ,this._scene.activeCamera instanceof ht.a&&this._scene.activeCamera.rotation)){var r=this._scene.activeCamera;r.rotationQuaternion?this._deviceOrientationCamera.rotationQuaternion.copyFrom(r.rotationQuaternion):this._deviceOrientationCamera.rotationQuaternion.copyFrom(a.b.RotationYawPitchRoll(r.rotation.y,r.rotation.x,r.rotation.z)),this._deviceOrientationCamera.rotation=r.rotation.clone()}this._scene.activeCamera=this._deviceOrientationCamera,this._inputElement&&this._scene.activeCamera.attachControl(this._inputElement)}else this._existingCamera=this._scene.activeCamera;this.webVROptions.useXR&&navigator.xr?Fn.IsSessionSupportedAsync("immersive-vr").then((function(e){e?(m.a.Log("Using WebXR. It is recommended to use the WebXRDefaultExperience directly"),t.createDefaultXRExperienceAsync({floorMeshes:n.floorMeshes||[]}).then((function(e){i.xr=e,i.xrTestDone=!0,i._cameraGazer=new zn((function(){return i.xr.baseExperience.camera}),t),i.xr.baseExperience.onStateChangedObservable.add((function(e){switch(e){case wn.ENTERING_XR:i.onEnteringVRObservable.notifyObservers(i),i._interactionsEnabled||i.xr.pointerSelection.detach(),i.xr.pointerSelection.displayLaserPointer=i._displayLaserPointer;break;case wn.EXITING_XR:i.onExitingVRObservable.notifyObservers(i),i._scene.getEngine().resize();break;case wn.IN_XR:i._hasEnteredVR=!0;break;case wn.NOT_IN_XR:i._hasEnteredVR=!1}}))}))):i.completeVRInit(t,n)})):this.completeVRInit(t,n)}return Object.defineProperty(e.prototype,"onEnteringVR",{get:function(){return this.onEnteringVRObservable},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onExitingVR",{get:function(){return this.onExitingVRObservable},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onControllerMeshLoaded",{get:function(){return this.onControllerMeshLoadedObservable},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"teleportationTarget",{get:function(){return this._teleportationTarget},set:function(e){e&&(e.name="teleportationTarget",this._isDefaultTeleportationTarget=!1,this._teleportationTarget=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"gazeTrackerMesh",{get:function(){return this._cameraGazer._gazeTracker},set:function(e){e&&(this._cameraGazer._gazeTracker&&this._cameraGazer._gazeTracker.dispose(),this._leftController&&this._leftController._gazeTracker&&this._leftController._gazeTracker.dispose(),this._rightController&&this._rightController._gazeTracker&&this._rightController._gazeTracker.dispose(),this._cameraGazer._gazeTracker=e,this._cameraGazer._gazeTracker.bakeCurrentTransformIntoVertices(),this._cameraGazer._gazeTracker.isPickable=!1,this._cameraGazer._gazeTracker.isVisible=!1,this._cameraGazer._gazeTracker.name="gazeTracker",this._leftController&&(this._leftController._gazeTracker=this._cameraGazer._gazeTracker.clone("gazeTracker")),this._rightController&&(this._rightController._gazeTracker=this._cameraGazer._gazeTracker.clone("gazeTracker")))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"leftControllerGazeTrackerMesh",{get:function(){return this._leftController?this._leftController._gazeTracker:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rightControllerGazeTrackerMesh",{get:function(){return this._rightController?this._rightController._gazeTracker:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"displayGaze",{get:function(){return this._displayGaze},set:function(e){this._displayGaze=e,e||(this._cameraGazer._gazeTracker.isVisible=!1,this._leftController&&(this._leftController._gazeTracker.isVisible=!1),this._rightController&&(this._rightController._gazeTracker.isVisible=!1))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"displayLaserPointer",{get:function(){return this._displayLaserPointer},set:function(e){this._displayLaserPointer=e,e?(this._rightController&&this._rightController._activatePointer(),this._leftController&&this._leftController._activatePointer()):(this._rightController&&(this._rightController._deactivatePointer(),this._rightController._gazeTracker.isVisible=!1),this._leftController&&(this._leftController._deactivatePointer(),this._leftController._gazeTracker.isVisible=!1))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"deviceOrientationCamera",{get:function(){return this._deviceOrientationCamera},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentVRCamera",{get:function(){return this._webVRready?this._webVRCamera:this._scene.activeCamera},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"webVRCamera",{get:function(){return this._webVRCamera},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"vrDeviceOrientationCamera",{get:function(){return this._vrDeviceOrientationCamera},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"vrButton",{get:function(){return this._btnVR},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_teleportationRequestInitiated",{get:function(){return this._cameraGazer._teleportationRequestInitiated||null!==this._leftController&&this._leftController._teleportationRequestInitiated||null!==this._rightController&&this._rightController._teleportationRequestInitiated},enumerable:!0,configurable:!0}),e.prototype.completeVRInit=function(e,t){var n=this;if(this.xrTestDone=!0,t.createFallbackVRDeviceOrientationFreeCamera&&(t.useMultiview&&(t.vrDeviceOrientationCameraMetrics||(t.vrDeviceOrientationCameraMetrics=tn.GetDefault()),t.vrDeviceOrientationCameraMetrics.multiviewEnabled=!0),this._vrDeviceOrientationCamera=new _n("VRDeviceOrientationVRHelper",this._position,this._scene,!0,t.vrDeviceOrientationCameraMetrics),this._vrDeviceOrientationCamera.angularSensibility=Number.MAX_VALUE),this._webVRCamera=new vn("WebVRHelper",this._position,this._scene,t),this._webVRCamera.useStandingMatrix(),this._cameraGazer=new zn((function(){return n.currentVRCamera}),e),!this._useCustomVRButton){this._btnVR=document.createElement("BUTTON"),this._btnVR.className="babylonVRicon",this._btnVR.id="babylonVRiconbtn",this._btnVR.title="Click to switch to VR";var i=".babylonVRicon { position: absolute; right: 20px; height: 50px; width: 80px; background-color: rgba(51,51,51,0.7); background-image: url("+(window.SVGSVGElement?"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%222048%22%20height%3D%221152%22%20viewBox%3D%220%200%202048%201152%22%20version%3D%221.1%22%3E%3Cpath%20transform%3D%22rotate%28180%201024%2C576.0000000000001%29%22%20d%3D%22m1109%2C896q17%2C0%2030%2C-12t13%2C-30t-12.5%2C-30.5t-30.5%2C-12.5l-170%2C0q-18%2C0%20-30.5%2C12.5t-12.5%2C30.5t13%2C30t30%2C12l170%2C0zm-85%2C256q59%2C0%20132.5%2C-1.5t154.5%2C-5.5t164.5%2C-11.5t163%2C-20t150%2C-30t124.5%2C-41.5q23%2C-11%2042%2C-24t38%2C-30q27%2C-25%2041%2C-61.5t14%2C-72.5l0%2C-257q0%2C-123%20-47%2C-232t-128%2C-190t-190%2C-128t-232%2C-47l-81%2C0q-37%2C0%20-68.5%2C14t-60.5%2C34.5t-55.5%2C45t-53%2C45t-53%2C34.5t-55.5%2C14t-55.5%2C-14t-53%2C-34.5t-53%2C-45t-55.5%2C-45t-60.5%2C-34.5t-68.5%2C-14l-81%2C0q-123%2C0%20-232%2C47t-190%2C128t-128%2C190t-47%2C232l0%2C257q0%2C68%2038%2C115t97%2C73q54%2C24%20124.5%2C41.5t150%2C30t163%2C20t164.5%2C11.5t154.5%2C5.5t132.5%2C1.5zm939%2C-298q0%2C39%20-24.5%2C67t-58.5%2C42q-54%2C23%20-122%2C39.5t-143.5%2C28t-155.5%2C19t-157%2C11t-148.5%2C5t-129.5%2C1.5q-59%2C0%20-130%2C-1.5t-148%2C-5t-157%2C-11t-155.5%2C-19t-143.5%2C-28t-122%2C-39.5q-34%2C-14%20-58.5%2C-42t-24.5%2C-67l0%2C-257q0%2C-106%2040.5%2C-199t110%2C-162.5t162.5%2C-109.5t199%2C-40l81%2C0q27%2C0%2052%2C14t50%2C34.5t51%2C44.5t55.5%2C44.5t63.5%2C34.5t74%2C14t74%2C-14t63.5%2C-34.5t55.5%2C-44.5t51%2C-44.5t50%2C-34.5t52%2C-14l14%2C0q37%2C0%2070%2C0.5t64.5%2C4.5t63.5%2C12t68%2C23q71%2C30%20128.5%2C78.5t98.5%2C110t63.5%2C133.5t22.5%2C149l0%2C257z%22%20fill%3D%22white%22%20/%3E%3C/svg%3E%0A":"https://cdn.babylonjs.com/Assets/vrButton.png")+"); background-size: 80%; background-repeat:no-repeat; background-position: center; border: none; outline: none; transition: transform 0.125s ease-out } .babylonVRicon:hover { transform: scale(1.05) } .babylonVRicon:active {background-color: rgba(51,51,51,1) } .babylonVRicon:focus {background-color: rgba(51,51,51,1) }";i+=".babylonVRicon.vrdisplaypresenting { display: none; }";var r=document.createElement("style");r.appendChild(document.createTextNode(i)),document.getElementsByTagName("head")[0].appendChild(r),this.moveButtonToBottomRight()}this._btnVR&&this._btnVR.addEventListener("click",(function(){n.isInVRMode?n._scene.getEngine().disableVR():n.enterVR()}));var o=this._scene.getEngine().getHostWindow();o&&(o.addEventListener("resize",this._onResize),document.addEventListener("fullscreenchange",this._onFullscreenChange,!1),document.addEventListener("mozfullscreenchange",this._onFullscreenChange,!1),document.addEventListener("webkitfullscreenchange",this._onFullscreenChange,!1),document.addEventListener("msfullscreenchange",this._onFullscreenChange,!1),document.onmsfullscreenchange=this._onFullscreenChange,t.createFallbackVRDeviceOrientationFreeCamera?this.displayVRButton():this._scene.getEngine().onVRDisplayChangedObservable.add((function(e){e.vrDisplay&&n.displayVRButton()})),this._onKeyDown=function(e){27===e.keyCode&&n.isInVRMode&&n.exitVR()},document.addEventListener("keydown",this._onKeyDown),this._scene.onPrePointerObservable.add((function(){n._hasEnteredVR&&n.exitVROnDoubleTap&&(n.exitVR(),n._fullscreenVRpresenting&&n._scene.getEngine().exitFullscreen())}),he.a.POINTERDOUBLETAP,!1),this._onVRDisplayChanged=function(e){return n.onVRDisplayChanged(e)},this._onVrDisplayPresentChange=function(){return n.onVrDisplayPresentChange()},this._onVRRequestPresentStart=function(){n._webVRrequesting=!0,n.updateButtonVisibility()},this._onVRRequestPresentComplete=function(){n._webVRrequesting=!1,n.updateButtonVisibility()},e.getEngine().onVRDisplayChangedObservable.add(this._onVRDisplayChanged),e.getEngine().onVRRequestPresentStart.add(this._onVRRequestPresentStart),e.getEngine().onVRRequestPresentComplete.add(this._onVRRequestPresentComplete),o.addEventListener("vrdisplaypresentchange",this._onVrDisplayPresentChange),e.onDisposeObservable.add((function(){n.dispose()})),this._webVRCamera.onControllerMeshLoadedObservable.add((function(e){return n._onDefaultMeshLoaded(e)})),this._scene.gamepadManager.onGamepadConnectedObservable.add(this._onNewGamepadConnected),this._scene.gamepadManager.onGamepadDisconnectedObservable.add(this._onNewGamepadDisconnected),this.updateButtonVisibility(),this._circleEase=new V,this._circleEase.setEasingMode(k.EASINGMODE_EASEINOUT),this._teleportationEasing=this._circleEase,e.onPointerObservable.add((function(t){n._interactionsEnabled&&e.activeCamera===n.vrDeviceOrientationCamera&&"mouse"===t.event.pointerType&&(t.type===he.a.POINTERDOWN?n._cameraGazer._selectionPointerDown():t.type===he.a.POINTERUP&&n._cameraGazer._selectionPointerUp())})),this.webVROptions.floorMeshes&&this.enableTeleportation({floorMeshes:this.webVROptions.floorMeshes}))},e.prototype._onDefaultMeshLoaded=function(e){this._leftController&&this._leftController.webVRController==e&&e.mesh&&this._leftController._setLaserPointerParent(e.mesh),this._rightController&&this._rightController.webVRController==e&&e.mesh&&this._rightController._setLaserPointerParent(e.mesh);try{this.onControllerMeshLoadedObservable.notifyObservers(e)}catch(e){m.a.Warn("Error in your custom logic onControllerMeshLoaded: "+e)}},Object.defineProperty(e.prototype,"isInVRMode",{get:function(){return this.xr&&this.webVROptions.useXR&&this.xr.baseExperience.state===wn.IN_XR||this._webVRpresenting||this._fullscreenVRpresenting},enumerable:!0,configurable:!0}),e.prototype.onVrDisplayPresentChange=function(){var e=this._scene.getEngine().getVRDevice();if(e){var t=this._webVRpresenting;this._webVRpresenting=e.isPresenting,t&&!this._webVRpresenting&&this.exitVR()}else m.a.Warn("Detected VRDisplayPresentChange on an unknown VRDisplay. Did you can enterVR on the vrExperienceHelper?");this.updateButtonVisibility()},e.prototype.onVRDisplayChanged=function(e){this._webVRsupported=e.vrSupported,this._webVRready=!!e.vrDisplay,this._webVRpresenting=e.vrDisplay&&e.vrDisplay.isPresenting,this.updateButtonVisibility()},e.prototype.moveButtonToBottomRight=function(){if(this._inputElement&&!this._useCustomVRButton&&this._btnVR){var e=this._inputElement.getBoundingClientRect();this._btnVR.style.top=e.top+e.height-70+"px",this._btnVR.style.left=e.left+e.width-100+"px"}},e.prototype.displayVRButton=function(){this._useCustomVRButton||this._btnVRDisplayed||!this._btnVR||(document.body.appendChild(this._btnVR),this._btnVRDisplayed=!0)},e.prototype.updateButtonVisibility=function(){this._btnVR&&!this._useCustomVRButton&&(this._btnVR.className="babylonVRicon",this.isInVRMode?this._btnVR.className+=" vrdisplaypresenting":(this._webVRready&&(this._btnVR.className+=" vrdisplayready"),this._webVRsupported&&(this._btnVR.className+=" vrdisplaysupported"),this._webVRrequesting&&(this._btnVR.className+=" vrdisplayrequesting")))},e.prototype.enterVR=function(){var e=this;if(this.xr)this.xr.baseExperience.enterXRAsync("immersive-vr","local-floor",this.xr.renderTarget);else{if(this.onEnteringVRObservable)try{this.onEnteringVRObservable.notifyObservers(this)}catch(e){m.a.Warn("Error in your custom logic onEnteringVR: "+e)}if(this._scene.activeCamera){if(this._position=this._scene.activeCamera.position.clone(),this.vrDeviceOrientationCamera&&(this.vrDeviceOrientationCamera.rotation=a.b.FromRotationMatrix(this._scene.activeCamera.getWorldMatrix().getRotationMatrix()).toEulerAngles(),this.vrDeviceOrientationCamera.angularSensibility=2e3),this.webVRCamera){var t=this.webVRCamera.deviceRotationQuaternion.toEulerAngles().y,n=a.b.FromRotationMatrix(this._scene.activeCamera.getWorldMatrix().getRotationMatrix()).toEulerAngles().y-t,i=this.webVRCamera.rotationQuaternion.toEulerAngles().y;this.webVRCamera.rotationQuaternion=a.b.FromEulerAngles(0,i+n,0)}this._existingCamera=this._scene.activeCamera,this._existingCamera.angularSensibilityX&&(this._cachedAngularSensibility.angularSensibilityX=this._existingCamera.angularSensibilityX,this._existingCamera.angularSensibilityX=Number.MAX_VALUE),this._existingCamera.angularSensibilityY&&(this._cachedAngularSensibility.angularSensibilityY=this._existingCamera.angularSensibilityY,this._existingCamera.angularSensibilityY=Number.MAX_VALUE),this._existingCamera.angularSensibility&&(this._cachedAngularSensibility.angularSensibility=this._existingCamera.angularSensibility,this._existingCamera.angularSensibility=Number.MAX_VALUE)}this._webVRrequesting||(this._webVRready?this._webVRpresenting||(this._scene.getEngine().onVRRequestPresentComplete.addOnce((function(t){e.onAfterEnteringVRObservable.notifyObservers({success:t})})),this._webVRCamera.position=this._position,this._scene.activeCamera=this._webVRCamera):this._vrDeviceOrientationCamera&&(this._vrDeviceOrientationCamera.position=this._position,this._scene.activeCamera&&(this._vrDeviceOrientationCamera.minZ=this._scene.activeCamera.minZ),this._scene.activeCamera=this._vrDeviceOrientationCamera,this._scene.getEngine().enterFullscreen(this.requestPointerLockOnFullScreen),this.updateButtonVisibility(),this._vrDeviceOrientationCamera.onViewMatrixChangedObservable.addOnce((function(){e.onAfterEnteringVRObservable.notifyObservers({success:!0})}))),this._scene.activeCamera&&this._inputElement&&this._scene.activeCamera.attachControl(this._inputElement),this._interactionsEnabled&&this._scene.registerBeforeRender(this.beforeRender),this._displayLaserPointer&&[this._leftController,this._rightController].forEach((function(e){e&&e._activatePointer()})),this._hasEnteredVR=!0)}},e.prototype.exitVR=function(){if(this.xr)this.xr.baseExperience.exitXRAsync();else if(this._hasEnteredVR){if(this.onExitingVRObservable)try{this.onExitingVRObservable.notifyObservers(this)}catch(e){m.a.Warn("Error in your custom logic onExitingVR: "+e)}this._webVRpresenting&&this._scene.getEngine().disableVR(),this._scene.activeCamera&&(this._position=this._scene.activeCamera.position.clone()),this.vrDeviceOrientationCamera&&(this.vrDeviceOrientationCamera.angularSensibility=Number.MAX_VALUE),this._deviceOrientationCamera?(this._deviceOrientationCamera.position=this._position,this._scene.activeCamera=this._deviceOrientationCamera,this._cachedAngularSensibility.angularSensibilityX&&(this._deviceOrientationCamera.angularSensibilityX=this._cachedAngularSensibility.angularSensibilityX,this._cachedAngularSensibility.angularSensibilityX=null),this._cachedAngularSensibility.angularSensibilityY&&(this._deviceOrientationCamera.angularSensibilityY=this._cachedAngularSensibility.angularSensibilityY,this._cachedAngularSensibility.angularSensibilityY=null),this._cachedAngularSensibility.angularSensibility&&(this._deviceOrientationCamera.angularSensibility=this._cachedAngularSensibility.angularSensibility,this._cachedAngularSensibility.angularSensibility=null)):this._existingCamera&&(this._existingCamera.position=this._position,this._scene.activeCamera=this._existingCamera,this._inputElement&&this._scene.activeCamera.attachControl(this._inputElement),this._cachedAngularSensibility.angularSensibilityX&&(this._existingCamera.angularSensibilityX=this._cachedAngularSensibility.angularSensibilityX,this._cachedAngularSensibility.angularSensibilityX=null),this._cachedAngularSensibility.angularSensibilityY&&(this._existingCamera.angularSensibilityY=this._cachedAngularSensibility.angularSensibilityY,this._cachedAngularSensibility.angularSensibilityY=null),this._cachedAngularSensibility.angularSensibility&&(this._existingCamera.angularSensibility=this._cachedAngularSensibility.angularSensibility,this._cachedAngularSensibility.angularSensibility=null)),this.updateButtonVisibility(),this._interactionsEnabled&&(this._scene.unregisterBeforeRender(this.beforeRender),this._cameraGazer._gazeTracker.isVisible=!1,this._leftController&&(this._leftController._gazeTracker.isVisible=!1),this._rightController&&(this._rightController._gazeTracker.isVisible=!1)),this._scene.getEngine().resize(),[this._leftController,this._rightController].forEach((function(e){e&&e._deactivatePointer()})),this._hasEnteredVR=!1;var e=this._scene.getEngine();e._onVrDisplayPresentChange&&e._onVrDisplayPresentChange()}},Object.defineProperty(e.prototype,"position",{get:function(){return this._position},set:function(e){this._position=e,this._scene.activeCamera&&(this._scene.activeCamera.position=e)},enumerable:!0,configurable:!0}),e.prototype.enableInteractions=function(){var e=this;if(!this._interactionsEnabled){if(this._interactionsRequested=!0,this.xr)return void(this.xr.baseExperience.state===wn.IN_XR&&this.xr.pointerSelection.attach());this._leftController&&this._enableInteractionOnController(this._leftController),this._rightController&&this._enableInteractionOnController(this._rightController),this.raySelectionPredicate=function(t){return t.isVisible&&(t.isPickable||t.name===e._floorMeshName)},this.meshSelectionPredicate=function(){return!0},this._raySelectionPredicate=function(t){return!!(e._isTeleportationFloor(t)||-1===t.name.indexOf("gazeTracker")&&-1===t.name.indexOf("teleportationTarget")&&-1===t.name.indexOf("torusTeleportation"))&&e.raySelectionPredicate(t)},this._interactionsEnabled=!0}},Object.defineProperty(e.prototype,"_noControllerIsActive",{get:function(){return!(this._leftController&&this._leftController._activePointer||this._rightController&&this._rightController._activePointer)},enumerable:!0,configurable:!0}),e.prototype._isTeleportationFloor=function(e){for(var t=0;t-1||this._floorMeshesCollection.push(e))},e.prototype.removeFloorMesh=function(e){if(this._floorMeshesCollection){var t=this._floorMeshesCollection.indexOf(e);-1!==t&&this._floorMeshesCollection.splice(t,1)}},e.prototype.enableTeleportation=function(e){var t=this;if(void 0===e&&(e={}),!this._teleportationInitialized){if(this._teleportationRequested=!0,this.enableInteractions(),this.webVROptions.useXR&&(e.floorMeshes||e.floorMeshName)){var n=e.floorMeshes||[];if(!n.length){var i=this._scene.getMeshByName(e.floorMeshName);i&&n.push(i)}if(this.xr)return n.forEach((function(e){t.xr.teleportation.addFloorMesh(e)})),void(this.xr.teleportation.attached||this.xr.teleportation.attach());if(!this.xrTestDone){var r=function(){t.xrTestDone&&(t._scene.unregisterBeforeRender(r),t.xr?t.xr.teleportation.attached||t.xr.teleportation.attach():t.enableTeleportation(e))};return void this._scene.registerBeforeRender(r)}}e.floorMeshName&&(this._floorMeshName=e.floorMeshName),e.floorMeshes&&(this._floorMeshesCollection=e.floorMeshes),e.teleportationMode&&(this._teleportationMode=e.teleportationMode),e.teleportationTime&&e.teleportationTime>0&&(this._teleportationTime=e.teleportationTime),e.teleportationSpeed&&e.teleportationSpeed>0&&(this._teleportationSpeed=e.teleportationSpeed),void 0!==e.easingFunction&&(this._teleportationEasing=e.easingFunction),null!=this._leftController&&this._enableTeleportationOnController(this._leftController),null!=this._rightController&&this._enableTeleportationOnController(this._rightController);var o=new Cn.a;o.vignetteColor=new s.b(0,0,0,0),o.vignetteEnabled=!0,this._postProcessMove=new Tn("postProcessMove",1,this._webVRCamera,void 0,void 0,void 0,void 0,o),this._webVRCamera.detachPostProcess(this._postProcessMove),this._teleportationInitialized=!0,this._isDefaultTeleportationTarget&&(this._createTeleportationCircles(),this._teleportationTarget.scaling.scaleInPlace(this._webVRCamera.deviceScaleFactor))}},e.prototype._enableInteractionOnController=function(e){var t=this;e.webVRController.mesh&&(e._interactionsEnabled=!0,this.isInVRMode&&this._displayLaserPointer&&e._activatePointer(),this.webVROptions.laserToggle&&e.webVRController.onMainButtonStateChangedObservable.add((function(n){t._displayLaserPointer&&1===n.value&&(e._activePointer?e._deactivatePointer():e._activatePointer(),t.displayGaze&&(e._gazeTracker.isVisible=e._activePointer))})),e.webVRController.onTriggerStateChangedObservable.add((function(n){var i=e;t._noControllerIsActive&&(i=t._cameraGazer),i._pointerDownOnMeshAsked?n.valuet._padSensibilityUp&&i._selectionPointerDown()})))},e.prototype._checkTeleportWithRay=function(e,t){this._teleportationRequestInitiated&&!t._teleportationRequestInitiated||(t._teleportationRequestInitiated?Math.sqrt(e.y*e.y+e.x*e.x)-this._padSensibilityDown&&(t._rotationLeftAsked=!1):e.x<-this._padSensibilityUp&&t._dpadPressed&&(t._rotationLeftAsked=!0,this._rotationAllowed&&this._rotateCamera(!1)),t._rotationRightAsked?e.xthis._padSensibilityUp&&t._dpadPressed&&(t._rotationRightAsked=!0,this._rotationAllowed&&this._rotateCamera(!0)))},e.prototype._checkTeleportBackwards=function(e,t){if(!t._teleportationRequestInitiated)if(e.y>this._padSensibilityUp&&t._dpadPressed){if(!t._teleportationBackRequestInitiated){if(!this.currentVRCamera)return;var n=a.b.FromRotationMatrix(this.currentVRCamera.getWorldMatrix().getRotationMatrix()),i=this.currentVRCamera.position;this.currentVRCamera.devicePosition&&this.currentVRCamera.deviceRotationQuaternion&&(n=this.currentVRCamera.deviceRotationQuaternion,i=this.currentVRCamera.devicePosition),n.toEulerAnglesToRef(this._workingVector),this._workingVector.z=0,this._workingVector.x=0,a.b.RotationYawPitchRollToRef(this._workingVector.y,this._workingVector.x,this._workingVector.z,this._workingQuaternion),this._workingQuaternion.toRotationMatrix(this._workingMatrix),a.e.TransformCoordinatesToRef(this._teleportBackwardsVector,this._workingMatrix,this._workingVector);var r=new Se(i,this._workingVector),o=this._scene.pickWithRay(r,this._raySelectionPredicate);o&&o.pickedPoint&&o.pickedMesh&&this._isTeleportationFloor(o.pickedMesh)&&o.distance<5&&this.teleportCamera(o.pickedPoint),t._teleportationBackRequestInitiated=!0}}else t._teleportationBackRequestInitiated=!1},e.prototype._enableTeleportationOnController=function(e){var t=this;e.webVRController.mesh&&(e._interactionsEnabled||this._enableInteractionOnController(e),e._interactionsEnabled=!0,e._teleportationEnabled=!0,e.webVRController.controllerType===At.VIVE&&(e._dpadPressed=!1,e.webVRController.onPadStateChangedObservable.add((function(t){e._dpadPressed=t.pressed,e._dpadPressed||(e._rotationLeftAsked=!1,e._rotationRightAsked=!1,e._teleportationBackRequestInitiated=!1)}))),e.webVRController.onPadValuesChangedObservable.add((function(n){t.teleportationEnabled&&(t._checkTeleportBackwards(n,e),t._checkTeleportWithRay(n,e)),t._checkRotate(n,e)})))},e.prototype._createTeleportationCircles=function(){this._teleportationTarget=ve.a.CreateGround("teleportationTarget",2,2,2,this._scene),this._teleportationTarget.isPickable=!1;var e=new xn.a("DynamicTexture",512,this._scene,!0);e.hasAlpha=!0;var t=e.getContext();t.beginPath(),t.arc(256,256,200,0,2*Math.PI,!1),t.fillStyle=this._teleportationFillColor,t.fill(),t.lineWidth=10,t.strokeStyle=this._teleportationBorderColor,t.stroke(),t.closePath(),e.update();var n=new An.a("TextPlaneMaterial",this._scene);n.diffuseTexture=e,this._teleportationTarget.material=n;var i=ve.a.CreateTorus("torusTeleportation",.75,.1,25,this._scene,!1);i.isPickable=!1,i.parent=this._teleportationTarget;var r=new w.a("animationInnerCircle","position.y",30,w.a.ANIMATIONTYPE_FLOAT,w.a.ANIMATIONLOOPMODE_CYCLE),o=[];o.push({frame:0,value:0}),o.push({frame:30,value:.4}),o.push({frame:60,value:0}),r.setKeys(o);var a=new K;a.setEasingMode(k.EASINGMODE_EASEINOUT),r.setEasingFunction(a),i.animations=[],i.animations.push(r),this._scene.beginAnimation(i,0,60,!0),this._hideTeleportationTarget()},e.prototype._displayTeleportationTarget=function(){this._teleportActive=!0,this._teleportationInitialized&&(this._teleportationTarget.isVisible=!0,this._isDefaultTeleportationTarget&&(this._teleportationTarget.getChildren()[0].isVisible=!0))},e.prototype._hideTeleportationTarget=function(){this._teleportActive=!1,this._teleportationInitialized&&(this._teleportationTarget.isVisible=!1,this._isDefaultTeleportationTarget&&(this._teleportationTarget.getChildren()[0].isVisible=!1))},e.prototype._rotateCamera=function(e){var t=this;if(this.currentVRCamera instanceof dt.a){e?this._rotationAngle++:this._rotationAngle--,this.currentVRCamera.animations=[];var n=a.b.FromRotationMatrix(a.a.RotationY(Math.PI/4*this._rotationAngle)),i=new w.a("animationRotation","rotationQuaternion",90,w.a.ANIMATIONTYPE_QUATERNION,w.a.ANIMATIONLOOPMODE_CONSTANT),r=[];r.push({frame:0,value:this.currentVRCamera.rotationQuaternion}),r.push({frame:6,value:n}),i.setKeys(r),i.setEasingFunction(this._circleEase),this.currentVRCamera.animations.push(i),this._postProcessMove.animations=[];var o=new w.a("animationPP","vignetteWeight",90,w.a.ANIMATIONTYPE_FLOAT,w.a.ANIMATIONLOOPMODE_CONSTANT),s=[];s.push({frame:0,value:0}),s.push({frame:3,value:4}),s.push({frame:6,value:0}),o.setKeys(s),o.setEasingFunction(this._circleEase),this._postProcessMove.animations.push(o);var c=new w.a("animationPP2","vignetteStretch",90,w.a.ANIMATIONTYPE_FLOAT,w.a.ANIMATIONLOOPMODE_CONSTANT),l=[];l.push({frame:0,value:0}),l.push({frame:3,value:10}),l.push({frame:6,value:0}),c.setKeys(l),c.setEasingFunction(this._circleEase),this._postProcessMove.animations.push(c),this._postProcessMove.imageProcessingConfiguration.vignetteWeight=0,this._postProcessMove.imageProcessingConfiguration.vignetteStretch=0,this._postProcessMove.samples=4,this._webVRCamera.attachPostProcess(this._postProcessMove),this._scene.beginAnimation(this._postProcessMove,0,6,!1,1,(function(){t._webVRCamera.detachPostProcess(t._postProcessMove)})),this._scene.beginAnimation(this.currentVRCamera,0,6,!1,1)}},e.prototype._moveTeleportationSelectorTo=function(e,t,n){if(e.pickedPoint){t._teleportationRequestInitiated&&(this._displayTeleportationTarget(),this._haloCenter.copyFrom(e.pickedPoint),this._teleportationTarget.position.copyFrom(e.pickedPoint));var i=this._convertNormalToDirectionOfRay(e.getNormal(!0,!1),n);if(i){var r=a.e.Cross(we.a.Y,i),o=a.e.Cross(i,r);a.e.RotationFromAxisToRef(o,i,r,this._teleportationTarget.rotation)}this._teleportationTarget.position.y+=.1}},e.prototype.teleportCamera=function(t){var n=this;if(this.currentVRCamera instanceof dt.a){this.webVRCamera.leftCamera?(this._workingVector.copyFrom(this.webVRCamera.leftCamera.globalPosition),this._workingVector.subtractInPlace(this.webVRCamera.position),t.subtractToRef(this._workingVector,this._workingVector)):this._workingVector.copyFrom(t),this.isInVRMode?this._workingVector.y+=this.webVRCamera.deviceDistanceToRoomGround()*this._webVRCamera.deviceScaleFactor:this._workingVector.y+=this._defaultHeight,this.onBeforeCameraTeleport.notifyObservers(this._workingVector);var i,r;if(this._teleportationMode==e.TELEPORTATIONMODE_CONSTANTSPEED){r=90;var o=a.e.Distance(this.currentVRCamera.position,this._workingVector);i=this._teleportationSpeed/o}else r=Math.round(90*this._teleportationTime/1e3),i=1;this.currentVRCamera.animations=[];var s=new w.a("animationCameraTeleportation","position",90,w.a.ANIMATIONTYPE_VECTOR3,w.a.ANIMATIONLOOPMODE_CONSTANT),c=[{frame:0,value:this.currentVRCamera.position},{frame:r,value:this._workingVector}];s.setKeys(c),s.setEasingFunction(this._teleportationEasing),this.currentVRCamera.animations.push(s),this._postProcessMove.animations=[];var l=Math.round(r/2),u=new w.a("animationPP","vignetteWeight",90,w.a.ANIMATIONTYPE_FLOAT,w.a.ANIMATIONLOOPMODE_CONSTANT),p=[];p.push({frame:0,value:0}),p.push({frame:l,value:8}),p.push({frame:r,value:0}),u.setKeys(p),this._postProcessMove.animations.push(u);var h=new w.a("animationPP2","vignetteStretch",90,w.a.ANIMATIONTYPE_FLOAT,w.a.ANIMATIONLOOPMODE_CONSTANT),d=[];d.push({frame:0,value:0}),d.push({frame:l,value:10}),d.push({frame:r,value:0}),h.setKeys(d),this._postProcessMove.animations.push(h),this._postProcessMove.imageProcessingConfiguration.vignetteWeight=0,this._postProcessMove.imageProcessingConfiguration.vignetteStretch=0,this._webVRCamera.attachPostProcess(this._postProcessMove),this._scene.beginAnimation(this._postProcessMove,0,r,!1,i,(function(){n._webVRCamera.detachPostProcess(n._postProcessMove)})),this._scene.beginAnimation(this.currentVRCamera,0,r,!1,i,(function(){n.onAfterCameraTeleport.notifyObservers(n._workingVector)})),this._hideTeleportationTarget()}},e.prototype._convertNormalToDirectionOfRay=function(e,t){e&&(Math.acos(a.e.Dot(e,t.direction))s){var c=s;s=a,a=c}return a>0&&a0&&s=0))},e.prototype._canDoCollision=function(e,t,n,i){var r=a.e.Distance(this._basePointWorld,e),o=Math.max(this._radius.x,this._radius.y,this._radius.z);return!(r>this._velocityWorldLength+o+t)&&!!function(e,t,n,i){return!(e.x>n.x+i||n.x-i>t.x||e.y>n.y+i||n.y-i>t.y||e.z>n.z+i||n.z-i>t.z)}(n,i,this._basePointWorld,this._velocityWorldLength+o)},e.prototype._testTriangle=function(e,t,n,i,r,o,s){var c,l=!1;t||(t=[]),t[e]||(t[e]=new Gn.a(0,0,0,0),t[e].copyFromPoints(n,i,r));var u=t[e];if(o||u.isFrontFacingTo(this._normalizedVelocity,0)){var p=u.signedDistanceTo(this._basePoint),h=a.e.Dot(u.normal,this._velocity);if(0==h){if(Math.abs(p)>=1)return;l=!0,c=0}else{var d=(1-p)/h;if((c=(-1-p)/h)>d){var f=d;d=c,c=f}if(c>1||d<0)return;c<0&&(c=0),c>1&&(c=1)}this._collisionPoint.copyFromFloats(0,0,0);var _=!1,m=1;if(l||(this._basePoint.subtractToRef(u.normal,this._planeIntersectionPoint),this._velocity.scaleToRef(c,this._tempVector),this._planeIntersectionPoint.addInPlace(this._tempVector),this._checkPointInTriangle(this._planeIntersectionPoint,n,i,r,u.normal)&&(_=!0,m=c,this._collisionPoint.copyFrom(this._planeIntersectionPoint))),!_){var b=this._velocity.lengthSquared(),g=b;this._basePoint.subtractToRef(n,this._tempVector);var v=2*a.e.Dot(this._velocity,this._tempVector),y=this._tempVector.lengthSquared()-1,C=Hn(g,v,y,m);C.found&&(m=C.root,_=!0,this._collisionPoint.copyFrom(n)),this._basePoint.subtractToRef(i,this._tempVector),v=2*a.e.Dot(this._velocity,this._tempVector),y=this._tempVector.lengthSquared()-1,(C=Hn(g,v,y,m)).found&&(m=C.root,_=!0,this._collisionPoint.copyFrom(i)),this._basePoint.subtractToRef(r,this._tempVector),v=2*a.e.Dot(this._velocity,this._tempVector),y=this._tempVector.lengthSquared()-1,(C=Hn(g,v,y,m)).found&&(m=C.root,_=!0,this._collisionPoint.copyFrom(r)),i.subtractToRef(n,this._edge),n.subtractToRef(this._basePoint,this._baseToVertex);var A=this._edge.lengthSquared(),x=a.e.Dot(this._edge,this._velocity),S=a.e.Dot(this._edge,this._baseToVertex);if(g=A*-b+x*x,v=A*(2*a.e.Dot(this._velocity,this._baseToVertex))-2*x*S,y=A*(1-this._baseToVertex.lengthSquared())+S*S,(C=Hn(g,v,y,m)).found){var T=(x*C.root-S)/A;T>=0&&T<=1&&(m=C.root,_=!0,this._edge.scaleInPlace(T),n.addToRef(this._edge,this._collisionPoint))}r.subtractToRef(i,this._edge),i.subtractToRef(this._basePoint,this._baseToVertex),A=this._edge.lengthSquared(),x=a.e.Dot(this._edge,this._velocity),S=a.e.Dot(this._edge,this._baseToVertex),g=A*-b+x*x,v=A*(2*a.e.Dot(this._velocity,this._baseToVertex))-2*x*S,y=A*(1-this._baseToVertex.lengthSquared())+S*S,(C=Hn(g,v,y,m)).found&&(T=(x*C.root-S)/A)>=0&&T<=1&&(m=C.root,_=!0,this._edge.scaleInPlace(T),i.addToRef(this._edge,this._collisionPoint)),n.subtractToRef(r,this._edge),r.subtractToRef(this._basePoint,this._baseToVertex),A=this._edge.lengthSquared(),x=a.e.Dot(this._edge,this._velocity),S=a.e.Dot(this._edge,this._baseToVertex),g=A*-b+x*x,v=A*(2*a.e.Dot(this._velocity,this._baseToVertex))-2*x*S,y=A*(1-this._baseToVertex.lengthSquared())+S*S,(C=Hn(g,v,y,m)).found&&(T=(x*C.root-S)/A)>=0&&T<=1&&(m=C.root,_=!0,this._edge.scaleInPlace(T),r.addToRef(this._edge,this._collisionPoint))}if(_){var E=m*this._velocity.length();(!this.collisionFound||E=i)r.copyFrom(e);else{var s=o?o.collisionMask:n.collisionMask;n._initialize(e,t,a);for(var c=0;cthis.capacity&&this._depth-1&&this.entries.splice(n,1)}},e.prototype.addEntries=function(e){for(var t=0;tl.snapDistance){var t=Math.floor(Math.abs(u)/l.snapDistance);u%=l.snapDistance,d.normalizeToRef(p),p.scaleInPlace(l.snapDistance*t),l.attachedMesh.position.addInPlace(p),h.snapDistance=l.snapDistance*t,l.onSnapObservable.notifyObservers(h)}})),l._pointerObserver=r.utilityLayerScene.onPointerObservable.add((function(e){if(!l._customMeshSet){var t=e.pickInfo&&-1!=l._rootMesh.getChildMeshes().indexOf(e.pickInfo.pickedMesh)?l._hoverMaterial:l._coloredMaterial;l._rootMesh.getChildMeshes().forEach((function(e){e.material=t,e.color&&(e.color=t.diffuseColor)}))}}));var _=r._getSharedGizmoLight();return _.includedOnlyMeshes=_.includedOnlyMeshes.concat(l._rootMesh.getChildMeshes(!1)),l}return Object(p.d)(t,e),t._CreateArrow=function(e,t){var n=new ni.a("arrow",e),i=Dn.CreateCylinder("cylinder",{diameterTop:0,height:.075,diameterBottom:.0375,tessellation:96},e),r=Dn.CreateCylinder("cylinder",{diameterTop:.005,height:.275,diameterBottom:.005,tessellation:96},e);return r.material=t,i.parent=n,r.parent=n,i.material=t,i.rotation.x=Math.PI/2,i.position.z+=.3,r.position.z+=.1375,r.rotation.x=Math.PI/2,n},t._CreateArrowInstance=function(e,t){for(var n=new ni.a("arrow",e),i=0,r=t.getChildMeshes();i1)?1:e.arc||1,s=e.slice&&e.slice<=0?1:e.slice||1,c=0===e.sideOrientation?0:e.sideOrientation||En.a.DEFAULTSIDE,l=new a.e(n/2,i/2,r/2),u=2+t,p=2*u,h=[],d=[],f=[],_=[],m=0;m<=u;m++){for(var b=m/u,g=b*Math.PI*s,v=0;v<=p;v++){var y=v/p,C=y*Math.PI*2*o,A=a.a.RotationZ(-g),x=a.a.RotationY(C),S=a.e.TransformCoordinates(a.e.Up(),A),T=a.e.TransformCoordinates(S,x),E=T.multiply(l),P=T.divide(l).normalize();d.push(E.x,E.y,E.z),f.push(P.x,P.y,P.z),_.push(y,b)}if(m>0)for(var O=d.length/3,M=O-2*(p+1);M+p+2100&&(this.soft=!0),this._physicsEngine=this._scene.getPhysicsEngine(),this._physicsEngine?(this.object.rotationQuaternion||(this.object.rotation?this.object.rotationQuaternion=a.b.RotationYawPitchRoll(this.object.rotation.y,this.object.rotation.x,this.object.rotation.z):this.object.rotationQuaternion=new a.b),this._options.mass=void 0===n.mass?0:n.mass,this._options.friction=void 0===n.friction?.2:n.friction,this._options.restitution=void 0===n.restitution?.2:n.restitution,this.soft&&(this._options.mass=this._options.mass>0?this._options.mass:1,this._options.pressure=void 0===n.pressure?200:n.pressure,this._options.stiffness=void 0===n.stiffness?1:n.stiffness,this._options.velocityIterations=void 0===n.velocityIterations?20:n.velocityIterations,this._options.positionIterations=void 0===n.positionIterations?20:n.positionIterations,this._options.fixedPoints=void 0===n.fixedPoints?0:n.fixedPoints,this._options.margin=void 0===n.margin?0:n.margin,this._options.damping=void 0===n.damping?0:n.damping,this._options.path=void 0===n.path?null:n.path,this._options.shape=void 0===n.shape?null:n.shape),this._joints=[],!this.object.parent||this._options.ignoreParent?this._init():this.object.parent.physicsImpostor&&m.a.Warn("You must affect impostors to children before affecting impostor to parent.")):m.a.Error("Physics not enabled. Please use scene.enablePhysics(...) before creating impostors."))):m.a.Error("No object was provided. A physics object is obligatory")}return Object.defineProperty(e.prototype,"isDisposed",{get:function(){return this._isDisposed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"mass",{get:function(){return this._physicsEngine?this._physicsEngine.getPhysicsPlugin().getBodyMass(this):0},set:function(e){this.setMass(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"friction",{get:function(){return this._physicsEngine?this._physicsEngine.getPhysicsPlugin().getBodyFriction(this):0},set:function(e){this._physicsEngine&&this._physicsEngine.getPhysicsPlugin().setBodyFriction(this,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"restitution",{get:function(){return this._physicsEngine?this._physicsEngine.getPhysicsPlugin().getBodyRestitution(this):0},set:function(e){this._physicsEngine&&this._physicsEngine.getPhysicsPlugin().setBodyRestitution(this,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pressure",{get:function(){if(!this._physicsEngine)return 0;var e=this._physicsEngine.getPhysicsPlugin();return e.setBodyPressure?e.getBodyPressure(this):0},set:function(e){if(this._physicsEngine){var t=this._physicsEngine.getPhysicsPlugin();t.setBodyPressure&&t.setBodyPressure(this,e)}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stiffness",{get:function(){if(!this._physicsEngine)return 0;var e=this._physicsEngine.getPhysicsPlugin();return e.getBodyStiffness?e.getBodyStiffness(this):0},set:function(e){if(this._physicsEngine){var t=this._physicsEngine.getPhysicsPlugin();t.setBodyStiffness&&t.setBodyStiffness(this,e)}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"velocityIterations",{get:function(){if(!this._physicsEngine)return 0;var e=this._physicsEngine.getPhysicsPlugin();return e.getBodyVelocityIterations?e.getBodyVelocityIterations(this):0},set:function(e){if(this._physicsEngine){var t=this._physicsEngine.getPhysicsPlugin();t.setBodyVelocityIterations&&t.setBodyVelocityIterations(this,e)}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"positionIterations",{get:function(){if(!this._physicsEngine)return 0;var e=this._physicsEngine.getPhysicsPlugin();return e.getBodyPositionIterations?e.getBodyPositionIterations(this):0},set:function(e){if(this._physicsEngine){var t=this._physicsEngine.getPhysicsPlugin();t.setBodyPositionIterations&&t.setBodyPositionIterations(this,e)}},enumerable:!0,configurable:!0}),e.prototype._init=function(){this._physicsEngine&&(this._physicsEngine.removeImpostor(this),this.physicsBody=null,this._parent=this._parent||this._getPhysicsParent(),this._isDisposed||this.parent&&!this._options.ignoreParent||this._physicsEngine.addImpostor(this))},e.prototype._getPhysicsParent=function(){return this.object.parent instanceof Me.a?this.object.parent.physicsImpostor:null},e.prototype.isBodyInitRequired=function(){return this._bodyUpdateRequired||!this._physicsBody&&!this._parent},e.prototype.setScalingUpdated=function(){this.forceUpdate()},e.prototype.forceUpdate=function(){this._init(),this.parent&&!this._options.ignoreParent&&this.parent.forceUpdate()},Object.defineProperty(e.prototype,"physicsBody",{get:function(){return this._parent&&!this._options.ignoreParent?this._parent.physicsBody:this._physicsBody},set:function(e){this._physicsBody&&this._physicsEngine&&this._physicsEngine.getPhysicsPlugin().removePhysicsBody(this),this._physicsBody=e,this.resetUpdateFlags()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return!this._options.ignoreParent&&this._parent?this._parent:null},set:function(e){this._parent=e},enumerable:!0,configurable:!0}),e.prototype.resetUpdateFlags=function(){this._bodyUpdateRequired=!1},e.prototype.getObjectExtendSize=function(){if(this.object.getBoundingInfo){var t=this.object.rotationQuaternion;this.object.rotationQuaternion=e.IDENTITY_QUATERNION,this.object.computeWorldMatrix&&this.object.computeWorldMatrix(!0);var n=this.object.getBoundingInfo().boundingBox.extendSizeWorld.scale(2);return this.object.rotationQuaternion=t,this.object.computeWorldMatrix&&this.object.computeWorldMatrix(!0),n}return e.DEFAULT_OBJECT_SIZE},e.prototype.getObjectCenter=function(){return this.object.getBoundingInfo?this.object.getBoundingInfo().boundingBox.centerWorld:this.object.position},e.prototype.getParam=function(e){return this._options[e]},e.prototype.setParam=function(e,t){this._options[e]=t,this._bodyUpdateRequired=!0},e.prototype.setMass=function(e){this.getParam("mass")!==e&&this.setParam("mass",e),this._physicsEngine&&this._physicsEngine.getPhysicsPlugin().setBodyMass(this,e)},e.prototype.getLinearVelocity=function(){return this._physicsEngine?this._physicsEngine.getPhysicsPlugin().getLinearVelocity(this):a.e.Zero()},e.prototype.setLinearVelocity=function(e){this._physicsEngine&&this._physicsEngine.getPhysicsPlugin().setLinearVelocity(this,e)},e.prototype.getAngularVelocity=function(){return this._physicsEngine?this._physicsEngine.getPhysicsPlugin().getAngularVelocity(this):a.e.Zero()},e.prototype.setAngularVelocity=function(e){this._physicsEngine&&this._physicsEngine.getPhysicsPlugin().setAngularVelocity(this,e)},e.prototype.executeNativeFunction=function(e){this._physicsEngine&&e(this._physicsEngine.getPhysicsPlugin().world,this.physicsBody)},e.prototype.registerBeforePhysicsStep=function(e){this._onBeforePhysicsStepCallbacks.push(e)},e.prototype.unregisterBeforePhysicsStep=function(e){var t=this._onBeforePhysicsStepCallbacks.indexOf(e);t>-1?this._onBeforePhysicsStepCallbacks.splice(t,1):m.a.Warn("Function to remove was not found")},e.prototype.registerAfterPhysicsStep=function(e){this._onAfterPhysicsStepCallbacks.push(e)},e.prototype.unregisterAfterPhysicsStep=function(e){var t=this._onAfterPhysicsStepCallbacks.indexOf(e);t>-1?this._onAfterPhysicsStepCallbacks.splice(t,1):m.a.Warn("Function to remove was not found")},e.prototype.registerOnPhysicsCollide=function(e,t){var n=e instanceof Array?e:[e];this._onPhysicsCollideCallbacks.push({callback:t,otherImpostors:n})},e.prototype.unregisterOnPhysicsCollide=function(e,t){var n=e instanceof Array?e:[e],i=-1;this._onPhysicsCollideCallbacks.some((function(e,r){if(e.callback===t&&e.otherImpostors.length===n.length){var o=e.otherImpostors.every((function(e){return n.indexOf(e)>-1}));return o&&(i=r),o}return!1}))?this._onPhysicsCollideCallbacks.splice(i,1):m.a.Warn("Function to remove was not found")},e.prototype.getParentsRotation=function(){var e=this.object.parent;for(this._tmpQuat.copyFromFloats(0,0,0,1);e;)e.rotationQuaternion?this._tmpQuat2.copyFrom(e.rotationQuaternion):a.b.RotationYawPitchRollToRef(e.rotation.y,e.rotation.x,e.rotation.z,this._tmpQuat2),this._tmpQuat.multiplyToRef(this._tmpQuat2,this._tmpQuat),e=e.parent;return this._tmpQuat},e.prototype.applyForce=function(e,t){return this._physicsEngine&&this._physicsEngine.getPhysicsPlugin().applyForce(this,e,t),this},e.prototype.applyImpulse=function(e,t){return this._physicsEngine&&this._physicsEngine.getPhysicsPlugin().applyImpulse(this,e,t),this},e.prototype.createJoint=function(e,t,n){var i=new pi(t,n);return this.addJoint(e,i),this},e.prototype.addJoint=function(e,t){return this._joints.push({otherImpostor:e,joint:t}),this._physicsEngine&&this._physicsEngine.addJoint(this,e,t),this},e.prototype.addAnchor=function(e,t,n,i,r){if(!this._physicsEngine)return this;var o=this._physicsEngine.getPhysicsPlugin();return o.appendAnchor?(this._physicsEngine&&o.appendAnchor(this,e,t,n,i,r),this):this},e.prototype.addHook=function(e,t,n,i){if(!this._physicsEngine)return this;var r=this._physicsEngine.getPhysicsPlugin();return r.appendAnchor?(this._physicsEngine&&r.appendHook(this,e,t,n,i),this):this},e.prototype.sleep=function(){return this._physicsEngine&&this._physicsEngine.getPhysicsPlugin().sleepBody(this),this},e.prototype.wakeUp=function(){return this._physicsEngine&&this._physicsEngine.getPhysicsPlugin().wakeUpBody(this),this},e.prototype.clone=function(t){return t?new e(t,this.type,this._options,this._scene):null},e.prototype.dispose=function(){var e=this;this._physicsEngine&&(this._joints.forEach((function(t){e._physicsEngine&&e._physicsEngine.removeJoint(e,t.otherImpostor,t.joint)})),this._physicsEngine.removeImpostor(this),this.parent&&this.parent.forceUpdate(),this._isDisposed=!0)},e.prototype.setDeltaPosition=function(e){this._deltaPosition.copyFrom(e)},e.prototype.setDeltaRotation=function(e){this._deltaRotation||(this._deltaRotation=new a.b),this._deltaRotation.copyFrom(e),this._deltaRotationConjugated=this._deltaRotation.conjugate()},e.prototype.getBoxSizeToRef=function(e){return this._physicsEngine&&this._physicsEngine.getPhysicsPlugin().getBoxSizeToRef(this,e),this},e.prototype.getRadius=function(){return this._physicsEngine?this._physicsEngine.getPhysicsPlugin().getRadius(this):0},e.prototype.syncBoneWithImpostor=function(t,n,i,r,o){var a=e._tmpVecs[0],s=this.object;if(s.rotationQuaternion)if(o){var c=e._tmpQuat;s.rotationQuaternion.multiplyToRef(o,c),t.setRotationQuaternion(c,we.b.WORLD,n)}else t.setRotationQuaternion(s.rotationQuaternion,we.b.WORLD,n);a.x=0,a.y=0,a.z=0,i&&(a.x=i.x,a.y=i.y,a.z=i.z,t.getDirectionToRef(a,n,a),null==r&&(r=i.length()),a.x*=r,a.y*=r,a.z*=r),t.getParent()?(a.addInPlace(s.getAbsolutePosition()),t.setAbsolutePosition(a,n)):(n.setAbsolutePosition(s.getAbsolutePosition()),n.position.x-=a.x,n.position.y-=a.y,n.position.z-=a.z)},e.prototype.syncImpostorWithBone=function(t,n,i,r,o,a){var s=this.object;if(s.rotationQuaternion)if(o){var c=e._tmpQuat;t.getRotationQuaternionToRef(we.b.WORLD,n,c),c.multiplyToRef(o,s.rotationQuaternion)}else t.getRotationQuaternionToRef(we.b.WORLD,n,s.rotationQuaternion);var l=e._tmpVecs[0],u=e._tmpVecs[1];a||((a=e._tmpVecs[2]).x=0,a.y=1,a.z=0),t.getDirectionToRef(a,n,u),t.getAbsolutePositionToRef(n,l),null==r&&i&&(r=i.length()),null!=r&&(l.x+=u.x*r,l.y+=u.y*r,l.z+=u.z*r),s.setAbsolutePosition(l)},e.DEFAULT_OBJECT_SIZE=new a.e(1,1,1),e.IDENTITY_QUATERNION=a.b.Identity(),e._tmpVecs=ye.a.BuildArray(3,a.e.Zero),e._tmpQuat=a.b.Identity(),e.NoImpostor=0,e.SphereImpostor=1,e.BoxImpostor=2,e.PlaneImpostor=3,e.MeshImpostor=4,e.CapsuleImpostor=6,e.CylinderImpostor=7,e.ParticleImpostor=8,e.HeightmapImpostor=9,e.ConvexHullImpostor=10,e.CustomImpostor=100,e.RopeImpostor=101,e.ClothImpostor=102,e.SoftbodyImpostor=103,e}(),bi=function(){function e(e){this._impostors=[],this._meshes=[],this._numMeshes=0,this._debugMeshMeshes=new Array,this._scene=e||P.a.LastCreatedScene;var t=this._scene.getPhysicsEngine();t&&(this._physicsEnginePlugin=t.getPhysicsPlugin()),this._utilityLayer=new ii.a(this._scene,!1),this._utilityLayer.pickUtilitySceneFirst=!1,this._utilityLayer.utilityLayerScene.autoClearDepthAndStencil=!0}return e.prototype._updateDebugMeshes=function(){for(var e=this._physicsEnginePlugin,t=0;t-1&&this._debugMeshMeshes.splice(o,1),this._numMeshes--,this._numMeshes>0?(this._meshes[i]=this._meshes[this._numMeshes],this._impostors[i]=this._impostors[this._numMeshes],this._meshes[this._numMeshes]=null,this._impostors[this._numMeshes]=null):(this._meshes[0]=null,this._impostors[0]=null),t=!0;break}t&&0===this._numMeshes&&this._scene.unregisterBeforeRender(this._renderFunction)}},e.prototype._getDebugMaterial=function(e){return this._debugMaterial||(this._debugMaterial=new An.a("",e),this._debugMaterial.wireframe=!0,this._debugMaterial.emissiveColor=s.a.White(),this._debugMaterial.disableLighting=!0),this._debugMaterial},e.prototype._getDebugBoxMesh=function(e){return this._debugBoxMesh||(this._debugBoxMesh=li.a.CreateBox("physicsBodyBoxViewMesh",{size:1},e),this._debugBoxMesh.rotationQuaternion=a.b.Identity(),this._debugBoxMesh.material=this._getDebugMaterial(e),this._debugBoxMesh.setEnabled(!1)),this._debugBoxMesh.createInstance("physicsBodyBoxViewInstance")},e.prototype._getDebugSphereMesh=function(e){return this._debugSphereMesh||(this._debugSphereMesh=ui.CreateSphere("physicsBodySphereViewMesh",{diameter:1},e),this._debugSphereMesh.rotationQuaternion=a.b.Identity(),this._debugSphereMesh.material=this._getDebugMaterial(e),this._debugSphereMesh.setEnabled(!1)),this._debugSphereMesh.createInstance("physicsBodyBoxViewInstance")},e.prototype._getDebugCylinderMesh=function(e){return this._debugCylinderMesh||(this._debugCylinderMesh=Dn.CreateCylinder("physicsBodyCylinderViewMesh",{diameterTop:1,diameterBottom:1,height:1},e),this._debugCylinderMesh.rotationQuaternion=a.b.Identity(),this._debugCylinderMesh.material=this._getDebugMaterial(e),this._debugCylinderMesh.setEnabled(!1)),this._debugCylinderMesh.createInstance("physicsBodyBoxViewInstance")},e.prototype._getDebugMeshMesh=function(e,t){var n=new ve.a(e.name,t,null,e);return n.position=a.e.Zero(),n.setParent(e),n.material=this._getDebugMaterial(t),this._debugMeshMeshes.push(n),n},e.prototype._getDebugMesh=function(e,t){var n=this;if(!this._utilityLayer)return null;if(t&&t.parent&&t.parent.physicsImpostor)return null;var i=null,r=this._utilityLayer.utilityLayerScene;switch(e.type){case mi.BoxImpostor:i=this._getDebugBoxMesh(r),e.getBoxSizeToRef(i.scaling);break;case mi.SphereImpostor:i=this._getDebugSphereMesh(r);var o=e.getRadius();i.scaling.x=2*o,i.scaling.y=2*o,i.scaling.z=2*o;break;case mi.MeshImpostor:t&&(i=this._getDebugMeshMesh(t,r));break;case mi.NoImpostor:if(t)t.getChildMeshes().filter((function(e){return e.physicsImpostor?1:0})).forEach((function(e){n._getDebugBoxMesh(r).parent=e}));break;case mi.CylinderImpostor:i=this._getDebugCylinderMesh(r);var a=e.object.getBoundingInfo();i.scaling.x=a.boundingBox.maximum.x-a.boundingBox.minimum.x,i.scaling.y=a.boundingBox.maximum.y-a.boundingBox.minimum.y,i.scaling.z=a.boundingBox.maximum.z-a.boundingBox.minimum.z}return i},e.prototype.dispose=function(){for(var e=this._numMeshes,t=0;t0&&(t.push(a-1),t.push(a)),a++}var p=new En.a;return p.indices=t,p.positions=n,r&&(p.colors=o),p},En.a.CreateDashedLines=function(e){var t,n,i=e.dashSize||3,r=e.gapSize||1,o=e.dashNb||200,s=e.points,c=new Array,l=new Array,u=a.e.Zero(),p=0,h=0,d=0,f=0,_=0;for(_=0;_=0;s--){var c=e[s],l=c.getParent();if(l){var u=this._debugLines[i];u||(u=[a.e.Zero(),a.e.Zero()],this._debugLines[i]=u),c.getAbsolutePositionToRef(r,u[0]),l.getAbsolutePositionToRef(r,u[1]),u[0].subtractInPlace(o),u[1].subtractInPlace(o),i++}}},e.prototype.update=function(){if(this._utilityLayer){this.autoUpdateBonesMatrices&&this.skeleton.computeAbsoluteTransforms();var e=this.mesh._effectiveMesh;void 0===this.skeleton.bones[0].length?this._getLinesForBonesNoLength(this.skeleton.bones,e.getWorldMatrix()):this._getLinesForBonesWithLength(this.skeleton.bones,e.getWorldMatrix());var t=this._utilityLayer.utilityLayerScene;this._debugMesh?vi.CreateLineSystem("",{lines:this._debugLines,updatable:!0,instance:this._debugMesh},t):(this._debugMesh=vi.CreateLineSystem("",{lines:this._debugLines,updatable:!0,instance:null},t),this._debugMesh.renderingGroupId=this.renderingGroupId),this._debugMesh.position.copyFrom(this.mesh.position),this._debugMesh.color=this.color}},e.prototype.dispose=function(){this.isEnabled=!1,this._debugMesh&&(this.isEnabled=!1,this._debugMesh.dispose(),this._debugMesh=null),this._utilityLayer&&(this._utilityLayer.dispose(),this._utilityLayer=null)},e}(),Ai=n(76),xi=n(36),Si=n(215),Ti=function(){this._timeElapsedQueryEnded=!1},Ei=function(){this.occlusionInternalRetryCounter=0,this.isOcclusionQueryInProgress=!1,this.isOccluded=!1,this.occlusionRetryCount=-1,this.occlusionType=Me.a.OCCLUSION_TYPE_NONE,this.occlusionQueryAlgorithmType=Me.a.OCCLUSION_ALGORITHM_TYPE_CONSERVATIVE};ne.a.prototype.createQuery=function(){return this._gl.createQuery()},ne.a.prototype.deleteQuery=function(e){return this._gl.deleteQuery(e),this},ne.a.prototype.isQueryResultAvailable=function(e){return this._gl.getQueryParameter(e,this._gl.QUERY_RESULT_AVAILABLE)},ne.a.prototype.getQueryResult=function(e){return this._gl.getQueryParameter(e,this._gl.QUERY_RESULT)},ne.a.prototype.beginOcclusionQuery=function(e,t){var n=this._getGlAlgorithmType(e);return this._gl.beginQuery(n,t),this},ne.a.prototype.endOcclusionQuery=function(e){var t=this._getGlAlgorithmType(e);return this._gl.endQuery(t),this},ne.a.prototype._createTimeQuery=function(){var e=this.getCaps().timerQuery;return e.createQueryEXT?e.createQueryEXT():this.createQuery()},ne.a.prototype._deleteTimeQuery=function(e){var t=this.getCaps().timerQuery;t.deleteQueryEXT?t.deleteQueryEXT(e):this.deleteQuery(e)},ne.a.prototype._getTimeQueryResult=function(e){var t=this.getCaps().timerQuery;return t.getQueryObjectEXT?t.getQueryObjectEXT(e,t.QUERY_RESULT_EXT):this.getQueryResult(e)},ne.a.prototype._getTimeQueryAvailability=function(e){var t=this.getCaps().timerQuery;return t.getQueryObjectEXT?t.getQueryObjectEXT(e,t.QUERY_RESULT_AVAILABLE_EXT):this.isQueryResultAvailable(e)},ne.a.prototype.startTimeQuery=function(){var e=this.getCaps(),t=e.timerQuery;if(!t)return null;var n=new Ti;if(this._gl.getParameter(t.GPU_DISJOINT_EXT),e.canUseTimestampForTimerQuery)n._startTimeQuery=this._createTimeQuery(),t.queryCounterEXT(n._startTimeQuery,t.TIMESTAMP_EXT);else{if(this._currentNonTimestampToken)return this._currentNonTimestampToken;n._timeElapsedQuery=this._createTimeQuery(),t.beginQueryEXT?t.beginQueryEXT(t.TIME_ELAPSED_EXT,n._timeElapsedQuery):this._gl.beginQuery(t.TIME_ELAPSED_EXT,n._timeElapsedQuery),this._currentNonTimestampToken=n}return n},ne.a.prototype.endTimeQuery=function(e){var t=this.getCaps(),n=t.timerQuery;if(!n||!e)return-1;if(t.canUseTimestampForTimerQuery){if(!e._startTimeQuery)return-1;e._endTimeQuery||(e._endTimeQuery=this._createTimeQuery(),n.queryCounterEXT(e._endTimeQuery,n.TIMESTAMP_EXT))}else if(!e._timeElapsedQueryEnded){if(!e._timeElapsedQuery)return-1;n.endQueryEXT?n.endQueryEXT(n.TIME_ELAPSED_EXT):this._gl.endQuery(n.TIME_ELAPSED_EXT),e._timeElapsedQueryEnded=!0}var i=this._gl.getParameter(n.GPU_DISJOINT_EXT),r=!1;if(e._endTimeQuery?r=this._getTimeQueryAvailability(e._endTimeQuery):e._timeElapsedQuery&&(r=this._getTimeQueryAvailability(e._timeElapsedQuery)),r&&!i){var o=0;if(t.canUseTimestampForTimerQuery){if(!e._startTimeQuery||!e._endTimeQuery)return-1;var a=this._getTimeQueryResult(e._startTimeQuery);o=this._getTimeQueryResult(e._endTimeQuery)-a,this._deleteTimeQuery(e._startTimeQuery),this._deleteTimeQuery(e._endTimeQuery),e._startTimeQuery=null,e._endTimeQuery=null}else{if(!e._timeElapsedQuery)return-1;o=this._getTimeQueryResult(e._timeElapsedQuery),this._deleteTimeQuery(e._timeElapsedQuery),e._timeElapsedQuery=null,e._timeElapsedQueryEnded=!1,this._currentNonTimestampToken=null}return o}return-1},ne.a.prototype._getGlAlgorithmType=function(e){return e===Me.a.OCCLUSION_ALGORITHM_TYPE_CONSERVATIVE?this._gl.ANY_SAMPLES_PASSED_CONSERVATIVE:this._gl.ANY_SAMPLES_PASSED},Object.defineProperty(Me.a.prototype,"isOcclusionQueryInProgress",{get:function(){return this._occlusionDataStorage.isOcclusionQueryInProgress},set:function(e){this._occlusionDataStorage.isOcclusionQueryInProgress=e},enumerable:!1,configurable:!0}),Object.defineProperty(Me.a.prototype,"_occlusionDataStorage",{get:function(){return this.__occlusionDataStorage||(this.__occlusionDataStorage=new Ei),this.__occlusionDataStorage},enumerable:!1,configurable:!0}),Object.defineProperty(Me.a.prototype,"isOccluded",{get:function(){return this._occlusionDataStorage.isOccluded},set:function(e){this._occlusionDataStorage.isOccluded=e},enumerable:!0,configurable:!0}),Object.defineProperty(Me.a.prototype,"occlusionQueryAlgorithmType",{get:function(){return this._occlusionDataStorage.occlusionQueryAlgorithmType},set:function(e){this._occlusionDataStorage.occlusionQueryAlgorithmType=e},enumerable:!0,configurable:!0}),Object.defineProperty(Me.a.prototype,"occlusionType",{get:function(){return this._occlusionDataStorage.occlusionType},set:function(e){this._occlusionDataStorage.occlusionType=e},enumerable:!0,configurable:!0}),Object.defineProperty(Me.a.prototype,"occlusionRetryCount",{get:function(){return this._occlusionDataStorage.occlusionRetryCount},set:function(e){this._occlusionDataStorage.occlusionRetryCount=e},enumerable:!0,configurable:!0}),Me.a.prototype._checkOcclusionQuery=function(){var e=this._occlusionDataStorage;if(e.occlusionType===Me.a.OCCLUSION_TYPE_NONE)return e.isOccluded=!1,!1;var t=this.getEngine();if(t.webGLVersion<2)return e.isOccluded=!1,!1;if(!t.isQueryResultAvailable)return e.isOccluded=!1,!1;if(this.isOcclusionQueryInProgress&&this._occlusionQuery)if(t.isQueryResultAvailable(this._occlusionQuery)){var n=t.getQueryResult(this._occlusionQuery);e.isOcclusionQueryInProgress=!1,e.occlusionInternalRetryCounter=0,e.isOccluded=1!==n}else{if(e.occlusionInternalRetryCounter++,!(-1!==e.occlusionRetryCount&&e.occlusionInternalRetryCounter>e.occlusionRetryCount))return!1;e.isOcclusionQueryInProgress=!1,e.occlusionInternalRetryCounter=0,e.isOccluded=e.occlusionType!==Me.a.OCCLUSION_TYPE_OPTIMISTIC&&e.isOccluded}var i=this.getScene();if(i.getBoundingBoxRenderer){var r=i.getBoundingBoxRenderer();this._occlusionQuery||(this._occlusionQuery=t.createQuery()),t.beginOcclusionQuery(e.occlusionQueryAlgorithmType,this._occlusionQuery),r.renderOcclusionBoundingBox(this),t.endOcclusionQuery(e.occlusionQueryAlgorithmType),this._occlusionDataStorage.isOcclusionQueryInProgress=!0}return e.isOccluded};var Pi=!0;ne.a.prototype.createTransformFeedback=function(){return this._gl.createTransformFeedback()},ne.a.prototype.deleteTransformFeedback=function(e){this._gl.deleteTransformFeedback(e)},ne.a.prototype.bindTransformFeedback=function(e){this._gl.bindTransformFeedback(this._gl.TRANSFORM_FEEDBACK,e)},ne.a.prototype.beginTransformFeedback=function(e){void 0===e&&(e=!0),this._gl.beginTransformFeedback(e?this._gl.POINTS:this._gl.TRIANGLES)},ne.a.prototype.endTransformFeedback=function(){this._gl.endTransformFeedback()},ne.a.prototype.setTranformFeedbackVaryings=function(e,t){this._gl.transformFeedbackVaryings(e,t,this._gl.INTERLEAVED_ATTRIBS)},ne.a.prototype.bindTransformFeedbackBuffer=function(e){this._gl.bindBufferBase(this._gl.TRANSFORM_FEEDBACK_BUFFER,0,e?e.underlyingResource:null)};var Oi=function(){};ne.a.prototype.getInputElement=function(){return this.inputElement||this.getRenderingCanvas()},ne.a.prototype.registerView=function(e,t){var n=this;this.views||(this.views=[]);for(var i=0,r=this.views;i17)throw new Error("Exceeded maximum custom attributes");var r=Bi[n];if(void 0===r)throw new Error("Can't find bgfx name mapping");return t=t.replace(n,r),this._replacements.push({searchValue:new RegExp("\\b"+n+"\\b","g"),replaceValue:""+r}),"layout(location="+i+") "+e.prototype.attributeProcessor.call(this,t)},t.prototype.varyingProcessor=function(t,n){var i;return n?i=this._varyingLocationMap[t]:(i=this._varyingLocationCount++,this._varyingLocationMap[t]=i),"layout(location="+i+") "+e.prototype.varyingProcessor.call(this,t,n)},t.prototype.uniformProcessor=function(e){var t=e.match(/uniform\s+([^\s]+)\s+([^\s]+)\s*(?:\[.+\])?\s*;/),n=t[1],i=t[2];switch(n){case"sampler2D":case"samplerCube":var r=n.substr(7),o=this._textureCount++;return this._replacements.push({searchValue:new RegExp("\\b"+i+"\\b"),replaceValue:"sampler"+r+"("+i+"Texture, "+i+")"}),"layout(binding="+o+") uniform texture"+r+" "+i+"Texture;\nlayout(binding="+o+") uniform sampler "+i+";";case"float":this._replacements.push({searchValue:new RegExp("\\b"+i+"\\b"),replaceValue:i+".x"}),e="uniform vec4 "+i+";";break;case"vec2":this._replacements.push({searchValue:new RegExp("\\b"+i+"\\b"),replaceValue:i+".xy"}),e="uniform vec4 "+i+";";break;case"vec3":this._replacements.push({searchValue:new RegExp("\\b"+i+"\\b"),replaceValue:i+".xyz"}),e="uniform vec4 "+i+";"}return this._uniforms.push(e),1===this._uniforms.length?"":""},t.prototype.preProcessor=function(e,t,n){return this._genericAttributeLocation=10,n||(this._varyingLocationCount=0,this._varyingLocationMap={}),this._replacements=[],this._textureCount=0,this._uniforms=[],e},t.prototype.postProcessor=function(t,n,i){return t=(t=(t=e.prototype.postProcessor.call(this,t,n,i)).replace("","layout(binding=0) uniform Frame {\n"+this._uniforms.join("\n")+"\n};")).replace("out vec4 glFragColor","layout(location=0) out vec4 glFragColor")},t}(wi.a),Vi=function(){function e(){this.isAsync=!1,this.isReady=!1}return e.prototype._handlesSpectorRebuildCallback=function(e){throw new Error("Not implemented")},e}(),zi=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t}(Di.a),ji=function(){function e(){}return e.POINT=0,e.MINPOINT_MAGPOINT_MIPPOINT=e.POINT,e.BILINEAR=1,e.MINLINEAR_MAGLINEAR_MIPPOINT=e.BILINEAR,e.TRILINEAR=2,e.MINLINEAR_MAGLINEAR_MIPLINEAR=e.TRILINEAR,e.ANISOTROPIC=3,e.POINT_COMPARE=4,e.TRILINEAR_COMPARE=5,e.MINBILINEAR_MAGPOINT=6,e.MINLINEAR_MAGPOINT_MIPLINEAR=e.MINBILINEAR_MAGPOINT,e.MINPOINT_MAGPOINT_MIPLINEAR=7,e.MINPOINT_MAGLINEAR_MIPPOINT=8,e.MINPOINT_MAGLINEAR_MIPLINEAR=9,e.MINLINEAR_MAGPOINT_MIPPOINT=10,e}(),Ui=function(){function e(){}return e.CLEAR_COLOR=1,e.CLEAR_DEPTH=2,e.CLEAR_STENCIL=4,e}(),Gi=function(){function e(){}return e.WRAP=0,e.MIRROR=1,e.CLAMP=2,e.BORDER=3,e.MIRROR_ONCE=4,e}(),Hi=function(){function e(){}return e.RGBA8=0,e.RGBA32F=1,e}(),Wi=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t.prototype.getInternalTexture=function(){return this},t.prototype.getViewCount=function(){return 1},t}(sn.a),Xi=function(e){function t(){var t=e.call(this,null)||this;return t._native=new _native.Engine,t.INVALID_HANDLE=65535,t._webGLVersion=2,t.disableUniformBuffers=!0,t._caps={maxTexturesImageUnits:16,maxVertexTextureImageUnits:16,maxCombinedTexturesImageUnits:32,maxTextureSize:512,maxCubemapTextureSize:512,maxRenderTextureSize:512,maxVertexAttribs:16,maxVaryingVectors:16,maxFragmentUniformVectors:16,maxVertexUniformVectors:16,standardDerivatives:!0,astc:null,pvrtc:null,etc1:null,etc2:null,maxAnisotropy:16,uintIndices:!1,fragmentDepthSupported:!1,highPrecisionShaderSupported:!0,colorBufferFloat:!1,textureFloat:!1,textureFloatLinearFiltering:!1,textureFloatRender:!1,textureHalfFloat:!1,textureHalfFloatLinearFiltering:!1,textureHalfFloatRender:!1,textureLOD:!0,drawBuffersExtension:!1,depthTextureExtension:!1,vertexArrayObject:!0,instancedArrays:!1,canUseTimestampForTimerQuery:!1,blendMinMax:!1,maxMSAASamples:1},Xe.b.Log("Babylon Native (v"+ne.a.Version+") launched"),"undefined"==typeof URL&&(window.URL={createObjectURL:function(){},revokeObjectURL:function(){}}),"undefined"==typeof Blob&&(window.Blob=function(){}),t._shaderProcessor=new ki,t}return Object(p.d)(t,e),t.prototype.getHardwareScalingLevel=function(){return 1},t.prototype._queueNewFrame=function(e,t){return t.requestAnimationFrame?t.requestAnimationFrame(e):this._native.requestAnimationFrame(e),0},t.prototype._bindUnboundFramebuffer=function(e){this._currentFramebuffer!==e&&(this._currentFramebuffer&&this._native.unbindFramebuffer(this._currentFramebuffer),e&&this._native.bindFramebuffer(e),this._currentFramebuffer=e)},t.prototype.getHostDocument=function(){return null},t.prototype.clear=function(e,t,n,i){void 0===i&&(i=!1);var r=0;t&&e&&(this._native.clearColor(e.r,e.g,e.b,void 0!==e.a?e.a:1),r|=Ui.CLEAR_COLOR),n&&(this._native.clearDepth(1),r|=Ui.CLEAR_DEPTH),i&&(this._native.clearStencil(0),r|=Ui.CLEAR_STENCIL),this._native.clear(r)},t.prototype.createIndexBuffer=function(e){var t=this._normalizeIndexData(e),n=new zi;if(n.references=1,n.is32Bits=4===t.BYTES_PER_ELEMENT,n.nativeIndexBuffer=this._native.createIndexBuffer(t),n.nativeVertexBuffer===this.INVALID_HANDLE)throw new Error("Could not create a native index buffer.");return n},t.prototype.createVertexBuffer=function(e){var t=new zi;if(t.references=1,t.nativeVertexBuffer=this._native.createVertexBuffer(ArrayBuffer.isView(e)?e:new Float32Array(e)),t.nativeVertexBuffer===this.INVALID_HANDLE)throw new Error("Could not create a native vertex buffer.");return t},t.prototype.recordVertexArrayObject=function(e,t,n){var i=this._native.createVertexArray();t&&this._native.recordIndexBuffer(i,t.nativeIndexBuffer);for(var r=n.getAttributesNames(),o=0;o=0){var s=e[r[o]];if(s){var c=s.getBuffer();c&&this._native.recordVertexBuffer(i,c.nativeVertexBuffer,a,s.byteOffset,s.byteStride,s.getSize(),s.type,s.normalized)}}}return i},t.prototype.bindVertexArrayObject=function(e){this._native.bindVertexArray(e)},t.prototype.releaseVertexArrayObject=function(e){this._native.deleteVertexArray(e)},t.prototype.getAttributes=function(e,t){var n=e;return this._native.getAttributes(n.nativeProgram,t)},t.prototype.drawElementsType=function(e,t,n,i){this._drawCalls.addCount(1,!1),this._native.drawIndexed(e,t,n)},t.prototype.drawArraysType=function(e,t,n,i){this._drawCalls.addCount(1,!1),this._native.draw(e,t,n)},t.prototype.createPipelineContext=function(){return new Vi},t.prototype._preparePipelineContext=function(e,t,n,i,r,o,a){var s=e;s.nativeProgram=i?this.createRawShaderProgram(e,t,n,void 0,a):this.createShaderProgram(e,t,n,o,void 0,a)},t.prototype._isRenderingStateCompiled=function(e){return!0},t.prototype._executeWhenRenderingStateIsCompiled=function(e,t){t()},t.prototype.createRawShaderProgram=function(e,t,n,i,r){throw void 0===r&&(r=null),new Error("Not Supported")},t.prototype.createShaderProgram=function(e,t,n,i,r,o){void 0===o&&(o=null),this.onBeforeShaderCompilationObservable.notifyObservers(this);var a=this._native.createProgram(xi.a._ConcatenateShader(t,i),xi.a._ConcatenateShader(n,i));return this.onAfterShaderCompilationObservable.notifyObservers(this),a},t.prototype._setProgram=function(e){this._currentProgram!==e&&(this._native.setProgram(e),this._currentProgram=e)},t.prototype._releaseEffect=function(e){},t.prototype._deletePipelineContext=function(e){},t.prototype.getUniforms=function(e,t){var n=e;return this._native.getUniforms(n.nativeProgram,t)},t.prototype.bindUniformBlock=function(e,t,n){throw new Error("Not Implemented")},t.prototype.bindSamplers=function(e){var t=e.getPipelineContext();this._setProgram(t.nativeProgram);for(var n=e.getSamplers(),i=0;i-1?d.substring(b).toLowerCase():""),v=null,y=0,C=ne.a._TextureLoaders;y-1?e.substring(f).toLowerCase():""))){if(n&&6===n.length)throw new Error("Multi-file loading not allowed on env files.");this._loadFile(e,(function(e){return function(e){var t=Li.a.GetEnvInfo(e);if(d.width=t.width,d.height=t.width,Li.a.UploadEnvSpherical(d,t),1!==t.version)throw new Error('Unsupported babylon environment map version "'+t.version+'"');var n=t.specular;if(!n)throw new Error("Nothing else parsed so far");d._lodGenerationScale=n.lodGenerationScale;var i=Li.a.CreateImageDataArrayBufferViews(e,t);if(d.format=5,d.type=0,d.generateMipMaps=!0,d.getEngine().updateTextureSamplingMode(nn.a.TRILINEAR_SAMPLINGMODE,d),d._isRGBD=!0,d.invertY=!0,!h._native.loadEnvTexture(d._webGLTexture,i))throw new Error("Could not load a native cube texture.");d.isReady=!0,r&&r()}(new Uint8Array(e))}),void 0,void 0,!0,(function(e,t){o&&e&&o(e.status+" "+e.statusText,t)}))}else{if(!n||6!==n.length)throw new Error("Cannot load cubemap because 6 files were not defined");var _=[n[0],n[3],n[1],n[4],n[2],n[5]];Promise.all(_.map((function(e){return Xe.b.LoadFileAsync(e).then((function(e){return new Uint8Array(e)}))}))).then((function(e){h._native.loadCubeTexture(d._webGLTexture,e,!i)})).then((function(){d.isReady=!0,r&&r()}),(function(e){o&&o("Failed to load cubemap: "+e.message,e)}))}return this._internalTexturesCache.push(d),d},t.prototype._getSamplingFilter=function(e){switch(e){case 2:return ji.MINLINEAR_MAGLINEAR_MIPPOINT;case 3:return ji.MINLINEAR_MAGLINEAR_MIPLINEAR;case 1:return ji.MINPOINT_MAGPOINT_MIPLINEAR;case 4:return ji.MINPOINT_MAGPOINT_MIPPOINT;case 5:return ji.MINLINEAR_MAGPOINT_MIPPOINT;case 6:case 7:return ji.MINLINEAR_MAGPOINT_MIPLINEAR;case 1:return ji.MINPOINT_MAGPOINT_MIPPOINT;case 9:return ji.MINPOINT_MAGLINEAR_MIPPOINT;case 10:return ji.MINPOINT_MAGLINEAR_MIPLINEAR;case 2:return ji.MINLINEAR_MAGLINEAR_MIPLINEAR;case 12:return ji.MINPOINT_MAGLINEAR_MIPLINEAR;default:throw new Error("Unexpected sampling mode: "+e+".")}},t._GetNativeTextureFormat=function(e,t){if(5==e&&0==t)return Hi.RGBA8;if(5==e&&1==t)return Hi.RGBA32F;throw new Error("Unexpected texture format or type: format "+e+", type "+t+".")},t.prototype.createRenderTargetTexture=function(e,n){var i=new Ni.a;void 0!==n&&"object"==typeof n?(i.generateMipMaps=n.generateMipMaps,i.generateDepthBuffer=void 0===n.generateDepthBuffer||n.generateDepthBuffer,i.generateStencilBuffer=i.generateDepthBuffer&&n.generateStencilBuffer,i.type=void 0===n.type?0:n.type,i.samplingMode=void 0===n.samplingMode?3:n.samplingMode,i.format=void 0===n.format?5:n.format):(i.generateMipMaps=n,i.generateDepthBuffer=!0,i.generateStencilBuffer=!1,i.type=0,i.samplingMode=3,i.format=5),(1!==i.type||this._caps.textureFloatLinearFiltering)&&(2!==i.type||this._caps.textureHalfFloatLinearFiltering)||(i.samplingMode=1);var r=new Wi(this,sn.b.RenderTarget),o=e.width||e,a=e.height||e;1!==i.type||this._caps.textureFloat||(i.type=0,m.a.Warn("Float textures are not supported. Render target forced to TEXTURETYPE_UNSIGNED_BYTE type"));var s=this._native.createFramebuffer(r._webGLTexture,o,a,t._GetNativeTextureFormat(i.format,i.type),i.samplingMode,!!i.generateStencilBuffer,i.generateDepthBuffer,!!i.generateMipMaps);return r._framebuffer=s,r.baseWidth=o,r.baseHeight=a,r.width=o,r.height=a,r.isReady=!0,r.samples=1,r.generateMipMaps=!!i.generateMipMaps,r.samplingMode=i.samplingMode,r.type=i.type,r.format=i.format,r._generateDepthBuffer=i.generateDepthBuffer,r._generateStencilBuffer=!!i.generateStencilBuffer,this._internalTexturesCache.push(r),r},t.prototype.updateTextureSamplingMode=function(e,t){if(t._webGLTexture){var n=this._getSamplingFilter(e);this._native.setTextureSampling(t._webGLTexture,n)}t.samplingMode=e},t.prototype.bindFramebuffer=function(e,t,n,i,r){if(t)throw new Error("Cuboid frame buffers are not yet supported in NativeEngine.");if(n||i)throw new Error("Required width/height for frame buffers not yet supported in NativeEngine.");if(r)throw new Error("forceFullscreenViewport for frame buffers not yet supported in NativeEngine.");this._bindUnboundFramebuffer(e._framebuffer)},t.prototype.unBindFramebuffer=function(e,t,n){void 0===t&&(t=!1),t&&m.a.Warn("Disabling mipmap generation not yet supported in NativeEngine. Ignoring."),n&&n(),this._bindUnboundFramebuffer(null)},t.prototype.createDynamicVertexBuffer=function(e){throw new Error("createDynamicVertexBuffer not yet implemented.")},t.prototype.updateDynamicIndexBuffer=function(e,t,n){throw void 0===n&&(n=0),new Error("updateDynamicIndexBuffer not yet implemented.")},t.prototype.updateDynamicVertexBuffer=function(e,t,n,i){throw new Error("updateDynamicVertexBuffer not yet implemented.")},t.prototype._setTexture=function(e,t,n,i){void 0===n&&(n=!1),void 0===i&&(i=!1);var r,o=this._boundUniforms[e];if(!o)return!1;if(!t)return null!=this._boundTexturesCache[e]&&(this._activeChannel=e,this._native.setTexture(o,null)),!1;if(t.video)this._activeChannel=e,t.update();else if(4===t.delayLoadState)return t.delayLoad(),!1;return r=i?t.depthStencilTexture:t.isReady()?t.getInternalTexture():t.isCube?this.emptyCubeTexture:t.is3D?this.emptyTexture3D:t.is2DArray?this.emptyTexture2DArray:this.emptyTexture,this._activeChannel=e,!(!r||!r._webGLTexture)&&(this._native.setTextureWrapMode(r._webGLTexture,this._getAddressMode(t.wrapU),this._getAddressMode(t.wrapV),this._getAddressMode(t.wrapR)),this._updateAnisotropicLevel(t),this._native.setTexture(o,r._webGLTexture),!0)},t.prototype._updateAnisotropicLevel=function(e){var t=e.getInternalTexture(),n=e.anisotropicFilteringLevel;t&&t._webGLTexture&&t._cachedAnisotropicFilteringLevel!==n&&(this._native.setTextureAnisotropicLevel(t._webGLTexture,n),t._cachedAnisotropicFilteringLevel=n)},t.prototype._getAddressMode=function(e){switch(e){case 1:return Gi.WRAP;case 0:return Gi.CLAMP;case 2:return Gi.MIRROR;default:throw new Error("Unexpected wrap mode: "+e+".")}},t.prototype._bindTexture=function(e,t){throw new Error("_bindTexture not implemented.")},t.prototype._deleteBuffer=function(e){e.nativeIndexBuffer&&(this._native.deleteIndexBuffer(e.nativeIndexBuffer),delete e.nativeIndexBuffer),e.nativeVertexBuffer&&(this._native.deleteVertexBuffer(e.nativeVertexBuffer),delete e.nativeVertexBuffer)},t.prototype.releaseEffects=function(){},t.prototype._uploadCompressedDataToTextureDirectly=function(e,t,n,i,r,o,a){throw void 0===o&&(o=0),void 0===a&&(a=0),new Error("_uploadCompressedDataToTextureDirectly not implemented.")},t.prototype._uploadDataToTextureDirectly=function(e,t,n,i){throw void 0===n&&(n=0),void 0===i&&(i=0),new Error("_uploadDataToTextureDirectly not implemented.")},t.prototype._uploadArrayBufferViewToTexture=function(e,t,n,i){throw void 0===n&&(n=0),void 0===i&&(i=0),new Error("_uploadArrayBufferViewToTexture not implemented.")},t.prototype._uploadImageToTexture=function(e,t,n,i){throw void 0===n&&(n=0),void 0===i&&(i=0),new Error("_uploadArrayBufferViewToTexture not implemented.")},t}(ne.a),Yi=n(111),Qi=n(35),Ki=function(e){function t(t){var n=e.call(this,t)||this;return n.controllerType=At.DAYDREAM,n}return Object(p.d)(t,e),t.prototype.initControllerMesh=function(e,n){var i=this;Qi.a.ImportMesh("",t.MODEL_BASE_URL,t.MODEL_FILENAME,e,(function(e){i._defaultModel=e[1],i.attachToMesh(i._defaultModel),n&&n(i._defaultModel)}))},t.prototype._handleButtonChange=function(e,t,n){if(0===e){var i=this.onTriggerStateChangedObservable;i&&i.notifyObservers(t)}else m.a.Warn("Unrecognized Daydream button index: "+e)},t.MODEL_BASE_URL="https://controllers.babylonjs.com/generic/",t.MODEL_FILENAME="generic.babylon",t.GAMEPAD_ID_PREFIX="Daydream",t}(yn);Ot._ControllerFactories.push({canCreate:function(e){return 0===e.id.indexOf(Ki.GAMEPAD_ID_PREFIX)},create:function(e){return new Ki(e)}});var Zi=function(e){function t(t){var n=e.call(this,t)||this;return n._buttonIndexToObservableNameMap=["onPadStateChangedObservable","onTriggerStateChangedObservable"],n.controllerType=At.GEAR_VR,n._calculatedPosition=new a.e("left"==n.hand?-.15:.15,-.5,.25),n._disableTrackPosition(n._calculatedPosition),n}return Object(p.d)(t,e),t.prototype.initControllerMesh=function(e,n){var i=this;Qi.a.ImportMesh("",t.MODEL_BASE_URL,t.MODEL_FILENAME,e,(function(t){var r=new ve.a("",e);t[1].parent=r,t[1].position.z=-.15,i._defaultModel=r,i.attachToMesh(i._defaultModel),n&&n(i._defaultModel)}))},t.prototype._handleButtonChange=function(e,t,n){if(ec.snapDistance?(r=Math.floor(Math.abs(p)/c.snapDistance),p<0&&(r*=-1),p%=c.snapDistance,h.scaleToRef(c.snapDistance*r,h),i=!0):h.scaleInPlace(0)),c.attachedMesh.scaling.addInPlace(h),i&&(d.snapDistance=c.snapDistance*r,c.onSnapObservable.notifyObservers(d))}})),c._pointerObserver=i.utilityLayerScene.onPointerObservable.add((function(e){if(!c._customMeshSet){var t=e.pickInfo&&-1!=c._rootMesh.getChildMeshes().indexOf(e.pickInfo.pickedMesh)?c._hoverMaterial:c._coloredMaterial;c._rootMesh.getChildMeshes().forEach((function(e){e.material=t,e.color&&(e.color=t.diffuseColor)}))}}));var f=i._getSharedGizmoLight();return f.includedOnlyMeshes=f.includedOnlyMeshes.concat(c._rootMesh.getChildMeshes()),c}return Object(p.d)(t,e),t.prototype._attachedMeshChanged=function(e){this.dragBehavior&&(this.dragBehavior.enabled=!!e)},Object.defineProperty(t.prototype,"isEnabled",{get:function(){return this._isEnabled},set:function(e){this._isEnabled=e,e?this._parent&&(this.attachedMesh=this._parent.attachedMesh):this.attachedMesh=null},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){this.onSnapObservable.clear(),this.gizmoLayer.utilityLayerScene.onPointerObservable.remove(this._pointerObserver),this.dragBehavior.detach(),this._arrow&&this._arrow.dispose(),[this._coloredMaterial,this._hoverMaterial].forEach((function(e){e&&e.dispose()})),e.prototype.dispose.call(this)},t.prototype.setCustomMesh=function(t,n){var i=this;void 0===n&&(n=!1),e.prototype.setCustomMesh.call(this,t),n&&(this._rootMesh.getChildMeshes().forEach((function(e){e.material=i._coloredMaterial,e.color&&(e.color=i._coloredMaterial.diffuseColor)})),this._customMeshSet=!1)},t}(ri),rr=function(e){function t(t,n){void 0===t&&(t=s.a.Gray()),void 0===n&&(n=ii.a.DefaultKeepDepthUtilityLayer);var i=e.call(this,n)||this;i._boundingDimensions=new a.e(1,1,1),i._renderObserver=null,i._pointerObserver=null,i._scaleDragSpeed=.2,i._tmpQuaternion=new a.b,i._tmpVector=new a.e(0,0,0),i._tmpRotationMatrix=new a.a,i.ignoreChildren=!1,i.includeChildPredicate=null,i.rotationSphereSize=.1,i.scaleBoxSize=.1,i.fixedDragMeshScreenSize=!1,i.fixedDragMeshScreenSizeDistanceFactor=10,i.onDragStartObservable=new o.c,i.onScaleBoxDragObservable=new o.c,i.onScaleBoxDragEndObservable=new o.c,i.onRotationSphereDragObservable=new o.c,i.onRotationSphereDragEndObservable=new o.c,i.scalePivot=null,i._existingMeshScale=new a.e,i._dragMesh=null,i.pointerDragBehavior=new Pe,i.updateScale=!1,i._anchorMesh=new Me.a("anchor",n.utilityLayerScene),i.coloredMaterial=new An.a("",n.utilityLayerScene),i.coloredMaterial.disableLighting=!0,i.hoverColoredMaterial=new An.a("",n.utilityLayerScene),i.hoverColoredMaterial.disableLighting=!0,i._lineBoundingBox=new Me.a("",n.utilityLayerScene),i._lineBoundingBox.rotationQuaternion=new a.b;var r=[];r.push(vi.CreateLines("lines",{points:[new a.e(0,0,0),new a.e(i._boundingDimensions.x,0,0)]},n.utilityLayerScene)),r.push(vi.CreateLines("lines",{points:[new a.e(0,0,0),new a.e(0,i._boundingDimensions.y,0)]},n.utilityLayerScene)),r.push(vi.CreateLines("lines",{points:[new a.e(0,0,0),new a.e(0,0,i._boundingDimensions.z)]},n.utilityLayerScene)),r.push(vi.CreateLines("lines",{points:[new a.e(i._boundingDimensions.x,0,0),new a.e(i._boundingDimensions.x,i._boundingDimensions.y,0)]},n.utilityLayerScene)),r.push(vi.CreateLines("lines",{points:[new a.e(i._boundingDimensions.x,0,0),new a.e(i._boundingDimensions.x,0,i._boundingDimensions.z)]},n.utilityLayerScene)),r.push(vi.CreateLines("lines",{points:[new a.e(0,i._boundingDimensions.y,0),new a.e(i._boundingDimensions.x,i._boundingDimensions.y,0)]},n.utilityLayerScene)),r.push(vi.CreateLines("lines",{points:[new a.e(0,i._boundingDimensions.y,0),new a.e(0,i._boundingDimensions.y,i._boundingDimensions.z)]},n.utilityLayerScene)),r.push(vi.CreateLines("lines",{points:[new a.e(0,0,i._boundingDimensions.z),new a.e(i._boundingDimensions.x,0,i._boundingDimensions.z)]},n.utilityLayerScene)),r.push(vi.CreateLines("lines",{points:[new a.e(0,0,i._boundingDimensions.z),new a.e(0,i._boundingDimensions.y,i._boundingDimensions.z)]},n.utilityLayerScene)),r.push(vi.CreateLines("lines",{points:[new a.e(i._boundingDimensions.x,i._boundingDimensions.y,i._boundingDimensions.z),new a.e(0,i._boundingDimensions.y,i._boundingDimensions.z)]},n.utilityLayerScene)),r.push(vi.CreateLines("lines",{points:[new a.e(i._boundingDimensions.x,i._boundingDimensions.y,i._boundingDimensions.z),new a.e(i._boundingDimensions.x,0,i._boundingDimensions.z)]},n.utilityLayerScene)),r.push(vi.CreateLines("lines",{points:[new a.e(i._boundingDimensions.x,i._boundingDimensions.y,i._boundingDimensions.z),new a.e(i._boundingDimensions.x,i._boundingDimensions.y,0)]},n.utilityLayerScene)),r.forEach((function(e){e.color=t,e.position.addInPlace(new a.e(-i._boundingDimensions.x/2,-i._boundingDimensions.y/2,-i._boundingDimensions.z/2)),e.isPickable=!1,i._lineBoundingBox.addChild(e)})),i._rootMesh.addChild(i._lineBoundingBox),i.setColor(t),i._rotateSpheresParent=new Me.a("",n.utilityLayerScene),i._rotateSpheresParent.rotationQuaternion=new a.b;for(var c=function(e){var t=ui.CreateSphere("",{diameter:1},n.utilityLayerScene);t.rotationQuaternion=new a.b,t.material=l.coloredMaterial,(d=new Pe({})).moveAttached=!1,d.updateDragPlane=!1,t.addBehavior(d);var r=new a.e(1,0,0),o=0;d.onDragStartObservable.add((function(){r.copyFrom(t.forward),o=0})),d.onDragObservable.add((function(t){if(i.onRotationSphereDragObservable.notifyObservers({}),i.attachedMesh){var n=i.attachedMesh.parent;if(n&&n.scaling&&n.scaling.isNonUniformWithinEpsilon(.001))return void m.a.Warn("BoundingBoxGizmo controls are not supported on child meshes with non-uniform parent scaling");Te._RemoveAndStorePivotPoint(i.attachedMesh);var s=r,c=t.dragPlaneNormal.scale(a.e.Dot(t.dragPlaneNormal,s)),l=s.subtract(c).normalizeToNew(),u=a.e.Dot(l,t.delta)<0?Math.abs(t.delta.length()):-Math.abs(t.delta.length());u=u/i._boundingDimensions.length()*i._anchorMesh.scaling.length(),i.attachedMesh.rotationQuaternion||(i.attachedMesh.rotationQuaternion=a.b.RotationYawPitchRoll(i.attachedMesh.rotation.y,i.attachedMesh.rotation.x,i.attachedMesh.rotation.z)),i._anchorMesh.rotationQuaternion||(i._anchorMesh.rotationQuaternion=a.b.RotationYawPitchRoll(i._anchorMesh.rotation.y,i._anchorMesh.rotation.x,i._anchorMesh.rotation.z)),o+=u,Math.abs(o)<=2*Math.PI&&(e>=8?a.b.RotationYawPitchRollToRef(0,0,u,i._tmpQuaternion):e>=4?a.b.RotationYawPitchRollToRef(u,0,0,i._tmpQuaternion):a.b.RotationYawPitchRollToRef(0,u,0,i._tmpQuaternion),i._anchorMesh.addChild(i.attachedMesh),i._anchorMesh.rotationQuaternion.multiplyToRef(i._tmpQuaternion,i._anchorMesh.rotationQuaternion),i._anchorMesh.removeChild(i.attachedMesh),i.attachedMesh.setParent(n)),i.updateBoundingBox(),Te._RestorePivotPoint(i.attachedMesh)}i._updateDummy()})),d.onDragStartObservable.add((function(){i.onDragStartObservable.notifyObservers({}),i._selectNode(t)})),d.onDragEndObservable.add((function(){i.onRotationSphereDragEndObservable.notifyObservers({}),i._selectNode(null),i._updateDummy()})),l._rotateSpheresParent.addChild(t)},l=this,u=0;u<12;u++)c(u);i._rootMesh.addChild(i._rotateSpheresParent),i._scaleBoxesParent=new Me.a("",n.utilityLayerScene),i._scaleBoxesParent.rotationQuaternion=new a.b;for(var p=0;p<2;p++)for(var h=0;h<2;h++)for(var d,f=function(){var e=li.a.CreateBox("",{size:1},n.utilityLayerScene);e.material=_.coloredMaterial;var t=new a.e(0==p?-1:1,0==h?-1:1,0==b?-1:1);(d=new Pe({dragAxis:t})).moveAttached=!1,e.addBehavior(d),d.onDragObservable.add((function(t){if(i.onScaleBoxDragObservable.notifyObservers({}),i.attachedMesh){var n=i.attachedMesh.parent;if(n&&n.scaling&&n.scaling.isNonUniformWithinEpsilon(.001))return void m.a.Warn("BoundingBoxGizmo controls are not supported on child meshes with non-uniform parent scaling");Te._RemoveAndStorePivotPoint(i.attachedMesh);var r=t.dragDistance/i._boundingDimensions.length()*i._anchorMesh.scaling.length(),o=new a.e(r,r,r);o.scaleInPlace(i._scaleDragSpeed),i.updateBoundingBox(),i.scalePivot?(i.attachedMesh.getWorldMatrix().getRotationMatrixToRef(i._tmpRotationMatrix),i._boundingDimensions.scaleToRef(.5,i._tmpVector),a.e.TransformCoordinatesToRef(i._tmpVector,i._tmpRotationMatrix,i._tmpVector),i._anchorMesh.position.subtractInPlace(i._tmpVector),i._boundingDimensions.multiplyToRef(i.scalePivot,i._tmpVector),a.e.TransformCoordinatesToRef(i._tmpVector,i._tmpRotationMatrix,i._tmpVector),i._anchorMesh.position.addInPlace(i._tmpVector)):(e.absolutePosition.subtractToRef(i._anchorMesh.position,i._tmpVector),i._anchorMesh.position.subtractInPlace(i._tmpVector)),i._anchorMesh.addChild(i.attachedMesh),i._anchorMesh.scaling.addInPlace(o),(i._anchorMesh.scaling.x<0||i._anchorMesh.scaling.y<0||i._anchorMesh.scaling.z<0)&&i._anchorMesh.scaling.subtractInPlace(o),i._anchorMesh.removeChild(i.attachedMesh),i.attachedMesh.setParent(n),Te._RestorePivotPoint(i.attachedMesh)}i._updateDummy()})),d.onDragStartObservable.add((function(){i.onDragStartObservable.notifyObservers({}),i._selectNode(e)})),d.onDragEndObservable.add((function(){i.onScaleBoxDragEndObservable.notifyObservers({}),i._selectNode(null),i._updateDummy()})),_._scaleBoxesParent.addChild(e)},_=this,b=0;b<2;b++)f();i._rootMesh.addChild(i._scaleBoxesParent);var g=new Array;return i._pointerObserver=n.utilityLayerScene.onPointerObservable.add((function(e){g[e.event.pointerId]?e.pickInfo&&e.pickInfo.pickedMesh!=g[e.event.pointerId]&&(g[e.event.pointerId].material=i.coloredMaterial,delete g[e.event.pointerId]):i._rotateSpheresParent.getChildMeshes().concat(i._scaleBoxesParent.getChildMeshes()).forEach((function(t){e.pickInfo&&e.pickInfo.pickedMesh==t&&(g[e.event.pointerId]=t,t.material=i.hoverColoredMaterial)}))})),i._renderObserver=i.gizmoLayer.originalScene.onBeforeRenderObservable.add((function(){i.attachedMesh&&!i._existingMeshScale.equals(i.attachedMesh.scaling)?i.updateBoundingBox():i.fixedDragMeshScreenSize&&(i._updateRotationSpheres(),i._updateScaleBoxes()),i._dragMesh&&i.attachedMesh&&i.pointerDragBehavior.dragging&&(i._lineBoundingBox.position.rotateByQuaternionToRef(i._rootMesh.rotationQuaternion,i._tmpVector),i.attachedMesh.setAbsolutePosition(i._dragMesh.position.add(i._tmpVector.scale(-1))))})),i.updateBoundingBox(),i}return Object(p.d)(t,e),t.prototype.setColor=function(e){this.coloredMaterial.emissiveColor=e,this.hoverColoredMaterial.emissiveColor=e.clone().add(new s.a(.3,.3,.3)),this._lineBoundingBox.getChildren().forEach((function(t){t.color&&(t.color=e)}))},t.prototype._attachedMeshChanged=function(e){var t=this;if(e){Te._RemoveAndStorePivotPoint(e);var n=e.parent;this._anchorMesh.addChild(e),this._anchorMesh.removeChild(e),e.setParent(n),Te._RestorePivotPoint(e),this.updateBoundingBox(),e.getChildMeshes(!1).forEach((function(e){e.markAsDirty("scaling")})),this.gizmoLayer.utilityLayerScene.onAfterRenderObservable.addOnce((function(){t._updateDummy()}))}},t.prototype._selectNode=function(e){this._rotateSpheresParent.getChildMeshes().concat(this._scaleBoxesParent.getChildMeshes()).forEach((function(t){t.isVisible=!e||t==e}))},t.prototype.updateBoundingBox=function(){if(this.attachedMesh){Te._RemoveAndStorePivotPoint(this.attachedMesh);var e=this.attachedMesh.parent;this.attachedMesh.setParent(null);var t=null;this.attachedMesh.skeleton&&(t=this.attachedMesh.skeleton.overrideMesh,this.attachedMesh.skeleton.overrideMesh=null),this._update(),this.attachedMesh.rotationQuaternion||(this.attachedMesh.rotationQuaternion=a.b.RotationYawPitchRoll(this.attachedMesh.rotation.y,this.attachedMesh.rotation.x,this.attachedMesh.rotation.z)),this._anchorMesh.rotationQuaternion||(this._anchorMesh.rotationQuaternion=a.b.RotationYawPitchRoll(this._anchorMesh.rotation.y,this._anchorMesh.rotation.x,this._anchorMesh.rotation.z)),this._anchorMesh.rotationQuaternion.copyFrom(this.attachedMesh.rotationQuaternion),this._tmpQuaternion.copyFrom(this.attachedMesh.rotationQuaternion),this._tmpVector.copyFrom(this.attachedMesh.position),this.attachedMesh.rotationQuaternion.set(0,0,0,1),this.attachedMesh.position.set(0,0,0);var n=this.attachedMesh.getHierarchyBoundingVectors(!this.ignoreChildren,this.includeChildPredicate);n.max.subtractToRef(n.min,this._boundingDimensions),this._lineBoundingBox.scaling.copyFrom(this._boundingDimensions),this._lineBoundingBox.position.set((n.max.x+n.min.x)/2,(n.max.y+n.min.y)/2,(n.max.z+n.min.z)/2),this._rotateSpheresParent.position.copyFrom(this._lineBoundingBox.position),this._scaleBoxesParent.position.copyFrom(this._lineBoundingBox.position),this._lineBoundingBox.computeWorldMatrix(),this._anchorMesh.position.copyFrom(this._lineBoundingBox.absolutePosition),this.attachedMesh.rotationQuaternion.copyFrom(this._tmpQuaternion),this.attachedMesh.position.copyFrom(this._tmpVector),this.attachedMesh.setParent(e),this.attachedMesh.skeleton&&(this.attachedMesh.skeleton.overrideMesh=t)}this._updateRotationSpheres(),this._updateScaleBoxes(),this.attachedMesh&&(this._existingMeshScale.copyFrom(this.attachedMesh.scaling),Te._RestorePivotPoint(this.attachedMesh))},t.prototype._updateRotationSpheres=function(){for(var e=this._rotateSpheresParent.getChildMeshes(),t=0;t<3;t++)for(var n=0;n<2;n++)for(var i=0;i<2;i++){var r=4*t+2*n+i;if(0==t&&(e[r].position.set(this._boundingDimensions.x/2,this._boundingDimensions.y*n,this._boundingDimensions.z*i),e[r].position.addInPlace(new a.e(-this._boundingDimensions.x/2,-this._boundingDimensions.y/2,-this._boundingDimensions.z/2)),e[r].lookAt(a.e.Cross(e[r].position.normalizeToNew(),a.e.Right()).normalizeToNew().add(e[r].position))),1==t&&(e[r].position.set(this._boundingDimensions.x*n,this._boundingDimensions.y/2,this._boundingDimensions.z*i),e[r].position.addInPlace(new a.e(-this._boundingDimensions.x/2,-this._boundingDimensions.y/2,-this._boundingDimensions.z/2)),e[r].lookAt(a.e.Cross(e[r].position.normalizeToNew(),a.e.Up()).normalizeToNew().add(e[r].position))),2==t&&(e[r].position.set(this._boundingDimensions.x*n,this._boundingDimensions.y*i,this._boundingDimensions.z/2),e[r].position.addInPlace(new a.e(-this._boundingDimensions.x/2,-this._boundingDimensions.y/2,-this._boundingDimensions.z/2)),e[r].lookAt(a.e.Cross(e[r].position.normalizeToNew(),a.e.Forward()).normalizeToNew().add(e[r].position))),this.fixedDragMeshScreenSize&&this.gizmoLayer.utilityLayerScene.activeCamera){e[r].absolutePosition.subtractToRef(this.gizmoLayer.utilityLayerScene.activeCamera.position,this._tmpVector);var o=this.rotationSphereSize*this._tmpVector.length()/this.fixedDragMeshScreenSizeDistanceFactor;e[r].scaling.set(o,o,o)}else e[r].scaling.set(this.rotationSphereSize,this.rotationSphereSize,this.rotationSphereSize)}},t.prototype._updateScaleBoxes=function(){for(var e=this._scaleBoxesParent.getChildMeshes(),t=0;t<2;t++)for(var n=0;n<2;n++)for(var i=0;i<2;i++){var r=4*t+2*n+i;if(e[r])if(e[r].position.set(this._boundingDimensions.x*t,this._boundingDimensions.y*n,this._boundingDimensions.z*i),e[r].position.addInPlace(new a.e(-this._boundingDimensions.x/2,-this._boundingDimensions.y/2,-this._boundingDimensions.z/2)),this.fixedDragMeshScreenSize&&this.gizmoLayer.utilityLayerScene.activeCamera){e[r].absolutePosition.subtractToRef(this.gizmoLayer.utilityLayerScene.activeCamera.position,this._tmpVector);var o=this.scaleBoxSize*this._tmpVector.length()/this.fixedDragMeshScreenSizeDistanceFactor;e[r].scaling.set(o,o,o)}else e[r].scaling.set(this.scaleBoxSize,this.scaleBoxSize,this.scaleBoxSize)}},t.prototype.setEnabledRotationAxis=function(e){this._rotateSpheresParent.getChildMeshes().forEach((function(t,n){n<4?t.setEnabled(-1!=e.indexOf("x")):n<8?t.setEnabled(-1!=e.indexOf("y")):t.setEnabled(-1!=e.indexOf("z"))}))},t.prototype.setEnabledScaling=function(e){this._scaleBoxesParent.getChildMeshes().forEach((function(t,n){t.setEnabled(e)}))},t.prototype._updateDummy=function(){this._dragMesh&&(this._dragMesh.position.copyFrom(this._lineBoundingBox.getAbsolutePosition()),this._dragMesh.scaling.copyFrom(this._lineBoundingBox.scaling),this._dragMesh.rotationQuaternion.copyFrom(this._rootMesh.rotationQuaternion))},t.prototype.enableDragBehavior=function(){this._dragMesh=ve.a.CreateBox("dummy",1,this.gizmoLayer.utilityLayerScene),this._dragMesh.visibility=0,this._dragMesh.rotationQuaternion=new a.b,this.pointerDragBehavior.useObjectOrientationForDragging=!1,this._dragMesh.addBehavior(this.pointerDragBehavior)},t.prototype.dispose=function(){this.gizmoLayer.utilityLayerScene.onPointerObservable.remove(this._pointerObserver),this.gizmoLayer.originalScene.onBeforeRenderObservable.remove(this._renderObserver),this._lineBoundingBox.dispose(),this._rotateSpheresParent.dispose(),this._scaleBoxesParent.dispose(),this._dragMesh&&this._dragMesh.dispose(),e.prototype.dispose.call(this)},t.MakeNotPickableAndWrapInBoundingBox=function(e){var t=function(e){e.isPickable=!1,e.getChildMeshes().forEach((function(e){t(e)}))};t(e),e.rotationQuaternion||(e.rotationQuaternion=a.b.RotationYawPitchRoll(e.rotation.y,e.rotation.x,e.rotation.z));var n=e.position.clone(),i=e.rotationQuaternion.clone();e.rotationQuaternion.set(0,0,0,1),e.position.set(0,0,0);var r=li.a.CreateBox("box",{size:1},e.getScene()),o=e.getHierarchyBoundingVectors();return o.max.subtractToRef(o.min,r.scaling),0===r.scaling.y&&(r.scaling.y=mt.a),0===r.scaling.x&&(r.scaling.x=mt.a),0===r.scaling.z&&(r.scaling.z=mt.a),r.position.set((o.max.x+o.min.x)/2,(o.max.y+o.min.y)/2,(o.max.z+o.min.z)/2),e.addChild(r),e.rotationQuaternion.copyFrom(i),e.position.copyFrom(n),e.removeChild(r),r.addChild(e),r.visibility=0,r},t.prototype.setCustomMesh=function(e){m.a.Error("Custom meshes are not supported on this gizmo")},t}(ri),or=function(e){function t(t,n,i,r,c,l){void 0===n&&(n=s.a.Gray()),void 0===i&&(i=ii.a.DefaultUtilityLayer),void 0===r&&(r=32),void 0===c&&(c=null),void 0===l&&(l=!1);var u=e.call(this,i)||this;u._pointerObserver=null,u.snapDistance=0,u.onSnapObservable=new o.c,u._isEnabled=!0,u._parent=null,u._parent=c;var p=new An.a("",i.utilityLayerScene);p.diffuseColor=n,p.specularColor=n.subtract(new s.a(.1,.1,.1));var h=new An.a("",i.utilityLayerScene);h.diffuseColor=n.add(new s.a(.3,.3,.3));var d=new Me.a("",i.utilityLayerScene),f=ve.a.CreateTorus("",.6,.03,r,i.utilityLayerScene);f.visibility=0;var _=ve.a.CreateTorus("",.6,.005,r,i.utilityLayerScene);_.material=p,_.rotation.x=Math.PI/2,f.rotation.x=Math.PI/2,d.addChild(_),d.addChild(f),d.lookAt(u._rootMesh.position.add(t)),u._rootMesh.addChild(d),d.scaling.scaleInPlace(1/3),u.dragBehavior=new Pe({dragPlaneNormal:t}),u.dragBehavior.moveAttached=!1,u.dragBehavior.maxDragAngle=9*Math.PI/20,u.dragBehavior._useAlternatePickedPointAboveMaxDragAngle=!0,u._rootMesh.addBehavior(u.dragBehavior);var m=new a.e;u.dragBehavior.onDragStartObservable.add((function(e){u.attachedMesh&&m.copyFrom(e.dragPlanePoint)}));var b=new a.a,g=new a.e,v=new a.e,y={snapDistance:0},C=0,A=new a.a,x=new a.e,S=new a.b;u.dragBehavior.onDragObservable.add((function(e){if(u.attachedMesh){u.attachedMesh.rotationQuaternion&&!l||(u.attachedMesh.rotationQuaternion=a.b.RotationYawPitchRoll(u.attachedMesh.rotation.y,u.attachedMesh.rotation.x,u.attachedMesh.rotation.z));var n=u.attachedMesh.parent;n&&u.attachedMesh.setParent(null);var r=e.dragPlanePoint.subtract(u.attachedMesh.absolutePosition).normalize(),o=m.subtract(u.attachedMesh.absolutePosition).normalize(),s=a.e.Cross(r,o),c=a.e.Dot(r,o),p=Math.atan2(s.length(),c);if(g.copyFrom(t),v.copyFrom(t),u.updateGizmoRotationToMatchAttachedMesh&&(u.attachedMesh.rotationQuaternion.toRotationMatrix(b),v=a.e.TransformCoordinates(g,b)),i.utilityLayerScene.activeCamera){var h=i.utilityLayerScene.activeCamera.position.subtract(u.attachedMesh.position);a.e.Dot(h,v)>0&&(g.scaleInPlace(-1),v.scaleInPlace(-1))}a.e.Dot(v,s)>0&&(p=-p);var d=!1;if(0!=u.snapDistance)if(C+=p,Math.abs(C)>u.snapDistance){var f=Math.floor(Math.abs(C)/u.snapDistance);C<0&&(f*=-1),C%=u.snapDistance,p=u.snapDistance*f,d=!0}else p=0;A.reset(),u.attachedMesh.parent&&(u.attachedMesh.parent.computeWorldMatrix().invertToRef(A),A.getRotationMatrixToRef(A),a.e.TransformCoordinatesToRef(g,A,g));var _=Math.sin(p/2);S.set(g.x*_,g.y*_,g.z*_,Math.cos(p/2)),A.determinant()>0&&(S.toEulerAnglesToRef(x),a.b.RotationYawPitchRollToRef(x.y,-x.x,-x.z,S)),u.updateGizmoRotationToMatchAttachedMesh?u.attachedMesh.rotationQuaternion.multiplyToRef(S,u.attachedMesh.rotationQuaternion):S.multiplyToRef(u.attachedMesh.rotationQuaternion,u.attachedMesh.rotationQuaternion),l&&(u.attachedMesh.rotationQuaternion.toEulerAnglesToRef(x),u.attachedMesh.rotationQuaternion=null,u.attachedMesh.rotation.copyFrom(x)),m.copyFrom(e.dragPlanePoint),d&&(y.snapDistance=p,u.onSnapObservable.notifyObservers(y)),n&&u.attachedMesh.setParent(n)}})),u._pointerObserver=i.utilityLayerScene.onPointerObservable.add((function(e){if(!u._customMeshSet){var t=e.pickInfo&&-1!=u._rootMesh.getChildMeshes().indexOf(e.pickInfo.pickedMesh)?h:p;u._rootMesh.getChildMeshes().forEach((function(e){e.material=t,e.color&&(e.color=t.diffuseColor)}))}}));var T=i._getSharedGizmoLight();return T.includedOnlyMeshes=T.includedOnlyMeshes.concat(u._rootMesh.getChildMeshes(!1)),u}return Object(p.d)(t,e),t.prototype._attachedMeshChanged=function(e){this.dragBehavior&&(this.dragBehavior.enabled=!!e)},Object.defineProperty(t.prototype,"isEnabled",{get:function(){return this._isEnabled},set:function(e){this._isEnabled=e,e?this._parent&&(this.attachedMesh=this._parent.attachedMesh):this.attachedMesh=null},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){this.onSnapObservable.clear(),this.gizmoLayer.utilityLayerScene.onPointerObservable.remove(this._pointerObserver),this.dragBehavior.detach(),e.prototype.dispose.call(this)},t}(ri),ar=function(e){function t(t,n,i){void 0===t&&(t=ii.a.DefaultUtilityLayer),void 0===n&&(n=32),void 0===i&&(i=!1);var r=e.call(this,t)||this;return r.onDragStartObservable=new o.c,r.onDragEndObservable=new o.c,r.xGizmo=new or(new a.e(1,0,0),s.a.Red().scale(.5),t,n,r,i),r.yGizmo=new or(new a.e(0,1,0),s.a.Green().scale(.5),t,n,r,i),r.zGizmo=new or(new a.e(0,0,1),s.a.Blue().scale(.5),t,n,r,i),[r.xGizmo,r.yGizmo,r.zGizmo].forEach((function(e){e.dragBehavior.onDragStartObservable.add((function(){r.onDragStartObservable.notifyObservers({})})),e.dragBehavior.onDragEndObservable.add((function(){r.onDragEndObservable.notifyObservers({})}))})),r.attachedMesh=null,r}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"attachedMesh",{get:function(){return this._meshAttached},set:function(e){this._meshAttached=e,[this.xGizmo,this.yGizmo,this.zGizmo].forEach((function(t){t.isEnabled?t.attachedMesh=e:t.attachedMesh=null}))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"updateGizmoRotationToMatchAttachedMesh",{get:function(){return this.xGizmo.updateGizmoRotationToMatchAttachedMesh},set:function(e){this.xGizmo&&(this.xGizmo.updateGizmoRotationToMatchAttachedMesh=e,this.yGizmo.updateGizmoRotationToMatchAttachedMesh=e,this.zGizmo.updateGizmoRotationToMatchAttachedMesh=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"snapDistance",{get:function(){return this.xGizmo.snapDistance},set:function(e){this.xGizmo&&(this.xGizmo.snapDistance=e,this.yGizmo.snapDistance=e,this.zGizmo.snapDistance=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scaleRatio",{get:function(){return this.xGizmo.scaleRatio},set:function(e){this.xGizmo&&(this.xGizmo.scaleRatio=e,this.yGizmo.scaleRatio=e,this.zGizmo.scaleRatio=e)},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){this.xGizmo.dispose(),this.yGizmo.dispose(),this.zGizmo.dispose(),this.onDragStartObservable.clear(),this.onDragEndObservable.clear()},t.prototype.setCustomMesh=function(e){m.a.Error("Custom meshes are not supported on this gizmo, please set the custom meshes on the gizmos contained within this one (gizmo.xGizmo, gizmo.yGizmo, gizmo.zGizmo)")},t}(ri),sr=function(e){function t(n,i,r,c){void 0===i&&(i=s.a.Gray()),void 0===r&&(r=ii.a.DefaultUtilityLayer),void 0===c&&(c=null);var l=e.call(this,r)||this;l._pointerObserver=null,l.snapDistance=0,l.onSnapObservable=new o.c,l._isEnabled=!1,l._parent=null,l._parent=c,l._coloredMaterial=new An.a("",r.utilityLayerScene),l._coloredMaterial.diffuseColor=i,l._coloredMaterial.specularColor=i.subtract(new s.a(.1,.1,.1)),l._hoverMaterial=new An.a("",r.utilityLayerScene),l._hoverMaterial.diffuseColor=i.add(new s.a(.3,.3,.3)),l._plane=t._CreatePlane(r.utilityLayerScene,l._coloredMaterial),l._plane.lookAt(l._rootMesh.position.add(n)),l._plane.scaling.scaleInPlace(1/3),l._plane.parent=l._rootMesh;var u=0,p=new a.e,h={snapDistance:0};l.dragBehavior=new Pe({dragPlaneNormal:n}),l.dragBehavior.moveAttached=!1,l._rootMesh.addBehavior(l.dragBehavior);var d=new a.e,f=new a.a;l.dragBehavior.onDragObservable.add((function(e){if(l.attachedMesh)if(l.attachedMesh.parent?(l.attachedMesh.parent.computeWorldMatrix().invertToRef(f),f.setTranslationFromFloats(0,0,0),a.e.TransformCoordinatesToRef(e.delta,f,d)):d.copyFrom(e.delta),0==l.snapDistance)l.attachedMesh.position.addInPlace(d);else if(u+=e.dragDistance,Math.abs(u)>l.snapDistance){var t=Math.floor(Math.abs(u)/l.snapDistance);u%=l.snapDistance,d.normalizeToRef(p),p.scaleInPlace(l.snapDistance*t),l.attachedMesh.position.addInPlace(p),h.snapDistance=l.snapDistance*t,l.onSnapObservable.notifyObservers(h)}})),l._pointerObserver=r.utilityLayerScene.onPointerObservable.add((function(e){if(!l._customMeshSet){var t=e.pickInfo&&-1!=l._rootMesh.getChildMeshes().indexOf(e.pickInfo.pickedMesh)?l._hoverMaterial:l._coloredMaterial;l._rootMesh.getChildMeshes().forEach((function(e){e.material=t}))}}));var _=r._getSharedGizmoLight();return _.includedOnlyMeshes=_.includedOnlyMeshes.concat(l._rootMesh.getChildMeshes(!1)),l}return Object(p.d)(t,e),t._CreatePlane=function(e,t){var n=new ni.a("plane",e),i=Ee.a.CreatePlane("dragPlane",{width:.1375,height:.1375,sideOrientation:2},e);return i.material=t,i.parent=n,i.material=t,n},t._CreateArrowInstance=function(e,t){for(var n=new ni.a("arrow",e),i=0,r=t.getChildMeshes();i=t.length)?0:e.type||0,p=e.size,h=e.sizeX||p||1,d=e.sizeY||p||1,f=e.sizeZ||p||1,_=e.custom||t[u],m=_.face.length,b=e.faceUV||new Array(m),g=e.faceColors,v=void 0===e.flat||e.flat,y=0===e.sideOrientation?0:e.sideOrientation||En.a.DEFAULTSIDE,C=new Array,A=new Array,x=new Array,S=new Array,T=new Array,E=0,P=0,O=new Array,M=0,R=0;if(v)for(R=0;R1e-4?(this._light.direction.copyFrom(this.attachedMesh.forward),this._cachedForward.copyFrom(this.attachedMesh.forward)):a.e.DistanceSquared(this.attachedMesh.forward,this._light.direction)>1e-4&&(this.attachedMesh.setDirection(this._light.direction),this.attachedMesh.computeWorldMatrix(!0),this._cachedForward.copyFrom(this.attachedMesh.forward))),this._light.isEnabled()?this._material.diffuseColor.set(this._light.diffuse.r/3,this._light.diffuse.g/3,this._light.diffuse.b/3):this._material.diffuseColor.set(0,0,0))},t.prototype.dispose=function(){this._material.dispose(),e.prototype.dispose.call(this),this._attachedMeshParent.dispose()},t._CreateHemisphericLightMesh=function(e){var n=new ve.a("hemisphereLight",e),i=dr.CreateHemisphere(n.name,{segments:10,diameter:1},e);i.position.z=-.15,i.rotation.x=Math.PI/2,i.parent=n;var r=this._CreateLightLines(3,e);return r.parent=n,r.position.z,n.scaling.scaleInPlace(t._Scale),n.rotation.x=Math.PI/2,n},t._CreatePointLightMesh=function(e){var n=new ve.a("pointLight",e),i=ui.CreateSphere(n.name,{segments:10,diameter:1},e);return i.rotation.x=Math.PI/2,i.parent=n,this._CreateLightLines(5,e).parent=n,n.scaling.scaleInPlace(t._Scale),n.rotation.x=Math.PI/2,n},t._CreateSpotLightMesh=function(e){var n=new ve.a("spotLight",e);ui.CreateSphere(n.name,{segments:10,diameter:1},e).parent=n;var i=dr.CreateHemisphere(n.name,{segments:10,diameter:2},e);return i.parent=n,i.rotation.x=-Math.PI/2,this._CreateLightLines(2,e).parent=n,n.scaling.scaleInPlace(t._Scale),n.rotation.x=Math.PI/2,n},t._CreateDirectionalLightMesh=function(e){var n=new ve.a("directionalLight",e),i=new ve.a(n.name,e);i.parent=n,ui.CreateSphere(n.name,{diameter:1.2,segments:10},e).parent=i;var r=ve.a.CreateCylinder(n.name,6,.3,.3,6,1,e);r.parent=i,(o=r.clone(n.name)).scaling.y=.5,o.position.x+=1.25,(a=r.clone(n.name)).scaling.y=.5,a.position.x+=-1.25;var o,a,s=ve.a.CreateCylinder(n.name,1,0,.6,6,1,e);return s.position.y+=3,s.parent=i,(o=s.clone(n.name)).position.y=1.5,o.position.x+=1.25,(a=s.clone(n.name)).position.y=1.5,a.position.x+=-1.25,i.scaling.scaleInPlace(t._Scale),i.rotation.z=Math.PI/2,i.rotation.y=Math.PI/2,n},t._Scale=.007,t._CreateLightLines=function(e,t){var n=new ve.a("root",t);n.rotation.x=Math.PI/2;var i=new ve.a("linePivot",t);i.parent=n;var r=ve.a.CreateCylinder("line",2,.2,.3,6,1,t);if(r.position.y=r.scaling.y/2+1.2,r.parent=i,e<2)return i;for(var o=0;o<4;o++){(a=i.clone("lineParentClone")).rotation.z=Math.PI/4,a.rotation.y=Math.PI/2+Math.PI/2*o,a.getChildMeshes()[0].scaling.y=.5,a.getChildMeshes()[0].scaling.x=a.getChildMeshes()[0].scaling.z=.8,a.getChildMeshes()[0].position.y=a.getChildMeshes()[0].scaling.y/2+1.2}if(e<3)return n;for(o=0;o<4;o++){(a=i.clone("linePivotClone")).rotation.z=Math.PI/2,a.rotation.y=Math.PI/2*o}if(e<4)return n;for(o=0;o<4;o++){var a;(a=i.clone("linePivotClone")).rotation.z=Math.PI+Math.PI/4,a.rotation.y=Math.PI/2+Math.PI/2*o,a.getChildMeshes()[0].scaling.y=.5,a.getChildMeshes()[0].scaling.x=a.getChildMeshes()[0].scaling.z=.8,a.getChildMeshes()[0].position.y=a.getChildMeshes()[0].scaling.y/2+1.2}return e<5||((a=i.clone("linePivotClone")).rotation.z=Math.PI),n},t}(ri),mr=n(62),br="varying vec2 sampleCoord{X};";zt.a.IncludesShadersStore.kernelBlurVaryingDeclaration=br;var gr="vec4 pack(float depth)\n{\nconst vec4 bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);\nconst vec4 bit_mask=vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);\nvec4 res=fract(depth*bit_shift);\nres-=res.xxyz*bit_mask;\nreturn res;\n}\nfloat unpack(vec4 color)\n{\nconst vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);\nreturn dot(color,bit_shift);\n}";zt.a.IncludesShadersStore.packingFunctions=gr;var vr="#ifdef DOF\nfactor=sampleCoC(sampleCoord{X});\ncomputedWeight=KERNEL_WEIGHT{X}*factor;\nsumOfWeights+=computedWeight;\n#else\ncomputedWeight=KERNEL_WEIGHT{X};\n#endif\n#ifdef PACKEDFLOAT\nblend+=unpack(texture2D(textureSampler,sampleCoord{X}))*computedWeight;\n#else\nblend+=texture2D(textureSampler,sampleCoord{X})*computedWeight;\n#endif";zt.a.IncludesShadersStore.kernelBlurFragment=vr;var yr="#ifdef DOF\nfactor=sampleCoC(sampleCenter+delta*KERNEL_DEP_OFFSET{X});\ncomputedWeight=KERNEL_DEP_WEIGHT{X}*factor;\nsumOfWeights+=computedWeight;\n#else\ncomputedWeight=KERNEL_DEP_WEIGHT{X};\n#endif\n#ifdef PACKEDFLOAT\nblend+=unpack(texture2D(textureSampler,sampleCenter+delta*KERNEL_DEP_OFFSET{X}))*computedWeight;\n#else\nblend+=texture2D(textureSampler,sampleCenter+delta*KERNEL_DEP_OFFSET{X})*computedWeight;\n#endif";zt.a.IncludesShadersStore.kernelBlurFragment2=yr;var Cr="\nuniform sampler2D textureSampler;\nuniform vec2 delta;\n\nvarying vec2 sampleCenter;\n#ifdef DOF\nuniform sampler2D circleOfConfusionSampler;\nuniform vec2 cameraMinMaxZ;\nfloat sampleDistance(const in vec2 offset) {\nfloat depth=texture2D(circleOfConfusionSampler,offset).g;\nreturn cameraMinMaxZ.x+(cameraMinMaxZ.y-cameraMinMaxZ.x)*depth;\n}\nfloat sampleCoC(const in vec2 offset) {\nfloat coc=texture2D(circleOfConfusionSampler,offset).r;\nreturn coc;\n}\n#endif\n#include[0..varyingCount]\n#ifdef PACKEDFLOAT\n#include\n#endif\nvoid main(void)\n{\nfloat computedWeight=0.0;\n#ifdef PACKEDFLOAT\nfloat blend=0.;\n#else\nvec4 blend=vec4(0.);\n#endif\n#ifdef DOF\nfloat sumOfWeights=CENTER_WEIGHT;\nfloat factor=0.0;\n\n#ifdef PACKEDFLOAT\nblend+=unpack(texture2D(textureSampler,sampleCenter))*CENTER_WEIGHT;\n#else\nblend+=texture2D(textureSampler,sampleCenter)*CENTER_WEIGHT;\n#endif\n#endif\n#include[0..varyingCount]\n#include[0..depCount]\n#ifdef PACKEDFLOAT\ngl_FragColor=pack(blend);\n#else\ngl_FragColor=blend;\n#endif\n#ifdef DOF\ngl_FragColor/=sumOfWeights;\n#endif\n}";zt.a.ShadersStore.kernelBlurPixelShader=Cr;var Ar="sampleCoord{X}=sampleCenter+delta*KERNEL_OFFSET{X};";zt.a.IncludesShadersStore.kernelBlurVertex=Ar;var xr="\nattribute vec2 position;\n\nuniform vec2 delta;\n\nvarying vec2 sampleCenter;\n#include[0..varyingCount]\nconst vec2 madd=vec2(0.5,0.5);\nvoid main(void) {\nsampleCenter=(position*madd+madd);\n#include[0..varyingCount]\ngl_Position=vec4(position,0.0,1.0);\n}";zt.a.ShadersStore.kernelBlurVertexShader=xr;var Sr=function(e){function t(t,n,i,r,o,a,s,c,l,u,p){void 0===a&&(a=nn.a.BILINEAR_SAMPLINGMODE),void 0===l&&(l=0),void 0===u&&(u=""),void 0===p&&(p=!1);var h=e.call(this,t,"kernelBlur",["delta","direction","cameraMinMaxZ"],["circleOfConfusionSampler"],r,o,a,s,c,null,l,"kernelBlur",{varyingCount:0,depCount:0},!0)||this;return h.direction=n,h.blockCompilation=p,h._packedFloat=!1,h._staticDefines="",h._staticDefines=u,h.onApplyObservable.add((function(e){h._outputTexture?e.setFloat2("delta",1/h._outputTexture.width*h.direction.x,1/h._outputTexture.height*h.direction.y):e.setFloat2("delta",1/h.width*h.direction.x,1/h.height*h.direction.y)})),h.kernel=i,h}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"kernel",{get:function(){return this._idealKernel},set:function(e){this._idealKernel!==e&&(e=Math.max(e,1),this._idealKernel=e,this._kernel=this._nearestBestKernel(e),this.blockCompilation||this._updateParameters())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"packedFloat",{get:function(){return this._packedFloat},set:function(e){this._packedFloat!==e&&(this._packedFloat=e,this.blockCompilation||this._updateParameters())},enumerable:!0,configurable:!0}),t.prototype.updateEffect=function(e,t,n,i,r,o){void 0===e&&(e=null),void 0===t&&(t=null),void 0===n&&(n=null),this._updateParameters(r,o)},t.prototype._updateParameters=function(t,n){for(var i=this._kernel,r=(i-1)/2,o=[],a=[],s=0,c=0;c0)return Math.max(r,3)}return Math.max(t,3)},t.prototype._gaussianWeight=function(e){var t=1/3,n=-e*e/(2*t*t);return 1/(Math.sqrt(2*Math.PI)*t)*Math.exp(n)},t.prototype._glslFloat=function(e,t){return void 0===t&&(t=8),e.toFixed(t).replace(/0+$/,"")},t}(Vt.a),Tr=function(e){function t(t,n,i,r,o,s,c){void 0===o&&(o=0),void 0===s&&(s=nn.a.BILINEAR_SAMPLINGMODE),void 0===c&&(c=!0);var l=e.call(this,t,n,i,r,!0,o,!1,s,c)||this;return l.scene=i,l.mirrorPlane=new Gn.a(0,1,0,1),l._transformMatrix=a.a.Zero(),l._mirrorMatrix=a.a.Zero(),l._adaptiveBlurKernel=0,l._blurKernelX=0,l._blurKernelY=0,l._blurRatio=1,l.ignoreCameraViewport=!0,l._updateGammaSpace(),l._imageProcessingConfigChangeObserver=i.imageProcessingConfiguration.onUpdateParameters.add((function(){l._updateGammaSpace})),l.onBeforeRenderObservable.add((function(){a.a.ReflectionToRef(l.mirrorPlane,l._mirrorMatrix),l._savedViewMatrix=i.getViewMatrix(),l._mirrorMatrix.multiplyToRef(l._savedViewMatrix,l._transformMatrix),i.setTransformMatrix(l._transformMatrix,i.getProjectionMatrix()),i.clipPlane=l.mirrorPlane,i.getEngine().cullBackFaces=!1,i._mirroredCameraPosition=a.e.TransformCoordinates(i.activeCamera.globalPosition,l._mirrorMatrix)})),l.onAfterRenderObservable.add((function(){i.setTransformMatrix(l._savedViewMatrix,i.getProjectionMatrix()),i.getEngine().cullBackFaces=!0,i._mirroredCameraPosition=null,i.clipPlane=null})),l}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"blurRatio",{get:function(){return this._blurRatio},set:function(e){this._blurRatio!==e&&(this._blurRatio=e,this._preparePostProcesses())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"adaptiveBlurKernel",{set:function(e){this._adaptiveBlurKernel=e,this._autoComputeBlurKernel()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"blurKernel",{set:function(e){this.blurKernelX=e,this.blurKernelY=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"blurKernelX",{get:function(){return this._blurKernelX},set:function(e){this._blurKernelX!==e&&(this._blurKernelX=e,this._preparePostProcesses())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"blurKernelY",{get:function(){return this._blurKernelY},set:function(e){this._blurKernelY!==e&&(this._blurKernelY=e,this._preparePostProcesses())},enumerable:!0,configurable:!0}),t.prototype._autoComputeBlurKernel=function(){var e=this.getScene().getEngine(),t=this.getRenderWidth()/e.getRenderWidth(),n=this.getRenderHeight()/e.getRenderHeight();this.blurKernelX=this._adaptiveBlurKernel*t,this.blurKernelY=this._adaptiveBlurKernel*n},t.prototype._onRatioRescale=function(){this._sizeRatio&&(this.resize(this._initialSizeParameter),this._adaptiveBlurKernel||this._preparePostProcesses()),this._adaptiveBlurKernel&&this._autoComputeBlurKernel()},t.prototype._updateGammaSpace=function(){this.gammaSpace=!this.scene.imageProcessingConfiguration.isEnabled||!this.scene.imageProcessingConfiguration.applyByPostProcess},t.prototype._preparePostProcesses=function(){if(this.clearPostProcesses(!0),this._blurKernelX&&this._blurKernelY){var e=this.getScene().getEngine(),t=e.getCaps().textureFloatRender?1:2;this._blurX=new Sr("horizontal blur",new a.d(1,0),this._blurKernelX,this._blurRatio,null,nn.a.BILINEAR_SAMPLINGMODE,e,!1,t),this._blurX.autoClear=!1,1===this._blurRatio&&this.samples<2&&this._texture?this._blurX.inputTexture=this._texture:this._blurX.alwaysForcePOT=!0,this._blurY=new Sr("vertical blur",new a.d(0,1),this._blurKernelY,this._blurRatio,null,nn.a.BILINEAR_SAMPLINGMODE,e,!1,t),this._blurY.autoClear=!1,this._blurY.alwaysForcePOT=1!==this._blurRatio,this.addPostProcess(this._blurX),this.addPostProcess(this._blurY)}else this._blurY&&(this.removePostProcess(this._blurY),this._blurY.dispose(),this._blurY=null),this._blurX&&(this.removePostProcess(this._blurX),this._blurX.dispose(),this._blurX=null)},t.prototype.clone=function(){var e=this.getScene();if(!e)return this;var n=this.getSize(),i=new t(this.name,n.width,e,this._renderTargetOptions.generateMipMaps,this._renderTargetOptions.type,this._renderTargetOptions.samplingMode,this._renderTargetOptions.generateDepthBuffer);return i.hasAlpha=this.hasAlpha,i.level=this.level,i.mirrorPlane=this.mirrorPlane.clone(),this.renderList&&(i.renderList=this.renderList.slice(0)),i},t.prototype.serialize=function(){if(!this.name)return null;var t=e.prototype.serialize.call(this);return t.mirrorPlane=this.mirrorPlane.asArray(),t},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.scene.imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingConfigChangeObserver)},t}(ln.a);nn.a._CreateMirror=function(e,t,n,i){return new Tr(e,t,n,i)};var Er=n(96),Pr=n(11),Or=n(39),Mr=n(44),Rr=n(17),Ir=" uniform vec4 vPrimaryColor;\n#ifdef USEHIGHLIGHTANDSHADOWCOLORS\nuniform vec4 vPrimaryColorShadow;\n#endif\nuniform float shadowLevel;\nuniform float alpha;\n#ifdef DIFFUSE\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef REFLECTION\nuniform vec2 vReflectionInfos;\nuniform mat4 reflectionMatrix;\nuniform vec3 vReflectionMicrosurfaceInfos;\n#endif\n#if defined(REFLECTIONFRESNEL) || defined(OPACITYFRESNEL)\nuniform vec3 vBackgroundCenter;\n#endif\n#ifdef REFLECTIONFRESNEL\nuniform vec4 vReflectionControl;\n#endif\n#if defined(REFLECTIONMAP_SPHERICAL) || defined(REFLECTIONMAP_PROJECTION) || defined(REFRACTION)\nuniform mat4 view;\n#endif";zt.a.IncludesShadersStore.backgroundFragmentDeclaration=Ir;var wr="layout(std140,column_major) uniform;\nuniform Material\n{\nuniform vec4 vPrimaryColor;\nuniform vec4 vPrimaryColorShadow;\nuniform vec2 vDiffuseInfos;\nuniform vec2 vReflectionInfos;\nuniform mat4 diffuseMatrix;\nuniform mat4 reflectionMatrix;\nuniform vec3 vReflectionMicrosurfaceInfos;\nuniform float fFovMultiplier;\nuniform float pointSize;\nuniform float shadowLevel;\nuniform float alpha;\n#if defined(REFLECTIONFRESNEL) || defined(OPACITYFRESNEL)\nuniform vec3 vBackgroundCenter;\n#endif\n#ifdef REFLECTIONFRESNEL\nuniform vec4 vReflectionControl;\n#endif\n};\nuniform Scene {\nmat4 viewProjection;\n#ifdef MULTIVIEW\nmat4 viewProjectionR;\n#endif\nmat4 view;\n};";zt.a.IncludesShadersStore.backgroundUboDeclaration=wr;n(171),n(56),n(57),n(102),n(97),n(83),n(84),n(78),n(98),n(87);var Dr="#ifdef TEXTURELODSUPPORT\n#extension GL_EXT_shader_texture_lod : enable\n#endif\nprecision highp float;\n#include<__decl__backgroundFragment>\n#define RECIPROCAL_PI2 0.15915494\n\nuniform vec3 vEyePosition;\n\nvarying vec3 vPositionW;\n#ifdef MAINUV1\nvarying vec2 vMainUV1;\n#endif\n#ifdef MAINUV2\nvarying vec2 vMainUV2;\n#endif\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef DIFFUSE\n#if DIFFUSEDIRECTUV == 1\n#define vDiffuseUV vMainUV1\n#elif DIFFUSEDIRECTUV == 2\n#define vDiffuseUV vMainUV2\n#else\nvarying vec2 vDiffuseUV;\n#endif\nuniform sampler2D diffuseSampler;\n#endif\n\n#ifdef REFLECTION\n#ifdef REFLECTIONMAP_3D\n#define sampleReflection(s,c) textureCube(s,c)\nuniform samplerCube reflectionSampler;\n#ifdef TEXTURELODSUPPORT\n#define sampleReflectionLod(s,c,l) textureCubeLodEXT(s,c,l)\n#else\nuniform samplerCube reflectionSamplerLow;\nuniform samplerCube reflectionSamplerHigh;\n#endif\n#else\n#define sampleReflection(s,c) texture2D(s,c)\nuniform sampler2D reflectionSampler;\n#ifdef TEXTURELODSUPPORT\n#define sampleReflectionLod(s,c,l) texture2DLodEXT(s,c,l)\n#else\nuniform samplerCube reflectionSamplerLow;\nuniform samplerCube reflectionSamplerHigh;\n#endif\n#endif\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vec3 vPositionUVW;\n#else\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvarying vec3 vDirectionW;\n#endif\n#endif\n#include\n#endif\n\n#ifndef FROMLINEARSPACE\n#define FROMLINEARSPACE;\n#endif\n\n#ifndef SHADOWONLY\n#define SHADOWONLY;\n#endif\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n#include\n#include\n#include\n#include\n\n#include\n#ifdef REFLECTIONFRESNEL\n#define FRESNEL_MAXIMUM_ON_ROUGH 0.25\nvec3 fresnelSchlickEnvironmentGGX(float VdotN,vec3 reflectance0,vec3 reflectance90,float smoothness)\n{\n\nfloat weight=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);\nreturn reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));\n}\n#endif\nvoid main(void) {\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(0.0,1.0,0.0);\n#endif\n\nfloat shadow=1.;\nfloat globalShadow=0.;\nfloat shadowLightCount=0.;\n#include[0..maxSimultaneousLights]\n#ifdef SHADOWINUSE\nglobalShadow/=shadowLightCount;\n#else\nglobalShadow=1.0;\n#endif\n\nvec4 reflectionColor=vec4(1.,1.,1.,1.);\n#ifdef REFLECTION\nvec3 reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\n#ifdef REFLECTIONMAP_OPPOSITEZ\nreflectionVector.z*=-1.0;\n#endif\n\n#ifdef REFLECTIONMAP_3D\nvec3 reflectionCoords=reflectionVector;\n#else\nvec2 reflectionCoords=reflectionVector.xy;\n#ifdef REFLECTIONMAP_PROJECTION\nreflectionCoords/=reflectionVector.z;\n#endif\nreflectionCoords.y=1.0-reflectionCoords.y;\n#endif\n#ifdef REFLECTIONBLUR\nfloat reflectionLOD=vReflectionInfos.y;\n#ifdef TEXTURELODSUPPORT\n\nreflectionLOD=reflectionLOD*log2(vReflectionMicrosurfaceInfos.x)*vReflectionMicrosurfaceInfos.y+vReflectionMicrosurfaceInfos.z;\nreflectionColor=sampleReflectionLod(reflectionSampler,reflectionCoords,reflectionLOD);\n#else\nfloat lodReflectionNormalized=saturate(reflectionLOD);\nfloat lodReflectionNormalizedDoubled=lodReflectionNormalized*2.0;\nvec4 reflectionSpecularMid=sampleReflection(reflectionSampler,reflectionCoords);\nif(lodReflectionNormalizedDoubled<1.0){\nreflectionColor=mix(\nsampleReflection(reflectionSamplerHigh,reflectionCoords),\nreflectionSpecularMid,\nlodReflectionNormalizedDoubled\n);\n} else {\nreflectionColor=mix(\nreflectionSpecularMid,\nsampleReflection(reflectionSamplerLow,reflectionCoords),\nlodReflectionNormalizedDoubled-1.0\n);\n}\n#endif\n#else\nvec4 reflectionSample=sampleReflection(reflectionSampler,reflectionCoords);\nreflectionColor=reflectionSample;\n#endif\n#ifdef RGBDREFLECTION\nreflectionColor.rgb=fromRGBD(reflectionColor);\n#endif\n#ifdef GAMMAREFLECTION\nreflectionColor.rgb=toLinearSpace(reflectionColor.rgb);\n#endif\n#ifdef REFLECTIONBGR\nreflectionColor.rgb=reflectionColor.bgr;\n#endif\n\nreflectionColor.rgb*=vReflectionInfos.x;\n#endif\n\nvec3 diffuseColor=vec3(1.,1.,1.);\nfloat finalAlpha=alpha;\n#ifdef DIFFUSE\nvec4 diffuseMap=texture2D(diffuseSampler,vDiffuseUV);\n#ifdef GAMMADIFFUSE\ndiffuseMap.rgb=toLinearSpace(diffuseMap.rgb);\n#endif\n\ndiffuseMap.rgb*=vDiffuseInfos.y;\n#ifdef DIFFUSEHASALPHA\nfinalAlpha*=diffuseMap.a;\n#endif\ndiffuseColor=diffuseMap.rgb;\n#endif\n\n#ifdef REFLECTIONFRESNEL\nvec3 colorBase=diffuseColor;\n#else\nvec3 colorBase=reflectionColor.rgb*diffuseColor;\n#endif\ncolorBase=max(colorBase,0.0);\n\n#ifdef USERGBCOLOR\nvec3 finalColor=colorBase;\n#else\n#ifdef USEHIGHLIGHTANDSHADOWCOLORS\nvec3 mainColor=mix(vPrimaryColorShadow.rgb,vPrimaryColor.rgb,colorBase);\n#else\nvec3 mainColor=vPrimaryColor.rgb;\n#endif\nvec3 finalColor=colorBase*mainColor;\n#endif\n\n#ifdef REFLECTIONFRESNEL\nvec3 reflectionAmount=vReflectionControl.xxx;\nvec3 reflectionReflectance0=vReflectionControl.yyy;\nvec3 reflectionReflectance90=vReflectionControl.zzz;\nfloat VdotN=dot(normalize(vEyePosition),normalW);\nvec3 planarReflectionFresnel=fresnelSchlickEnvironmentGGX(saturate(VdotN),reflectionReflectance0,reflectionReflectance90,1.0);\nreflectionAmount*=planarReflectionFresnel;\n#ifdef REFLECTIONFALLOFF\nfloat reflectionDistanceFalloff=1.0-saturate(length(vPositionW.xyz-vBackgroundCenter)*vReflectionControl.w);\nreflectionDistanceFalloff*=reflectionDistanceFalloff;\nreflectionAmount*=reflectionDistanceFalloff;\n#endif\nfinalColor=mix(finalColor,reflectionColor.rgb,saturate(reflectionAmount));\n#endif\n#ifdef OPACITYFRESNEL\nfloat viewAngleToFloor=dot(normalW,normalize(vEyePosition-vBackgroundCenter));\n\nconst float startAngle=0.1;\nfloat fadeFactor=saturate(viewAngleToFloor/startAngle);\nfinalAlpha*=fadeFactor*fadeFactor;\n#endif\n\n#ifdef SHADOWINUSE\nfinalColor=mix(finalColor*shadowLevel,finalColor,globalShadow);\n#endif\n\nvec4 color=vec4(finalColor,finalAlpha);\n#include\n#ifdef IMAGEPROCESSINGPOSTPROCESS\n\n\ncolor.rgb=clamp(color.rgb,0.,30.0);\n#else\n\ncolor=applyImageProcessing(color);\n#endif\n#ifdef PREMULTIPLYALPHA\n\ncolor.rgb*=color.a;\n#endif\n#ifdef NOISE\ncolor.rgb+=dither(vPositionW.xy,0.5);\ncolor=max(color,0.0);\n#endif\ngl_FragColor=color;\n}\n";zt.a.ShadersStore.backgroundPixelShader=Dr;var Lr="uniform mat4 view;\nuniform mat4 viewProjection;\nuniform float shadowLevel;\n#ifdef DIFFUSE\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef REFLECTION\nuniform vec2 vReflectionInfos;\nuniform mat4 reflectionMatrix;\nuniform vec3 vReflectionMicrosurfaceInfos;\nuniform float fFovMultiplier;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif";zt.a.IncludesShadersStore.backgroundVertexDeclaration=Lr;n(65),n(66),n(85),n(88),n(67),n(68),n(79),n(90),n(99);var Nr="precision highp float;\n#include<__decl__backgroundVertex>\n#include\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#include\n\n#include\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef MAINUV1\nvarying vec2 vMainUV1;\n#endif\n#ifdef MAINUV2\nvarying vec2 vMainUV2;\n#endif\n#if defined(DIFFUSE) && DIFFUSEDIRECTUV == 0\nvarying vec2 vDiffuseUV;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vec3 vPositionUVW;\n#endif\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvarying vec3 vDirectionW;\n#endif\nvoid main(void) {\n#ifdef REFLECTIONMAP_SKYBOX\nvPositionUVW=position;\n#endif\n#include\n#include\n#ifdef MULTIVIEW\nif (gl_ViewID_OVR == 0u) {\ngl_Position=viewProjection*finalWorld*vec4(position,1.0);\n} else {\ngl_Position=viewProjectionR*finalWorld*vec4(position,1.0);\n}\n#else\ngl_Position=viewProjection*finalWorld*vec4(position,1.0);\n#endif\nvec4 worldPos=finalWorld*vec4(position,1.0);\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nmat3 normalWorld=mat3(finalWorld);\n#ifdef NONUNIFORMSCALING\nnormalWorld=transposeMat3(inverseMat3(normalWorld));\n#endif\nvNormalW=normalize(normalWorld*normal);\n#endif\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvDirectionW=normalize(vec3(finalWorld*vec4(position,0.0)));\n#ifdef EQUIRECTANGULAR_RELFECTION_FOV\nmat3 screenToWorld=inverseMat3(mat3(finalWorld*viewProjection));\nvec3 segment=mix(vDirectionW,screenToWorld*vec3(0.0,0.0,1.0),abs(fFovMultiplier-1.0));\nif (fFovMultiplier<=1.0) {\nvDirectionW=normalize(segment);\n} else {\nvDirectionW=normalize(vDirectionW+(vDirectionW-segment));\n}\n#endif\n#endif\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef MAINUV1\nvMainUV1=uv;\n#endif\n#ifdef MAINUV2\nvMainUV2=uv2;\n#endif\n#if defined(DIFFUSE) && DIFFUSEDIRECTUV == 0\nif (vDiffuseInfos.x == 0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n";zt.a.ShadersStore.backgroundVertexShader=Nr;var Fr=n(41),Br=function(e){function t(){var t=e.call(this)||this;return t.DIFFUSE=!1,t.DIFFUSEDIRECTUV=0,t.GAMMADIFFUSE=!1,t.DIFFUSEHASALPHA=!1,t.OPACITYFRESNEL=!1,t.REFLECTIONBLUR=!1,t.REFLECTIONFRESNEL=!1,t.REFLECTIONFALLOFF=!1,t.TEXTURELODSUPPORT=!1,t.PREMULTIPLYALPHA=!1,t.USERGBCOLOR=!1,t.USEHIGHLIGHTANDSHADOWCOLORS=!1,t.NOISE=!1,t.REFLECTIONBGR=!1,t.IMAGEPROCESSING=!1,t.VIGNETTE=!1,t.VIGNETTEBLENDMODEMULTIPLY=!1,t.VIGNETTEBLENDMODEOPAQUE=!1,t.TONEMAPPING=!1,t.TONEMAPPING_ACES=!1,t.CONTRAST=!1,t.COLORCURVES=!1,t.COLORGRADING=!1,t.COLORGRADING3D=!1,t.SAMPLER3DGREENDEPTH=!1,t.SAMPLER3DBGRMAP=!1,t.IMAGEPROCESSINGPOSTPROCESS=!1,t.EXPOSURE=!1,t.MULTIVIEW=!1,t.REFLECTION=!1,t.REFLECTIONMAP_3D=!1,t.REFLECTIONMAP_SPHERICAL=!1,t.REFLECTIONMAP_PLANAR=!1,t.REFLECTIONMAP_CUBIC=!1,t.REFLECTIONMAP_PROJECTION=!1,t.REFLECTIONMAP_SKYBOX=!1,t.REFLECTIONMAP_EXPLICIT=!1,t.REFLECTIONMAP_EQUIRECTANGULAR=!1,t.REFLECTIONMAP_EQUIRECTANGULAR_FIXED=!1,t.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED=!1,t.INVERTCUBICMAP=!1,t.REFLECTIONMAP_OPPOSITEZ=!1,t.LODINREFLECTIONALPHA=!1,t.GAMMAREFLECTION=!1,t.RGBDREFLECTION=!1,t.EQUIRECTANGULAR_RELFECTION_FOV=!1,t.MAINUV1=!1,t.MAINUV2=!1,t.UV1=!1,t.UV2=!1,t.CLIPPLANE=!1,t.CLIPPLANE2=!1,t.CLIPPLANE3=!1,t.CLIPPLANE4=!1,t.CLIPPLANE5=!1,t.CLIPPLANE6=!1,t.POINTSIZE=!1,t.FOG=!1,t.NORMAL=!1,t.NUM_BONE_INFLUENCERS=0,t.BonesPerMesh=0,t.INSTANCES=!1,t.SHADOWFLOAT=!1,t.rebuild(),t}return Object(p.d)(t,e),t}(Or.a),kr=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.primaryColor=s.a.White(),i._primaryColorShadowLevel=0,i._primaryColorHighlightLevel=0,i.reflectionTexture=null,i.reflectionBlur=0,i.diffuseTexture=null,i._shadowLights=null,i.shadowLights=null,i.shadowLevel=0,i.sceneCenter=a.e.Zero(),i.opacityFresnel=!0,i.reflectionFresnel=!1,i.reflectionFalloffDistance=0,i.reflectionAmount=1,i.reflectionReflectance0=.05,i.reflectionReflectance90=.5,i.useRGBColor=!0,i.enableNoise=!1,i._fovMultiplier=1,i.useEquirectangularFOV=!1,i._maxSimultaneousLights=4,i.maxSimultaneousLights=4,i._imageProcessingObserver=null,i.switchToBGR=!1,i._renderTargets=new qn.a(16),i._reflectionControls=a.f.Zero(),i._white=s.a.White(),i._primaryShadowColor=s.a.Black(),i._primaryHighlightColor=s.a.Black(),i._attachImageProcessingConfiguration(null),i.getRenderTargetTextures=function(){return i._renderTargets.reset(),i._diffuseTexture&&i._diffuseTexture.isRenderTarget&&i._renderTargets.push(i._diffuseTexture),i._reflectionTexture&&i._reflectionTexture.isRenderTarget&&i._renderTargets.push(i._reflectionTexture),i._renderTargets},i}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"_perceptualColor",{get:function(){return this.__perceptualColor},set:function(e){this.__perceptualColor=e,this._computePrimaryColorFromPerceptualColor(),this._markAllSubMeshesAsLightsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"primaryColorShadowLevel",{get:function(){return this._primaryColorShadowLevel},set:function(e){this._primaryColorShadowLevel=e,this._computePrimaryColors(),this._markAllSubMeshesAsLightsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"primaryColorHighlightLevel",{get:function(){return this._primaryColorHighlightLevel},set:function(e){this._primaryColorHighlightLevel=e,this._computePrimaryColors(),this._markAllSubMeshesAsLightsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"reflectionStandardFresnelWeight",{set:function(e){var n=e;n<.5?(n*=2,this.reflectionReflectance0=t.StandardReflectance0*n,this.reflectionReflectance90=t.StandardReflectance90*n):(n=2*n-1,this.reflectionReflectance0=t.StandardReflectance0+(1-t.StandardReflectance0)*n,this.reflectionReflectance90=t.StandardReflectance90+(1-t.StandardReflectance90)*n)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"fovMultiplier",{get:function(){return this._fovMultiplier},set:function(e){isNaN(e)&&(e=1),this._fovMultiplier=Math.max(0,Math.min(2,e))},enumerable:!0,configurable:!0}),t.prototype._attachImageProcessingConfiguration=function(e){var t=this;e!==this._imageProcessingConfiguration&&(this._imageProcessingConfiguration&&this._imageProcessingObserver&&this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver),this._imageProcessingConfiguration=e||this.getScene().imageProcessingConfiguration,this._imageProcessingConfiguration&&(this._imageProcessingObserver=this._imageProcessingConfiguration.onUpdateParameters.add((function(){t._computePrimaryColorFromPerceptualColor(),t._markAllSubMeshesAsImageProcessingDirty()}))))},Object.defineProperty(t.prototype,"imageProcessingConfiguration",{get:function(){return this._imageProcessingConfiguration},set:function(e){this._attachImageProcessingConfiguration(e),this._markAllSubMeshesAsTexturesDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cameraColorCurvesEnabled",{get:function(){return this.imageProcessingConfiguration.colorCurvesEnabled},set:function(e){this.imageProcessingConfiguration.colorCurvesEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cameraColorGradingEnabled",{get:function(){return this.imageProcessingConfiguration.colorGradingEnabled},set:function(e){this.imageProcessingConfiguration.colorGradingEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cameraToneMappingEnabled",{get:function(){return this._imageProcessingConfiguration.toneMappingEnabled},set:function(e){this._imageProcessingConfiguration.toneMappingEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cameraExposure",{get:function(){return this._imageProcessingConfiguration.exposure},set:function(e){this._imageProcessingConfiguration.exposure=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cameraContrast",{get:function(){return this._imageProcessingConfiguration.contrast},set:function(e){this._imageProcessingConfiguration.contrast=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cameraColorGradingTexture",{get:function(){return this._imageProcessingConfiguration.colorGradingTexture},set:function(e){this.imageProcessingConfiguration.colorGradingTexture=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cameraColorCurves",{get:function(){return this.imageProcessingConfiguration.colorCurves},set:function(e){this.imageProcessingConfiguration.colorCurves=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasRenderTargetTextures",{get:function(){return!(!this._diffuseTexture||!this._diffuseTexture.isRenderTarget)||!(!this._reflectionTexture||!this._reflectionTexture.isRenderTarget)},enumerable:!0,configurable:!0}),t.prototype.needAlphaTesting=function(){return!0},t.prototype.needAlphaBlending=function(){return this.alpha<0||null!=this._diffuseTexture&&this._diffuseTexture.hasAlpha},t.prototype.isReadyForSubMesh=function(e,t,n){var i=this;if(void 0===n&&(n=!1),t.effect&&this.isFrozen&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new Br);var r=this.getScene(),o=t._materialDefines;if(!this.checkReadyOnEveryCall&&t.effect&&o._renderId===r.getRenderId())return!0;var a=r.getEngine();if(Pr.a.PrepareDefinesForLights(r,e,o,!1,this._maxSimultaneousLights),o._needNormals=!0,Pr.a.PrepareDefinesForMultiview(r,o),o._areTexturesDirty){if(o._needUVs=!1,r.texturesEnabled){if(r.getEngine().getCaps().textureLOD&&(o.TEXTURELODSUPPORT=!0),this._diffuseTexture&&Rr.a.DiffuseTextureEnabled){if(!this._diffuseTexture.isReadyOrNotBlocking())return!1;Pr.a.PrepareDefinesForMergedUV(this._diffuseTexture,o,"DIFFUSE"),o.DIFFUSEHASALPHA=this._diffuseTexture.hasAlpha,o.GAMMADIFFUSE=this._diffuseTexture.gammaSpace,o.OPACITYFRESNEL=this._opacityFresnel}else o.DIFFUSE=!1,o.DIFFUSEHASALPHA=!1,o.GAMMADIFFUSE=!1,o.OPACITYFRESNEL=!1;var s=this._reflectionTexture;if(s&&Rr.a.ReflectionTextureEnabled){if(!s.isReadyOrNotBlocking())return!1;switch(o.REFLECTION=!0,o.GAMMAREFLECTION=s.gammaSpace,o.RGBDREFLECTION=s.isRGBD,o.REFLECTIONBLUR=this._reflectionBlur>0,o.REFLECTIONMAP_OPPOSITEZ=this.getScene().useRightHandedSystem?!s.invertZ:s.invertZ,o.LODINREFLECTIONALPHA=s.lodLevelInAlpha,o.EQUIRECTANGULAR_RELFECTION_FOV=this.useEquirectangularFOV,o.REFLECTIONBGR=this.switchToBGR,s.coordinatesMode===nn.a.INVCUBIC_MODE&&(o.INVERTCUBICMAP=!0),o.REFLECTIONMAP_3D=s.isCube,s.coordinatesMode){case nn.a.EXPLICIT_MODE:o.REFLECTIONMAP_EXPLICIT=!0;break;case nn.a.PLANAR_MODE:o.REFLECTIONMAP_PLANAR=!0;break;case nn.a.PROJECTION_MODE:o.REFLECTIONMAP_PROJECTION=!0;break;case nn.a.SKYBOX_MODE:o.REFLECTIONMAP_SKYBOX=!0;break;case nn.a.SPHERICAL_MODE:o.REFLECTIONMAP_SPHERICAL=!0;break;case nn.a.EQUIRECTANGULAR_MODE:o.REFLECTIONMAP_EQUIRECTANGULAR=!0;break;case nn.a.FIXED_EQUIRECTANGULAR_MODE:o.REFLECTIONMAP_EQUIRECTANGULAR_FIXED=!0;break;case nn.a.FIXED_EQUIRECTANGULAR_MIRRORED_MODE:o.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED=!0;break;case nn.a.CUBIC_MODE:case nn.a.INVCUBIC_MODE:default:o.REFLECTIONMAP_CUBIC=!0}this.reflectionFresnel?(o.REFLECTIONFRESNEL=!0,o.REFLECTIONFALLOFF=this.reflectionFalloffDistance>0,this._reflectionControls.x=this.reflectionAmount,this._reflectionControls.y=this.reflectionReflectance0,this._reflectionControls.z=this.reflectionReflectance90,this._reflectionControls.w=1/this.reflectionFalloffDistance):(o.REFLECTIONFRESNEL=!1,o.REFLECTIONFALLOFF=!1)}else o.REFLECTION=!1,o.REFLECTIONFRESNEL=!1,o.REFLECTIONFALLOFF=!1,o.REFLECTIONBLUR=!1,o.REFLECTIONMAP_3D=!1,o.REFLECTIONMAP_SPHERICAL=!1,o.REFLECTIONMAP_PLANAR=!1,o.REFLECTIONMAP_CUBIC=!1,o.REFLECTIONMAP_PROJECTION=!1,o.REFLECTIONMAP_SKYBOX=!1,o.REFLECTIONMAP_EXPLICIT=!1,o.REFLECTIONMAP_EQUIRECTANGULAR=!1,o.REFLECTIONMAP_EQUIRECTANGULAR_FIXED=!1,o.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED=!1,o.INVERTCUBICMAP=!1,o.REFLECTIONMAP_OPPOSITEZ=!1,o.LODINREFLECTIONALPHA=!1,o.GAMMAREFLECTION=!1,o.RGBDREFLECTION=!1}o.PREMULTIPLYALPHA=7===this.alphaMode||8===this.alphaMode,o.USERGBCOLOR=this._useRGBColor,o.NOISE=this._enableNoise}if(o._areLightsDirty&&(o.USEHIGHLIGHTANDSHADOWCOLORS=!this._useRGBColor&&(0!==this._primaryColorShadowLevel||0!==this._primaryColorHighlightLevel)),o._areImageProcessingDirty&&this._imageProcessingConfiguration){if(!this._imageProcessingConfiguration.isReady())return!1;this._imageProcessingConfiguration.prepareDefines(o)}if(Pr.a.PrepareDefinesForMisc(e,r,!1,this.pointsCloud,this.fogEnabled,this._shouldTurnAlphaTestOn(e),o),Pr.a.PrepareDefinesForFrameBoundValues(r,a,o,n),Pr.a.PrepareDefinesForAttributes(e,o,!1,!0,!1)&&e&&(r.getEngine().getCaps().standardDerivatives||e.isVerticesDataPresent(Pn.b.NormalKind)||(e.createNormals(!0),m.a.Warn("BackgroundMaterial: Normals have been created for the mesh: "+e.name))),o.isDirty){o.markAsProcessed(),r.resetCachedMaterial();var c=new Fr.a;o.FOG&&c.addFallback(0,"FOG"),o.POINTSIZE&&c.addFallback(1,"POINTSIZE"),o.MULTIVIEW&&c.addFallback(0,"MULTIVIEW"),Pr.a.HandleFallbacksForShadows(o,c,this._maxSimultaneousLights);var l=[Pn.b.PositionKind];o.NORMAL&&l.push(Pn.b.NormalKind),o.UV1&&l.push(Pn.b.UVKind),o.UV2&&l.push(Pn.b.UV2Kind),Pr.a.PrepareAttributesForBones(l,e,o,c),Pr.a.PrepareAttributesForInstances(l,o);var u=["world","view","viewProjection","vEyePosition","vLightsType","vFogInfos","vFogColor","pointSize","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","mBones","vPrimaryColor","vPrimaryColorShadow","vReflectionInfos","reflectionMatrix","vReflectionMicrosurfaceInfos","fFovMultiplier","shadowLevel","alpha","vBackgroundCenter","vReflectionControl","vDiffuseInfos","diffuseMatrix"],p=["diffuseSampler","reflectionSampler","reflectionSamplerLow","reflectionSamplerHigh"],h=["Material","Scene"];Cn.a&&(Cn.a.PrepareUniforms(u,o),Cn.a.PrepareSamplers(p,o)),Pr.a.PrepareUniformsAndSamplersList({uniformsNames:u,uniformBuffersNames:h,samplers:p,defines:o,maxSimultaneousLights:this._maxSimultaneousLights});var d=o.toString();t.setEffect(r.getEngine().createEffect("background",{attributes:l,uniformsNames:u,uniformBuffersNames:h,samplers:p,defines:d,fallbacks:c,onCompiled:function(e){i.onCompiled&&i.onCompiled(e),i.bindSceneUniformBuffer(e,r.getSceneUniformBuffer())},onError:this.onError,indexParameters:{maxSimultaneousLights:this._maxSimultaneousLights}},a),o),this.buildUniformLayout()}return!(!t.effect||!t.effect.isReady())&&(o._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype._computePrimaryColorFromPerceptualColor=function(){this.__perceptualColor&&(this._primaryColor.copyFrom(this.__perceptualColor),this._primaryColor.toLinearSpaceToRef(this._primaryColor),this._imageProcessingConfiguration&&this._primaryColor.scaleToRef(1/this._imageProcessingConfiguration.exposure,this._primaryColor),this._computePrimaryColors())},t.prototype._computePrimaryColors=function(){0===this._primaryColorShadowLevel&&0===this._primaryColorHighlightLevel||(this._primaryColor.scaleToRef(this._primaryColorShadowLevel,this._primaryShadowColor),this._primaryColor.subtractToRef(this._primaryShadowColor,this._primaryShadowColor),this._white.subtractToRef(this._primaryColor,this._primaryHighlightColor),this._primaryHighlightColor.scaleToRef(this._primaryColorHighlightLevel,this._primaryHighlightColor),this._primaryColor.addToRef(this._primaryHighlightColor,this._primaryHighlightColor))},t.prototype.buildUniformLayout=function(){this._uniformBuffer.addUniform("vPrimaryColor",4),this._uniformBuffer.addUniform("vPrimaryColorShadow",4),this._uniformBuffer.addUniform("vDiffuseInfos",2),this._uniformBuffer.addUniform("vReflectionInfos",2),this._uniformBuffer.addUniform("diffuseMatrix",16),this._uniformBuffer.addUniform("reflectionMatrix",16),this._uniformBuffer.addUniform("vReflectionMicrosurfaceInfos",3),this._uniformBuffer.addUniform("fFovMultiplier",1),this._uniformBuffer.addUniform("pointSize",1),this._uniformBuffer.addUniform("shadowLevel",1),this._uniformBuffer.addUniform("alpha",1),this._uniformBuffer.addUniform("vBackgroundCenter",3),this._uniformBuffer.addUniform("vReflectionControl",4),this._uniformBuffer.create()},t.prototype.unbind=function(){this._diffuseTexture&&this._diffuseTexture.isRenderTarget&&this._uniformBuffer.setTexture("diffuseSampler",null),this._reflectionTexture&&this._reflectionTexture.isRenderTarget&&this._uniformBuffer.setTexture("reflectionSampler",null),e.prototype.unbind.call(this)},t.prototype.bindOnlyWorldMatrix=function(e){this._activeEffect.setMatrix("world",e)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;if(o){this._activeEffect=o,this.bindOnlyWorldMatrix(e),Pr.a.BindBonesParameters(t,this._activeEffect);var a=this._mustRebind(i,o,t.visibility);if(a){this._uniformBuffer.bindToEffect(o,"Material"),this.bindViewProjection(o);var s=this._reflectionTexture;this._uniformBuffer.useUbo&&this.isFrozen&&this._uniformBuffer.isSync||(i.texturesEnabled&&(this._diffuseTexture&&Rr.a.DiffuseTextureEnabled&&(this._uniformBuffer.updateFloat2("vDiffuseInfos",this._diffuseTexture.coordinatesIndex,this._diffuseTexture.level),Pr.a.BindTextureMatrix(this._diffuseTexture,this._uniformBuffer,"diffuse")),s&&Rr.a.ReflectionTextureEnabled&&(this._uniformBuffer.updateMatrix("reflectionMatrix",s.getReflectionTextureMatrix()),this._uniformBuffer.updateFloat2("vReflectionInfos",s.level,this._reflectionBlur),this._uniformBuffer.updateFloat3("vReflectionMicrosurfaceInfos",s.getSize().width,s.lodGenerationScale,s.lodGenerationOffset))),this.shadowLevel>0&&this._uniformBuffer.updateFloat("shadowLevel",this.shadowLevel),this._uniformBuffer.updateFloat("alpha",this.alpha),this.pointsCloud&&this._uniformBuffer.updateFloat("pointSize",this.pointSize),r.USEHIGHLIGHTANDSHADOWCOLORS?(this._uniformBuffer.updateColor4("vPrimaryColor",this._primaryHighlightColor,1),this._uniformBuffer.updateColor4("vPrimaryColorShadow",this._primaryShadowColor,1)):this._uniformBuffer.updateColor4("vPrimaryColor",this._primaryColor,1)),this._uniformBuffer.updateFloat("fFovMultiplier",this._fovMultiplier),i.texturesEnabled&&(this._diffuseTexture&&Rr.a.DiffuseTextureEnabled&&this._uniformBuffer.setTexture("diffuseSampler",this._diffuseTexture),s&&Rr.a.ReflectionTextureEnabled&&(r.REFLECTIONBLUR&&r.TEXTURELODSUPPORT?this._uniformBuffer.setTexture("reflectionSampler",s):r.REFLECTIONBLUR?(this._uniformBuffer.setTexture("reflectionSampler",s._lodTextureMid||s),this._uniformBuffer.setTexture("reflectionSamplerLow",s._lodTextureLow||s),this._uniformBuffer.setTexture("reflectionSamplerHigh",s._lodTextureHigh||s)):this._uniformBuffer.setTexture("reflectionSampler",s),r.REFLECTIONFRESNEL&&(this._uniformBuffer.updateFloat3("vBackgroundCenter",this.sceneCenter.x,this.sceneCenter.y,this.sceneCenter.z),this._uniformBuffer.updateFloat4("vReflectionControl",this._reflectionControls.x,this._reflectionControls.y,this._reflectionControls.z,this._reflectionControls.w)))),Pr.a.BindClipPlane(this._activeEffect,i),Pr.a.BindEyePosition(o,i)}!a&&this.isFrozen||(i.lightsEnabled&&Pr.a.BindLights(i,t,this._activeEffect,r,this._maxSimultaneousLights,!1),this.bindView(o),Pr.a.BindFogParameters(i,t,this._activeEffect,!0),this._imageProcessingConfiguration&&this._imageProcessingConfiguration.bind(this._activeEffect)),this._uniformBuffer.update(),this._afterBind(t,this._activeEffect)}}},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)||(this._reflectionTexture===t||this._diffuseTexture===t)},t.prototype.dispose=function(t,n){void 0===t&&(t=!1),void 0===n&&(n=!1),n&&(this.diffuseTexture&&this.diffuseTexture.dispose(),this.reflectionTexture&&this.reflectionTexture.dispose()),this._renderTargets.dispose(),this._imageProcessingConfiguration&&this._imageProcessingObserver&&this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver),e.prototype.dispose.call(this,t)},t.prototype.clone=function(e){var n=this;return Fe.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=Fe.a.Serialize(this);return e.customType="BABYLON.BackgroundMaterial",e},t.prototype.getClassName=function(){return"BackgroundMaterial"},t.Parse=function(e,n,i){return Fe.a.Parse((function(){return new t(e.name,n)}),e,n,i)},t.StandardReflectance0=.05,t.StandardReflectance90=.5,Object(p.c)([Object(Fe.e)()],t.prototype,"_primaryColor",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"primaryColor",void 0),Object(p.c)([Object(Fe.e)()],t.prototype,"__perceptualColor",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"_primaryColorShadowLevel",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"_primaryColorHighlightLevel",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"primaryColorHighlightLevel",null),Object(p.c)([Object(Fe.m)()],t.prototype,"_reflectionTexture",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"reflectionTexture",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"_reflectionBlur",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"reflectionBlur",void 0),Object(p.c)([Object(Fe.m)()],t.prototype,"_diffuseTexture",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"shadowLights",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"_shadowLevel",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"shadowLevel",void 0),Object(p.c)([Object(Fe.o)()],t.prototype,"_sceneCenter",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"sceneCenter",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"_opacityFresnel",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"opacityFresnel",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"_reflectionFresnel",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"reflectionFresnel",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"_reflectionFalloffDistance",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"reflectionFalloffDistance",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"_reflectionAmount",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"reflectionAmount",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"_reflectionReflectance0",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"reflectionReflectance0",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"_reflectionReflectance90",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"reflectionReflectance90",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"_useRGBColor",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"useRGBColor",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"_enableNoise",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"enableNoise",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"_maxSimultaneousLights",void 0),Object(p.c)([Object(Fe.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"maxSimultaneousLights",void 0),Object(p.c)([Object(Fe.i)()],t.prototype,"_imageProcessingConfiguration",void 0),t}(Mr.a);c.a.RegisteredTypes["BABYLON.BackgroundMaterial"]=kr;var Vr=function(){function e(t,n){var i=this;this._errorHandler=function(e,t){i.onErrorObservable.notifyObservers({message:e,exception:t})},this._options=Object(p.a)(Object(p.a)({},e._getDefaultOptions()),t),this._scene=n,this.onErrorObservable=new o.c,this._setupBackground(),this._setupImageProcessing()}return e._getDefaultOptions=function(){return{createGround:!0,groundSize:15,groundTexture:this._groundTextureCDNUrl,groundColor:new s.a(.2,.2,.3).toLinearSpace().scale(3),groundOpacity:.9,enableGroundShadow:!0,groundShadowLevel:.5,enableGroundMirror:!1,groundMirrorSizeRatio:.3,groundMirrorBlurKernel:64,groundMirrorAmount:1,groundMirrorFresnelWeight:1,groundMirrorFallOffDistance:0,groundMirrorTextureType:0,groundYBias:1e-5,createSkybox:!0,skyboxSize:20,skyboxTexture:this._skyboxTextureCDNUrl,skyboxColor:new s.a(.2,.2,.3).toLinearSpace().scale(3),backgroundYRotation:0,sizeAuto:!0,rootPosition:a.e.Zero(),setupImageProcessing:!0,environmentTexture:this._environmentTextureCDNUrl,cameraExposure:.8,cameraContrast:1.2,toneMappingEnabled:!0}},Object.defineProperty(e.prototype,"rootMesh",{get:function(){return this._rootMesh},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"skybox",{get:function(){return this._skybox},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"skyboxTexture",{get:function(){return this._skyboxTexture},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"skyboxMaterial",{get:function(){return this._skyboxMaterial},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ground",{get:function(){return this._ground},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"groundTexture",{get:function(){return this._groundTexture},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"groundMirror",{get:function(){return this._groundMirror},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"groundMirrorRenderList",{get:function(){return this._groundMirror?this._groundMirror.renderList:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"groundMaterial",{get:function(){return this._groundMaterial},enumerable:!0,configurable:!0}),e.prototype.updateOptions=function(e){var t=Object(p.a)(Object(p.a)({},this._options),e);this._ground&&!t.createGround&&(this._ground.dispose(),this._ground=null),this._groundMaterial&&!t.createGround&&(this._groundMaterial.dispose(),this._groundMaterial=null),this._groundTexture&&this._options.groundTexture!=t.groundTexture&&(this._groundTexture.dispose(),this._groundTexture=null),this._skybox&&!t.createSkybox&&(this._skybox.dispose(),this._skybox=null),this._skyboxMaterial&&!t.createSkybox&&(this._skyboxMaterial.dispose(),this._skyboxMaterial=null),this._skyboxTexture&&this._options.skyboxTexture!=t.skyboxTexture&&(this._skyboxTexture.dispose(),this._skyboxTexture=null),this._groundMirror&&!t.enableGroundMirror&&(this._groundMirror.dispose(),this._groundMirror=null),this._scene.environmentTexture&&this._options.environmentTexture!=t.environmentTexture&&this._scene.environmentTexture.dispose(),this._options=t,this._setupBackground(),this._setupImageProcessing()},e.prototype.setMainColor=function(e){this.groundMaterial&&(this.groundMaterial.primaryColor=e),this.skyboxMaterial&&(this.skyboxMaterial.primaryColor=e),this.groundMirror&&(this.groundMirror.clearColor=new s.b(e.r,e.g,e.b,1))},e.prototype._setupImageProcessing=function(){this._options.setupImageProcessing&&(this._scene.imageProcessingConfiguration.contrast=this._options.cameraContrast,this._scene.imageProcessingConfiguration.exposure=this._options.cameraExposure,this._scene.imageProcessingConfiguration.toneMappingEnabled=this._options.toneMappingEnabled,this._setupEnvironmentTexture())},e.prototype._setupEnvironmentTexture=function(){if(!this._scene.environmentTexture)if(this._options.environmentTexture instanceof mr.a)this._scene.environmentTexture=this._options.environmentTexture;else{var e=Er.a.CreateFromPrefilteredData(this._options.environmentTexture,this._scene);this._scene.environmentTexture=e}},e.prototype._setupBackground=function(){this._rootMesh||(this._rootMesh=new ve.a("BackgroundHelper",this._scene)),this._rootMesh.rotation.y=this._options.backgroundYRotation;var e=this._getSceneSize();this._options.createGround&&(this._setupGround(e),this._setupGroundMaterial(),this._setupGroundDiffuseTexture(),this._options.enableGroundMirror&&this._setupGroundMirrorTexture(e),this._setupMirrorInGroundMaterial()),this._options.createSkybox&&(this._setupSkybox(e),this._setupSkyboxMaterial(),this._setupSkyboxReflectionTexture()),this._rootMesh.position.x=e.rootPosition.x,this._rootMesh.position.z=e.rootPosition.z,this._rootMesh.position.y=e.rootPosition.y},e.prototype._getSceneSize=function(){var e=this,t=this._options.groundSize,n=this._options.skyboxSize,i=this._options.rootPosition;if(!this._scene.meshes||1===this._scene.meshes.length)return{groundSize:t,skyboxSize:n,rootPosition:i};var r=this._scene.getWorldExtends((function(t){return t!==e._ground&&t!==e._rootMesh&&t!==e._skybox})),o=r.max.subtract(r.min);if(this._options.sizeAuto){this._scene.activeCamera instanceof bt&&this._scene.activeCamera.upperRadiusLimit&&(n=t=2*this._scene.activeCamera.upperRadiusLimit);var a=o.length();a>t&&(n=t=2*a),t*=1.1,n*=1.5,(i=r.min.add(o.scale(.5))).y=r.min.y-this._options.groundYBias}return{groundSize:t,skyboxSize:n,rootPosition:i}},e.prototype._setupGround=function(e){var t=this;this._ground&&!this._ground.isDisposed()||(this._ground=ve.a.CreatePlane("BackgroundPlane",e.groundSize,this._scene),this._ground.rotation.x=Math.PI/2,this._ground.parent=this._rootMesh,this._ground.onDisposeObservable.add((function(){t._ground=null}))),this._ground.receiveShadows=this._options.enableGroundShadow},e.prototype._setupGroundMaterial=function(){this._groundMaterial||(this._groundMaterial=new kr("BackgroundPlaneMaterial",this._scene)),this._groundMaterial.alpha=this._options.groundOpacity,this._groundMaterial.alphaMode=8,this._groundMaterial.shadowLevel=this._options.groundShadowLevel,this._groundMaterial.primaryColor=this._options.groundColor,this._groundMaterial.useRGBColor=!1,this._groundMaterial.enableNoise=!0,this._ground&&(this._ground.material=this._groundMaterial)},e.prototype._setupGroundDiffuseTexture=function(){if(this._groundMaterial&&!this._groundTexture)if(this._options.groundTexture instanceof mr.a)this._groundMaterial.diffuseTexture=this._options.groundTexture;else{var e=new nn.a(this._options.groundTexture,this._scene,void 0,void 0,void 0,void 0,this._errorHandler);e.gammaSpace=!1,e.hasAlpha=!0,this._groundMaterial.diffuseTexture=e}},e.prototype._setupGroundMirrorTexture=function(e){var t=nn.a.CLAMP_ADDRESSMODE;if(!this._groundMirror&&(this._groundMirror=new Tr("BackgroundPlaneMirrorTexture",{ratio:this._options.groundMirrorSizeRatio},this._scene,!1,this._options.groundMirrorTextureType,nn.a.BILINEAR_SAMPLINGMODE,!0),this._groundMirror.mirrorPlane=new Gn.a(0,-1,0,e.rootPosition.y),this._groundMirror.anisotropicFilteringLevel=1,this._groundMirror.wrapU=t,this._groundMirror.wrapV=t,this._groundMirror.gammaSpace=!1,this._groundMirror.renderList))for(var n=0;n>16&32768,r=n>>12&2047,o=n>>23&255;return o<103?i:o>142?(i|=31744,i|=(255==o?0:1)&&8388607&n):o<113?i|=((r|=2048)>>114-o)+(r>>113-o&1):(i|=o-112<<10|r>>1,i+=1&r)},e._FromHalfFloat=function(e){var t=(32768&e)>>15,n=(31744&e)>>10,i=1023&e;return 0===n?(t?-1:1)*Math.pow(2,-14)*(i/Math.pow(2,10)):31==n?i?NaN:1/0*(t?-1:1):(t?-1:1)*Math.pow(2,n-15)*(1+i/Math.pow(2,10))},e._GetHalfFloatAsFloatRGBAArrayBuffer=function(t,n,i,r,o,a){for(var s=new Float32Array(r),c=new Uint16Array(o,i),l=0,u=0;u>8)},e._GetRGBArrayBuffer=function(e,t,n,i,r,o,a,s){for(var c=new Uint8Array(i),l=new Uint8Array(r,n),u=0,p=0;p>8&255,S>>16&255,S>>24&255)))}var P=e._ExtractLongWordOrder(v[23]),O=e._ExtractLongWordOrder(v[24]),M=e._ExtractLongWordOrder(v[25]),R=e._ExtractLongWordOrder(v[26]);T&&(C=t._getRGBABufferInternalSizedFormat(r.textureType)),_=1,v[2]&Hr&&!1!==o&&(_=Math.max(1,v[7]));for(var I=c||0;I0?r.sphericalPolynomial=Gr.a.ConvertCubeMapToSphericalPolynomial({size:v[4],right:l[0],left:l[1],up:l[2],down:l[3],front:l[4],back:l[5],format:5,type:1,gammaSpace:!1}):r.sphericalPolynomial=void 0}else m.a.Error("Compressed textures are not supported on this platform.");else m.a.Error("Unsupported format, must contain a FourCC, RGB or LUMINANCE code");else m.a.Error("Invalid magic number in DDS header")},e.StoreLODInAlphaChannel=!1,e}();xi.a.prototype.createPrefilteredCubeTexture=function(e,t,n,i,r,o,a,s,c){var l=this;void 0===r&&(r=null),void 0===o&&(o=null),void 0===s&&(s=null),void 0===c&&(c=!0);return this.createCubeTexture(e,t,null,!1,(function(e){if(e){var o=e.texture;if(c?e.info.sphericalPolynomial&&(o._sphericalPolynomial=e.info.sphericalPolynomial):o._sphericalPolynomial=new Ur.b,o._source=sn.b.CubePrefiltered,l.getCaps().textureLOD)r&&r(o);else{var a=l._gl,s=e.width;if(s){for(var u=[],p=0;p<3;p++){var h=1-p/2,d=i,f=He.a.Log2(s)*n+i,_=d+(f-d)*h,b=Math.round(Math.min(Math.max(_,0),f)),g=new sn.a(l,sn.b.Temp);if(g.type=o.type,g.format=o.format,g.width=Math.pow(2,Math.max(He.a.Log2(s)-b,0)),g.height=g.width,g.isCube=!0,l._bindTextureDirectly(a.TEXTURE_CUBE_MAP,g,!0),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_MAG_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),e.isDDS){var v=e.info,y=e.data;l._unpackFlipY(v.isCompressed),qr.UploadDDSLevels(l,g,y,v,!0,6,b)}else m.a.Warn("DDS is the only prefiltered cube map supported so far.");l._bindTextureDirectly(a.TEXTURE_CUBE_MAP,null);var C=new mr.a(t);C.isCube=!0,C._texture=g,g.isReady=!0,u.push(C)}o._lodTextureHigh=u[2],o._lodTextureMid=u[1],o._lodTextureLow=u[0],r&&r(o)}}}else r&&r(null)}),o,a,s,c,n,i)};var Jr=n(49),$r=function(){function e(){this.supportCascades=!0}return e.prototype.canLoad=function(e){return Jr.a.EndsWith(e,".dds")},e.prototype.loadCubeData=function(e,t,n,i,r){var o,a=t.getEngine(),s=!1;if(Array.isArray(e))for(var c=0;c1)&&t.generateMipMaps,a._unpackFlipY(o.isCompressed),qr.UploadDDSLevels(a,t,l,o,s,6,-1,c),o.isFourCC||1!==o.mipmapCount||a.generateMipMapsForCubemap(t)}else{var u=e;o=qr.GetDDSInfo(u),t.width=o.width,t.height=o.height,n&&(o.sphericalPolynomial=new Ur.b),s=(o.isRGB||o.isLuminance||o.mipmapCount>1)&&t.generateMipMaps,a._unpackFlipY(o.isCompressed),qr.UploadDDSLevels(a,t,u,o,s,6),o.isFourCC||1!==o.mipmapCount||a.generateMipMapsForCubemap(t,!1)}a._setCubeMapTextureParams(s),t.isReady=!0,t.onLoadedObservable.notifyObservers(t),t.onLoadedObservable.clear(),i&&i({isDDS:!0,width:t.width,info:o,data:e,texture:t})},e.prototype.loadData=function(e,t,n){var i=qr.GetDDSInfo(e),r=(i.isRGB||i.isLuminance||i.mipmapCount>1)&&t.generateMipMaps&&i.width>>i.mipmapCount-1==1;n(i.width,i.height,r,i.isFourCC,(function(){qr.UploadDDSLevels(t.getEngine(),t,e,i,r,1)}))},e}();ne.a._TextureLoaders.push(new $r);var eo=function(){function e(){this.supportCascades=!1}return e.prototype.canLoad=function(e){return Jr.a.EndsWith(e,".env")},e.prototype.loadCubeData=function(e,t,n,i,r){if(!Array.isArray(e)){var o=Li.a.GetEnvInfo(e);o?(t.width=o.width,t.height=o.width,Li.a.UploadEnvSpherical(t,o),Li.a.UploadEnvLevelsAsync(t,e,o).then((function(){t.isReady=!0,t.onLoadedObservable.notifyObservers(t),t.onLoadedObservable.clear(),i&&i()}))):r&&r("Can not parse the environment file",null)}},e.prototype.loadData=function(e,t,n){throw".env not supported in 2d."},e}();ne.a._TextureLoaders.push(new eo);var to=function(){function e(t,n,i,r){if(this.data=t,this.isInvalid=!1,!e.IsValid(t))return this.isInvalid=!0,void m.a.Error("texture missing KTX identifier");var o=Uint32Array.BYTES_PER_ELEMENT,a=new DataView(this.data.buffer,this.data.byteOffset+12,13*o),s=67305985===a.getUint32(0,!0);this.glType=a.getUint32(1*o,s),this.glTypeSize=a.getUint32(2*o,s),this.glFormat=a.getUint32(3*o,s),this.glInternalFormat=a.getUint32(4*o,s),this.glBaseInternalFormat=a.getUint32(5*o,s),this.pixelWidth=a.getUint32(6*o,s),this.pixelHeight=a.getUint32(7*o,s),this.pixelDepth=a.getUint32(8*o,s),this.numberOfArrayElements=a.getUint32(9*o,s),this.numberOfFaces=a.getUint32(10*o,s),this.numberOfMipmapLevels=a.getUint32(11*o,s),this.bytesOfKeyValueData=a.getUint32(12*o,s),0===this.glType?(this.numberOfMipmapLevels=Math.max(1,this.numberOfMipmapLevels),0!==this.pixelHeight&&0===this.pixelDepth?0===this.numberOfArrayElements?this.numberOfFaces===n?this.loadType=e.COMPRESSED_2D:m.a.Error("number of faces expected"+n+", but found "+this.numberOfFaces):m.a.Error("texture arrays not currently supported"):m.a.Error("only 2D textures currently supported")):m.a.Error("only compressed formats currently supported")}return e.prototype.uploadLevels=function(t,n){switch(this.loadType){case e.COMPRESSED_2D:this._upload2DCompressedLevels(t,n);break;case e.TEX_2D:case e.COMPRESSED_3D:case e.TEX_3D:}},e.prototype._upload2DCompressedLevels=function(t,n){for(var i=e.HEADER_LEN+this.bytesOfKeyValueData,r=this.pixelWidth,o=this.pixelHeight,a=n?this.numberOfMipmapLevels:1,s=0;s=12){var t=new Uint8Array(e.buffer,e.byteOffset,12);if(171===t[0]&&75===t[1]&&84===t[2]&&88===t[3]&&32===t[4]&&49===t[5]&&49===t[6]&&187===t[7]&&13===t[8]&&10===t[9]&&26===t[10]&&10===t[11])return!0}return!1},e.HEADER_LEN=64,e.COMPRESSED_2D=0,e.COMPRESSED_3D=1,e.TEX_2D=2,e.TEX_3D=3,e}(),no=function(){function e(t){var n=this;e._ModulePromise||(e._ModulePromise=new Promise((function(i){LIBKTX().then((function(r){r.GL.makeContextCurrent(r.GL.registerContext(t._gl,{majorVersion:t._webGLVersion})),e._TranscodeFormat=n._determineTranscodeFormat(r.TranscodeTarget,t.getCaps()),i({module:r})}))})))}return e.prototype.uploadAsync=function(t,n){return e._ModulePromise.then((function(i){var r=new i.module.ktxTexture(t);try{r.isBasisSupercompressed&&r.transcodeBasis(e._TranscodeFormat,0),n.width=n.baseWidth=r.baseWidth,n.height=n.baseHeight=r.baseHeight,n.generateMipMaps=!1;var o=r.glUpload();if(0!==o.error)throw new Error("Failed to upload: "+o.error);n._webGLTexture=o.texture,n.isReady=!0}finally{r.delete()}}))},e.prototype._determineTranscodeFormat=function(e,t){if(t.s3tc)return e.BC1_OR_3;if(t.etc2)return e.ETC;throw new Error("No compatible format available")},e.IsValid=function(e){if(e.byteLength>=12){var t=new Uint8Array(e.buffer,e.byteOffset,12);if(171===t[0]&&75===t[1]&&84===t[2]&&88===t[3]&&32===t[4]&&50===t[5]&&48===t[6]&&187===t[7]&&13===t[8]&&10===t[9]&&26===t[10]&&10===t[11])return!0}return!1},e}(),io=function(){function e(){this.supportCascades=!1}return e.prototype.canLoad=function(e){return Jr.a.EndsWith(e,".ktx")||Jr.a.EndsWith(e,".ktx2")},e.prototype.loadCubeData=function(e,t,n,i,r){if(!Array.isArray(e)){t._invertVScale=!t.invertY;var o=t.getEngine(),a=new to(e,6),s=a.numberOfMipmapLevels>1&&t.generateMipMaps;o._unpackFlipY(!0),a.uploadLevels(t,t.generateMipMaps),t.width=a.pixelWidth,t.height=a.pixelHeight,o._setCubeMapTextureParams(s),t.isReady=!0,t.onLoadedObservable.notifyObservers(t),t.onLoadedObservable.clear(),i&&i()}},e.prototype.loadData=function(e,t,n){if(to.IsValid(e)){t._invertVScale=!t.invertY;var i=new to(e,1);n(i.pixelWidth,i.pixelHeight,t.generateMipMaps,!0,(function(){i.uploadLevels(t,t.generateMipMaps)}),i.isInvalid)}else if(no.IsValid(e)){new no(t.getEngine()).uploadAsync(e,t).then((function(){n(t.width,t.height,!1,!0,(function(){}),!1)}),(function(e){m.a.Warn("Failed to load KTX2 texture data: "+e.message),n(0,0,!1,!1,(function(){}),!0)}))}else n(0,0,!1,!1,(function(){}),!0)},e}();ne.a._TextureLoaders.unshift(new io);var ro=function(e){function t(t,n,i){var r=e.call(this,t,a.e.Zero(),n)||this;return r._xrSessionManager=i,r._firstFrame=!1,r._referenceQuaternion=a.b.Identity(),r._referencedPosition=new a.e,r._xrInvPositionCache=new a.e,r._xrInvQuaternionCache=a.b.Identity(),r.compensateOnFirstFrame=!0,r.minZ=.1,r.rotationQuaternion=new a.b,r.cameraRigMode=xe.a.RIG_MODE_CUSTOM,r.updateUpVectorFromRotation=!0,r._updateNumberOfRigCameras(1),r._xrSessionManager.onXRSessionInit.add((function(){r._referencedPosition.copyFromFloats(0,0,0),r._referenceQuaternion.copyFromFloats(0,0,0,1),r._firstFrame=r.compensateOnFirstFrame})),r._xrSessionManager.onXRFrameObservable.add((function(e){r._firstFrame&&r._updateFromXRSession(),r._updateReferenceSpace(),r._updateFromXRSession()}),void 0,!0),r}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"realWorldHeight",{get:function(){var e=this._xrSessionManager.currentFrame&&this._xrSessionManager.currentFrame.getViewerPose(this._xrSessionManager.baseReferenceSpace);return e&&e.transform?e.transform.position.y:0},enumerable:!0,configurable:!0}),t.prototype._updateForDualEyeDebugging=function(){this._updateNumberOfRigCameras(2),this.rigCameras[0].viewport=new dn.a(0,0,.5,1),this.rigCameras[0].outputRenderTarget=null,this.rigCameras[1].viewport=new dn.a(.5,0,.5,1),this.rigCameras[1].outputRenderTarget=null},t.prototype.setTransformationFromNonVRCamera=function(e,t){(void 0===e&&(e=this.getScene().activeCamera),void 0===t&&(t=!0),e&&e!==this)&&(e.computeWorldMatrix().decompose(void 0,this.rotationQuaternion,this.position),this.position.y=0,a.b.FromEulerAnglesToRef(0,this.rotationQuaternion.toEulerAngles().y,0,this.rotationQuaternion),this._firstFrame=!0,t&&this._xrSessionManager.resetReferenceSpace())},t.prototype.getClassName=function(){return"WebXRCamera"},t.prototype._updateFromXRSession=function(){var e=this,t=this._xrSessionManager.currentFrame&&this._xrSessionManager.currentFrame.getViewerPose(this._xrSessionManager.referenceSpace);t&&(t.transform&&(this._referencedPosition.copyFrom(t.transform.position),this._referenceQuaternion.copyFrom(t.transform.orientation),this._scene.useRightHandedSystem||(this._referencedPosition.z*=-1,this._referenceQuaternion.z*=-1,this._referenceQuaternion.w*=-1),this._firstFrame?(this._firstFrame=!1,this.position.y+=this._referencedPosition.y,this._referenceQuaternion.copyFromFloats(0,0,0,1)):(this.rotationQuaternion.copyFrom(this._referenceQuaternion),this.position.copyFrom(this._referencedPosition))),this.rigCameras.length!==t.views.length&&this._updateNumberOfRigCameras(t.views.length),t.views.forEach((function(t,n){var i=e.rigCameras[n];if(i.isLeftCamera||i.isRightCamera||("right"===t.eye?i._isRightCamera=!0:"left"===t.eye&&(i._isLeftCamera=!0)),t.transform.position?(i.position.copyFrom(t.transform.position),i.rotationQuaternion.copyFrom(t.transform.orientation),e._scene.useRightHandedSystem||(i.position.z*=-1,i.rotationQuaternion.z*=-1,i.rotationQuaternion.w*=-1)):(a.a.FromFloat32ArrayToRefScaled(t.transform.matrix,0,1,i._computedViewMatrix),e._scene.useRightHandedSystem||i._computedViewMatrix.toggleModelMatrixHandInPlace()),a.a.FromFloat32ArrayToRefScaled(t.projectionMatrix,0,1,i._projectionMatrix),e._scene.useRightHandedSystem||i._projectionMatrix.toggleProjectionMatrixHandInPlace(),e._xrSessionManager.session.renderState.baseLayer){var r=e._xrSessionManager.session.renderState.baseLayer.getViewport(t),o=e._xrSessionManager.session.renderState.baseLayer.framebufferWidth,s=e._xrSessionManager.session.renderState.baseLayer.framebufferHeight;i.viewport.width=r.width/o,i.viewport.height=r.height/s,i.viewport.x=r.x/o,i.viewport.y=r.y/s}i.outputRenderTarget=e._xrSessionManager.getRenderTargetTextureForEye(t.eye)})))},t.prototype._updateNumberOfRigCameras=function(e){for(void 0===e&&(e=1);this.rigCameras.lengthe;){var n=this.rigCameras.pop();n&&n.dispose()}},t.prototype._updateReferenceSpace=function(){this.position.equals(this._referencedPosition)&&this.rotationQuaternion.equals(this._referenceQuaternion)||(this.position.subtractToRef(this._referencedPosition,this._referencedPosition),this._referenceQuaternion.conjugateInPlace(),this._referenceQuaternion.multiplyToRef(this.rotationQuaternion,this._referenceQuaternion),this._updateReferenceSpaceOffset(this._referencedPosition,this._referenceQuaternion.normalize()))},t.prototype._updateReferenceSpaceOffset=function(e,t,n){if(void 0===n&&(n=!1),this._xrSessionManager.referenceSpace&&this._xrSessionManager.currentFrame){this._xrInvPositionCache.copyFrom(e),t?this._xrInvQuaternionCache.copyFrom(t):this._xrInvQuaternionCache.copyFromFloats(0,0,0,1),this._scene.useRightHandedSystem||(this._xrInvPositionCache.z*=-1,this._xrInvQuaternionCache.z*=-1,this._xrInvQuaternionCache.w*=-1),this._xrInvPositionCache.negateInPlace(),this._xrInvQuaternionCache.conjugateInPlace(),this._xrInvPositionCache.rotateByQuaternionToRef(this._xrInvQuaternionCache,this._xrInvPositionCache),n&&(this._xrInvPositionCache.y=0);var i=new XRRigidTransform(Object(p.a)({},this._xrInvPositionCache),Object(p.a)({},this._xrInvQuaternionCache)),r=this._xrSessionManager.referenceSpace.getOffsetReferenceSpace(i),o=this._xrSessionManager.currentFrame&&this._xrSessionManager.currentFrame.getViewerPose(r);if(o){var s=new a.e;s.copyFrom(o.transform.position),this._scene.useRightHandedSystem||(s.z*=-1),this.position.subtractToRef(s,s),this._scene.useRightHandedSystem||(s.z*=-1),s.negateInPlace();var c=new XRRigidTransform(Object(p.a)({},s));this._xrSessionManager.referenceSpace=r.getOffsetReferenceSpace(c)}}},t}(dt.a),oo=function(){function e(){}return e.ANCHOR_SYSTEM="xr-anchor-system",e.BACKGROUND_REMOVER="xr-background-remover",e.HIT_TEST="xr-hit-test",e.PHYSICS_CONTROLLERS="xr-physics-controller",e.PLANE_DETECTION="xr-plane-detection",e.POINTER_SELECTION="xr-controller-pointer-selection",e.TELEPORTATION="xr-controller-teleportation",e}(),ao=function(){function e(e){var t=this;this._xrSessionManager=e,this._features={},this._xrSessionManager.onXRSessionInit.add((function(){t.getEnabledFeatures().forEach((function(e){var n=t._features[e];!n.enabled||n.featureImplementation.attached||n.featureImplementation.disableAutoAttach||t.attachFeature(e)}))})),this._xrSessionManager.onXRSessionEnded.add((function(){t.getEnabledFeatures().forEach((function(e){var n=t._features[e];n.enabled&&n.featureImplementation.attached&&t.detachFeature(e)}))}))}return e.AddWebXRFeature=function(e,t,n,i){void 0===n&&(n=1),void 0===i&&(i=!1),this._AvailableFeatures[e]=this._AvailableFeatures[e]||{latest:n},n>this._AvailableFeatures[e].latest&&(this._AvailableFeatures[e].latest=n),i&&(this._AvailableFeatures[e].stable=n),this._AvailableFeatures[e][n]=t},e.ConstructFeature=function(e,t,n,i){void 0===t&&(t=1);var r=this._AvailableFeatures[e][t];if(!r)throw new Error("feature not found");return r(n,i)},e.GetAvailableFeatures=function(){return Object.keys(this._AvailableFeatures)},e.GetAvailableVersions=function(e){return Object.keys(this._AvailableFeatures[e])},e.GetLatestVersionOfFeature=function(e){return this._AvailableFeatures[e]&&this._AvailableFeatures[e].latest||-1},e.GetStableVersionOfFeature=function(e){return this._AvailableFeatures[e]&&this._AvailableFeatures[e].stable||-1},e.prototype.attachFeature=function(e){var t=this._features[e];t&&t.enabled&&!t.featureImplementation.attached&&t.featureImplementation.attach()},e.prototype.detachFeature=function(e){var t=this._features[e];t&&t.featureImplementation.attached&&t.featureImplementation.detach()},e.prototype.disableFeature=function(e){var t="string"==typeof e?e:e.Name,n=this._features[t];return!(!n||!n.enabled)&&(n.enabled=!1,this.detachFeature(t),n.featureImplementation.dispose(),!0)},e.prototype.dispose=function(){var e=this;this.getEnabledFeatures().forEach((function(t){e.disableFeature(t),e._features[t].featureImplementation.dispose()}))},e.prototype.enableFeature=function(t,n,i,r){void 0===n&&(n="latest"),void 0===i&&(i={}),void 0===r&&(r=!0);var o="string"==typeof t?t:t.Name,a=0;if("string"==typeof n){if(!n)throw new Error("Error in provided version - "+o+" ("+n+")");if(-1===(a="stable"===n?e.GetStableVersionOfFeature(o):"latest"===n?e.GetLatestVersionOfFeature(o):+n)||isNaN(a))throw new Error("feature not found - "+o+" ("+n+")")}else a=n;var s=this._features[o],c=e.ConstructFeature(o,a,this._xrSessionManager,i);if(!c)throw new Error("feature not found - "+o);return s&&this.disableFeature(o),this._features[o]={featureImplementation:c(),enabled:!0,version:a},r?this._xrSessionManager.session&&!s.featureImplementation.attached&&this.attachFeature(o):this._features[o].featureImplementation.disableAutoAttach=!0,this._features[o].featureImplementation},e.prototype.getEnabledFeature=function(e){return this._features[e]&&this._features[e].featureImplementation},e.prototype.getEnabledFeatures=function(){return Object.keys(this._features)},e._AvailableFeatures={},e}(),so=function(){function e(e){var t=this;this.scene=e,this._nonVRCamera=null,this._originalSceneAutoClear=!0,this._supported=!1,this.onInitialXRPoseSetObservable=new o.c,this.onStateChangedObservable=new o.c,this.state=wn.NOT_IN_XR,this.sessionManager=new Fn(e),this.camera=new ro("",e,this.sessionManager),this.featuresManager=new ao(this.sessionManager),e.onDisposeObservable.add((function(){t.exitXRAsync()}))}return e.CreateAsync=function(t){var n=new e(t);return n.sessionManager.initializeAsync().then((function(){return n._supported=!0,n})).catch((function(e){throw n._setState(wn.NOT_IN_XR),n.dispose(),e}))},e.prototype.dispose=function(){this.camera.dispose(),this.onStateChangedObservable.clear(),this.onInitialXRPoseSetObservable.clear(),this.sessionManager.dispose(),this._nonVRCamera&&(this.scene.activeCamera=this._nonVRCamera)},e.prototype.enterXRAsync=function(e,t,n){var i=this;if(void 0===n&&(n=this.sessionManager.getWebXRRenderTarget()),!this._supported)throw"WebXR not supported in this browser or environment";this._setState(wn.ENTERING_XR);var r={optionalFeatures:"viewer"!==t&&"local"!==t?[t]:[]};return"immersive-ar"===e&&"local"!==t&&m.a.Warn("We recommend using 'local' reference space type when using 'immersive-ar' session mode"),this.sessionManager.isSessionSupportedAsync(e).then((function(t){if(!t)throw new Error('Session mode "'+e+'" not supported in browser');return i.sessionManager.initializeSessionAsync(e,r)})).then((function(){return i.sessionManager.setReferenceSpaceTypeAsync(t)})).then((function(){return n.initializeXRLayerAsync(i.sessionManager.session)})).then((function(){return i.sessionManager.updateRenderStateAsync({depthFar:i.camera.maxZ,depthNear:i.camera.minZ,baseLayer:n.xrLayer})})).then((function(){return i.sessionManager.runXRRenderLoop(),i._originalSceneAutoClear=i.scene.autoClear,i._nonVRCamera=i.scene.activeCamera,i.scene.autoClear=!1,i.scene.activeCamera=i.camera,"immersive-ar"!==e?i._nonXRToXRCamera():i.camera.compensateOnFirstFrame=!1,i.sessionManager.onXRSessionEnded.addOnce((function(){i.camera.rigCameras.forEach((function(e){e.outputRenderTarget=null})),i.scene.autoClear=i._originalSceneAutoClear,i.scene.activeCamera=i._nonVRCamera,"immersive-ar"!==e&&i.camera.compensateOnFirstFrame&&(i._nonVRCamera.setPosition?i._nonVRCamera.setPosition(i.camera.position):i._nonVRCamera.position.copyFrom(i.camera.position)),i._setState(wn.NOT_IN_XR)})),i.sessionManager.onXRFrameObservable.addOnce((function(){i._setState(wn.IN_XR)})),i.sessionManager})).catch((function(e){throw console.log(e),console.log(e.message),i._setState(wn.NOT_IN_XR),e}))},e.prototype.exitXRAsync=function(){return this._setState(wn.EXITING_XR),this.sessionManager.exitXRAsync()},e.prototype._nonXRToXRCamera=function(){this.camera.setTransformationFromNonVRCamera(this._nonVRCamera),this.onInitialXRPoseSetObservable.notifyObservers(this.camera)},e.prototype._setState=function(e){this.state!==e&&(this.state=e,this.onStateChangedObservable.notifyObservers(this.state))},e}(),co=function(){function e(e,t,n,i){void 0===n&&(n=-1),void 0===i&&(i=[]),this.id=e,this.type=t,this._buttonIndex=n,this._axesIndices=i,this._axes={x:0,y:0},this._changes={},this._currentValue=0,this._hasChanges=!1,this._pressed=!1,this._touched=!1,this.onAxisValueChangedObservable=new o.c,this.onButtonStateChangedObservable=new o.c}return Object.defineProperty(e.prototype,"axes",{get:function(){return this._axes},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"changes",{get:function(){return this._changes},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasChanges",{get:function(){return this._hasChanges},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pressed",{get:function(){return this._pressed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"touched",{get:function(){return this._touched},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._currentValue},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.onAxisValueChangedObservable.clear(),this.onButtonStateChangedObservable.clear()},e.prototype.isAxes=function(){return 0!==this._axesIndices.length},e.prototype.isButton=function(){return-1!==this._buttonIndex},e.prototype.update=function(e){var t=!1,n=!1;if(this._hasChanges=!1,this._changes={},this.isButton()){var i=e.buttons[this._buttonIndex];if(!i)return;this._currentValue!==i.value&&(this.changes.value={current:i.value,previous:this._currentValue},t=!0,this._currentValue=i.value),this._touched!==i.touched&&(this.changes.touched={current:i.touched,previous:this._touched},t=!0,this._touched=i.touched),this._pressed!==i.pressed&&(this.changes.pressed={current:i.pressed,previous:this._pressed},t=!0,this._pressed=i.pressed)}this.isAxes()&&(this._axes.x!==e.axes[this._axesIndices[0]]&&(this.changes.axes={current:{x:e.axes[this._axesIndices[0]],y:this._axes.y},previous:{x:this._axes.x,y:this._axes.y}},this._axes.x=e.axes[this._axesIndices[0]],n=!0),this._axes.y!==e.axes[this._axesIndices[1]]&&(this.changes.axes?this.changes.axes.current.y=e.axes[this._axesIndices[1]]:this.changes.axes={current:{x:this._axes.x,y:e.axes[this._axesIndices[1]]},previous:{x:this._axes.x,y:this._axes.y}},this._axes.y=e.axes[this._axesIndices[1]],n=!0)),t&&(this._hasChanges=!0,this.onButtonStateChangedObservable.notifyObservers(this)),n&&(this._hasChanges=!0,this.onAxisValueChangedObservable.notifyObservers(this._axes))},e.BUTTON_TYPE="button",e.SQUEEZE_TYPE="squeeze",e.THUMBSTICK_TYPE="thumbstick",e.TOUCHPAD_TYPE="touchpad",e.TRIGGER_TYPE="trigger",e}(),lo=function(){function e(e,t,n,i,r){var a=this;void 0===r&&(r=!1),this.scene=e,this.layout=t,this.gamepadObject=n,this.handness=i,this._initComponent=function(e){if(e){var t=a.layout.components[e],n=t.type,i=t.gamepadIndices.button,r=[];void 0!==t.gamepadIndices.xAxis&&void 0!==t.gamepadIndices.yAxis&&r.push(t.gamepadIndices.xAxis,t.gamepadIndices.yAxis),a.components[e]=new co(e,n,i,r)}},this._modelReady=!1,this.components={},this.disableAnimation=!1,this.onModelLoadedObservable=new o.c,t.components&&Object.keys(t.components).forEach(this._initComponent)}return e.prototype.dispose=function(){var e=this;this.getComponentIds().forEach((function(t){return e.getComponent(t).dispose()})),this.rootMesh&&this.rootMesh.dispose()},e.prototype.getAllComponentsOfType=function(e){var t=this;return this.getComponentIds().map((function(e){return t.components[e]})).filter((function(t){return t.type===e}))},e.prototype.getComponent=function(e){return this.components[e]},e.prototype.getComponentIds=function(){return Object.keys(this.components)},e.prototype.getComponentOfType=function(e){return this.getAllComponentsOfType(e)[0]||null},e.prototype.getMainComponent=function(){return this.getComponent(this.layout.selectComponentId)},e.prototype.loadModel=function(){return Object(p.b)(this,void 0,void 0,(function(){var e,t,n=this;return Object(p.e)(this,(function(i){return e=!this._getModelLoadingConstraints(),t=this._getGenericFilenameAndPath(),e?m.a.Warn("Falling back to generic models"):t=this._getFilenameAndPath(),[2,new Promise((function(i,r){Qi.a.ImportMesh("",t.path,t.filename,n.scene,(function(t){e?n._getGenericParentMesh(t):n._setRootMesh(t),n._processLoadedModel(t),n._modelReady=!0,n.onModelLoadedObservable.notifyObservers(n),i(!0)}),null,(function(e,i){m.a.Log(i),m.a.Warn("Failed to retrieve controller model of type "+n.profileId+" from the remote server: "+t.path+t.filename),r(i)}))}))]}))}))},e.prototype.updateFromXRFrame=function(e){var t=this;this.getComponentIds().forEach((function(e){return t.getComponent(e).update(t.gamepadObject)})),this.updateModel(e)},e.prototype._getChildByName=function(e,t){return e.getChildren((function(e){return e.name===t}),!1)[0]},e.prototype._getImmediateChildByName=function(e,t){return e.getChildren((function(e){return e.name==t}),!0)[0]},e.prototype._lerpTransform=function(e,t,n){if(e.minMesh&&e.maxMesh&&e.minMesh.rotationQuaternion&&e.maxMesh.rotationQuaternion&&e.valueMesh.rotationQuaternion){var i=n?.5*t+.5:t;a.b.SlerpToRef(e.minMesh.rotationQuaternion,e.maxMesh.rotationQuaternion,i,e.valueMesh.rotationQuaternion),a.e.LerpToRef(e.minMesh.position,e.maxMesh.position,i,e.valueMesh.position)}},e.prototype.updateModel=function(e){this._modelReady&&this._updateModel(e)},e.prototype._getGenericFilenameAndPath=function(){return{filename:"generic.babylon",path:"https://controllers.babylonjs.com/generic/"}},e.prototype._getGenericParentMesh=function(e){var t=this;this.rootMesh=new ve.a(this.profileId+" "+this.handness,this.scene),e.forEach((function(e){e.parent||(e.isPickable=!1,e.setParent(t.rootMesh))})),this.rootMesh.rotationQuaternion=a.b.FromEulerAngles(0,Math.PI,0)},e}(),uo=function(e){function t(n,i,r){var o=e.call(this,n,po[r],i,r)||this;return o.profileId=t.ProfileId,o}return Object(p.d)(t,e),t.prototype._getFilenameAndPath=function(){return{filename:"generic.babylon",path:"https://controllers.babylonjs.com/generic/"}},t.prototype._getModelLoadingConstraints=function(){return!0},t.prototype._processLoadedModel=function(e){},t.prototype._setRootMesh=function(e){var t=this;this.rootMesh=new ve.a(this.profileId+" "+this.handness,this.scene),e.forEach((function(e){e.isPickable=!1,e.parent||e.setParent(t.rootMesh)})),this.rootMesh.rotationQuaternion=a.b.FromEulerAngles(0,Math.PI,0)},t.prototype._updateModel=function(){},t.ProfileId="generic-trigger",t}(lo),po={left:{selectComponentId:"xr-standard-trigger",components:{"xr-standard-trigger":{type:"trigger",gamepadIndices:{button:0},rootNodeName:"xr_standard_trigger",visualResponses:{}}},gamepadMapping:"xr-standard",rootNodeName:"generic-trigger-left",assetPath:"left.glb"},right:{selectComponentId:"xr-standard-trigger",components:{"xr-standard-trigger":{type:"trigger",gamepadIndices:{button:0},rootNodeName:"xr_standard_trigger",visualResponses:{}}},gamepadMapping:"xr-standard",rootNodeName:"generic-trigger-right",assetPath:"right.glb"},none:{selectComponentId:"xr-standard-trigger",components:{"xr-standard-trigger":{type:"trigger",gamepadIndices:{button:0},rootNodeName:"xr_standard_trigger",visualResponses:{}}},gamepadMapping:"xr-standard",rootNodeName:"generic-trigger-none",assetPath:"none.glb"}},ho=function(e){function t(t,n,i,r){var o=e.call(this,t,i.layouts[n.handedness||"none"],n.gamepad,n.handedness)||this;return o._repositoryUrl=r,o._buttonMeshMapping={},o._touchDots={},o.profileId=i.profileId,o}return Object(p.d)(t,e),t.prototype.dispose=function(){var t=this;e.prototype.dispose.call(this),Object.keys(this._touchDots).forEach((function(e){t._touchDots[e].dispose()}))},t.prototype._getFilenameAndPath=function(){return{filename:this.layout.assetPath,path:this._repositoryUrl+"/profiles/"+this.profileId+"/"}},t.prototype._getModelLoadingConstraints=function(){var e=Qi.a.IsPluginForExtensionAvailable(".glb");return e||m.a.Warn("glTF / glb loaded was not registered, using generic controller instead"),e},t.prototype._processLoadedModel=function(e){var t=this;this.getComponentIds().forEach((function(e){var n=t.layout.components[e];t._buttonMeshMapping[e]={mainMesh:t._getChildByName(t.rootMesh,n.rootNodeName),states:{}},Object.keys(n.visualResponses).forEach((function(i){var r=n.visualResponses[i];if("transform"===r.valueNodeProperty)t._buttonMeshMapping[e].states[i]={valueMesh:t._getChildByName(t.rootMesh,r.valueNodeName),minMesh:t._getChildByName(t.rootMesh,r.minNodeName),maxMesh:t._getChildByName(t.rootMesh,r.maxNodeName)};else{var o=n.type===co.TOUCHPAD_TYPE&&n.touchPointNodeName?n.touchPointNodeName:r.valueNodeName;if(t._buttonMeshMapping[e].states[i]={valueMesh:t._getChildByName(t.rootMesh,o)},n.type===co.TOUCHPAD_TYPE&&!t._touchDots[i]){var a=ui.CreateSphere(i+"dot",{diameter:.0015,segments:8},t.scene);a.material=new An.a(i+"mat",t.scene),a.material.diffuseColor=s.a.Red(),a.parent=t._buttonMeshMapping[e].states[i].valueMesh,a.isVisible=!1,t._touchDots[i]=a}}}))}))},t.prototype._setRootMesh=function(e){var t;this.rootMesh=new ve.a(this.profileId+"-"+this.handness,this.scene),this.rootMesh.isPickable=!1;for(var n=0;ni/10&&(a.isVisible=!0),(s+=t._scene.getEngine().getDeltaTime())>=i)t._scene.simulatePointerDown(n.pick,{pointerId:n.id}),c=!0,t._options.disablePointerUpOnTouchOut&&t._scene.simulatePointerUp(n.pick,{pointerId:n.id}),a.isVisible=!1;else{var e=1-s/i;a.scaling.set(e,e,e)}else c=!1,s=0;t._scene.simulatePointerMove(n.pick,{pointerId:n.id}),o=n.pick}})),void 0!==this._options.renderingGroupId&&(a.renderingGroupId=this._options.renderingGroupId),e.onDisposeObservable.addOnce((function(){n.pick&&!t._options.disablePointerUpOnTouchOut&&c&&t._scene.simulatePointerUp(n.pick,{pointerId:n.id}),a.dispose()}))},t.prototype._attachScreenRayMode=function(e){var t=this,n=this._controllers[e.uniqueId],i=!1;n.onFrameObserver=this._xrSessionManager.onXRFrameObservable.add((function(){!n.pick||t._options.disablePointerUpOnTouchOut&&i||(i?t._scene.simulatePointerMove(n.pick,{pointerId:n.id}):(t._scene.simulatePointerDown(n.pick,{pointerId:n.id}),i=!0,t._options.disablePointerUpOnTouchOut&&t._scene.simulatePointerUp(n.pick,{pointerId:n.id})))})),e.onDisposeObservable.addOnce((function(){n.pick&&i&&!t._options.disablePointerUpOnTouchOut&&t._scene.simulatePointerUp(n.pick,{pointerId:n.id})}))},t.prototype._attachTrackedPointerRayMode=function(e){var t=this;e.onMotionControllerInitObservable.add((function(n){if(t._options.forceGazeMode)return t._attachGazeMode(e);var i=t._controllers[e.uniqueId];t._options.overrideButtonId&&(i.selectionComponent=n.getComponent(t._options.overrideButtonId)),i.selectionComponent||(i.selectionComponent=n.getMainComponent()),i.onFrameObserver=t._xrSessionManager.onXRFrameObservable.add((function(){i.selectionComponent&&i.selectionComponent.pressed?(i.selectionMesh.material.emissiveColor=t.selectionMeshPickedColor,i.laserPointer.material.emissiveColor=t.laserPointerPickedColor):(i.selectionMesh.material.emissiveColor=t.selectionMeshDefaultColor,i.laserPointer.material.emissiveColor=t.lasterPointerDefaultColor),i.laserPointer.isVisible=t.displayLaserPointer,i.laserPointer.material.disableLighting=t.disablePointerLighting,i.selectionMesh.material.disableLighting=t.disableSelectionMeshLighting,i.pick&&t._scene.simulatePointerMove(i.pick,{pointerId:i.id})})),i.onButtonChangedObserver=i.selectionComponent.onButtonStateChangedObservable.add((function(e){if(e.changes.pressed){var n=e.changes.pressed.current;i.pick&&(n?t._scene.simulatePointerDown(i.pick,{pointerId:i.id}):t._scene.simulatePointerUp(i.pick,{pointerId:i.id}))}}))}))},t.prototype._convertNormalToDirectionOfRay=function(e,t){e&&(Math.acos(a.e.Dot(e,t.direction))i},t.prototype._updatePointerDistance=function(e,t){void 0===t&&(t=100),e.scaling.y=t,e.position.z=t/2+.05},t._idCounter=0,t.Name=oo.POINTER_SELECTION,t.Version=1,t}(go);ao.AddWebXRFeature(vo.Name,(function(e,t){return function(){return new vo(e,t)}}),vo.Version,!0);var yo=function(){function e(e,t,n){this.element=e,this.sessionMode=t,this.referenceSpaceType=n}return e.prototype.update=function(e){},e}(),Co=function(){},Ao=function(){function e(e,t){var n=this;if(this.scene=e,this.options=t,this._activeButton=null,this._buttons=[],this.activeButtonChangedObservable=new o.c,this._overlay=document.createElement("div"),this._overlay.style.cssText="z-index:11;position: absolute; right: 20px;bottom: 50px;",t.customButtons)this._buttons=t.customButtons;else{var i=t.sessionMode||"immersive-vr",r=t.referenceSpaceType||"local-floor",a=".babylonVRicon { color: #868686; border-color: #868686; border-style: solid; margin-left: 10px; height: 50px; width: 80px; background-color: rgba(51,51,51,0.7); background-image: url("+(window.SVGSVGElement?"data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%222048%22%20height%3D%221152%22%20viewBox%3D%220%200%202048%201152%22%20version%3D%221.1%22%3E%3Cpath%20transform%3D%22rotate%28180%201024%2C576.0000000000001%29%22%20d%3D%22m1109%2C896q17%2C0%2030%2C-12t13%2C-30t-12.5%2C-30.5t-30.5%2C-12.5l-170%2C0q-18%2C0%20-30.5%2C12.5t-12.5%2C30.5t13%2C30t30%2C12l170%2C0zm-85%2C256q59%2C0%20132.5%2C-1.5t154.5%2C-5.5t164.5%2C-11.5t163%2C-20t150%2C-30t124.5%2C-41.5q23%2C-11%2042%2C-24t38%2C-30q27%2C-25%2041%2C-61.5t14%2C-72.5l0%2C-257q0%2C-123%20-47%2C-232t-128%2C-190t-190%2C-128t-232%2C-47l-81%2C0q-37%2C0%20-68.5%2C14t-60.5%2C34.5t-55.5%2C45t-53%2C45t-53%2C34.5t-55.5%2C14t-55.5%2C-14t-53%2C-34.5t-53%2C-45t-55.5%2C-45t-60.5%2C-34.5t-68.5%2C-14l-81%2C0q-123%2C0%20-232%2C47t-190%2C128t-128%2C190t-47%2C232l0%2C257q0%2C68%2038%2C115t97%2C73q54%2C24%20124.5%2C41.5t150%2C30t163%2C20t164.5%2C11.5t154.5%2C5.5t132.5%2C1.5zm939%2C-298q0%2C39%20-24.5%2C67t-58.5%2C42q-54%2C23%20-122%2C39.5t-143.5%2C28t-155.5%2C19t-157%2C11t-148.5%2C5t-129.5%2C1.5q-59%2C0%20-130%2C-1.5t-148%2C-5t-157%2C-11t-155.5%2C-19t-143.5%2C-28t-122%2C-39.5q-34%2C-14%20-58.5%2C-42t-24.5%2C-67l0%2C-257q0%2C-106%2040.5%2C-199t110%2C-162.5t162.5%2C-109.5t199%2C-40l81%2C0q27%2C0%2052%2C14t50%2C34.5t51%2C44.5t55.5%2C44.5t63.5%2C34.5t74%2C14t74%2C-14t63.5%2C-34.5t55.5%2C-44.5t51%2C-44.5t50%2C-34.5t52%2C-14l14%2C0q37%2C0%2070%2C0.5t64.5%2C4.5t63.5%2C12t68%2C23q71%2C30%20128.5%2C78.5t98.5%2C110t63.5%2C133.5t22.5%2C149l0%2C257z%22%20fill%3D%22white%22%20/%3E%3C/svg%3E%0A":"https://cdn.babylonjs.com/Assets/vrButton.png")+"); background-size: 80%; background-repeat:no-repeat; background-position: center; border: none; outline: none; transition: transform 0.125s ease-out } .babylonVRicon:hover { transform: scale(1.05) } .babylonVRicon:active {background-color: rgba(51,51,51,1) } .babylonVRicon:focus {background-color: rgba(51,51,51,1) }";a+='.babylonVRicon.vrdisplaypresenting { background-image: none;} .vrdisplaypresenting::after { content: "EXIT"} .xr-error::after { content: "ERROR"}';var s=document.createElement("style");s.appendChild(document.createTextNode(a)),document.getElementsByTagName("head")[0].appendChild(s);var c=document.createElement("button");c.className="babylonVRicon",c.title=i+" - "+r,this._buttons.push(new yo(c,i,r)),this._buttons[this._buttons.length-1].update=function(e){this.element.style.display=null===e||e===this?"":"none",c.className="babylonVRicon"+(e===this?" vrdisplaypresenting":"")},this._updateButtons(null)}var l=e.getEngine().getInputElement();l&&l.parentNode&&(l.parentNode.appendChild(this._overlay),e.onDisposeObservable.addOnce((function(){n.dispose()})))}return e.CreateAsync=function(t,n,i){var r=this,o=new e(t,i),a=o._buttons.map((function(e){return n.sessionManager.isSessionSupportedAsync(e.sessionMode)}));return n.onStateChangedObservable.add((function(e){e==wn.NOT_IN_XR&&o._updateButtons(null)})),Promise.all(a).then((function(e){return e.forEach((function(e,t){e&&(o._overlay.appendChild(o._buttons[t].element),o._buttons[t].element.onclick=function(){return Object(p.b)(r,void 0,void 0,(function(){var e,r;return Object(p.e)(this,(function(a){switch(a.label){case 0:return n.state!=wn.IN_XR?[3,2]:[4,n.exitXRAsync()];case 1:return a.sent(),o._updateButtons(null),[3,6];case 2:if(n.state!=wn.NOT_IN_XR)return[3,6];if(!i.renderTarget)return[3,6];a.label=3;case 3:return a.trys.push([3,5,,6]),[4,n.enterXRAsync(o._buttons[t].sessionMode,o._buttons[t].referenceSpaceType,i.renderTarget)];case 4:return a.sent(),o._updateButtons(o._buttons[t]),[3,6];case 5:return a.sent(),o._updateButtons(null),e=o._buttons[t].element,r=e.title,e.title="Error entering XR session : "+r,e.classList.add("xr-error"),[3,6];case 6:return[2]}}))}))})})),o}))},e.prototype.dispose=function(){var e=this.scene.getEngine().getInputElement();e&&e.parentNode&&e.parentNode.contains(this._overlay)&&e.parentNode.removeChild(this._overlay),this.activeButtonChangedObservable.clear()},e.prototype._updateButtons=function(e){var t=this;this._activeButton=e,this._buttons.forEach((function(e){e.update(t._activeButton)})),this.activeButtonChangedObservable.notifyObservers(this._activeButton)},e}(),xo=function(e){function t(t,n){var i=e.call(this,t)||this;return i._options=n,i._controllers={},i._snappedToPoint=!1,i._tmpRay=new Se(new a.e,new a.e),i._tmpVector=new a.e,i.backwardsMovementEnabled=!0,i.backwardsTeleportationDistance=.7,i.parabolicCheckRadius=5,i.parabolicRayEnabled=!0,i.rotationAngle=Math.PI/8,i.rotationEnabled=!0,i._attachController=function(e){if(!i._controllers[e.uniqueId]){i._controllers[e.uniqueId]={xrController:e,teleportationState:{forward:!1,backwards:!1,rotating:!1,currentRotation:0,baseRotation:0}};var t=i._controllers[e.uniqueId];e.onMotionControllerInitObservable.addOnce((function(){if(e.motionController){var n=e.motionController.getComponentOfType(co.THUMBSTICK_TYPE)||e.motionController.getComponentOfType(co.TOUCHPAD_TYPE);if(!n||i._options.useMainComponentOnly){var r=e.motionController.getMainComponent();if(!r)return;t.onButtonChangedObserver=r.onButtonStateChangedObservable.add((function(){if(r.changes.pressed)if(r.changes.pressed.current){t.teleportationState.forward=!0,i._currentTeleportationControllerId=t.xrController.uniqueId,t.teleportationState.baseRotation=i._options.xrInput.xrCamera.rotationQuaternion.toEulerAngles().y,t.teleportationState.currentRotation=0;var n=i._options.timeToTeleport||3e3,o=0,a=i._xrSessionManager.onXRFrameObservable.add((function(){r.pressed?((o+=i._xrSessionManager.scene.getEngine().getDeltaTime())>=n&&i._currentTeleportationControllerId===t.xrController.uniqueId&&t.teleportationState.forward&&i._teleportForward(e.uniqueId),o>=n&&i._xrSessionManager.onXRFrameObservable.remove(a)):i._xrSessionManager.onXRFrameObservable.remove(a)}))}else t.teleportationState.forward=!1,i._currentTeleportationControllerId=""}))}else t.onButtonChangedObserver=n.onButtonStateChangedObservable.add((function(){i._currentTeleportationControllerId===t.xrController.uniqueId&&t.teleportationState.forward&&!n.touched&&i._teleportForward(e.uniqueId)})),t.onAxisChangedObserver=n.onAxisValueChangedObservable.add((function(e){if(e.y<=.7&&t.teleportationState.backwards&&(t.teleportationState.backwards=!1),e.y>.7&&!t.teleportationState.forward&&i.backwardsMovementEnabled&&!i.snapPointsOnly&&!t.teleportationState.backwards){t.teleportationState.backwards=!0,i._tmpVector.set(0,0,i.backwardsTeleportationDistance),i._tmpVector.rotateByQuaternionToRef(i._options.xrInput.xrCamera.rotationQuaternion,i._tmpVector),i._tmpVector.addInPlace(i._options.xrInput.xrCamera.position),i._options.xrInput.xrCamera.position.subtractToRef(i._tmpVector,i._tmpVector),i._tmpRay.origin.copyFrom(i._tmpVector),i._tmpRay.direction.set(0,-1,0);var n=i._xrSessionManager.scene.pickWithRay(i._tmpRay,(function(e){return-1!==i._floorMeshes.indexOf(e)}));n&&n.pickedPoint&&i._options.xrInput.xrCamera.position.addInPlace(n.pickedPoint)}if(e.y<-.7&&!i._currentTeleportationControllerId&&!t.teleportationState.rotating&&(t.teleportationState.forward=!0,i._currentTeleportationControllerId=t.xrController.uniqueId,t.teleportationState.baseRotation=i._options.xrInput.xrCamera.rotationQuaternion.toEulerAngles().y),e.x){if(t.teleportationState.forward)i._currentTeleportationControllerId===t.xrController.uniqueId&&(i.rotationEnabled?setTimeout((function(){t.teleportationState.currentRotation=Math.atan2(e.x,-e.y)})):t.teleportationState.currentRotation=0);else if(!t.teleportationState.rotating&&Math.abs(e.x)>.7){t.teleportationState.rotating=!0;var r=i.rotationAngle*(e.x>0?1:-1);i._options.xrInput.xrCamera.rotationQuaternion.multiplyInPlace(a.b.FromEulerAngles(0,r,0))}}else t.teleportationState.rotating=!1}))}}))}},i._options.teleportationTargetMesh||i._createDefaultTargetMesh(),i._floorMeshes=i._options.floorMeshes||[],i._snapToPositions=i._options.snapPositions||[],i._setTargetMeshVisibility(!1),i}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"snapPointsOnly",{get:function(){return!!this._options.snapPointsOnly},set:function(e){this._options.snapPointsOnly=e},enumerable:!0,configurable:!0}),t.prototype.addFloorMesh=function(e){this._floorMeshes.push(e)},t.prototype.addSnapPoint=function(e){this._snapToPositions.push(e)},t.prototype.attach=function(){var t=this;return!!e.prototype.attach.call(this)&&(this._options.xrInput.controllers.forEach(this._attachController),this._addNewAttachObserver(this._options.xrInput.onControllerAddedObservable,this._attachController),this._addNewAttachObserver(this._options.xrInput.onControllerRemovedObservable,(function(e){t._detachController(e.uniqueId)})),!0)},t.prototype.detach=function(){var t=this;return!!e.prototype.detach.call(this)&&(Object.keys(this._controllers).forEach((function(e){t._detachController(e)})),this._setTargetMeshVisibility(!1),!0)},t.prototype.dispose=function(){e.prototype.dispose.call(this),this._options.teleportationTargetMesh&&this._options.teleportationTargetMesh.dispose(!1,!0)},t.prototype.removeFloorMesh=function(e){var t=this._floorMeshes.indexOf(e);-1!==t&&this._floorMeshes.splice(t,1)},t.prototype.removeFloorMeshByName=function(e){var t=this._xrSessionManager.scene.getMeshByName(e);t&&this.removeFloorMesh(t)},t.prototype.removeSnapPoint=function(e){var t=this._snapToPositions.indexOf(e);if(-1===t)for(var n=0;n=c.video.HAVE_CURRENT_DATA;return!s.poster||s.autoPlay&&l?l&&c._createInternalTexture():(c._texture=c._engine.createTexture(s.poster,!1,!c.invertY,i),c._displayingPosterTexture=!0),c}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"onUserActionRequestedObservable",{get:function(){return this._onUserActionRequestedObservable||(this._onUserActionRequestedObservable=new o.c),this._onUserActionRequestedObservable},enumerable:!0,configurable:!0}),t.prototype._getName=function(e){return e instanceof HTMLVideoElement?e.currentSrc:"object"==typeof e?e.toString():e},t.prototype._getVideo=function(e){if(e instanceof HTMLVideoElement)return Xe.b.SetCorsBehavior(e.currentSrc,e),e;var t=document.createElement("video");return"string"==typeof e?(Xe.b.SetCorsBehavior(e,t),t.src=e):(Xe.b.SetCorsBehavior(e[0],t),e.forEach((function(e){var n=document.createElement("source");n.src=e,t.appendChild(n)}))),t},t.prototype._rebuild=function(){this.update()},t.prototype.update=function(){this.autoUpdateTexture&&this.updateTexture(!0)},t.prototype.updateTexture=function(e){e&&(this.video.paused&&this._stillImageCaptured||(this._stillImageCaptured=!0,this._updateInternalTexture()))},t.prototype.updateURL=function(e){this.video.src=e,this._currentSrc=e},t.prototype.clone=function(){return new t(this.name,this._currentSrc,this.getScene(),this._generateMipMaps,this.invertY,this.samplingMode,this._settings)},t.prototype.dispose=function(){e.prototype.dispose.call(this),this._currentSrc=null,this._onUserActionRequestedObservable&&(this._onUserActionRequestedObservable.clear(),this._onUserActionRequestedObservable=null),this.video.removeEventListener(this._createInternalTextureOnEvent,this._createInternalTexture),this.video.removeEventListener("paused",this._updateInternalTexture),this.video.removeEventListener("seeked",this._updateInternalTexture),this.video.removeEventListener("emptied",this.reset),this.video.pause()},t.CreateFromStreamAsync=function(e,n){var i=document.createElement("video");return i.setAttribute("autoplay",""),i.setAttribute("muted","true"),i.setAttribute("playsinline",""),i.muted=!0,void 0!==i.mozSrcObject?i.mozSrcObject=n:"object"==typeof i.srcObject?i.srcObject=n:(window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,i.src=window.URL&&window.URL.createObjectURL(n)),new Promise((function(n){var r=function(){n(new t("video",i,e,!0,!0)),i.removeEventListener("playing",r)};i.addEventListener("playing",r),i.play()}))},t.CreateFromWebCamAsync=function(e,t,n){var i,r=this;return void 0===n&&(n=!1),t&&t.deviceId&&(i={exact:t.deviceId}),navigator.mediaDevices?navigator.mediaDevices.getUserMedia({video:t,audio:n}).then((function(t){return r.CreateFromStreamAsync(e,t)})):(navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia,navigator.getUserMedia&&navigator.getUserMedia({video:{deviceId:i,width:{min:t&&t.minWidth||256,max:t&&t.maxWidth||640},height:{min:t&&t.minHeight||256,max:t&&t.maxHeight||480}},audio:n},(function(t){return r.CreateFromStreamAsync(e,t)}),(function(e){m.a.Error(e.name)})),Promise.reject("No support for userMedia on this device"))},t.CreateFromWebCam=function(e,t,n,i){void 0===i&&(i=!1),this.CreateFromWebCamAsync(e,n,i).then((function(e){t&&t(e)})).catch((function(e){m.a.Error(e.name)}))},t}(nn.a),Oo=n(38),Mo=function(e){function t(n,i,r,o){var s=e.call(this,n,o)||this;s._halfDome=!1,s._useDirectMapping=!1,s._videoMode=t.MODE_MONOSCOPIC,s._onBeforeCameraRenderObserver=null,o=s.getScene(),n=n||"videoDome",r.resolution=0|Math.abs(r.resolution)||32,r.clickToPlay=Boolean(r.clickToPlay),r.autoPlay=void 0===r.autoPlay||Boolean(r.autoPlay),r.loop=void 0===r.loop||Boolean(r.loop),r.size=Math.abs(r.size)||(o.activeCamera?.48*o.activeCamera.maxZ:1e3),void 0===r.useDirectMapping?s._useDirectMapping=!0:s._useDirectMapping=r.useDirectMapping,void 0===r.faceForward&&(r.faceForward=!0),s._setReady(!1);var c={loop:r.loop,autoPlay:r.autoPlay,autoUpdateTexture:!0,poster:r.poster},l=s._material=new kr(n+"_material",o),u=s._videoTexture=new Po(n+"_texture",i,o,!1,s._useDirectMapping,nn.a.TRILINEAR_SAMPLINGMODE,c);if(s._mesh=ve.a.CreateSphere(n+"_mesh",r.resolution,r.size,o,!1,ve.a.BACKSIDE),u.anisotropicFilteringLevel=1,u.onLoadObservable.addOnce((function(){s._setReady(!0)})),l.useEquirectangularFOV=!0,l.fovMultiplier=1,l.opacityFresnel=!1,s._useDirectMapping?(u.wrapU=nn.a.CLAMP_ADDRESSMODE,u.wrapV=nn.a.CLAMP_ADDRESSMODE,l.diffuseTexture=u):(u.coordinatesMode=nn.a.FIXED_EQUIRECTANGULAR_MIRRORED_MODE,u.wrapV=nn.a.CLAMP_ADDRESSMODE,l.reflectionTexture=u),s._mesh.material=l,s._mesh.parent=s,s._halfDomeMask=ui.CreateSphere("",{slice:.5,diameter:.99*r.size,segments:r.resolution,sideOrientation:ve.a.BACKSIDE},o),s._halfDomeMask.rotate(Oo.c.X,-Math.PI/2),s._halfDomeMask.parent=s._mesh,s._halfDome=!!r.halfDomeMode,s._halfDomeMask.setEnabled(s._halfDome),r.clickToPlay&&(o.onPointerUp=function(){s._videoTexture.video.play()}),r.faceForward&&o.activeCamera){var p=o.activeCamera,h=a.e.Forward(),d=a.e.TransformNormal(h,p.getViewMatrix());d.normalize(),s.rotation.y=Math.acos(a.e.Dot(h,d))}return s}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"videoTexture",{get:function(){return this._videoTexture},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"fovMultiplier",{get:function(){return this._material.fovMultiplier},set:function(e){this._material.fovMultiplier=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"videoMode",{get:function(){return this._videoMode},set:function(e){this._videoMode!==e&&this._changeVideoMode(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"halfDome",{get:function(){return this._halfDome},set:function(e){this._halfDome=e,this._halfDomeMask.setEnabled(e)},enumerable:!0,configurable:!0}),t.prototype._changeVideoMode=function(e){var n=this;switch(this._scene.onBeforeCameraRenderObservable.remove(this._onBeforeCameraRenderObserver),this._videoMode=e,this._videoTexture.uScale=1,this._videoTexture.vScale=1,this._videoTexture.uOffset=0,this._videoTexture.vOffset=0,e){case t.MODE_SIDEBYSIDE:this._videoTexture.uScale=this._halfDome?.99999:.5;var i=this._halfDome?0:.5,r=this._halfDome?.5:0;this._onBeforeCameraRenderObserver=this._scene.onBeforeCameraRenderObservable.add((function(e){n._videoTexture.uOffset=e.isRightCamera?i:r}));break;case t.MODE_TOPBOTTOM:this._videoTexture.vScale=this._halfDome?.99999:.5,this._onBeforeCameraRenderObserver=this._scene.onBeforeCameraRenderObservable.add((function(e){n._videoTexture.vOffset=e.isRightCamera?.5:0}))}},t.prototype.dispose=function(t,n){void 0===n&&(n=!1),this._videoTexture.dispose(),this._mesh.dispose(),this._material.dispose(),this._scene.onBeforeCameraRenderObservable.remove(this._onBeforeCameraRenderObserver),e.prototype.dispose.call(this,t,n)},t.MODE_MONOSCOPIC=0,t.MODE_TOPBOTTOM=1,t.MODE_SIDEBYSIDE=2,t}(ni.a),Ro=n(63),Io=function(){function e(e){this.engine=e,this._captureGPUFrameTime=!1,this._gpuFrameTime=new Ro.a,this._captureShaderCompilationTime=!1,this._shaderCompilationTime=new Ro.a,this._onBeginFrameObserver=null,this._onEndFrameObserver=null,this._onBeforeShaderCompilationObserver=null,this._onAfterShaderCompilationObserver=null}return Object.defineProperty(e.prototype,"gpuFrameTimeCounter",{get:function(){return this._gpuFrameTime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"captureGPUFrameTime",{get:function(){return this._captureGPUFrameTime},set:function(e){var t=this;e!==this._captureGPUFrameTime&&(this._captureGPUFrameTime=e,e?(this._onBeginFrameObserver=this.engine.onBeginFrameObservable.add((function(){t._gpuFrameTimeToken||(t._gpuFrameTimeToken=t.engine.startTimeQuery())})),this._onEndFrameObserver=this.engine.onEndFrameObservable.add((function(){if(t._gpuFrameTimeToken){var e=t.engine.endTimeQuery(t._gpuFrameTimeToken);e>-1&&(t._gpuFrameTimeToken=null,t._gpuFrameTime.fetchNewFrame(),t._gpuFrameTime.addCount(e,!0))}}))):(this.engine.onBeginFrameObservable.remove(this._onBeginFrameObserver),this._onBeginFrameObserver=null,this.engine.onEndFrameObservable.remove(this._onEndFrameObserver),this._onEndFrameObserver=null))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"shaderCompilationTimeCounter",{get:function(){return this._shaderCompilationTime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"captureShaderCompilationTime",{get:function(){return this._captureShaderCompilationTime},set:function(e){var t=this;e!==this._captureShaderCompilationTime&&(this._captureShaderCompilationTime=e,e?(this._onBeforeShaderCompilationObserver=this.engine.onBeforeShaderCompilationObservable.add((function(){t._shaderCompilationTime.fetchNewFrame(),t._shaderCompilationTime.beginMonitoring()})),this._onAfterShaderCompilationObserver=this.engine.onAfterShaderCompilationObservable.add((function(){t._shaderCompilationTime.endMonitoring()}))):(this.engine.onBeforeShaderCompilationObservable.remove(this._onBeforeShaderCompilationObserver),this._onBeforeShaderCompilationObserver=null,this.engine.onAfterShaderCompilationObservable.remove(this._onAfterShaderCompilationObserver),this._onAfterShaderCompilationObserver=null))},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.engine.onBeginFrameObservable.remove(this._onBeginFrameObserver),this._onBeginFrameObserver=null,this.engine.onEndFrameObservable.remove(this._onEndFrameObserver),this._onEndFrameObserver=null,this.engine.onBeforeShaderCompilationObservable.remove(this._onBeforeShaderCompilationObserver),this._onBeforeShaderCompilationObserver=null,this.engine.onAfterShaderCompilationObservable.remove(this._onAfterShaderCompilationObserver),this._onAfterShaderCompilationObserver=null,this.engine=null},e}(),wo=function(){function e(e){var t=this;this.scene=e,this._captureActiveMeshesEvaluationTime=!1,this._activeMeshesEvaluationTime=new Ro.a,this._captureRenderTargetsRenderTime=!1,this._renderTargetsRenderTime=new Ro.a,this._captureFrameTime=!1,this._frameTime=new Ro.a,this._captureRenderTime=!1,this._renderTime=new Ro.a,this._captureInterFrameTime=!1,this._interFrameTime=new Ro.a,this._captureParticlesRenderTime=!1,this._particlesRenderTime=new Ro.a,this._captureSpritesRenderTime=!1,this._spritesRenderTime=new Ro.a,this._capturePhysicsTime=!1,this._physicsTime=new Ro.a,this._captureAnimationsTime=!1,this._animationsTime=new Ro.a,this._captureCameraRenderTime=!1,this._cameraRenderTime=new Ro.a,this._onBeforeActiveMeshesEvaluationObserver=null,this._onAfterActiveMeshesEvaluationObserver=null,this._onBeforeRenderTargetsRenderObserver=null,this._onAfterRenderTargetsRenderObserver=null,this._onAfterRenderObserver=null,this._onBeforeDrawPhaseObserver=null,this._onAfterDrawPhaseObserver=null,this._onBeforeAnimationsObserver=null,this._onBeforeParticlesRenderingObserver=null,this._onAfterParticlesRenderingObserver=null,this._onBeforeSpritesRenderingObserver=null,this._onAfterSpritesRenderingObserver=null,this._onBeforePhysicsObserver=null,this._onAfterPhysicsObserver=null,this._onAfterAnimationsObserver=null,this._onBeforeCameraRenderObserver=null,this._onAfterCameraRenderObserver=null,this._onBeforeAnimationsObserver=e.onBeforeAnimationsObservable.add((function(){t._captureActiveMeshesEvaluationTime&&t._activeMeshesEvaluationTime.fetchNewFrame(),t._captureRenderTargetsRenderTime&&t._renderTargetsRenderTime.fetchNewFrame(),t._captureFrameTime&&(Xe.b.StartPerformanceCounter("Scene rendering"),t._frameTime.beginMonitoring()),t._captureInterFrameTime&&t._interFrameTime.endMonitoring(),t._captureParticlesRenderTime&&t._particlesRenderTime.fetchNewFrame(),t._captureSpritesRenderTime&&t._spritesRenderTime.fetchNewFrame(),t._captureAnimationsTime&&t._animationsTime.beginMonitoring(),t.scene.getEngine()._drawCalls.fetchNewFrame()})),this._onAfterRenderObserver=e.onAfterRenderObservable.add((function(){t._captureFrameTime&&(Xe.b.EndPerformanceCounter("Scene rendering"),t._frameTime.endMonitoring()),t._captureRenderTime&&t._renderTime.endMonitoring(!1),t._captureInterFrameTime&&t._interFrameTime.beginMonitoring()}))}return Object.defineProperty(e.prototype,"activeMeshesEvaluationTimeCounter",{get:function(){return this._activeMeshesEvaluationTime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"captureActiveMeshesEvaluationTime",{get:function(){return this._captureActiveMeshesEvaluationTime},set:function(e){var t=this;e!==this._captureActiveMeshesEvaluationTime&&(this._captureActiveMeshesEvaluationTime=e,e?(this._onBeforeActiveMeshesEvaluationObserver=this.scene.onBeforeActiveMeshesEvaluationObservable.add((function(){Xe.b.StartPerformanceCounter("Active meshes evaluation"),t._activeMeshesEvaluationTime.beginMonitoring()})),this._onAfterActiveMeshesEvaluationObserver=this.scene.onAfterActiveMeshesEvaluationObservable.add((function(){Xe.b.EndPerformanceCounter("Active meshes evaluation"),t._activeMeshesEvaluationTime.endMonitoring()}))):(this.scene.onBeforeActiveMeshesEvaluationObservable.remove(this._onBeforeActiveMeshesEvaluationObserver),this._onBeforeActiveMeshesEvaluationObserver=null,this.scene.onAfterActiveMeshesEvaluationObservable.remove(this._onAfterActiveMeshesEvaluationObserver),this._onAfterActiveMeshesEvaluationObserver=null))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderTargetsRenderTimeCounter",{get:function(){return this._renderTargetsRenderTime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"captureRenderTargetsRenderTime",{get:function(){return this._captureRenderTargetsRenderTime},set:function(e){var t=this;e!==this._captureRenderTargetsRenderTime&&(this._captureRenderTargetsRenderTime=e,e?(this._onBeforeRenderTargetsRenderObserver=this.scene.onBeforeRenderTargetsRenderObservable.add((function(){Xe.b.StartPerformanceCounter("Render targets rendering"),t._renderTargetsRenderTime.beginMonitoring()})),this._onAfterRenderTargetsRenderObserver=this.scene.onAfterRenderTargetsRenderObservable.add((function(){Xe.b.EndPerformanceCounter("Render targets rendering"),t._renderTargetsRenderTime.endMonitoring(!1)}))):(this.scene.onBeforeRenderTargetsRenderObservable.remove(this._onBeforeRenderTargetsRenderObserver),this._onBeforeRenderTargetsRenderObserver=null,this.scene.onAfterRenderTargetsRenderObservable.remove(this._onAfterRenderTargetsRenderObserver),this._onAfterRenderTargetsRenderObserver=null))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"particlesRenderTimeCounter",{get:function(){return this._particlesRenderTime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"captureParticlesRenderTime",{get:function(){return this._captureParticlesRenderTime},set:function(e){var t=this;e!==this._captureParticlesRenderTime&&(this._captureParticlesRenderTime=e,e?(this._onBeforeParticlesRenderingObserver=this.scene.onBeforeParticlesRenderingObservable.add((function(){Xe.b.StartPerformanceCounter("Particles"),t._particlesRenderTime.beginMonitoring()})),this._onAfterParticlesRenderingObserver=this.scene.onAfterParticlesRenderingObservable.add((function(){Xe.b.EndPerformanceCounter("Particles"),t._particlesRenderTime.endMonitoring(!1)}))):(this.scene.onBeforeParticlesRenderingObservable.remove(this._onBeforeParticlesRenderingObserver),this._onBeforeParticlesRenderingObserver=null,this.scene.onAfterParticlesRenderingObservable.remove(this._onAfterParticlesRenderingObserver),this._onAfterParticlesRenderingObserver=null))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"spritesRenderTimeCounter",{get:function(){return this._spritesRenderTime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"captureSpritesRenderTime",{get:function(){return this._captureSpritesRenderTime},set:function(e){var t=this;e!==this._captureSpritesRenderTime&&(this._captureSpritesRenderTime=e,this.scene.spriteManagers&&(e?(this._onBeforeSpritesRenderingObserver=this.scene.onBeforeSpritesRenderingObservable.add((function(){Xe.b.StartPerformanceCounter("Sprites"),t._spritesRenderTime.beginMonitoring()})),this._onAfterSpritesRenderingObserver=this.scene.onAfterSpritesRenderingObservable.add((function(){Xe.b.EndPerformanceCounter("Sprites"),t._spritesRenderTime.endMonitoring(!1)}))):(this.scene.onBeforeSpritesRenderingObservable.remove(this._onBeforeSpritesRenderingObserver),this._onBeforeSpritesRenderingObserver=null,this.scene.onAfterSpritesRenderingObservable.remove(this._onAfterSpritesRenderingObserver),this._onAfterSpritesRenderingObserver=null)))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"physicsTimeCounter",{get:function(){return this._physicsTime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"capturePhysicsTime",{get:function(){return this._capturePhysicsTime},set:function(e){var t=this;e!==this._capturePhysicsTime&&this.scene.onBeforePhysicsObservable&&(this._capturePhysicsTime=e,e?(this._onBeforePhysicsObserver=this.scene.onBeforePhysicsObservable.add((function(){Xe.b.StartPerformanceCounter("Physics"),t._physicsTime.beginMonitoring()})),this._onAfterPhysicsObserver=this.scene.onAfterPhysicsObservable.add((function(){Xe.b.EndPerformanceCounter("Physics"),t._physicsTime.endMonitoring()}))):(this.scene.onBeforePhysicsObservable.remove(this._onBeforePhysicsObserver),this._onBeforePhysicsObserver=null,this.scene.onAfterPhysicsObservable.remove(this._onAfterPhysicsObserver),this._onAfterPhysicsObserver=null))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"animationsTimeCounter",{get:function(){return this._animationsTime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"captureAnimationsTime",{get:function(){return this._captureAnimationsTime},set:function(e){var t=this;e!==this._captureAnimationsTime&&(this._captureAnimationsTime=e,e?this._onAfterAnimationsObserver=this.scene.onAfterAnimationsObservable.add((function(){t._animationsTime.endMonitoring()})):(this.scene.onAfterAnimationsObservable.remove(this._onAfterAnimationsObserver),this._onAfterAnimationsObserver=null))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"frameTimeCounter",{get:function(){return this._frameTime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"captureFrameTime",{get:function(){return this._captureFrameTime},set:function(e){this._captureFrameTime=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"interFrameTimeCounter",{get:function(){return this._interFrameTime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"captureInterFrameTime",{get:function(){return this._captureInterFrameTime},set:function(e){this._captureInterFrameTime=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderTimeCounter",{get:function(){return this._renderTime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"captureRenderTime",{get:function(){return this._captureRenderTime},set:function(e){var t=this;e!==this._captureRenderTime&&(this._captureRenderTime=e,e?(this._onBeforeDrawPhaseObserver=this.scene.onBeforeDrawPhaseObservable.add((function(){t._renderTime.beginMonitoring(),Xe.b.StartPerformanceCounter("Main render")})),this._onAfterDrawPhaseObserver=this.scene.onAfterDrawPhaseObservable.add((function(){t._renderTime.endMonitoring(!1),Xe.b.EndPerformanceCounter("Main render")}))):(this.scene.onBeforeDrawPhaseObservable.remove(this._onBeforeDrawPhaseObserver),this._onBeforeDrawPhaseObserver=null,this.scene.onAfterDrawPhaseObservable.remove(this._onAfterDrawPhaseObserver),this._onAfterDrawPhaseObserver=null))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"cameraRenderTimeCounter",{get:function(){return this._cameraRenderTime},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"captureCameraRenderTime",{get:function(){return this._captureCameraRenderTime},set:function(e){var t=this;e!==this._captureCameraRenderTime&&(this._captureCameraRenderTime=e,e?(this._onBeforeCameraRenderObserver=this.scene.onBeforeCameraRenderObservable.add((function(e){t._cameraRenderTime.beginMonitoring(),Xe.b.StartPerformanceCounter("Rendering camera "+e.name)})),this._onAfterCameraRenderObserver=this.scene.onAfterCameraRenderObservable.add((function(e){t._cameraRenderTime.endMonitoring(!1),Xe.b.EndPerformanceCounter("Rendering camera "+e.name)}))):(this.scene.onBeforeCameraRenderObservable.remove(this._onBeforeCameraRenderObserver),this._onBeforeCameraRenderObserver=null,this.scene.onAfterCameraRenderObservable.remove(this._onAfterCameraRenderObserver),this._onAfterCameraRenderObserver=null))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"drawCallsCounter",{get:function(){return this.scene.getEngine()._drawCalls},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.scene.onAfterRenderObservable.remove(this._onAfterRenderObserver),this._onAfterRenderObserver=null,this.scene.onBeforeActiveMeshesEvaluationObservable.remove(this._onBeforeActiveMeshesEvaluationObserver),this._onBeforeActiveMeshesEvaluationObserver=null,this.scene.onAfterActiveMeshesEvaluationObservable.remove(this._onAfterActiveMeshesEvaluationObserver),this._onAfterActiveMeshesEvaluationObserver=null,this.scene.onBeforeRenderTargetsRenderObservable.remove(this._onBeforeRenderTargetsRenderObserver),this._onBeforeRenderTargetsRenderObserver=null,this.scene.onAfterRenderTargetsRenderObservable.remove(this._onAfterRenderTargetsRenderObserver),this._onAfterRenderTargetsRenderObserver=null,this.scene.onBeforeAnimationsObservable.remove(this._onBeforeAnimationsObserver),this._onBeforeAnimationsObserver=null,this.scene.onBeforeParticlesRenderingObservable.remove(this._onBeforeParticlesRenderingObserver),this._onBeforeParticlesRenderingObserver=null,this.scene.onAfterParticlesRenderingObservable.remove(this._onAfterParticlesRenderingObserver),this._onAfterParticlesRenderingObserver=null,this._onBeforeSpritesRenderingObserver&&(this.scene.onBeforeSpritesRenderingObservable.remove(this._onBeforeSpritesRenderingObserver),this._onBeforeSpritesRenderingObserver=null),this._onAfterSpritesRenderingObserver&&(this.scene.onAfterSpritesRenderingObservable.remove(this._onAfterSpritesRenderingObserver),this._onAfterSpritesRenderingObserver=null),this.scene.onBeforeDrawPhaseObservable.remove(this._onBeforeDrawPhaseObserver),this._onBeforeDrawPhaseObserver=null,this.scene.onAfterDrawPhaseObservable.remove(this._onAfterDrawPhaseObserver),this._onAfterDrawPhaseObserver=null,this._onBeforePhysicsObserver&&(this.scene.onBeforePhysicsObservable.remove(this._onBeforePhysicsObserver),this._onBeforePhysicsObserver=null),this._onAfterPhysicsObserver&&(this.scene.onAfterPhysicsObservable.remove(this._onAfterPhysicsObserver),this._onAfterPhysicsObserver=null),this.scene.onAfterAnimationsObservable.remove(this._onAfterAnimationsObserver),this._onAfterAnimationsObserver=null,this.scene.onBeforeCameraRenderObservable.remove(this._onBeforeCameraRenderObserver),this._onBeforeCameraRenderObserver=null,this.scene.onAfterCameraRenderObservable.remove(this._onAfterCameraRenderObserver),this._onAfterCameraRenderObserver=null,this.scene=null},e}(),Do=n(28),Lo="#ifdef DIFFUSE\nvarying vec2 vUVDiffuse;\nuniform sampler2D diffuseSampler;\n#endif\n#ifdef OPACITY\nvarying vec2 vUVOpacity;\nuniform sampler2D opacitySampler;\nuniform float opacityIntensity;\n#endif\n#ifdef EMISSIVE\nvarying vec2 vUVEmissive;\nuniform sampler2D emissiveSampler;\n#endif\n#ifdef VERTEXALPHA\nvarying vec4 vColor;\n#endif\nuniform vec4 glowColor;\nvoid main(void)\n{\nvec4 finalColor=glowColor;\n\n#ifdef DIFFUSE\nvec4 albedoTexture=texture2D(diffuseSampler,vUVDiffuse);\nfinalColor.a*=albedoTexture.a;\n#endif\n#ifdef OPACITY\nvec4 opacityMap=texture2D(opacitySampler,vUVOpacity);\n#ifdef OPACITYRGB\nfinalColor.a*=getLuminance(opacityMap.rgb);\n#else\nfinalColor.a*=opacityMap.a;\n#endif\nfinalColor.a*=opacityIntensity;\n#endif\n#ifdef VERTEXALPHA\nfinalColor.a*=vColor.a;\n#endif\n#ifdef ALPHATEST\nif (finalColor.a4&&(o.push(Pn.b.MatricesIndicesExtraKind),o.push(Pn.b.MatricesWeightsExtraKind)),r.push("#define NUM_BONE_INFLUENCERS "+a.numBoneInfluencers);var f=a.skeleton;f&&f.isUsingTextureForMatrices?r.push("#define BONETEXTURE"):r.push("#define BonesPerMesh "+(f?f.bones.length+1:0)),a.numBoneInfluencers>0&&d.addCPUSkinningFallback(0,a)}else r.push("#define NUM_BONE_INFLUENCERS 0");var _=a.morphTargetManager,m=0;_&&_.numInfluencers>0&&(r.push("#define MORPHTARGETS"),m=_.numInfluencers,r.push("#define NUM_MORPH_INFLUENCERS "+m),Pr.a.PrepareAttributesForMorphTargetsInfluencers(o,a,m)),t&&(r.push("#define INSTANCES"),Pr.a.PushAttributesForInstances(o)),this._addCustomEffectDefines(r);var b=r.join("\n");return this._cachedDefines!==b&&(this._cachedDefines=b,this._effectLayerMapGenerationEffect=this._scene.getEngine().createEffect("glowMapGeneration",o,["world","mBones","viewProjection","glowColor","morphTargetInfluences","boneTextureWidth","diffuseMatrix","emissiveMatrix","opacityMatrix","opacityIntensity"],["diffuseSampler","emissiveSampler","opacitySampler","boneSampler"],b,d,void 0,void 0,{maxSimultaneousMorphTargets:m})),this._effectLayerMapGenerationEffect.isReady()},e.prototype.render=function(){var e=this._mergeEffect;if(e.isReady()){for(var t=0;t-1&&this._scene.effectLayers.splice(t,1),this.onDisposeObservable.notifyObservers(this),this.onDisposeObservable.clear(),this.onBeforeRenderMainTextureObservable.clear(),this.onBeforeComposeObservable.clear(),this.onBeforeRenderMeshToEffect.clear(),this.onAfterRenderMeshToEffect.clear(),this.onAfterComposeObservable.clear(),this.onSizeChangedObservable.clear()},e.prototype.getClassName=function(){return"EffectLayer"},e.Parse=function(e,t,n){return Xe.b.Instantiate(e.customType).Parse(e,t,n)},e._SceneComponentInitialization=function(e){throw Fo.a.WarnImport("EffectLayerSceneComponent")},Object(p.c)([Object(Fe.c)()],e.prototype,"name",void 0),Object(p.c)([Object(Fe.f)()],e.prototype,"neutralColor",void 0),Object(p.c)([Object(Fe.c)()],e.prototype,"isEnabled",void 0),Object(p.c)([Object(Fe.d)()],e.prototype,"camera",null),Object(p.c)([Object(Fe.c)()],e.prototype,"renderingGroupId",null),e}();i.a.AddParser(se.a.NAME_EFFECTLAYER,(function(e,t,n,i){if(e.effectLayers){n.effectLayers||(n.effectLayers=new Array);for(var r=0;r0){this._previousStencilState=this._engine.getStencilBuffer();for(var i=0,r=n;i-1)){this._renderEffects=!0,this._needStencil=this._needStencil||o.needStencil();var a=o._mainTexture;a._shouldRender()&&(this.scene.incrementRenderId(),a.render(!1,!1),t=!0)}}this.scene.incrementRenderId()}return t},e.prototype._setStencil=function(){this._needStencil&&this._engine.setStencilBuffer(!0)},e.prototype._setStencilBack=function(){this._needStencil&&this._engine.setStencilBuffer(this._previousStencilState)},e.prototype._draw=function(e){if(this._renderEffects){this._engine.setDepthBuffer(!1);for(var t=this.scene.effectLayers,n=0;n-1},t.prototype.referenceMeshToUseItsOwnMaterial=function(e){this._meshesUsingTheirOwnMaterials.push(e.uniqueId)},t.prototype.unReferenceMeshFromUsingItsOwnMaterial=function(e){for(var t=this._meshesUsingTheirOwnMaterials.indexOf(e.uniqueId);t>0;)this._meshesUsingTheirOwnMaterials.slice(t,t+1),t=this._meshesUsingTheirOwnMaterials.indexOf(e.uniqueId)},t.prototype._disposeMesh=function(e){this.removeIncludedOnlyMesh(e),this.removeExcludedMesh(e)},t.prototype.getClassName=function(){return"GlowLayer"},t.prototype.serialize=function(){var e,t=Fe.a.Serialize(this);if(t.customType="BABYLON.GlowLayer",t.includedMeshes=[],this._includedOnlyMeshes.length)for(e=0;e0&&(e.x-=this.viewportBorder,e.y-=this.viewportBorder,e.width+=2*this.viewportBorder,e.height+=2*this.viewportBorder,t.x+=this.viewportBorder,t.y+=this.viewportBorder,this._positionX+=this.viewportBorder,this._positionY+=this.viewportBorder),t.z>0&&(this._positionX>e.x&&this._positionXe.y&&(this._positionY,e.y,e.height),!0)},e.prototype._isVisible=function(){if(!this._isEnabled||!this._scene.activeCamera)return!1;var e=this.getEmitterPosition().subtract(this._scene.activeCamera.globalPosition),t=e.length();e.normalize();var n=new Se(this._scene.activeCamera.globalPosition,e),i=this._scene.pickWithRay(n,this.meshesSelectionPredicate,!0);return!i||!i.hit||i.distance>t},e.prototype.render=function(){if(!this._effect.isReady()||!this._scene.activeCamera)return!1;var e,t,n=this._scene.getEngine(),i=this._scene.activeCamera.viewport.toGlobal(n.getRenderWidth(!0),n.getRenderHeight(!0));if(!this.computeEffectivePosition(i))return!1;if(!this._isVisible())return!1;var r=(e=this._positionXi.x+i.width-this.borderLimit?this._positionX-i.x-i.width+this.borderLimit:0)>(t=this._positionYi.y+i.height-this.borderLimit?this._positionY-i.y-i.height+this.borderLimit:0)?e:t;(r-=this.viewportBorder)>this.borderLimit&&(r=this.borderLimit);var o=1-He.a.Clamp(r/this.borderLimit,0,1);if(o<0)return!1;o>1&&(o=1),this.viewportBorder>0&&(i.x+=this.viewportBorder,i.y+=this.viewportBorder,i.width-=2*this.viewportBorder,i.height-=2*this.viewportBorder,this._positionX-=this.viewportBorder,this._positionY-=this.viewportBorder);var s=i.x+i.width/2,c=i.y+i.height/2,l=s-this._positionX,u=c-this._positionY;n.enableEffect(this._effect),n.setState(!1),n.setDepthBuffer(!1),n.bindBuffers(this._vertexBuffers,this._indexBuffer,this._effect);for(var p=0;p0);for(var n=0,i=t;n0)}},e}();Zo._SceneComponentInitialization=function(e){var t=e._getComponent(se.a.NAME_LENSFLARESYSTEM);t||(t=new qo(e),e._addComponent(t))};var Jo=n(53),$o=n(120),ea="#ifndef FLOAT\n#include\n#endif\nvarying float vDepthMetric;\n#ifdef USEDISTANCE\nuniform vec3 lightData;\nvarying vec3 vPositionW;\n#endif\n#ifdef ALPHATEST\nvarying vec2 vUV;\nuniform sampler2D diffuseSampler;\n#endif\nuniform vec3 biasAndScale;\nuniform vec2 depthValues;\n#ifdef DEPTHCLAMP\nvarying float z;\n#endif\n#include\nvoid main(void)\n{\n#include\n#ifdef ALPHATEST\nif (texture2D(diffuseSampler,vUV).a<0.4)\ndiscard;\n#endif\nfloat depth=vDepthMetric;\n#ifdef DEPTHCLAMP\n#ifdef USEDISTANCE\ndepth=clamp(((length(vPositionW-lightData)+depthValues.x)/(depthValues.y))+biasAndScale.x,0.0,1.0);\n#else\ndepth=clamp(((z+depthValues.x)/(depthValues.y))+biasAndScale.x,0.0,1.0);\n#endif\ngl_FragDepth=depth;\n#elif defined(USEDISTANCE)\ndepth=(length(vPositionW-lightData)+depthValues.x)/(depthValues.y)+biasAndScale.x;\n#endif\n#ifdef ESM\ndepth=clamp(exp(-min(87.,biasAndScale.z*depth)),0.,1.);\n#endif\n#ifdef FLOAT\ngl_FragColor=vec4(depth,1.0,1.0,1.0);\n#else\ngl_FragColor=pack(depth);\n#endif\n}";zt.a.ShadersStore.shadowMapPixelShader=ea;var ta="\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\nuniform vec3 lightData;\n#endif\n#include\n#include\n#include[0..maxSimultaneousMorphTargets]\n\n#include\n#include\nuniform mat4 viewProjection;\nuniform vec3 biasAndScale;\nuniform vec2 depthValues;\nvarying float vDepthMetric;\n#ifdef USEDISTANCE\nvarying vec3 vPositionW;\n#endif\n#ifdef ALPHATEST\nvarying vec2 vUV;\nuniform mat4 diffuseMatrix;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#endif\n#ifdef DEPTHCLAMP\nvarying float z;\n#endif\n#include\nvoid main(void)\n{\nvec3 positionUpdated=position;\n#ifdef UV1\nvec2 uvUpdated=uv;\n#endif\n#include[0..maxSimultaneousMorphTargets]\n#include\n#include\nvec4 worldPos=finalWorld*vec4(positionUpdated,1.0);\n\n#ifdef NORMAL\nmat3 normalWorld=mat3(finalWorld);\n#ifdef NONUNIFORMSCALING\nnormalWorld=transposeMat3(inverseMat3(normalWorld));\n#endif\nvec3 worldNor=normalize(normalWorld*normal);\n#ifdef DIRECTIONINLIGHTDATA\nvec3 worldLightDir=normalize(-lightData.xyz);\n#else\nvec3 directionToLight=lightData.xyz-worldPos.xyz;\nvec3 worldLightDir=normalize(directionToLight);\n#endif\nfloat ndl=dot(worldNor,worldLightDir);\nfloat sinNL=sqrt(1.0-ndl*ndl);\nfloat normalBias=biasAndScale.y*sinNL;\nworldPos.xyz-=worldNor*normalBias;\n#endif\n#ifdef USEDISTANCE\nvPositionW=worldPos.xyz;\n#endif\n\ngl_Position=viewProjection*worldPos;\n#ifdef DEPTHTEXTURE\n\ngl_Position.z+=biasAndScale.x*gl_Position.w;\n#endif\n#ifdef DEPTHCLAMP\nz=gl_Position.z;\ngl_Position.z=0.0;\n#elif !defined(USEDISTANCE)\n\nvDepthMetric=((gl_Position.z+depthValues.x)/(depthValues.y))+biasAndScale.x;\n#endif\n#ifdef ALPHATEST\n#ifdef UV1\nvUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\n#endif\n#ifdef UV2\nvUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n#endif\n#endif\n#include\n}";zt.a.ShadersStore.shadowMapVertexShader=ta;var na="\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\n\nuniform vec2 screenSize;\nvoid main(void)\n{\nvec4 colorDepth=vec4(0.0);\nfor (int x=-OFFSET; x<=OFFSET; x++)\nfor (int y=-OFFSET; y<=OFFSET; y++)\ncolorDepth+=texture2D(textureSampler,vUV+vec2(x,y)/screenSize);\ngl_FragColor=(colorDepth/float((OFFSET*2+1)*(OFFSET*2+1)));\n}";zt.a.ShadersStore.depthBoxBlurPixelShader=na;var ia=n(134),ra=function(){function e(t,n,i){this.onBeforeShadowMapRenderObservable=new o.c,this.onAfterShadowMapRenderObservable=new o.c,this.onBeforeShadowMapRenderMeshObservable=new o.c,this.onAfterShadowMapRenderMeshObservable=new o.c,this._bias=5e-5,this._normalBias=0,this._blurBoxOffset=1,this._blurScale=2,this._blurKernel=1,this._useKernelBlur=!1,this._filter=e.FILTER_NONE,this._filteringQuality=e.QUALITY_HIGH,this._contactHardeningLightSizeUVRatio=.1,this._darkness=0,this._transparencyShadow=!1,this.frustumEdgeFalloff=0,this.forceBackFacesOnly=!1,this._lightDirection=a.e.Zero(),this._viewMatrix=a.a.Zero(),this._projectionMatrix=a.a.Zero(),this._transformMatrix=a.a.Zero(),this._cachedPosition=new a.e(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this._cachedDirection=new a.e(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this._currentFaceIndex=0,this._currentFaceIndexCache=0,this._defaultTextureMatrix=a.a.Identity(),this._mapSize=t,this._light=n,this._scene=n.getScene(),n._shadowGenerator=this,e._SceneComponentInitialization(this._scene);var r=this._scene.getEngine().getCaps();i?r.textureFloatRender&&r.textureFloatLinearFiltering?this._textureType=1:r.textureHalfFloatRender&&r.textureHalfFloatLinearFiltering?this._textureType=2:this._textureType=0:r.textureHalfFloatRender&&r.textureHalfFloatLinearFiltering?this._textureType=2:r.textureFloatRender&&r.textureFloatLinearFiltering?this._textureType=1:this._textureType=0,this._initializeGenerator(),this._applyFilterValues()}return Object.defineProperty(e.prototype,"bias",{get:function(){return this._bias},set:function(e){this._bias=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"normalBias",{get:function(){return this._normalBias},set:function(e){this._normalBias=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"blurBoxOffset",{get:function(){return this._blurBoxOffset},set:function(e){this._blurBoxOffset!==e&&(this._blurBoxOffset=e,this._disposeBlurPostProcesses())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"blurScale",{get:function(){return this._blurScale},set:function(e){this._blurScale!==e&&(this._blurScale=e,this._disposeBlurPostProcesses())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"blurKernel",{get:function(){return this._blurKernel},set:function(e){this._blurKernel!==e&&(this._blurKernel=e,this._disposeBlurPostProcesses())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"useKernelBlur",{get:function(){return this._useKernelBlur},set:function(e){this._useKernelBlur!==e&&(this._useKernelBlur=e,this._disposeBlurPostProcesses())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"depthScale",{get:function(){return void 0!==this._depthScale?this._depthScale:this._light.getDepthScale()},set:function(e){this._depthScale=e},enumerable:!0,configurable:!0}),e.prototype._validateFilter=function(e){return e},Object.defineProperty(e.prototype,"filter",{get:function(){return this._filter},set:function(t){if(t=this._validateFilter(t),this._light.needCube()){if(t===e.FILTER_BLUREXPONENTIALSHADOWMAP)return void(this.useExponentialShadowMap=!0);if(t===e.FILTER_BLURCLOSEEXPONENTIALSHADOWMAP)return void(this.useCloseExponentialShadowMap=!0);if(t===e.FILTER_PCF||t===e.FILTER_PCSS)return void(this.usePoissonSampling=!0)}t!==e.FILTER_PCF&&t!==e.FILTER_PCSS||1!==this._scene.getEngine().webGLVersion?this._filter!==t&&(this._filter=t,this._disposeBlurPostProcesses(),this._applyFilterValues(),this._light._markMeshesAsLightDirty()):this.usePoissonSampling=!0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"usePoissonSampling",{get:function(){return this.filter===e.FILTER_POISSONSAMPLING},set:function(t){var n=this._validateFilter(e.FILTER_POISSONSAMPLING);(t||this.filter===e.FILTER_POISSONSAMPLING)&&(this.filter=t?n:e.FILTER_NONE)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"useExponentialShadowMap",{get:function(){return this.filter===e.FILTER_EXPONENTIALSHADOWMAP},set:function(t){var n=this._validateFilter(e.FILTER_EXPONENTIALSHADOWMAP);(t||this.filter===e.FILTER_EXPONENTIALSHADOWMAP)&&(this.filter=t?n:e.FILTER_NONE)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"useBlurExponentialShadowMap",{get:function(){return this.filter===e.FILTER_BLUREXPONENTIALSHADOWMAP},set:function(t){var n=this._validateFilter(e.FILTER_BLUREXPONENTIALSHADOWMAP);(t||this.filter===e.FILTER_BLUREXPONENTIALSHADOWMAP)&&(this.filter=t?n:e.FILTER_NONE)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"useCloseExponentialShadowMap",{get:function(){return this.filter===e.FILTER_CLOSEEXPONENTIALSHADOWMAP},set:function(t){var n=this._validateFilter(e.FILTER_CLOSEEXPONENTIALSHADOWMAP);(t||this.filter===e.FILTER_CLOSEEXPONENTIALSHADOWMAP)&&(this.filter=t?n:e.FILTER_NONE)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"useBlurCloseExponentialShadowMap",{get:function(){return this.filter===e.FILTER_BLURCLOSEEXPONENTIALSHADOWMAP},set:function(t){var n=this._validateFilter(e.FILTER_BLURCLOSEEXPONENTIALSHADOWMAP);(t||this.filter===e.FILTER_BLURCLOSEEXPONENTIALSHADOWMAP)&&(this.filter=t?n:e.FILTER_NONE)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"usePercentageCloserFiltering",{get:function(){return this.filter===e.FILTER_PCF},set:function(t){var n=this._validateFilter(e.FILTER_PCF);(t||this.filter===e.FILTER_PCF)&&(this.filter=t?n:e.FILTER_NONE)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filteringQuality",{get:function(){return this._filteringQuality},set:function(e){this._filteringQuality!==e&&(this._filteringQuality=e,this._disposeBlurPostProcesses(),this._applyFilterValues(),this._light._markMeshesAsLightDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"useContactHardeningShadow",{get:function(){return this.filter===e.FILTER_PCSS},set:function(t){var n=this._validateFilter(e.FILTER_PCSS);(t||this.filter===e.FILTER_PCSS)&&(this.filter=t?n:e.FILTER_NONE)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"contactHardeningLightSizeUVRatio",{get:function(){return this._contactHardeningLightSizeUVRatio},set:function(e){this._contactHardeningLightSizeUVRatio=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"darkness",{get:function(){return this._darkness},set:function(e){this.setDarkness(e)},enumerable:!0,configurable:!0}),e.prototype.getDarkness=function(){return this._darkness},e.prototype.setDarkness=function(e){return this._darkness=e>=1?1:e<=0?0:e,this},Object.defineProperty(e.prototype,"transparencyShadow",{get:function(){return this._transparencyShadow},set:function(e){this.setTransparencyShadow(e)},enumerable:!0,configurable:!0}),e.prototype.setTransparencyShadow=function(e){return this._transparencyShadow=e,this},e.prototype.getShadowMap=function(){return this._shadowMap},e.prototype.getShadowMapForRendering=function(){return this._shadowMap2?this._shadowMap2:this._shadowMap},e.prototype.getClassName=function(){return e.CLASSNAME},e.prototype.addShadowCaster=function(e,t){var n;return void 0===t&&(t=!0),this._shadowMap?(this._shadowMap.renderList||(this._shadowMap.renderList=[]),this._shadowMap.renderList.push(e),t&&(n=this._shadowMap.renderList).push.apply(n,e.getChildMeshes()),this):this},e.prototype.removeShadowCaster=function(e,t){if(void 0===t&&(t=!0),!this._shadowMap||!this._shadowMap.renderList)return this;var n=this._shadowMap.renderList.indexOf(e);if(-1!==n&&this._shadowMap.renderList.splice(n,1),t)for(var i=0,r=e.getChildren();i1?(this._shadowMap=new ln.a(this._light.name+"_shadowMap",this._mapSize,this._scene,!1,!0,this._textureType,this._light.needCube(),void 0,!1,!1),this._shadowMap.createDepthStencilTexture(513,!0)):this._shadowMap=new ln.a(this._light.name+"_shadowMap",this._mapSize,this._scene,!1,!0,this._textureType,this._light.needCube())},e.prototype._initializeShadowMap=function(){var t=this;if(this._createTargetRenderTexture(),null!==this._shadowMap){this._shadowMap.wrapU=nn.a.CLAMP_ADDRESSMODE,this._shadowMap.wrapV=nn.a.CLAMP_ADDRESSMODE,this._shadowMap.anisotropicFilteringLevel=1,this._shadowMap.updateSamplingMode(nn.a.BILINEAR_SAMPLINGMODE),this._shadowMap.renderParticles=!1,this._shadowMap.ignoreCameraViewport=!0,this._storedUniqueId&&(this._shadowMap.uniqueId=this._storedUniqueId),this._shadowMap.customRenderFunction=this._renderForShadowMap.bind(this);var n=this._scene.getEngine();this._shadowMap.onBeforeRenderObservable.add((function(i){t._currentFaceIndex=i,t._filter===e.FILTER_PCF&&n.setColorWrite(!1)})),this._shadowMap.onAfterUnbindObservable.add((function(){if(t._filter===e.FILTER_PCF&&n.setColorWrite(!0),t.useBlurExponentialShadowMap||t.useBlurCloseExponentialShadowMap){var i=t.getShadowMapForRendering();i&&t._scene.postProcessManager.directRender(t._blurPostProcesses,i.getInternalTexture(),!0)}}));var i=new s.b(0,0,0,0),r=new s.b(1,1,1,1);this._shadowMap.onClearObservable.add((function(n){t._filter===e.FILTER_PCF?n.clear(r,!1,!0,!1):t.useExponentialShadowMap||t.useBlurExponentialShadowMap?n.clear(i,!0,!0,!1):n.clear(r,!0,!0,!1)})),this._shadowMap.onResizeObservable.add((function(e){t._storedUniqueId=t._shadowMap.uniqueId,t._mapSize=e.getRenderSize(),t._light._markMeshesAsLightDirty(),t.recreateShadowMap()}));for(var o=ia.b.MIN_RENDERINGGROUPS;o=a.length)return void(e&&e(n));setTimeout(h,16)}};h()}else e&&e(this)}else e&&e(this)}else e&&e(this)},e.prototype.forceCompilationAsync=function(e){var t=this;return new Promise((function(n){t.forceCompilation((function(){n()}),e)}))},e.prototype._isReadyCustomDefines=function(e,t,n){},e.prototype.isReady=function(e,t){var n=[];0!==this._textureType&&n.push("#define FLOAT"),this.useExponentialShadowMap||this.useBlurExponentialShadowMap?n.push("#define ESM"):(this.usePercentageCloserFiltering||this.useContactHardeningShadow)&&n.push("#define DEPTHTEXTURE");var i=[Pn.b.PositionKind],r=e.getMesh(),o=e.getMaterial();if(this.normalBias&&r.isVerticesDataPresent(Pn.b.NormalKind)&&(i.push(Pn.b.NormalKind),n.push("#define NORMAL"),r.nonUniformScaling&&n.push("#define NONUNIFORMSCALING"),this.getLight().getTypeID()===Jo.a.LIGHTTYPEID_DIRECTIONALLIGHT&&n.push("#define DIRECTIONINLIGHTDATA")),o&&o.needAlphaTesting()){var a=o.getAlphaTestTexture();a&&(n.push("#define ALPHATEST"),r.isVerticesDataPresent(Pn.b.UVKind)&&(i.push(Pn.b.UVKind),n.push("#define UV1")),r.isVerticesDataPresent(Pn.b.UV2Kind)&&1===a.coordinatesIndex&&(i.push(Pn.b.UV2Kind),n.push("#define UV2")))}var s=new Fr.a;if(r.useBones&&r.computeBonesUsingShaders&&r.skeleton){i.push(Pn.b.MatricesIndicesKind),i.push(Pn.b.MatricesWeightsKind),r.numBoneInfluencers>4&&(i.push(Pn.b.MatricesIndicesExtraKind),i.push(Pn.b.MatricesWeightsExtraKind));var c=r.skeleton;n.push("#define NUM_BONE_INFLUENCERS "+r.numBoneInfluencers),r.numBoneInfluencers>0&&s.addCPUSkinningFallback(0,r),c.isUsingTextureForMatrices?n.push("#define BONETEXTURE"):n.push("#define BonesPerMesh "+(c.bones.length+1))}else n.push("#define NUM_BONE_INFLUENCERS 0");var l=r.morphTargetManager,u=0;l&&l.numInfluencers>0&&(n.push("#define MORPHTARGETS"),u=l.numInfluencers,n.push("#define NUM_MORPH_INFLUENCERS "+u),Pr.a.PrepareAttributesForMorphTargetsInfluencers(i,r,u));var p=this._scene;if(p.clipPlane&&n.push("#define CLIPPLANE"),p.clipPlane2&&n.push("#define CLIPPLANE2"),p.clipPlane3&&n.push("#define CLIPPLANE3"),p.clipPlane4&&n.push("#define CLIPPLANE4"),p.clipPlane5&&n.push("#define CLIPPLANE5"),p.clipPlane6&&n.push("#define CLIPPLANE6"),t&&(n.push("#define INSTANCES"),Pr.a.PushAttributesForInstances(i)),this.customShaderOptions&&this.customShaderOptions.defines)for(var h=0,d=this.customShaderOptions.defines;h4&&(r.push(Pn.b.MatricesIndicesExtraKind),r.push(Pn.b.MatricesWeightsExtraKind)),i.push("#define NUM_BONE_INFLUENCERS "+o.numBoneInfluencers),i.push("#define BonesPerMesh "+(o.skeleton?o.skeleton.bones.length+1:0))):i.push("#define NUM_BONE_INFLUENCERS 0");var a=o.morphTargetManager,s=0;a&&a.numInfluencers>0&&(s=a.numInfluencers,i.push("#define MORPHTARGETS"),i.push("#define NUM_MORPH_INFLUENCERS "+s),Pr.a.PrepareAttributesForMorphTargetsInfluencers(r,o,s)),t&&(i.push("#define INSTANCES"),Pr.a.PushAttributesForInstances(r)),this._storeNonLinearDepth&&i.push("#define NONLINEARDEPTH"),this.isPacked&&i.push("#define PACKED");var c=i.join("\n");return this._cachedDefines!==c&&(this._cachedDefines=c,this._effect=this._scene.getEngine().createEffect("depth",r,["world","mBones","viewProjection","diffuseMatrix","depthValues","morphTargetInfluences"],["diffuseSampler"],c,void 0,void 0,void 0,{maxSimultaneousMorphTargets:s})),this._effect.isReady()},e.prototype.getDepthMap=function(){return this._depthMap},e.prototype.dispose=function(){this._depthMap.dispose()},e._SceneComponentInitialization=function(e){throw Fo.a.WarnImport("DepthRendererSceneComponent")},e}(),ca=n(133),la="attribute vec2 vUV;\nuniform sampler2D textureSampler;\n#if defined(INITIAL)\nuniform sampler2D sourceTexture;\nuniform vec2 texSize;\nvoid main(void)\n{\nivec2 coord=ivec2(vUV*(texSize-1.0));\nfloat f1=texelFetch(sourceTexture,coord,0).r;\nfloat f2=texelFetch(sourceTexture,coord+ivec2(1,0),0).r;\nfloat f3=texelFetch(sourceTexture,coord+ivec2(1,1),0).r;\nfloat f4=texelFetch(sourceTexture,coord+ivec2(0,1),0).r;\nfloat minz=min(min(min(f1,f2),f3),f4);\n#ifdef DEPTH_REDUX\nfloat maxz=max(max(max(sign(1.0-f1)*f1,sign(1.0-f2)*f2),sign(1.0-f3)*f3),sign(1.0-f4)*f4);\n#else\nfloat maxz=max(max(max(f1,f2),f3),f4);\n#endif\nglFragColor=vec4(minz,maxz,0.,0.);\n}\n#elif defined(MAIN)\nuniform vec2 texSize;\nvoid main(void)\n{\nivec2 coord=ivec2(vUV*(texSize-1.0));\nvec2 f1=texelFetch(textureSampler,coord,0).rg;\nvec2 f2=texelFetch(textureSampler,coord+ivec2(1,0),0).rg;\nvec2 f3=texelFetch(textureSampler,coord+ivec2(1,1),0).rg;\nvec2 f4=texelFetch(textureSampler,coord+ivec2(0,1),0).rg;\nfloat minz=min(min(min(f1.x,f2.x),f3.x),f4.x);\nfloat maxz=max(max(max(f1.y,f2.y),f3.y),f4.y);\nglFragColor=vec4(minz,maxz,0.,0.);\n}\n#elif defined(ONEBEFORELAST)\nuniform ivec2 texSize;\nvoid main(void)\n{\nivec2 coord=ivec2(vUV*vec2(texSize-1));\nvec2 f1=texelFetch(textureSampler,coord % texSize,0).rg;\nvec2 f2=texelFetch(textureSampler,(coord+ivec2(1,0)) % texSize,0).rg;\nvec2 f3=texelFetch(textureSampler,(coord+ivec2(1,1)) % texSize,0).rg;\nvec2 f4=texelFetch(textureSampler,(coord+ivec2(0,1)) % texSize,0).rg;\nfloat minz=min(f1.x,f2.x);\nfloat maxz=max(f1.y,f2.y);\nglFragColor=vec4(minz,maxz,0.,0.);\n}\n#elif defined(LAST)\nvoid main(void)\n{\ndiscard;\nglFragColor=vec4(0.);\n}\n#endif\n";zt.a.ShadersStore.minmaxReduxPixelShader=la;var ua=function(){function e(e){this.onAfterReductionPerformed=new o.c,this._forceFullscreenViewport=!0,this._activated=!1,this._camera=e,this._postProcessManager=new ca.a(e.getScene())}return Object.defineProperty(e.prototype,"sourceTexture",{get:function(){return this._sourceTexture},enumerable:!0,configurable:!0}),e.prototype.setSourceTexture=function(e,t,n,i){var r=this;if(void 0===n&&(n=2),void 0===i&&(i=!0),e!==this._sourceTexture){this.dispose(!1),this._sourceTexture=e,this._reductionSteps=[],this._forceFullscreenViewport=i;var o=this._camera.getScene(),a=new Vt.a("Initial reduction phase","minmaxRedux",["texSize"],["sourceTexture"],1,null,1,o.getEngine(),!1,"#define INITIAL"+(t?"\n#define DEPTH_REDUX":""),n,void 0,void 0,void 0,7);a.autoClear=!1,a.forceFullscreenViewport=i;var s=this._sourceTexture.getRenderWidth(),c=this._sourceTexture.getRenderHeight();a.onApply=function(e,t){return function(n){n.setTexture("sourceTexture",r._sourceTexture),n.setFloatArray2("texSize",new Float32Array([e,t]))}}(s,c),this._reductionSteps.push(a);for(var l=1;s>1||c>1;){s=Math.max(Math.round(s/2),1),c=Math.max(Math.round(c/2),1);var u=new Vt.a("Reduction phase "+l,"minmaxRedux",["texSize"],null,{width:s,height:c},null,1,o.getEngine(),!1,"#define "+(1==s&&1==c?"LAST":1==s||1==c?"ONEBEFORELAST":"MAIN"),n,void 0,void 0,void 0,7);if(u.autoClear=!1,u.forceFullscreenViewport=i,u.onApply=function(e,t){return function(n){1==e||1==t?n.setIntArray2("texSize",new Int32Array([e,t])):n.setFloatArray2("texSize",new Float32Array([e,t]))}}(s,c),this._reductionSteps.push(u),l++,1==s&&1==c){u.onAfterRenderObservable.add(function(e,t,n){var i=new Float32Array(4*e*t),a={min:0,max:0};return function(){o.getEngine()._readTexturePixels(n.inputTexture,e,t,-1,0,i),a.min=i[0],a.max=i[1],r.onAfterReductionPerformed.notifyObservers(a)}}(s,c,u))}}}},Object.defineProperty(e.prototype,"refreshRate",{get:function(){return this._sourceTexture?this._sourceTexture.refreshRate:-1},set:function(e){this._sourceTexture&&(this._sourceTexture.refreshRate=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activated",{get:function(){return this._activated},enumerable:!0,configurable:!0}),e.prototype.activate=function(){var e=this;!this._onAfterUnbindObserver&&this._sourceTexture&&(this._onAfterUnbindObserver=this._sourceTexture.onAfterUnbindObservable.add((function(){e._reductionSteps[0].activate(e._camera),e._postProcessManager.directRender(e._reductionSteps,e._reductionSteps[0].inputTexture,e._forceFullscreenViewport),e._camera.getScene().getEngine().unBindFramebuffer(e._reductionSteps[0].inputTexture,!1)})),this._activated=!0)},e.prototype.deactivate=function(){this._onAfterUnbindObserver&&this._sourceTexture&&(this._sourceTexture.onAfterUnbindObservable.remove(this._onAfterUnbindObserver),this._onAfterUnbindObserver=null,this._activated=!1)},e.prototype.dispose=function(e){if(void 0===e&&(e=!0),e&&this.onAfterReductionPerformed.clear(),this.deactivate(),this._reductionSteps){for(var t=0;tt&&(e=0,t=1),e<0&&(e=0),t>1&&(t=1),this._minDistance=e,this._maxDistance=t,this._breaksAreDirty=!0)},Object.defineProperty(t.prototype,"minDistance",{get:function(){return this._minDistance},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxDistance",{get:function(){return this._maxDistance},enumerable:!0,configurable:!0}),t.prototype.getClassName=function(){return t.CLASSNAME},t.prototype.getCascadeMinExtents=function(e){return e>=0&&e=0&&ethis._scene.activeCamera.maxZ||(this._shadowMaxZ=e,this._light._markMeshesAsLightDirty(),this._breaksAreDirty=!0):this._shadowMaxZ=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"debug",{get:function(){return this._debug},set:function(e){this._debug=e,this._light._markMeshesAsLightDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"depthClamp",{get:function(){return this._depthClamp},set:function(e){this._depthClamp=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cascadeBlendPercentage",{get:function(){return this._cascadeBlendPercentage},set:function(e){this._cascadeBlendPercentage=e,this._light._markMeshesAsLightDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"lambda",{get:function(){return this._lambda},set:function(e){var t=Math.min(Math.max(e,0),1);this._lambda!=t&&(this._lambda=t,this._breaksAreDirty=!0)},enumerable:!0,configurable:!0}),t.prototype.getCascadeViewMatrix=function(e){return e>=0&&e=0&&e=0&&e=i&&(n=0,i=1),n==t._minDistance&&i==t._maxDistance||t.setMinMaxDistance(n,i)})),this._depthReducer.setDepthRenderer(this._depthRenderer)),this._depthReducer.activate()}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"autoCalcDepthBoundsRefreshRate",{get:function(){var e,t,n;return null!=(n=null===(t=null===(e=this._depthReducer)||void 0===e?void 0:e.depthRenderer)||void 0===t?void 0:t.getDepthMap().refreshRate)?n:-1},set:function(e){var t;(null===(t=this._depthReducer)||void 0===t?void 0:t.depthRenderer)&&(this._depthReducer.depthRenderer.getDepthMap().refreshRate=e)},enumerable:!0,configurable:!0}),t.prototype.splitFrustum=function(){this._breaksAreDirty=!0},t.prototype._splitFrustum=function(){var e=this._scene.activeCamera;if(e){for(var t=e.minZ,n=e.maxZ,i=n-t,r=this._minDistance,o=t+r*i,a=t+(this._shadowMaxZ=t?Math.min((this._shadowMaxZ-t)/(n-t),this._maxDistance):this._maxDistance)*i,s=a-o,c=a/o,l=0;lMath.PI;)r-=2*Math.PI;var a=r/Math.PI,s=o/Math.PI;a=.5*a+.5;var c=Math.round(a*n);c<0?c=0:c>=n&&(c=n-1);var l=Math.round(s*i);l<0?l=0:l>=i&&(l=i-1);var u=i-l-1;return{r:t[u*n*3+3*c+0],g:t[u*n*3+3*c+1],b:t[u*n*3+3*c+2]}},e.FACE_FRONT=[new a.e(-1,-1,-1),new a.e(1,-1,-1),new a.e(-1,1,-1),new a.e(1,1,-1)],e.FACE_BACK=[new a.e(1,-1,1),new a.e(-1,-1,1),new a.e(1,1,1),new a.e(-1,1,1)],e.FACE_RIGHT=[new a.e(1,-1,-1),new a.e(1,-1,1),new a.e(1,1,-1),new a.e(1,1,1)],e.FACE_LEFT=[new a.e(-1,-1,1),new a.e(-1,-1,-1),new a.e(-1,1,1),new a.e(-1,1,-1)],e.FACE_DOWN=[new a.e(-1,1,-1),new a.e(1,1,-1),new a.e(-1,1,1),new a.e(1,1,1)],e.FACE_UP=[new a.e(-1,-1,1),new a.e(1,-1,1),new a.e(-1,-1,-1),new a.e(1,-1,-1)],e}(),Sa=function(){function e(){}return e.Ldexp=function(e,t){return t>1023?e*Math.pow(2,1023)*Math.pow(2,t-1023):t<-1074?e*Math.pow(2,-1074)*Math.pow(2,t+1074):e*Math.pow(2,t)},e.Rgbe2float=function(e,t,n,i,r,o){r>0?(r=this.Ldexp(1,r-136),e[o+0]=t*r,e[o+1]=n*r,e[o+2]=i*r):(e[o+0]=0,e[o+1]=0,e[o+2]=0)},e.readStringLine=function(e,t){for(var n="",i="",r=t;r32767)throw"HDR Bad header format, unsupported size";return{height:t,width:n,dataPosition:a+=i.length+1}},e.GetCubeMapTextureData=function(e,t){var n=new Uint8Array(e),i=this.RGBE_ReadHeader(n),r=this.RGBE_ReadPixels_RLE(n,i);return xa.ConvertPanoramaToCubemap(r,i.width,i.height,t)},e.RGBE_ReadPixels=function(e,t){return this.RGBE_ReadPixels_RLE(e,t)},e.RGBE_ReadPixels_RLE=function(e,t){for(var n,i,r,o,a,s=t.height,c=t.width,l=t.dataPosition,u=0,p=0,h=0,d=new ArrayBuffer(4*c),f=new Uint8Array(d),_=new ArrayBuffer(t.width*t.height*4*3),m=new Float32Array(_);s>0;){if(n=e[l++],i=e[l++],r=e[l++],o=e[l++],2!=n||2!=i||128&r)throw"HDR Bad header format, not RLE";if((r<<8|o)!=c)throw"HDR Bad header format, wrong scan line width";for(u=0,h=0;h<4;h++)for(p=(h+1)*c;u128){if(0==(a=n-128)||a>p-u)throw"HDR Bad Format, bad scanline data (run)";for(;a-- >0;)f[u++]=i}else{if(0==(a=n)||a>p-u)throw"HDR Bad Format, bad scanline data (non-run)";if(f[u++]=i,--a>0)for(var b=0;b255){var m=255/_;h*=m,d*=m,f*=m}s[3*p+0]=h,s[3*p+1]=d,s[3*p+2]=f}s?a.push(s):a.push(u)}return a}),null,this._onLoad,this._onError))},t.prototype.clone=function(){var e=this.getScene();if(!e)return this;var n=new t(this.url,e,this._size,this._noMipmap,this._generateHarmonics,this.gammaSpace);return n.level=this.level,n.wrapU=this.wrapU,n.wrapV=this.wrapV,n.coordinatesIndex=this.coordinatesIndex,n.coordinatesMode=this.coordinatesMode,n},t.prototype.delayLoad=function(){4===this.delayLoadState&&(this.delayLoadState=1,this._texture=this._getFromCache(this.url,this._noMipmap),this._texture||this.loadTexture())},t.prototype.getReflectionTextureMatrix=function(){return this._textureMatrix},t.prototype.setReflectionTextureMatrix=function(e){var t=this;this._textureMatrix=e,e.updateFlag!==this._textureMatrix.updateFlag&&e.isIdentity()!==this._textureMatrix.isIdentity()&&this.getScene().markAllMaterialsAsDirty(1,(function(e){return-1!==e.getActiveTextures().indexOf(t)}))},t.Parse=function(e,n,i){var r=null;return e.name&&!e.isRenderTarget&&((r=new t(i+e.name,n,e.size,e.noMipmap,e.generateHarmonics,e.useInGammaSpace)).name=e.name,r.hasAlpha=e.hasAlpha,r.level=e.level,r.coordinatesMode=e.coordinatesMode,r.isBlocking=e.isBlocking),r&&(e.boundingBoxPosition&&(r.boundingBoxPosition=a.e.FromArray(e.boundingBoxPosition)),e.boundingBoxSize&&(r.boundingBoxSize=a.e.FromArray(e.boundingBoxSize)),e.rotationY&&(r.rotationY=e.rotationY)),r},t.prototype.serialize=function(){if(!this.name)return null;var e={};return e.name=this.name,e.hasAlpha=this.hasAlpha,e.isCube=!0,e.level=this.level,e.size=this._size,e.coordinatesMode=this.coordinatesMode,e.useInGammaSpace=this.gammaSpace,e.generateHarmonics=this._generateHarmonics,e.customType="BABYLON.HDRCubeTexture",e.noMipmap=this._noMipmap,e.isBlocking=this._isBlocking,e.rotationY=this._rotationY,e},t._facesMapping=["right","left","up","down","front","back"],t}(mr.a));c.a.RegisteredTypes["BABYLON.HDRCubeTexture"]=Ta;var Ea=n(152),Pa=function(){function e(t,n){if(void 0===n&&(n=e.DefaultPluginFactory()),this._physicsPlugin=n,this._impostors=[],this._joints=[],this._subTimeStep=0,!this._physicsPlugin.isSupported())throw new Error("Physics Engine "+this._physicsPlugin.name+" cannot be found. Please make sure it is included.");t=t||new a.e(0,-9.807,0),this.setGravity(t),this.setTimeStep()}return e.DefaultPluginFactory=function(){throw Fo.a.WarnImport("CannonJSPlugin")},e.prototype.setGravity=function(e){this.gravity=e,this._physicsPlugin.setGravity(this.gravity)},e.prototype.setTimeStep=function(e){void 0===e&&(e=1/60),this._physicsPlugin.setTimeStep(e)},e.prototype.getTimeStep=function(){return this._physicsPlugin.getTimeStep()},e.prototype.setSubTimeStep=function(e){void 0===e&&(e=0),this._subTimeStep=e},e.prototype.getSubTimeStep=function(){return this._subTimeStep},e.prototype.dispose=function(){this._impostors.forEach((function(e){e.dispose()})),this._physicsPlugin.dispose()},e.prototype.getPhysicsPluginName=function(){return this._physicsPlugin.name},e.prototype.addImpostor=function(e){e.uniqueId=this._impostors.push(e),e.parent||this._physicsPlugin.generatePhysicsBody(e)},e.prototype.removeImpostor=function(e){var t=this._impostors.indexOf(e);t>-1&&(this._impostors.splice(t,1).length&&this.getPhysicsPlugin().removePhysicsBody(e))},e.prototype.addJoint=function(e,t,n){var i={mainImpostor:e,connectedImpostor:t,joint:n};n.physicsPlugin=this._physicsPlugin,this._joints.push(i),this._physicsPlugin.generateJoint(i)},e.prototype.removeJoint=function(e,t,n){var i=this._joints.filter((function(i){return i.connectedImpostor===t&&i.joint===n&&i.mainImpostor===e}));i.length&&this._physicsPlugin.removeJoint(i[0])},e.prototype._step=function(e){var t=this;this._impostors.forEach((function(e){e.isBodyInitRequired()&&t._physicsPlugin.generatePhysicsBody(e)})),e>.1?e=.1:e<=0&&(e=1/60),this._physicsPlugin.executeStep(e,this._impostors)},e.prototype.getPhysicsPlugin=function(){return this._physicsPlugin},e.prototype.getImpostors=function(){return this._impostors},e.prototype.getImpostorForPhysicsObject=function(e){for(var t=0;t0&&(this._physicsBodysToRemoveAfterStep.forEach((function(t){e.world.remove(t)})),this._physicsBodysToRemoveAfterStep=[])},e.prototype.applyImpulse=function(e,t,n){var i=new this.BJSCANNON.Vec3(n.x,n.y,n.z),r=new this.BJSCANNON.Vec3(t.x,t.y,t.z);e.physicsBody.applyImpulse(r,i)},e.prototype.applyForce=function(e,t,n){var i=new this.BJSCANNON.Vec3(n.x,n.y,n.z),r=new this.BJSCANNON.Vec3(t.x,t.y,t.z);e.physicsBody.applyForce(r,i)},e.prototype.generatePhysicsBody=function(e){if(this._removeMarkedPhysicsBodiesFromWorld(),e.parent)e.physicsBody&&(this.removePhysicsBody(e),e.forceUpdate());else{if(e.isBodyInitRequired()){var t=this._createShape(e),n=e.physicsBody;n&&this.removePhysicsBody(e);var i=this._addMaterial("mat-"+e.uniqueId,e.getParam("friction"),e.getParam("restitution")),r={mass:e.getParam("mass"),material:i},o=e.getParam("nativeOptions");for(var a in o)o.hasOwnProperty(a)&&(r[a]=o[a]);e.physicsBody=new this.BJSCANNON.Body(r),e.physicsBody.addEventListener("collide",e.onCollide),this.world.addEventListener("preStep",e.beforeStep),this.world.addEventListener("postStep",e.afterStep),e.physicsBody.addShape(t),this.world.add(e.physicsBody),n&&["force","torque","velocity","angularVelocity"].forEach((function(t){e.physicsBody[t].copy(n[t])})),this._processChildMeshes(e)}this._updatePhysicsBodyTransformation(e)}},e.prototype._processChildMeshes=function(e){var t=this,n=e.object.getChildMeshes?e.object.getChildMeshes(!0):[],i=e.object.rotationQuaternion;if(n.length){var r=function(n,o){if(i&&o.rotationQuaternion){var s=o.getPhysicsImpostor();if(s)if(s.parent!==e){var c=o.position.clone(),l=o.rotationQuaternion.multiply(a.b.Inverse(i));s.physicsBody&&(t.removePhysicsBody(s),s.physicsBody=null),s.parent=e,s.resetUpdateFlags(),e.physicsBody.addShape(t._createShape(s),new t.BJSCANNON.Vec3(c.x,c.y,c.z),new t.BJSCANNON.Quaternion(l.x,l.y,l.z,l.w)),e.physicsBody.mass+=s.getParam("mass")}i.multiplyInPlace(o.rotationQuaternion),o.getChildMeshes(!0).filter((function(e){return!!e.physicsImpostor})).forEach(r.bind(t,o.getAbsolutePosition()))}};n.filter((function(e){return!!e.physicsImpostor})).forEach(r.bind(this,e.object.getAbsolutePosition()))}},e.prototype.removePhysicsBody=function(e){e.physicsBody.removeEventListener("collide",e.onCollide),this.world.removeEventListener("preStep",e.beforeStep),this.world.removeEventListener("postStep",e.afterStep),-1===this._physicsBodysToRemoveAfterStep.indexOf(e.physicsBody)&&this._physicsBodysToRemoveAfterStep.push(e.physicsBody)},e.prototype.generateJoint=function(e){var t=e.mainImpostor.physicsBody,n=e.connectedImpostor.physicsBody;if(t&&n){var i,r=e.joint.jointData,o={pivotA:r.mainPivot?(new this.BJSCANNON.Vec3).copy(r.mainPivot):null,pivotB:r.connectedPivot?(new this.BJSCANNON.Vec3).copy(r.connectedPivot):null,axisA:r.mainAxis?(new this.BJSCANNON.Vec3).copy(r.mainAxis):null,axisB:r.connectedAxis?(new this.BJSCANNON.Vec3).copy(r.connectedAxis):null,maxForce:r.nativeParams.maxForce,collideConnected:!!r.collision};switch(e.joint.type){case pi.HingeJoint:case pi.Hinge2Joint:i=new this.BJSCANNON.HingeConstraint(t,n,o);break;case pi.DistanceJoint:i=new this.BJSCANNON.DistanceConstraint(t,n,r.maxDistance||2);break;case pi.SpringJoint:var a=r;i=new this.BJSCANNON.Spring(t,n,{restLength:a.length,stiffness:a.stiffness,damping:a.damping,localAnchorA:o.pivotA,localAnchorB:o.pivotB});break;case pi.LockJoint:i=new this.BJSCANNON.LockConstraint(t,n,o);break;case pi.PointToPointJoint:case pi.BallAndSocketJoint:default:i=new this.BJSCANNON.PointToPointConstraint(t,o.pivotA,n,o.pivotB,o.maxForce)}i.collideConnected=!!r.collision,e.joint.physicsJoint=i,e.joint.type!==pi.SpringJoint?this.world.addConstraint(i):(e.joint.jointData.forceApplicationCallback=e.joint.jointData.forceApplicationCallback||function(){i.applyForce()},e.mainImpostor.registerAfterPhysicsStep(e.joint.jointData.forceApplicationCallback))}},e.prototype.removeJoint=function(e){e.joint.type!==pi.SpringJoint?this.world.removeConstraint(e.joint.physicsJoint):e.mainImpostor.unregisterAfterPhysicsStep(e.joint.jointData.forceApplicationCallback)},e.prototype._addMaterial=function(e,t,n){var i,r;for(i=0;i1e3*n));s++);this.time+=i;for(var c=this.time%n/n,l=e,u=this.bodies,p=0;p!==u.length;p++){var h=u[p];h.type!==t.Body.STATIC&&h.sleepState!==t.Body.SLEEPING?(h.position.vsub(h.previousPosition,l),l.scale(c,l),h.position.vadd(l,h.interpolatedPosition)):(h.interpolatedPosition.copy(h.position),h.interpolatedQuaternion.copy(h.quaternion))}}}},e.prototype.raycast=function(e,t){return this._cannonRaycastResult.reset(),this.world.raycastClosest(e,t,{},this._cannonRaycastResult),this._raycastResult.reset(e,t),this._cannonRaycastResult.hasHit&&(this._raycastResult.setHitData({x:this._cannonRaycastResult.hitNormalWorld.x,y:this._cannonRaycastResult.hitNormalWorld.y,z:this._cannonRaycastResult.hitNormalWorld.z},{x:this._cannonRaycastResult.hitPointWorld.x,y:this._cannonRaycastResult.hitPointWorld.y,z:this._cannonRaycastResult.hitPointWorld.z}),this._raycastResult.setHitDistance(this._cannonRaycastResult.distance)),this._raycastResult},e}();Pa.DefaultPluginFactory=function(){return new Ma};var Ra=function(){function e(e,t){void 0===t&&(t=OIMO),this.name="OimoJSPlugin",this._tmpImpostorsArray=[],this._tmpPositionVector=a.e.Zero(),this.BJSOIMO=t,this.world=new this.BJSOIMO.World({iterations:e}),this.world.clear(),this._raycastResult=new Oa}return e.prototype.setGravity=function(e){this.world.gravity.copy(e)},e.prototype.setTimeStep=function(e){this.world.timeStep=e},e.prototype.getTimeStep=function(){return this.world.timeStep},e.prototype.executeStep=function(e,t){var n=this;t.forEach((function(e){e.beforeStep()})),this.world.step(),t.forEach((function(e){e.afterStep(),n._tmpImpostorsArray[e.uniqueId]=e}));for(var i=this.world.contacts;null!==i;)if(!i.touching||i.body1.sleeping||i.body2.sleeping){var r=this._tmpImpostorsArray[+i.body1.name],o=this._tmpImpostorsArray[+i.body2.name];r&&o?(r.onCollide({body:o.physicsBody}),o.onCollide({body:r.physicsBody}),i=i.next):i=i.next}else i=i.next},e.prototype.applyImpulse=function(e,t,n){var i=e.physicsBody.mass;e.physicsBody.applyImpulse(n.scale(this.world.invScale),t.scale(this.world.invScale*i))},e.prototype.applyForce=function(e,t,n){m.a.Warn("Oimo doesn't support applying force. Using impule instead."),this.applyImpulse(e,t,n)},e.prototype.generatePhysicsBody=function(e){var t=this;if(e.parent)e.physicsBody&&(this.removePhysicsBody(e),e.forceUpdate());else{if(e.isBodyInitRequired()){var n={name:e.uniqueId,config:[e.getParam("mass")||.001,e.getParam("friction"),e.getParam("restitution")],size:[],type:[],pos:[],posShape:[],rot:[],rotShape:[],move:0!==e.getParam("mass"),density:e.getParam("mass"),friction:e.getParam("friction"),restitution:e.getParam("restitution"),world:this.world},i=[e];(s=e.object).getChildMeshes&&s.getChildMeshes().forEach((function(e){e.physicsImpostor&&i.push(e.physicsImpostor)}));var r=function(e){return Math.max(e,Pa.Epsilon)},o=new a.b;i.forEach((function(i){if(i.object.rotationQuaternion){var a=i.object.rotationQuaternion;o=a.clone(),i.object.rotationQuaternion.set(0,0,0,1),i.object.computeWorldMatrix(!0);var s=a.toEulerAngles(),c=i.getObjectExtendSize(),l=57.29577951308232;if(i===e){var u=e.getObjectCenter();e.object.getAbsolutePivotPoint().subtractToRef(u,t._tmpPositionVector),t._tmpPositionVector.divideInPlace(e.object.scaling),n.pos.push(u.x),n.pos.push(u.y),n.pos.push(u.z),n.posShape.push(0,0,0),n.rotShape.push(0,0,0)}else{var p=i.object.position.clone();n.posShape.push(p.x),n.posShape.push(p.y),n.posShape.push(p.z),n.rotShape.push(s.x*l),n.rotShape.push(s.y*l),n.rotShape.push(s.z*l)}switch(i.object.rotationQuaternion.copyFrom(o),i.type){case mi.ParticleImpostor:m.a.Warn("No Particle support in OIMO.js. using SphereImpostor instead");case mi.SphereImpostor:var h=c.x,d=c.y,f=c.z,_=Math.max(r(h),r(d),r(f))/2;n.type.push("sphere"),n.size.push(_),n.size.push(_),n.size.push(_);break;case mi.CylinderImpostor:var b=r(c.x)/2,g=r(c.y);n.type.push("cylinder"),n.size.push(b),n.size.push(g),n.size.push(g);break;case mi.PlaneImpostor:case mi.BoxImpostor:default:b=r(c.x),g=r(c.y);var v=r(c.z);n.type.push("box"),n.size.push(b),n.size.push(g),n.size.push(v)}i.object.rotationQuaternion=a}})),e.physicsBody=this.world.add(n),e.physicsBody.resetQuaternion(o),e.physicsBody.updatePosition(0)}else this._tmpPositionVector.copyFromFloats(0,0,0);var s;e.setDeltaPosition(this._tmpPositionVector)}},e.prototype.removePhysicsBody=function(e){this.world.removeRigidBody(e.physicsBody)},e.prototype.generateJoint=function(e){var t=e.mainImpostor.physicsBody,n=e.connectedImpostor.physicsBody;if(t&&n){var i,r=e.joint.jointData,o=r.nativeParams||{},a={body1:t,body2:n,axe1:o.axe1||(r.mainAxis?r.mainAxis.asArray():null),axe2:o.axe2||(r.connectedAxis?r.connectedAxis.asArray():null),pos1:o.pos1||(r.mainPivot?r.mainPivot.asArray():null),pos2:o.pos2||(r.connectedPivot?r.connectedPivot.asArray():null),min:o.min,max:o.max,collision:o.collision||r.collision,spring:o.spring,world:this.world};switch(e.joint.type){case pi.BallAndSocketJoint:i="jointBall";break;case pi.SpringJoint:m.a.Warn("OIMO.js doesn't support Spring Constraint. Simulating using DistanceJoint instead");var s=r;a.min=s.length||a.min,a.max=Math.max(a.min,a.max);case pi.DistanceJoint:i="jointDistance",a.max=r.maxDistance;break;case pi.PrismaticJoint:i="jointPrisme";break;case pi.SliderJoint:i="jointSlide";break;case pi.WheelJoint:i="jointWheel";break;case pi.HingeJoint:default:i="jointHinge"}a.type=i,e.joint.physicsJoint=this.world.add(a)}},e.prototype.removeJoint=function(e){try{this.world.removeJoint(e.joint.physicsJoint)}catch(e){m.a.Warn(e)}},e.prototype.isSupported=function(){return void 0!==this.BJSOIMO},e.prototype.setTransformationFromPhysicsBody=function(e){if(!e.physicsBody.sleeping){if(e.physicsBody.shapes.next){for(var t=e.physicsBody.shapes;t.next;)t=t.next;e.object.position.copyFrom(t.position)}else e.object.position.copyFrom(e.physicsBody.getPosition());e.object.rotationQuaternion&&e.object.rotationQuaternion.copyFrom(e.physicsBody.getQuaternion())}},e.prototype.setPhysicsBodyTransformation=function(e,t,n){var i=e.physicsBody;e.physicsBody.shapes.next||(i.position.copy(t),i.orientation.copy(n),i.syncShapes(),i.awake())},e.prototype.setLinearVelocity=function(e,t){e.physicsBody.linearVelocity.copy(t)},e.prototype.setAngularVelocity=function(e,t){e.physicsBody.angularVelocity.copy(t)},e.prototype.getLinearVelocity=function(e){var t=e.physicsBody.linearVelocity;return t?new a.e(t.x,t.y,t.z):null},e.prototype.getAngularVelocity=function(e){var t=e.physicsBody.angularVelocity;return t?new a.e(t.x,t.y,t.z):null},e.prototype.setBodyMass=function(e,t){var n=0===t;e.physicsBody.shapes.density=n?1:t,e.physicsBody.setupMass(n?2:1)},e.prototype.getBodyMass=function(e){return e.physicsBody.shapes.density},e.prototype.getBodyFriction=function(e){return e.physicsBody.shapes.friction},e.prototype.setBodyFriction=function(e,t){e.physicsBody.shapes.friction=t},e.prototype.getBodyRestitution=function(e){return e.physicsBody.shapes.restitution},e.prototype.setBodyRestitution=function(e,t){e.physicsBody.shapes.restitution=t},e.prototype.sleepBody=function(e){e.physicsBody.sleep()},e.prototype.wakeUpBody=function(e){e.physicsBody.awake()},e.prototype.updateDistanceJoint=function(e,t,n){e.physicsJoint.limitMotor.upperLimit=t,void 0!==n&&(e.physicsJoint.limitMotor.lowerLimit=n)},e.prototype.setMotor=function(e,t,n,i){void 0!==n?m.a.Warn("OimoJS plugin currently has unexpected behavior when using setMotor with force parameter"):n=1e6,t*=-1;var r=i?e.physicsJoint.rotationalLimitMotor2:e.physicsJoint.rotationalLimitMotor1||e.physicsJoint.rotationalLimitMotor||e.physicsJoint.limitMotor;r&&r.setMotor(t,n)},e.prototype.setLimit=function(e,t,n,i){var r=i?e.physicsJoint.rotationalLimitMotor2:e.physicsJoint.rotationalLimitMotor1||e.physicsJoint.rotationalLimitMotor||e.physicsJoint.limitMotor;r&&r.setLimit(t,void 0===n?-t:n)},e.prototype.syncMeshWithImpostor=function(e,t){var n=t.physicsBody;e.position.x=n.position.x,e.position.y=n.position.y,e.position.z=n.position.z,e.rotationQuaternion&&(e.rotationQuaternion.x=n.orientation.x,e.rotationQuaternion.y=n.orientation.y,e.rotationQuaternion.z=n.orientation.z,e.rotationQuaternion.w=n.orientation.s)},e.prototype.getRadius=function(e){return e.physicsBody.shapes.radius},e.prototype.getBoxSizeToRef=function(e,t){var n=e.physicsBody.shapes;t.x=2*n.halfWidth,t.y=2*n.halfHeight,t.z=2*n.halfDepth},e.prototype.dispose=function(){this.world.clear()},e.prototype.raycast=function(e,t){return m.a.Warn("raycast is not currently supported by the Oimo physics plugin"),this._raycastResult.reset(e,t),this._raycastResult},e}();En.a.CreateRibbon=function(e){var t=e.pathArray,n=e.closeArray||!1,i=e.closePath||!1,r=e.invertUV||!1,o=Math.floor(t[0].length/2),a=e.offset||o;a=a>o?o:Math.floor(a);var s,c,l,u,p=0===e.sideOrientation?0:e.sideOrientation||En.a.DEFAULTSIDE,h=e.uvs,d=e.colors,f=[],_=[],m=[],b=[],g=[],v=[],y=[],C=[],A=[],x=[];if(t.length<2){var S=[],T=[];for(l=0;l0&&(O=E[u].subtract(E[u-1]).length()+y[c],g[c].push(O),y[c]=O),u++;i&&(u--,f.push(E[0].x,E[0].y,E[0].z),O=E[u].subtract(E[0]).length()+y[c],g[c].push(O),y[c]=O),A[c]=P+w,x[c]=I,I+=P+w}var D,L,N=null,F=null;for(l=0;l3?0:u,p);var x=Ia.CreateRibbon(e,{pathArray:y,closeArray:c,closePath:l,updatable:d,sideOrientation:f,invertUV:m,frontUVs:b||void 0,backUVs:g||void 0},h);return x._creationDataStorage.pathArray=y,x._creationDataStorage.path3D=v,x._creationDataStorage.cap=u,x},e}(),Da=function(){function e(e,t,n){var i=this;void 0===e&&(e=!0),void 0===t&&(t=Ammo),void 0===n&&(n=null),this._useDeltaForWorldStep=e,this.bjsAMMO={},this.name="AmmoJSPlugin",this._timeStep=1/60,this._fixedTimeStep=1/60,this._maxSteps=5,this._tmpQuaternion=new a.b,this._tmpContactCallbackResult=!1,this._tmpVector=new a.e,this._tmpMatrix=new a.a,"function"==typeof t?t(this.bjsAMMO):this.bjsAMMO=t,this.isSupported()?(this._collisionConfiguration=new this.bjsAMMO.btSoftBodyRigidBodyCollisionConfiguration,this._dispatcher=new this.bjsAMMO.btCollisionDispatcher(this._collisionConfiguration),this._overlappingPairCache=n||new this.bjsAMMO.btDbvtBroadphase,this._solver=new this.bjsAMMO.btSequentialImpulseConstraintSolver,this._softBodySolver=new this.bjsAMMO.btDefaultSoftBodySolver,this.world=new this.bjsAMMO.btSoftRigidDynamicsWorld(this._dispatcher,this._overlappingPairCache,this._solver,this._collisionConfiguration,this._softBodySolver),this._tmpAmmoConcreteContactResultCallback=new this.bjsAMMO.ConcreteContactResultCallback,this._tmpAmmoConcreteContactResultCallback.addSingleResult=function(){i._tmpContactCallbackResult=!0},this._raycastResult=new Oa,this._tmpAmmoTransform=new this.bjsAMMO.btTransform,this._tmpAmmoTransform.setIdentity(),this._tmpAmmoQuaternion=new this.bjsAMMO.btQuaternion(0,0,0,1),this._tmpAmmoVectorA=new this.bjsAMMO.btVector3(0,0,0),this._tmpAmmoVectorB=new this.bjsAMMO.btVector3(0,0,0),this._tmpAmmoVectorC=new this.bjsAMMO.btVector3(0,0,0),this._tmpAmmoVectorD=new this.bjsAMMO.btVector3(0,0,0)):m.a.Error("AmmoJS is not available. Please make sure you included the js file.")}return e.prototype.setGravity=function(e){this._tmpAmmoVectorA.setValue(e.x,e.y,e.z),this.world.setGravity(this._tmpAmmoVectorA),this.world.getWorldInfo().set_m_gravity(this._tmpAmmoVectorA)},e.prototype.setTimeStep=function(e){this._timeStep=e},e.prototype.setFixedTimeStep=function(e){this._fixedTimeStep=e},e.prototype.setMaxSteps=function(e){this._maxSteps=e},e.prototype.getTimeStep=function(){return this._timeStep},e.prototype._isImpostorInContact=function(e){return this._tmpContactCallbackResult=!1,this.world.contactTest(e.physicsBody,this._tmpAmmoConcreteContactResultCallback),this._tmpContactCallbackResult},e.prototype._isImpostorPairInContact=function(e,t){return this._tmpContactCallbackResult=!1,this.world.contactPairTest(e.physicsBody,t.physicsBody,this._tmpAmmoConcreteContactResultCallback),this._tmpContactCallbackResult},e.prototype._stepSimulation=function(e,t,n){if(void 0===e&&(e=1/60),void 0===t&&(t=10),void 0===n&&(n=1/60),0==t)this.world.stepSimulation(e,0);else for(;t>0&&e>0;)e-n0&&this._isImpostorInContact(s))for(var c=0,l=s._onPhysicsCollideCallbacks;c3?3:s;var c=(new this.bjsAMMO.btSoftBodyHelpers).CreateRope(this.world.getWorldInfo(),this._tmpAmmoVectorA,this._tmpAmmoVectorB,n-1,s);return c.get_m_cfg().set_collisions(17),c},e.prototype._createCustom=function(e){var t=null;return this.onCreateCustomShape&&(t=this.onCreateCustomShape(e)),null==t&&(t=new this.bjsAMMO.btCompoundShape),t},e.prototype._addHullVerts=function(e,t,n){var i=this,r=0;if(n&&n.getIndices&&n.getWorldMatrix&&n.getChildMeshes){var o=n.getIndices();o||(o=[]);var s=n.getVerticesData(Pn.b.PositionKind);s||(s=[]),n.computeWorldMatrix(!1);for(var c=o.length/3,l=0;l0){if(e.type!=mi.NoImpostor){var l=this._createShape(e,!0);l&&(this._tmpAmmoTransform.getOrigin().setValue(0,0,0),this._tmpAmmoQuaternion.setValue(0,0,0,1),this._tmpAmmoTransform.setRotation(this._tmpAmmoQuaternion),i.addChildShape(this._tmpAmmoTransform,l))}return i}this.bjsAMMO.destroy(i),i=null}switch(e.type){case mi.SphereImpostor:if(He.a.WithinEpsilon(o.x,o.y,1e-4)&&He.a.WithinEpsilon(o.x,o.z,1e-4))i=new this.bjsAMMO.btSphereShape(o.x/2);else{var u=[new this.bjsAMMO.btVector3(0,0,0)];(i=new this.bjsAMMO.btMultiSphereShape(u,[1],1)).setLocalScaling(new this.bjsAMMO.btVector3(o.x/2,o.y/2,o.z/2))}break;case mi.CapsuleImpostor:i=new this.bjsAMMO.btCapsuleShape(o.x/2,o.y/2);break;case mi.CylinderImpostor:this._tmpAmmoVectorA.setValue(o.x/2,o.y/2,o.z/2),i=new this.bjsAMMO.btCylinderShape(this._tmpAmmoVectorA);break;case mi.PlaneImpostor:case mi.BoxImpostor:this._tmpAmmoVectorA.setValue(o.x/2,o.y/2,o.z/2),i=new this.bjsAMMO.btBoxShape(this._tmpAmmoVectorA);break;case mi.MeshImpostor:if(0==e.getParam("mass")){var p=new this.bjsAMMO.btTriangleMesh;e._pluginData.toDispose.push(p);var h=this._addMeshVerts(p,r,r);i=0==h?new this.bjsAMMO.btCompoundShape:new this.bjsAMMO.btBvhTriangleMeshShape(p);break}case mi.ConvexHullImpostor:var d=new this.bjsAMMO.btConvexHullShape;0==(h=this._addHullVerts(d,r,r))?(e._pluginData.toDispose.push(d),i=new this.bjsAMMO.btCompoundShape):i=d;break;case mi.NoImpostor:i=new this.bjsAMMO.btSphereShape(o.x/2);break;case mi.CustomImpostor:i=this._createCustom(e);break;case mi.SoftbodyImpostor:i=this._createSoftbody(e);break;case mi.ClothImpostor:i=this._createCloth(e);break;case mi.RopeImpostor:i=this._createRope(e);break;default:m.a.Warn("The impostor type is not currently supported by the ammo plugin.")}return i},e.prototype.setTransformationFromPhysicsBody=function(e){e.physicsBody.getMotionState().getWorldTransform(this._tmpAmmoTransform),e.object.position.set(this._tmpAmmoTransform.getOrigin().x(),this._tmpAmmoTransform.getOrigin().y(),this._tmpAmmoTransform.getOrigin().z()),e.object.rotationQuaternion?e.object.rotationQuaternion.set(this._tmpAmmoTransform.getRotation().x(),this._tmpAmmoTransform.getRotation().y(),this._tmpAmmoTransform.getRotation().z(),this._tmpAmmoTransform.getRotation().w()):e.object.rotation&&(this._tmpQuaternion.set(this._tmpAmmoTransform.getRotation().x(),this._tmpAmmoTransform.getRotation().y(),this._tmpAmmoTransform.getRotation().z(),this._tmpAmmoTransform.getRotation().w()),this._tmpQuaternion.toEulerAnglesToRef(e.object.rotation))},e.prototype.setPhysicsBodyTransformation=function(e,t,n){var i=e.physicsBody.getWorldTransform();if(i.getOrigin().x()!=t.x||i.getOrigin().y()!=t.y||i.getOrigin().z()!=t.z||i.getRotation().x()!=n.x||i.getRotation().y()!=n.y||i.getRotation().z()!=n.z||i.getRotation().w()!=n.w)if(this._tmpAmmoVectorA.setValue(t.x,t.y,t.z),i.setOrigin(this._tmpAmmoVectorA),this._tmpAmmoQuaternion.setValue(n.x,n.y,n.z,n.w),i.setRotation(this._tmpAmmoQuaternion),e.physicsBody.setWorldTransform(i),0==e.mass){var r=e.physicsBody.getMotionState();r&&r.setWorldTransform(i)}else e.physicsBody.activate()},e.prototype.isSupported=function(){return void 0!==this.bjsAMMO},e.prototype.setLinearVelocity=function(e,t){this._tmpAmmoVectorA.setValue(t.x,t.y,t.z),e.soft?e.physicsBody.linearVelocity(this._tmpAmmoVectorA):e.physicsBody.setLinearVelocity(this._tmpAmmoVectorA)},e.prototype.setAngularVelocity=function(e,t){this._tmpAmmoVectorA.setValue(t.x,t.y,t.z),e.soft?e.physicsBody.angularVelocity(this._tmpAmmoVectorA):e.physicsBody.setAngularVelocity(this._tmpAmmoVectorA)},e.prototype.getLinearVelocity=function(e){if(e.soft)var t=e.physicsBody.linearVelocity();else t=e.physicsBody.getLinearVelocity();if(!t)return null;var n=new a.e(t.x(),t.y(),t.z());return this.bjsAMMO.destroy(t),n},e.prototype.getAngularVelocity=function(e){if(e.soft)var t=e.physicsBody.angularVelocity();else t=e.physicsBody.getAngularVelocity();if(!t)return null;var n=new a.e(t.x(),t.y(),t.z());return this.bjsAMMO.destroy(t),n},e.prototype.setBodyMass=function(e,t){e.soft?e.physicsBody.setTotalMass(t,!1):e.physicsBody.setMassProps(t),e._pluginData.mass=t},e.prototype.getBodyMass=function(e){return e._pluginData.mass||0},e.prototype.getBodyFriction=function(e){return e._pluginData.friction||0},e.prototype.setBodyFriction=function(e,t){e.soft?e.physicsBody.get_m_cfg().set_kDF(t):e.physicsBody.setFriction(t),e._pluginData.friction=t},e.prototype.getBodyRestitution=function(e){return e._pluginData.restitution||0},e.prototype.setBodyRestitution=function(e,t){e.physicsBody.setRestitution(t),e._pluginData.restitution=t},e.prototype.getBodyPressure=function(e){return e.soft?e._pluginData.pressure||0:(m.a.Warn("Pressure is not a property of a rigid body"),0)},e.prototype.setBodyPressure=function(e,t){e.soft?e.type===mi.SoftbodyImpostor?(e.physicsBody.get_m_cfg().set_kPR(t),e._pluginData.pressure=t):(e.physicsBody.get_m_cfg().set_kPR(0),e._pluginData.pressure=0):m.a.Warn("Pressure can only be applied to a softbody")},e.prototype.getBodyStiffness=function(e){return e.soft?e._pluginData.stiffness||0:(m.a.Warn("Stiffness is not a property of a rigid body"),0)},e.prototype.setBodyStiffness=function(e,t){e.soft?(t=(t=t<0?0:t)>1?1:t,e.physicsBody.get_m_materials().at(0).set_m_kLST(t),e._pluginData.stiffness=t):m.a.Warn("Stiffness cannot be applied to a rigid body")},e.prototype.getBodyVelocityIterations=function(e){return e.soft?e._pluginData.velocityIterations||0:(m.a.Warn("Velocity iterations is not a property of a rigid body"),0)},e.prototype.setBodyVelocityIterations=function(e,t){e.soft?(t=t<0?0:t,e.physicsBody.get_m_cfg().set_viterations(t),e._pluginData.velocityIterations=t):m.a.Warn("Velocity iterations cannot be applied to a rigid body")},e.prototype.getBodyPositionIterations=function(e){return e.soft?e._pluginData.positionIterations||0:(m.a.Warn("Position iterations is not a property of a rigid body"),0)},e.prototype.setBodyPositionIterations=function(e,t){e.soft?(t=t<0?0:t,e.physicsBody.get_m_cfg().set_piterations(t),e._pluginData.positionIterations=t):m.a.Warn("Position iterations cannot be applied to a rigid body")},e.prototype.appendAnchor=function(e,t,n,i,r,o){void 0===r&&(r=1),void 0===o&&(o=!1);var a=e.segments,s=Math.round((a-1)*n)+a*(a-1-Math.round((a-1)*i));e.physicsBody.appendAnchor(s,t.physicsBody,o,r)},e.prototype.appendHook=function(e,t,n,i,r){void 0===i&&(i=1),void 0===r&&(r=!1);var o=Math.round(e.segments*n);e.physicsBody.appendAnchor(o,t.physicsBody,r,i)},e.prototype.sleepBody=function(e){m.a.Warn("sleepBody is not currently supported by the Ammo physics plugin")},e.prototype.wakeUpBody=function(e){e.physicsBody.activate()},e.prototype.updateDistanceJoint=function(e,t,n){m.a.Warn("updateDistanceJoint is not currently supported by the Ammo physics plugin")},e.prototype.setMotor=function(e,t,n,i){e.physicsJoint.enableAngularMotor(!0,t,n)},e.prototype.setLimit=function(e,t,n){m.a.Warn("setLimit is not currently supported by the Ammo physics plugin")},e.prototype.syncMeshWithImpostor=function(e,t){t.physicsBody.getMotionState().getWorldTransform(this._tmpAmmoTransform),e.position.x=this._tmpAmmoTransform.getOrigin().x(),e.position.y=this._tmpAmmoTransform.getOrigin().y(),e.position.z=this._tmpAmmoTransform.getOrigin().z(),e.rotationQuaternion&&(e.rotationQuaternion.x=this._tmpAmmoTransform.getRotation().x(),e.rotationQuaternion.y=this._tmpAmmoTransform.getRotation().y(),e.rotationQuaternion.z=this._tmpAmmoTransform.getRotation().z(),e.rotationQuaternion.w=this._tmpAmmoTransform.getRotation().w())},e.prototype.getRadius=function(e){return e.getObjectExtendSize().x/2},e.prototype.getBoxSizeToRef=function(e,t){var n=e.getObjectExtendSize();t.x=n.x,t.y=n.y,t.z=n.z},e.prototype.dispose=function(){this.bjsAMMO.destroy(this.world),this.bjsAMMO.destroy(this._solver),this.bjsAMMO.destroy(this._overlappingPairCache),this.bjsAMMO.destroy(this._dispatcher),this.bjsAMMO.destroy(this._collisionConfiguration),this.bjsAMMO.destroy(this._tmpAmmoVectorA),this.bjsAMMO.destroy(this._tmpAmmoVectorB),this.bjsAMMO.destroy(this._tmpAmmoVectorC),this.bjsAMMO.destroy(this._tmpAmmoTransform),this.bjsAMMO.destroy(this._tmpAmmoQuaternion),this.bjsAMMO.destroy(this._tmpAmmoConcreteContactResultCallback),this.world=null},e.prototype.raycast=function(e,t){this._tmpAmmoVectorRCA=new this.bjsAMMO.btVector3(e.x,e.y,e.z),this._tmpAmmoVectorRCB=new this.bjsAMMO.btVector3(t.x,t.y,t.z);var n=new this.bjsAMMO.ClosestRayResultCallback(this._tmpAmmoVectorRCA,this._tmpAmmoVectorRCB);return this.world.rayTest(this._tmpAmmoVectorRCA,this._tmpAmmoVectorRCB,n),this._raycastResult.reset(e,t),n.hasHit()&&(this._raycastResult.setHitData({x:n.get_m_hitNormalWorld().x(),y:n.get_m_hitNormalWorld().y(),z:n.get_m_hitNormalWorld().z()},{x:n.get_m_hitPointWorld().x(),y:n.get_m_hitPointWorld().y(),z:n.get_m_hitPointWorld().z()}),this._raycastResult.calculateHitDistance()),this.bjsAMMO.destroy(n),this.bjsAMMO.destroy(this._tmpAmmoVectorRCA),this.bjsAMMO.destroy(this._tmpAmmoVectorRCB),this._raycastResult},e.DISABLE_COLLISION_FLAG=4,e.KINEMATIC_FLAG=2,e.DISABLE_DEACTIVATION_FLAG=4,e}();i.a.prototype.removeReflectionProbe=function(e){if(!this.reflectionProbes)return-1;var t=this.reflectionProbes.indexOf(e);return-1!==t&&this.reflectionProbes.splice(t,1),t},i.a.prototype.addReflectionProbe=function(e){this.reflectionProbes||(this.reflectionProbes=[]),this.reflectionProbes.push(e)};var La=function(){function e(e,t,n,i,r){var o=this;void 0===i&&(i=!0),void 0===r&&(r=!1),this.name=e,this._viewMatrix=a.a.Identity(),this._target=a.e.Zero(),this._add=a.e.Zero(),this._invertYAxis=!1,this.position=a.e.Zero(),this._scene=n,this._scene.reflectionProbes||(this._scene.reflectionProbes=new Array),this._scene.reflectionProbes.push(this),this._renderTargetTexture=new ln.a(e,t,n,i,!0,r?1:0,!0),this._renderTargetTexture.onBeforeRenderObservable.add((function(e){switch(e){case 0:o._add.copyFromFloats(1,0,0);break;case 1:o._add.copyFromFloats(-1,0,0);break;case 2:o._add.copyFromFloats(0,o._invertYAxis?1:-1,0);break;case 3:o._add.copyFromFloats(0,o._invertYAxis?-1:1,0);break;case 4:o._add.copyFromFloats(0,0,1);break;case 5:o._add.copyFromFloats(0,0,-1)}o._attachedMesh&&o.position.copyFrom(o._attachedMesh.getAbsolutePosition()),o.position.addToRef(o._add,o._target),a.a.LookAtLHToRef(o.position,o._target,a.e.Up(),o._viewMatrix),n.activeCamera&&(o._projectionMatrix=a.a.PerspectiveFovLH(Math.PI/2,1,n.activeCamera.minZ,n.activeCamera.maxZ),n.setTransformMatrix(o._viewMatrix,o._projectionMatrix)),n._forcedViewPosition=o.position})),this._renderTargetTexture.onAfterUnbindObservable.add((function(){n._forcedViewPosition=null,n.updateTransformMatrix(!0)}))}return Object.defineProperty(e.prototype,"samples",{get:function(){return this._renderTargetTexture.samples},set:function(e){this._renderTargetTexture.samples=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"refreshRate",{get:function(){return this._renderTargetTexture.refreshRate},set:function(e){this._renderTargetTexture.refreshRate=e},enumerable:!0,configurable:!0}),e.prototype.getScene=function(){return this._scene},Object.defineProperty(e.prototype,"cubeTexture",{get:function(){return this._renderTargetTexture},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderList",{get:function(){return this._renderTargetTexture.renderList},enumerable:!0,configurable:!0}),e.prototype.attachToMesh=function(e){this._attachedMesh=e},e.prototype.setRenderingAutoClearDepthStencil=function(e,t){this._renderTargetTexture.setRenderingAutoClearDepthStencil(e,t)},e.prototype.dispose=function(){var e=this._scene.reflectionProbes.indexOf(this);-1!==e&&this._scene.reflectionProbes.splice(e,1),this._renderTargetTexture&&(this._renderTargetTexture.dispose(),this._renderTargetTexture=null)},e.prototype.toString=function(e){var t="Name: "+this.name;return e&&(t+=", position: "+this.position.toString(),this._attachedMesh&&(t+=", attached mesh: "+this._attachedMesh.name)),t},e.prototype.getClassName=function(){return"ReflectionProbe"},e.prototype.serialize=function(){var e=Fe.a.Serialize(this,this._renderTargetTexture.serialize());return e.isReflectionProbe=!0,e},e.Parse=function(t,n,i){var r=null;if(n.reflectionProbes)for(var o=0;o0){var i=t._waitingData.lods.ids,r=n.isEnabled(!1);if(t._waitingData.lods.distances){var o=t._waitingData.lods.distances;if(o.length>=i.length){var a=o.length>i.length?o[o.length-1]:0;n.setEnabled(!1);for(var s=0;s0&&n.addLODLevel(a,null),!0===r&&n.setEnabled(!0)}else Xe.b.Warn("Invalid level of detail distances for "+t.name)}}t._waitingData.lods=null}},ja=function(e,t,n,r,o){void 0===o&&(o=!1);var a=new te.a(e),s="importScene has failed JSON parse";try{var l=JSON.parse(t);s="";var u,p,h=Qi.a.loggingLevel===Qi.a.DETAILED_LOGGING;if(void 0!==l.environmentTexture&&null!==l.environmentTexture){var d=void 0===l.isPBR||l.isPBR;if(l.environmentTextureType&&"BABYLON.HDRCubeTexture"===l.environmentTextureType){var f=l.environmentTextureSize?l.environmentTextureSize:128,_=new Ta((l.environmentTexture.match(/https?:\/\//g)?"":n)+l.environmentTexture,e,f,!0,!d);l.environmentTextureRotationY&&(_.rotationY=l.environmentTextureRotationY),e.environmentTexture=_}else if(Jr.a.EndsWith(l.environmentTexture,".env")){var b=new Er.a((l.environmentTexture.match(/https?:\/\//g)?"":n)+l.environmentTexture,e);l.environmentTextureRotationY&&(b.rotationY=l.environmentTextureRotationY),e.environmentTexture=b}else{var g=Er.a.CreateFromPrefilteredData((l.environmentTexture.match(/https?:\/\//g)?"":n)+l.environmentTexture,e);l.environmentTextureRotationY&&(g.rotationY=l.environmentTextureRotationY),e.environmentTexture=g}if(!0===l.createDefaultSkybox){var v=void 0!==e.activeCamera&&null!==e.activeCamera?(e.activeCamera.maxZ-e.activeCamera.minZ)/2:1e3,y=l.skyboxBlurLevel||0;e.createDefaultSkybox(e.environmentTexture,d,v,y)}a.environmentTexture=e.environmentTexture}if(void 0!==l.environmentIntensity&&null!==l.environmentIntensity&&(e.environmentIntensity=l.environmentIntensity),void 0!==l.lights&&null!==l.lights)for(u=0,p=l.lights.length;u0){for(var ne=0;ne0){for(var re=0;re-1&&void 0!==u.skeletons&&null!==u.skeletons)if(!1===b.indexOf(v.skeletonId)>-1)for(var R=0,I=u.skeletons.length;R1,i.wrapU=0,i.wrapV=0,i.wrapR=0,i.anisotropicFilteringLevel=1,i._texture=i._getFromCache(t,!0),i._texture||(n.useDelayedTextureLoading?i.delayLoadState=4:i.loadTexture()),i):i}return Object(p.d)(t,e),t.prototype.getTextureMatrix=function(){return this._textureMatrix},t.prototype.load3dlTexture=function(){var e,n=this._engine;e=1===n.webGLVersion?n.createRawTexture(null,1,1,5,!1,!1,2,null,0):n.createRawTexture3D(null,1,1,1,5,!1,!1,2,null,0),this._texture=e;var i=function(i){if("string"==typeof i){for(var r,o=null,a=null,s=i.split("\n"),c=0,l=0,u=0,p=0,h=0,d=0;d0&&(d+1)%4==0)o[d]=255;else{var v=a[d];o[d]=v/h*255}e.is3D?(e.updateSize(c,c,c),n.updateRawTexture3D(e,o,5,!1)):(e.updateSize(c*c,c),n.updateRawTexture(e,o,5,!1))}},r=this.getScene();return r?r._loadFile(this.url,i):this._engine._loadFile(this.url,i),this._texture},t.prototype.loadTexture=function(){this.url&&this.url.toLocaleLowerCase().indexOf(".3dl")==this.url.length-4&&this.load3dlTexture()},t.prototype.clone=function(){var e=new t(this.url,this.getScene());return e.level=this.level,e},t.prototype.delayLoad=function(){4===this.delayLoadState&&(this.delayLoadState=1,this._texture=this._getFromCache(this.url,!0),this._texture||this.loadTexture())},t.Parse=function(e,n){var i=null;return e.name&&!e.isRenderTarget&&((i=new t(e.name,n)).name=e.name,i.level=e.level),i},t.prototype.serialize=function(){if(!this.name)return null;var e={};return e.name=this.name,e.level=this.level,e.customType="BABYLON.ColorGradingTexture",e},t._noneEmptyLineRegex=/\S+/,t}(mr.a);c.a.RegisteredTypes["BABYLON.ColorGradingTexture"]=Za;var qa=function(e){function t(t,n,i,r,o,a,s){void 0===r&&(r=!1),void 0===o&&(o=!0),void 0===a&&(a=null),void 0===s&&(s=null);var c=e.call(this,n)||this;if(c._onLoad=null,c._onError=null,c.coordinatesMode=nn.a.CUBIC_MODE,!t)throw new Error("Image url is not set");return c.name=t,c.url=t,c._size=i,c._noMipmap=r,c.gammaSpace=o,c._onLoad=a,c._onError=s,c.hasAlpha=!1,c.isCube=!0,c._texture=c._getFromCache(t,c._noMipmap),c._texture?a&&(c._texture.isReady?Xe.b.SetImmediate((function(){return a()})):c._texture.onLoadedObservable.add(a)):n.useDelayedTextureLoading?c.delayLoadState=4:c.loadImage(c.loadTexture.bind(c),c._onError),c}return Object(p.d)(t,e),t.prototype.loadImage=function(e,t){var n=this,i=document.createElement("canvas"),r=new Image;r.addEventListener("load",(function(){n._width=r.width,n._height=r.height,i.width=n._width,i.height=n._height;var t=i.getContext("2d");t.drawImage(r,0,0);var o=t.getImageData(0,0,r.width,r.height);n._buffer=o.data.buffer,i.remove(),e()})),r.addEventListener("error",(function(e){t&&t(n.getClassName()+" could not be loaded",e)})),r.src=this.url},t.prototype.loadTexture=function(){var e=this,n=this.getScene();n&&(this._texture=n.getEngine().createRawCubeTextureFromUrl(this.url,n,this._size,4,n.getEngine().getCaps().textureFloat?1:7,this._noMipmap,(function(){for(var n=e.getFloat32ArrayFromArrayBuffer(e._buffer),i=xa.ConvertPanoramaToCubemap(n,e._width,e._height,e._size),r=[],o=0;o<6;o++){var a=i[t._FacesMapping[o]];r.push(a)}return r}),null,this._onLoad,this._onError))},t.prototype.getFloat32ArrayFromArrayBuffer=function(e){for(var t=new DataView(e),n=new Float32Array(3*e.byteLength/4),i=0,r=0;rn.length)m.a.Error("Unable to load TGA file - Not enough data");else{i+=r.id_length;var o,a=!1,s=!1,c=!1;switch(r.image_type){case e._TYPE_RLE_INDEXED:a=!0;case e._TYPE_INDEXED:s=!0;break;case e._TYPE_RLE_RGB:a=!0;case e._TYPE_RGB:break;case e._TYPE_RLE_GREY:a=!0;case e._TYPE_GREY:c=!0}var l,u,p,h,d,f,_,b=r.pixel_size>>3,g=r.width*r.height*b;if(s&&(l=n.subarray(i,i+=r.colormap_length*(r.colormap_size>>3))),a){var v,y,C;o=new Uint8Array(g);for(var A=0,x=new Uint8Array(b);i>e._ORIGIN_SHIFT){default:case e._ORIGIN_UL:u=0,h=1,_=r.width,p=0,d=1,f=r.height;break;case e._ORIGIN_BL:u=0,h=1,_=r.width,p=r.height-1,d=-1,f=-1;break;case e._ORIGIN_UR:u=r.width-1,h=-1,_=-1,p=0,d=1,f=r.height;break;case e._ORIGIN_BR:u=r.width-1,h=-1,_=-1,p=r.height-1,d=-1,f=-1}var S=e["_getImageData"+(c?"Grey":"")+r.pixel_size+"bits"](r,l,o,p,d,f,u,h,_);t.getEngine()._uploadDataToTextureDirectly(t,S)}}},e._getImageData8bits=function(e,t,n,i,r,o,a,s,c){var l,u,p,h=n,d=t,f=e.width,_=e.height,m=0,b=new Uint8Array(f*_*4);for(p=i;p!==o;p+=r)for(u=a;u!==c;u+=s,m++)l=h[m],b[4*(u+f*p)+3]=255,b[4*(u+f*p)+2]=d[3*l+0],b[4*(u+f*p)+1]=d[3*l+1],b[4*(u+f*p)+0]=d[3*l+2];return b},e._getImageData16bits=function(e,t,n,i,r,o,a,s,c){var l,u,p,h=n,d=e.width,f=e.height,_=0,m=new Uint8Array(d*f*4);for(p=i;p!==o;p+=r)for(u=a;u!==c;u+=s,_+=2){var b=255*((31744&(l=h[_+0]+(h[_+1]<<8)))>>10)/31|0,g=255*((992&l)>>5)/31|0,v=255*(31&l)/31|0;m[4*(u+d*p)+0]=b,m[4*(u+d*p)+1]=g,m[4*(u+d*p)+2]=v,m[4*(u+d*p)+3]=32768&l?0:255}return m},e._getImageData24bits=function(e,t,n,i,r,o,a,s,c){var l,u,p=n,h=e.width,d=e.height,f=0,_=new Uint8Array(h*d*4);for(u=i;u!==o;u+=r)for(l=a;l!==c;l+=s,f+=3)_[4*(l+h*u)+3]=255,_[4*(l+h*u)+2]=p[f+0],_[4*(l+h*u)+1]=p[f+1],_[4*(l+h*u)+0]=p[f+2];return _},e._getImageData32bits=function(e,t,n,i,r,o,a,s,c){var l,u,p=n,h=e.width,d=e.height,f=0,_=new Uint8Array(h*d*4);for(u=i;u!==o;u+=r)for(l=a;l!==c;l+=s,f+=4)_[4*(l+h*u)+2]=p[f+0],_[4*(l+h*u)+1]=p[f+1],_[4*(l+h*u)+0]=p[f+2],_[4*(l+h*u)+3]=p[f+3];return _},e._getImageDataGrey8bits=function(e,t,n,i,r,o,a,s,c){var l,u,p,h=n,d=e.width,f=e.height,_=0,m=new Uint8Array(d*f*4);for(p=i;p!==o;p+=r)for(u=a;u!==c;u+=s,_++)l=h[_],m[4*(u+d*p)+0]=l,m[4*(u+d*p)+1]=l,m[4*(u+d*p)+2]=l,m[4*(u+d*p)+3]=255;return m},e._getImageDataGrey16bits=function(e,t,n,i,r,o,a,s,c){var l,u,p=n,h=e.width,d=e.height,f=0,_=new Uint8Array(h*d*4);for(u=i;u!==o;u+=r)for(l=a;l!==c;l+=s,f+=2)_[4*(l+h*u)+0]=p[f+0],_[4*(l+h*u)+1]=p[f+0],_[4*(l+h*u)+2]=p[f+0],_[4*(l+h*u)+3]=p[f+1];return _},e._TYPE_INDEXED=1,e._TYPE_RGB=2,e._TYPE_GREY=3,e._TYPE_RLE_INDEXED=9,e._TYPE_RLE_RGB=10,e._TYPE_RLE_GREY=11,e._ORIGIN_MASK=48,e._ORIGIN_SHIFT=4,e._ORIGIN_BL=0,e._ORIGIN_BR=1,e._ORIGIN_UL=2,e._ORIGIN_UR=3,e}(),$a=function(){function e(){this.supportCascades=!1}return e.prototype.canLoad=function(e){return Jr.a.EndsWith(e,".tga")},e.prototype.loadCubeData=function(e,t,n,i,r){throw".env not supported in Cube."},e.prototype.loadData=function(e,t,n){var i=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),r=Ja.GetTGAHeader(i);n(r.width,r.height,t.generateMipMaps,!1,(function(){Ja.UploadContent(t,i)}))},e}();ne.a._TextureLoaders.push(new $a);var es,ts=function(){};!function(e){e[e.cTFETC1=0]="cTFETC1",e[e.cTFBC1=1]="cTFBC1",e[e.cTFBC4=2]="cTFBC4",e[e.cTFPVRTC1_4_OPAQUE_ONLY=3]="cTFPVRTC1_4_OPAQUE_ONLY",e[e.cTFBC7_M6_OPAQUE_ONLY=4]="cTFBC7_M6_OPAQUE_ONLY",e[e.cTFETC2=5]="cTFETC2",e[e.cTFBC3=6]="cTFBC3",e[e.cTFBC5=7]="cTFBC5"}(es||(es={}));var ns=function(){function e(){}return e.GetInternalFormatFromBasisFormat=function(e){if(e===es.cTFETC1)return 36196;if(e===es.cTFBC1)return 33776;if(e===es.cTFBC3)return 33779;throw"The chosen Basis transcoder format is not currently supported"},e._CreateWorkerAsync=function(){var t=this;return this._WorkerPromise||(this._WorkerPromise=new Promise((function(n){t._Worker?n(t._Worker):Xe.b.LoadFileAsync(e.WasmModuleURL).then((function(i){var r=URL.createObjectURL(new Blob(["("+is+")()"],{type:"application/javascript"}));t._Worker=new Worker(r);var o=function(e){"init"===e.data.action&&(t._Worker.removeEventListener("message",o),n(t._Worker))};t._Worker.addEventListener("message",o),t._Worker.postMessage({action:"init",url:e.JSModuleURL,wasmBinary:i})}))}))),this._WorkerPromise},e.TranscodeAsync=function(e,t){var n=this,i=e instanceof ArrayBuffer?new Uint8Array(e):e;return new Promise((function(e,r){n._CreateWorkerAsync().then((function(){var o=n._actionId++,a=function(t){"transcode"===t.data.action&&t.data.id===o&&(n._Worker.removeEventListener("message",a),t.data.success?e(t.data):r("Transcode is not supported on this device"))};n._Worker.addEventListener("message",a);var s=new Uint8Array(i.byteLength);s.set(new Uint8Array(i.buffer,i.byteOffset,i.byteLength)),n._Worker.postMessage({action:"transcode",id:o,imageData:s,config:t,ignoreSupportedFormats:n._IgnoreSupportedFormats},[s.buffer])}))}))},e.LoadTextureFromTranscodeResult=function(t,n){for(var i,r=t.getEngine(),o=function(){if(i=n.fileInfo.images[a].levels[0],t._invertVScale=t.invertY,-1===n.format)if(t.type=10,t.format=4,r.webGLVersion<2&&(He.a.Log2(i.width)%1!=0||He.a.Log2(i.height)%1!=0)){var o=new sn.a(r,sn.b.Temp);t._invertVScale=t.invertY,o.type=10,o.format=4,o.width=i.width+3&-4,o.height=i.height+3&-4,r._bindTextureDirectly(r._gl.TEXTURE_2D,o,!0),r._uploadDataToTextureDirectly(o,i.transcodedPixels,a,0,4,!0),r._rescaleTexture(o,t,r.scenes[0],r._getInternalFormat(4),(function(){r._releaseTexture(o),r._bindTextureDirectly(r._gl.TEXTURE_2D,t,!0)}))}else t._invertVScale=!t.invertY,t.width=i.width+3&-4,t.height=i.height+3&-4,r._uploadDataToTextureDirectly(t,i.transcodedPixels,a,0,4,!0);else t.width=i.width,t.height=i.height,n.fileInfo.images[a].levels.forEach((function(i,o){r._uploadCompressedDataToTextureDirectly(t,e.GetInternalFormatFromBasisFormat(n.format),i.width,i.height,i.transcodedPixels,a,o)})),r.webGLVersion<2&&(He.a.Log2(t.width)%1!=0||He.a.Log2(t.height)%1!=0)&&(Xe.b.Warn("Loaded .basis texture width and height are not a power of two. Texture wrapping will be set to Texture.CLAMP_ADDRESSMODE as other modes are not supported with non power of two dimensions in webGL 1."),t._cachedWrapU=nn.a.CLAMP_ADDRESSMODE,t._cachedWrapV=nn.a.CLAMP_ADDRESSMODE)},a=0;a>2&3],o[d++]=r[h>>4&3],o[d++]=r[h>>6&3]}}return o}(a,0,e.getImageWidth(t,n)+3&-4,e.getImageHeight(t,n)+3&-4));return a}onmessage=function(a){if("init"===a.data.action)r||(Module={wasmBinary:a.data.wasmBinary},importScripts(a.data.url),r=new Promise((function(e){Module.onRuntimeInitialized=function(){Module.initializeBasis(),e()}}))),r.then((function(){postMessage({action:"init"})}));else if("transcode"===a.data.action){var s=a.data.config,c=a.data.imageData,l=new Module.BasisFile(c),u=function(e){for(var t=e.getHasAlpha(),n=e.getNumImages(),i=[],r=0;r1&&t.generateMipMaps;ns.LoadTextureFromTranscodeResult(t,e),t.getEngine()._setCubeMapTextureParams(n),t.isReady=!0,t.onLoadedObservable.notifyObservers(t),t.onLoadedObservable.clear(),i&&i()})).catch((function(e){Xe.b.Warn("Failed to transcode Basis file, transcoding may not be supported on this device"),t.isReady=!0}))}},e.prototype.loadData=function(e,t,n){var i=t.getEngine().getCaps(),r={supportedCompressionFormats:{etc1:!!i.etc1,s3tc:!!i.s3tc,pvrtc:!!i.pvrtc,etc2:!!i.etc2}};ns.TranscodeAsync(e,r).then((function(e){var i=e.fileInfo.images[0].levels[0],r=e.fileInfo.images[0].levels.length>1&&t.generateMipMaps;n(i.width,i.height,r,-1!==e.format,(function(){ns.LoadTextureFromTranscodeResult(t,e)}))})).catch((function(e){Xe.b.Warn("Failed to transcode Basis file, transcoding may not be supported on this device"),n(0,0,!1,!1,(function(){}))}))},e}();ne.a._TextureLoaders.push(new rs),xi.a.prototype.unBindMultiColorAttachmentFramebuffer=function(e,t,n){void 0===t&&(t=!1),this._currentRenderTarget=null;var i=this._gl;if(e[0]._MSAAFramebuffer){i.bindFramebuffer(i.READ_FRAMEBUFFER,e[0]._MSAAFramebuffer),i.bindFramebuffer(i.DRAW_FRAMEBUFFER,e[0]._framebuffer);var r=e[0]._attachments;r||(r=new Array(e.length),e[0]._attachments=r);for(var o=0;o1?"COLOR_ATTACHMENT"+o:"COLOR_ATTACHMENT"+o+"_WEBGL"],i.readBuffer(r[o]),i.drawBuffers(r),i.blitFramebuffer(0,0,a.width,a.height,0,0,a.width,a.height,i.COLOR_BUFFER_BIT,i.NEAREST)}for(o=0;o1?"COLOR_ATTACHMENT"+o:"COLOR_ATTACHMENT"+o+"_WEBGL"];i.drawBuffers(r)}for(o=0;o1?"COLOR_ATTACHMENT"+b:"COLOR_ATTACHMENT"+b+"_WEBGL"];d.push(C),f.push(A),l.activeTexture(l["TEXTURE"+b]),l.bindTexture(l.TEXTURE_2D,C._webGLTexture),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_MAG_FILTER,y.mag),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_MIN_FILTER,y.min),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_WRAP_S,l.CLAMP_TO_EDGE),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_WRAP_T,l.CLAMP_TO_EDGE),l.texImage2D(l.TEXTURE_2D,0,this._getRGBABufferInternalSizedFormat(v),p,h,0,l.RGBA,this._getWebGLTextureType(v),null),l.framebufferTexture2D(l.DRAW_FRAMEBUFFER,A,l.TEXTURE_2D,C._webGLTexture,0),n&&this._gl.generateMipmap(this._gl.TEXTURE_2D),this._bindTextureDirectly(l.TEXTURE_2D,null),C._framebuffer=u,C._depthStencilBuffer=_,C.baseWidth=p,C.baseHeight=h,C.width=p,C.height=h,C.isReady=!0,C.samples=1,C.generateMipMaps=n,C.samplingMode=g,C.type=v,C._generateDepthBuffer=i,C._generateStencilBuffer=r,C._attachments=f,this._internalTexturesCache.push(C)}if(o&&this._caps.depthTextureExtension){var x=new sn.a(this,sn.b.MultiRenderTarget);l.activeTexture(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,x._webGLTexture),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_MAG_FILTER,l.NEAREST),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_MIN_FILTER,l.NEAREST),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_WRAP_S,l.CLAMP_TO_EDGE),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_WRAP_T,l.CLAMP_TO_EDGE),l.texImage2D(l.TEXTURE_2D,0,this.webGLVersion<2?l.DEPTH_COMPONENT:l.DEPTH_COMPONENT16,p,h,0,l.DEPTH_COMPONENT,l.UNSIGNED_SHORT,null),l.framebufferTexture2D(l.FRAMEBUFFER,l.DEPTH_ATTACHMENT,l.TEXTURE_2D,x._webGLTexture,0),x._framebuffer=u,x.baseWidth=p,x.baseHeight=h,x.width=p,x.height=h,x.isReady=!0,x.samples=1,x.generateMipMaps=n,x.samplingMode=l.NEAREST,x._generateDepthBuffer=i,x._generateStencilBuffer=r,d.push(x),this._internalTexturesCache.push(x)}return l.drawBuffers(f),this._bindUnboundFramebuffer(null),this.resetTextureCache(),d},xi.a.prototype.updateMultipleRenderTargetTextureSampleCount=function(e,t){if(this.webGLVersion<2||!e||0==e.length)return 1;if(e[0].samples===t)return t;var n=this._gl;t=Math.min(t,this.getCaps().maxMSAASamples),e[0]._depthStencilBuffer&&(n.deleteRenderbuffer(e[0]._depthStencilBuffer),e[0]._depthStencilBuffer=null),e[0]._MSAAFramebuffer&&(n.deleteFramebuffer(e[0]._MSAAFramebuffer),e[0]._MSAAFramebuffer=null);for(var i=0;i1&&n.renderbufferStorageMultisample){var r=n.createFramebuffer();if(!r)throw new Error("Unable to create multi sampled framebuffer");this._bindUnboundFramebuffer(r);var o=this._setupFramebufferDepthAttachments(e[0]._generateStencilBuffer,e[0]._generateDepthBuffer,e[0].width,e[0].height,t),a=[];for(i=0;i1?"COLOR_ATTACHMENT"+i:"COLOR_ATTACHMENT"+i+"_WEBGL"],l=n.createRenderbuffer();if(!l)throw new Error("Unable to create multi sampled framebuffer");n.bindRenderbuffer(n.RENDERBUFFER,l),n.renderbufferStorageMultisample(n.RENDERBUFFER,t,this._getRGBAMultiSampleBufferFormat(s.type),s.width,s.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,c,n.RENDERBUFFER,l),s._MSAAFramebuffer=r,s._MSAARenderBuffer=l,s.samples=t,s._depthStencilBuffer=o,n.bindRenderbuffer(n.RENDERBUFFER,null),a.push(c)}n.drawBuffers(a)}else this._bindUnboundFramebuffer(e[0]._framebuffer);return this._bindUnboundFramebuffer(null),t};var os=function(e){function t(t,n,i,r,o){var a=this,s=!(!o||!o.generateMipMaps)&&o.generateMipMaps,c=!(!o||!o.generateDepthTexture)&&o.generateDepthTexture,l=!o||void 0===o.doNotChangeAspectRatio||o.doNotChangeAspectRatio;if((a=e.call(this,t,n,r,s,l)||this)._engine=r.getEngine(),a.isSupported){for(var u=[],p=[],h=0;h1||this._engine.getCaps().drawBuffersExtension},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"textures",{get:function(){return this._textures},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"depthTexture",{get:function(){return this._textures[this._textures.length-1]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"wrapU",{set:function(e){if(this._textures)for(var t=0;t=0;e--)void 0!==this._internalTextures[e]&&(this._internalTextures[e].dispose(),this._internalTextures.splice(e,1))},t}(ln.a),as=n(124),ss=n(95),cs=function(e){function t(t,n,i,r,o,a){var s=e.call(this,t,i,null,r,o,a)||this;return s._animate=!0,s._time=0,s._texturePath=n,s._loadJson(n),s.refreshRate=1,s}return Object(p.d)(t,e),t.prototype._loadJson=function(e){var t=this,n=function(){m.a.Log("No config file found in "+e+" trying to use ShadersStore or DOM element");try{t.setFragment(t._texturePath)}catch(e){m.a.Error("No json or ShaderStore or DOM element found for CustomProceduralTexture")}},i=e+"/config.json",r=new ss.a;r.open("GET",i),r.addEventListener("load",(function(){if(200===r.status||r.responseText&&r.responseText.length>0)try{t._config=JSON.parse(r.response),t.updateShaderUniforms(),t.updateTextures(),t.setFragment(t._texturePath+"/custom"),t._animate=t._config.animate,t.refreshRate=t._config.refreshrate}catch(e){n()}else n()}),!1),r.addEventListener("error",(function(){n()}),!1);try{r.send()}catch(e){m.a.Error("CustomProceduralTexture: Error on XHR send request.")}},t.prototype.isReady=function(){if(!e.prototype.isReady.call(this))return!1;for(var t in this._textures){if(!this._textures[t].isReady())return!1}return!0},t.prototype.render=function(t){var n=this.getScene();this._animate&&n&&(this._time+=.03*n.getAnimationRatio(),this.updateShaderUniforms()),e.prototype.render.call(this,t)},t.prototype.updateTextures=function(){for(var e=0;e0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isConnectedInVertexShader",{get:function(){if(this.target===ps.Vertex)return!0;if(!this.hasEndpoints)return!1;for(var e=0,t=this._endpoints;e=this._outputs.length?null:this._outputs[t+1]},e.prototype.connectTo=function(e,t){if(0!==this._outputs.length){for(var n=t&&t.output?this.getOutputByName(t.output):this.getFirstAvailableOutput(e),i=!0;i;){var r=t&&t.input?e.getInputByName(t.input):e.getFirstAvailableInput(n);if(n&&r&&n.canConnectTo(r))n.connectTo(r),i=!1;else{if(!n)throw"Unable to find a compatible match";n=this.getSiblingOutput(n)}}return this}},e.prototype._buildBlock=function(e){},e.prototype.updateUniformsAndSamples=function(e,t,n,i){},e.prototype.provideFallbacks=function(e,t){},e.prototype.initializeDefines=function(e,t,n,i){void 0===i&&(i=!1)},e.prototype.prepareDefines=function(e,t,n,i){void 0===i&&(i=!1)},e.prototype.autoConfigure=function(e){},e.prototype.replaceRepeatableContent=function(e,t,n,i){},e.prototype.isReady=function(e,t,n,i){return void 0===i&&(i=!1),!0},e.prototype._linkConnectionTypes=function(e,t){this._inputs[e]._linkedConnectionSource=this._inputs[t],this._inputs[t]._linkedConnectionSource=this._inputs[e]},e.prototype._processBuild=function(e,t,n,i){e.build(t,i);var r=null!=t._vertexState,o=e._buildTarget===ps.Vertex&&e.target!==ps.VertexAndFragment;if(r&&(0==(e.target&e._buildTarget)||0==(e.target&n.target)||this.target!==ps.VertexAndFragment&&o)&&(!e.isInput&&t.target!==e._buildTarget||e.isInput&&e.isAttribute)){var a=n.connectedPoint;t._vertexState._emitVaryingFromString("v_"+a.associatedVariableName,t._getGLType(a.type))&&(t._vertexState.compilationString+="v_"+a.associatedVariableName+" = "+a.associatedVariableName+";\r\n"),n.associatedVariableName="v_"+a.associatedVariableName,n._enforceAssociatedVariableName=!0}},e.prototype.build=function(e,t){if(this._buildId===e.sharedData.buildId)return!0;if(!this.isInput)for(var n=0,i=this._outputs;n[0.."+n.repeatKey+"]\r\n";var i=zt.a.IncludesShadersStore[e]+"\r\n";if(this.sharedData.emitComments&&(i=t+"\r\n"+i),!n)return i;if(n.replaceStrings)for(var r=0;r[0.."+n.repeatKey+"]\r\n":this.functions[r]="#include<"+e+">\r\n",void(this.sharedData.emitComments&&(this.functions[r]=t+"\r\n"+this.functions[r]));if(this.functions[r]=zt.a.IncludesShadersStore[e],this.sharedData.emitComments&&(this.functions[r]=t+"\r\n"+this.functions[r]),n.removeIfDef&&(this.functions[r]=this.functions[r].replace(/^\s*?#ifdef.+$/gm,""),this.functions[r]=this.functions[r].replace(/^\s*?#endif.*$/gm,""),this.functions[r]=this.functions[r].replace(/^\s*?#else.*$/gm,""),this.functions[r]=this.functions[r].replace(/^\s*?#elif.*$/gm,"")),n.removeAttributes&&(this.functions[r]=this.functions[r].replace(/^\s*?attribute.+$/gm,"")),n.removeUniforms&&(this.functions[r]=this.functions[r].replace(/^\s*?uniform.+$/gm,"")),n.removeVaryings&&(this.functions[r]=this.functions[r].replace(/^\s*?varying.+$/gm,"")),n.replaceStrings)for(var o=0;o-1))return this._optimizers.push(e),this},t.prototype.unregisterOptimizer=function(e){var t=this._optimizers.indexOf(e);if(-1!==t)return this._optimizers.splice(t,1),this},t.prototype.addOutputNode=function(e){if(null===e.target)throw"This node is not meant to be an output node. You may want to explicitly set its target value.";return 0!=(e.target&ps.Vertex)&&this._addVertexOutputNode(e),0!=(e.target&ps.Fragment)&&this._addFragmentOutputNode(e),this},t.prototype.removeOutputNode=function(e){return null===e.target||(0!=(e.target&ps.Vertex)&&this._removeVertexOutputNode(e),0!=(e.target&ps.Fragment)&&this._removeFragmentOutputNode(e)),this},t.prototype._addVertexOutputNode=function(e){if(-1===this._vertexOutputNodes.indexOf(e))return e.target=ps.Vertex,this._vertexOutputNodes.push(e),this},t.prototype._removeVertexOutputNode=function(e){var t=this._vertexOutputNodes.indexOf(e);if(-1!==t)return this._vertexOutputNodes.splice(t,1),this},t.prototype._addFragmentOutputNode=function(e){if(-1===this._fragmentOutputNodes.indexOf(e))return e.target=ps.Fragment,this._fragmentOutputNodes.push(e),this},t.prototype._removeFragmentOutputNode=function(e){var t=this._fragmentOutputNodes.indexOf(e);if(-1!==t)return this._fragmentOutputNodes.splice(t,1),this},t.prototype.needAlphaBlending=function(){return!this.ignoreAlpha&&(this.alpha<1||this._sharedData&&this._sharedData.hints.needAlphaBlending)},t.prototype.needAlphaTesting=function(){return this._sharedData&&this._sharedData.hints.needAlphaTesting},t.prototype._initializeBlock=function(e,t,n){if(e.initialize(t),e.autoConfigure(this),e._preparationId=this._buildId,-1===this.attachedBlocks.indexOf(e)){if(e.isUnique)for(var i=e.getClassName(),r=0,o=this.attachedBlocks;r-1&&this.attachedBlocks.splice(t,1),e.isFinalMerger&&this.removeOutputNode(e)},t.prototype.build=function(e){void 0===e&&(e=!1),this._buildWasSuccessful=!1;var n=this.getScene().getEngine();if(0===this._vertexOutputNodes.length)throw"You must define at least one vertexOutputNode";if(0===this._fragmentOutputNodes.length)throw"You must define at least one fragmentOutputNode";this._vertexCompilationState=new Ms,this._vertexCompilationState.supportUniformBuffers=n.supportsUniformBuffers,this._vertexCompilationState.target=ps.Vertex,this._fragmentCompilationState=new Ms,this._fragmentCompilationState.supportUniformBuffers=n.supportsUniformBuffers,this._fragmentCompilationState.target=ps.Fragment,this._sharedData=new Rs,this._vertexCompilationState.sharedData=this._sharedData,this._fragmentCompilationState.sharedData=this._sharedData,this._sharedData.buildId=this._buildId,this._sharedData.emitComments=this._options.emitComments,this._sharedData.verbose=e,this._sharedData.scene=this.getScene();for(var i=[],r=[],o=0,a=this._vertexOutputNodes;o0&&Pr.a.BindMorphTargetParameters(n,e)},t.prototype.replaceRepeatableContent=function(e,t,n,i){for(var r=this.position,o=this.normal,a=this.tangent,s=this.uv,c=this.positionOutput,l=this.normalOutput,u=this.tangentOutput,p=this.uvOutput,h=e,d=i.NUM_MORPH_INFLUENCERS,f=n.morphTargetManager,_=f&&f.supportsNormals&&i.NORMAL,m=f&&f.supportsTangents&&i.TANGENT,b=f&&f.supportsUVs&&i.UV1,g="",v=0;v0)for(v=0;v1&&r!=e.length-1?n._getNextFrameBuffer():t,n.setViewport(),n.applyEffectWrapper(i),o&&n.engine.bindFramebuffer(o.getInternalTexture()),n.draw(),o&&n.engine.unBindFramebuffer(o.getInternalTexture())}))},e.prototype.dispose=function(){this._ringScreenBuffer&&(this._ringScreenBuffer.forEach((function(e){e.dispose()})),this._ringScreenBuffer=null);var e=this._vertexBuffers[Pn.b.PositionKind];e&&(e.dispose(),delete this._vertexBuffers[Pn.b.PositionKind]),this._indexBuffer&&this.engine._releaseBuffer(this._indexBuffer)},e._DefaultOptions={positions:[1,1,-1,1,-1,-1,1,-1],indices:[0,1,2,0,2,3]},e}()),Hc=function(){function e(e){var t,n=this;this.onApplyObservable=new o.c;var i=e.uniformNames||[];e.vertexShader?t={fragmentSource:e.fragmentShader,vertexSource:e.vertexShader,spectorName:e.name||"effectWrapper"}:(i.push("scale"),t={fragmentSource:e.fragmentShader,vertex:"postprocess",spectorName:e.name||"effectWrapper"},this.onApplyObservable.add((function(){n.effect.setFloat2("scale",1,1)}))),this.effect=new zt.a(t,e.attributeNames||["position"],i,e.samplerNames,e.engine)}return e.prototype.dispose=function(){this.effect.dispose()},e}(),Wc=n(167),Xc=n(73),Yc=0,Qc=function(){function e(e,t,n){this.pos=e,this.normal=t,this.uv=n}return e.prototype.clone=function(){return new e(this.pos.clone(),this.normal.clone(),this.uv.clone())},e.prototype.flip=function(){this.normal=this.normal.scale(-1)},e.prototype.interpolate=function(t,n){return new e(a.e.Lerp(this.pos,t.pos,n),a.e.Lerp(this.normal,t.normal,n),a.d.Lerp(this.uv,t.uv,n))},e}(),Kc=function(){function e(e,t){this.normal=e,this.w=t}return e.FromPoints=function(t,n,i){var r=i.subtract(t),o=n.subtract(t);if(0===r.lengthSquared()||0===o.lengthSquared())return null;var s=a.e.Normalize(a.e.Cross(r,o));return new e(s,a.e.Dot(s,t))},e.prototype.clone=function(){return new e(this.normal.clone(),this.w)},e.prototype.flip=function(){this.normal.scaleInPlace(-1),this.w=-this.w},e.prototype.splitPolygon=function(t,n,i,r,o){var s,c,l=0,u=[];for(s=0;se.EPSILON?1:0;l|=p,u.push(p)}switch(l){case 0:(a.e.Dot(this.normal,t.plane.normal)>0?n:i).push(t);break;case 1:r.push(t);break;case 2:o.push(t);break;case 3:var h,d=[],f=[];for(s=0;s=3&&(h=new Zc(d,t.shared)).plane&&r.push(h),f.length>=3&&(h=new Zc(f,t.shared)).plane&&o.push(h)}},e.EPSILON=1e-5,e}(),Zc=function(){function e(e,t){this.vertices=e,this.shared=t,this.plane=Kc.FromPoints(e[0].pos,e[1].pos,e[2].pos)}return e.prototype.clone=function(){return new e(this.vertices.map((function(e){return e.clone()})),this.shared)},e.prototype.flip=function(){this.vertices.reverse().map((function(e){e.flip()})),this.plane.flip()},e}(),qc=function(){function e(e){this.plane=null,this.front=null,this.back=null,this.polygons=new Array,e&&this.build(e)}return e.prototype.clone=function(){var t=new e;return t.plane=this.plane&&this.plane.clone(),t.front=this.front&&this.front.clone(),t.back=this.back&&this.back.clone(),t.polygons=this.polygons.map((function(e){return e.clone()})),t},e.prototype.invert=function(){for(var e=0;e1)?1:e.arc||1,c=0===e.sideOrientation?0:e.sideOrientation||En.a.DEFAULTSIDE;t.push(0,0,0),r.push(.5,.5);for(var l=2*Math.PI*s,u=l/a,p=0;pt.x&&(t.x=n.x),n.yt.y&&(t.y=n.y)})),{min:e,max:t,width:t.x-e.x,height:t.y-e.y}},e}(),al=function(){function e(){}return e.Rectangle=function(e,t,n,i){return[new a.d(e,t),new a.d(n,t),new a.d(n,i),new a.d(e,i)]},e.Circle=function(e,t,n,i){void 0===t&&(t=0),void 0===n&&(n=0),void 0===i&&(i=32);for(var r=new Array,o=0,s=2*Math.PI/i,c=0;c0){var u=r.length/3;this._points.elements.forEach((function(t){i.push(0,-1,0),r.push(t.x,-e,t.y),o.push(1-(t.x-a.min.x)/a.width,1-(t.y-a.min.y)/a.height)}));var p=s.length;for(l=0;lo.elements.length-1?o.elements[0]:o.elements[p+1],e.push(d.x,0,d.y),e.push(d.x,-s,d.y),e.push(h.x,0,h.y),e.push(h.x,-s,h.y);var f=new a.e(d.x,0,d.y),_=new a.e(h.x,0,h.y).subtract(f),m=new a.e(0,1,0),b=a.e.Cross(_,m);b=b.normalize(),n.push(u/r.width,0),n.push(u/r.width,1),u+=_.length(),n.push(u/r.width,0),n.push(u/r.width,1),c?(t.push(b.x,b.y,b.z),t.push(b.x,b.y,b.z),t.push(b.x,b.y,b.z),t.push(b.x,b.y,b.z),i.push(l),i.push(l+2),i.push(l+1),i.push(l+1),i.push(l+2),i.push(l+3)):(t.push(-b.x,-b.y,-b.z),t.push(-b.x,-b.y,-b.z),t.push(-b.x,-b.y,-b.z),t.push(-b.x,-b.y,-b.z),i.push(l),i.push(l+1),i.push(l+2),i.push(l+1),i.push(l+3),i.push(l+2)),l+=4}},e}();En.a.CreatePolygon=function(e,t,n,i,r,o){for(var c=n||new Array(3),l=i,u=[],p=0;p<3;p++)void 0===c[p]&&(c[p]=new a.f(0,0,1,1)),l&&void 0===l[p]&&(l[p]=new s.b(1,1,1,1));for(var h=e.getVerticesData(Pn.b.PositionKind),d=e.getVerticesData(Pn.b.NormalKind),f=e.getVerticesData(Pn.b.UVKind),_=e.getIndices(),m=0,b=0,g=0;g1?1:t.arc:1,o=void 0===t.closed||t.closed,s=t.shape,c=t.radius||1,l=t.tessellation||64,u=t.clip||0,p=t.updatable,h=ve.a._GetDefaultSideOrientation(t.sideOrientation),d=t.cap||ve.a.NO_CAP,f=2*Math.PI,_=new Array,m=t.invertUV||!1,b=0,g=0,v=f/l*r,y=new Array;for(b=0;b<=l-u;b++){y=[];for(d!=ve.a.CAP_START&&d!=ve.a.CAP_ALL||(y.push(new a.e(0,s[0].y,0)),y.push(new a.e(Math.cos(b*v)*s[0].x*c,s[0].y,Math.sin(b*v)*s[0].x*c))),g=0;g0||p>0){m=-h,b=-d;g=h,v=d;switch(r){case ve.a.CENTER:m-=c/=2,g+=c;break;case ve.a.LEFT:g+=c,f=-c/2;break;case ve.a.RIGHT:m-=c,f=c/2}switch(o){case ve.a.CENTER:b-=p/=2,v+=p;break;case ve.a.BOTTOM:v+=p,_=-p/2;break;case ve.a.TOP:b-=p,_=p/2}}var y=[],C=[],A=[];A[0]=[0,0,1,0,1,1,0,1],A[1]=[0,0,1,0,1,1,0,1],t!==ve.a.ROTATE_TILE&&t!==ve.a.ROTATE_ROW||(A[1]=[1,1,0,1,0,0,1,0]),t!==ve.a.FLIP_TILE&&t!==ve.a.FLIP_ROW||(A[1]=[1,0,0,0,0,1,1,1]),t!==ve.a.FLIP_N_ROTATE_TILE&&t!==ve.a.FLIP_N_ROTATE_ROW||(A[1]=[0,1,1,1,1,0,0,0]);for(var x=[],S=[],T=[],E=0,P=0;P0||p>0){var M,R,I,w,D=p>0&&(o===ve.a.CENTER||o===ve.a.TOP),L=p>0&&(o===ve.a.CENTER||o===ve.a.BOTTOM),N=c>0&&(r===ve.a.CENTER||r===ve.a.RIGHT),F=c>0&&(r===ve.a.CENTER||r===ve.a.LEFT),B=[];if(D&&N&&(y.push(m+f,b+_,0),y.push(-h+f,b+_,0),y.push(-h+f,b+p+_,0),y.push(m+f,b+p+_,0),T.push(E,E+1,E+3,E+1,E+2,E+3),E+=4,B=[M=1-c/n,R=1-p/i,I=1,R,I,w=1,M,w],t===ve.a.ROTATE_ROW&&(B=[1-M,1-R,1-I,1-R,1-I,1-w,1-M,1-w]),t===ve.a.FLIP_ROW&&(B=[1-M,R,1-I,R,1-I,w,1-M,w]),t===ve.a.FLIP_N_ROTATE_ROW&&(B=[M,1-R,I,1-R,I,1-w,M,1-w]),x=x.concat(B),S.push(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),C.push(0,0,-1,0,0,-1,0,0,-1,0,0,-1)),D&&F&&(y.push(h+f,b+_,0),y.push(g+f,b+_,0),y.push(g+f,b+p+_,0),y.push(h+f,b+p+_,0),T.push(E,E+1,E+3,E+1,E+2,E+3),E+=4,B=[M=0,R=1-p/i,I=c/n,R,I,w=1,M,w],(t===ve.a.ROTATE_ROW||t===ve.a.ROTATE_TILE&&s%2==0)&&(B=[1-M,1-R,1-I,1-R,1-I,1-w,1-M,1-w]),(t===ve.a.FLIP_ROW||t===ve.a.FLIP_TILE&&s%2==0)&&(B=[1-M,R,1-I,R,1-I,w,1-M,w]),(t===ve.a.FLIP_N_ROTATE_ROW||t===ve.a.FLIP_N_ROTATE_TILE&&s%2==0)&&(B=[M,1-R,I,1-R,I,1-w,M,1-w]),x=x.concat(B),S.push(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),C.push(0,0,-1,0,0,-1,0,0,-1,0,0,-1)),L&&N&&(y.push(m+f,d+_,0),y.push(-h+f,d+_,0),y.push(-h+f,v+_,0),y.push(m+f,v+_,0),T.push(E,E+1,E+3,E+1,E+2,E+3),E+=4,B=[M=1-c/n,R=0,I=1,R,I,w=p/i,M,w],(t===ve.a.ROTATE_ROW&&u%2==1||t===ve.a.ROTATE_TILE&&u%1==0)&&(B=[1-M,1-R,1-I,1-R,1-I,1-w,1-M,1-w]),(t===ve.a.FLIP_ROW&&u%2==1||t===ve.a.FLIP_TILE&&u%2==0)&&(B=[1-M,R,1-I,R,1-I,w,1-M,w]),(t===ve.a.FLIP_N_ROTATE_ROW&&u%2==1||t===ve.a.FLIP_N_ROTATE_TILE&&u%2==0)&&(B=[M,1-R,I,1-R,I,1-w,M,1-w]),x=x.concat(B),S.push(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),C.push(0,0,-1,0,0,-1,0,0,-1,0,0,-1)),L&&F&&(y.push(h+f,d+_,0),y.push(g+f,d+_,0),y.push(g+f,v+_,0),y.push(h+f,v+_,0),T.push(E,E+1,E+3,E+1,E+2,E+3),E+=4,B=[M=0,R=0,I=c/n,R,I,w=p/i,M,w],(t===ve.a.ROTATE_ROW&&u%2==1||t===ve.a.ROTATE_TILE&&(u+s)%2==1)&&(B=[1-M,1-R,1-I,1-R,1-I,1-w,1-M,1-w]),(t===ve.a.FLIP_ROW&&u%2==1||t===ve.a.FLIP_TILE&&(u+s)%2==1)&&(B=[1-M,R,1-I,R,1-I,w,1-M,w]),(t===ve.a.FLIP_N_ROTATE_ROW&&u%2==1||t===ve.a.FLIP_N_ROTATE_TILE&&(u+s)%2==1)&&(B=[M,1-R,I,1-R,I,1-w,M,1-w]),x=x.concat(B),S.push(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),C.push(0,0,-1,0,0,-1,0,0,-1,0,0,-1)),D){var k=[];M=0,R=1-p/i,I=1,w=1,k[0]=[M,R,I,R,I,w,M,w],k[1]=[M,R,I,R,I,w,M,w],t!==ve.a.ROTATE_TILE&&t!==ve.a.ROTATE_ROW||(k[1]=[1-M,1-R,1-I,1-R,1-I,1-w,1-M,1-w]),t!==ve.a.FLIP_TILE&&t!==ve.a.FLIP_ROW||(k[1]=[1-M,R,1-I,R,1-I,w,1-M,w]),t!==ve.a.FLIP_N_ROTATE_TILE&&t!==ve.a.FLIP_N_ROTATE_ROW||(k[1]=[M,1-R,I,1-R,I,1-w,M,1-w]);for(O=0;O1)?1:t.arc||1;var d,f,_=function(e,t,n,i,r,o,s,c){for(var l,u,p,h,d=t.getTangents(),f=t.getNormals(),_=t.getDistances(),m=2*Math.PI/r*c,b=o||function(){return i},g=a.c.Matrix[0],v=s===ve.a.NO_CAP||s===ve.a.CAP_END?0:2,y=0;y3?0:l,t.arc);var g=Ia.CreateRibbon(e,{pathArray:f,closePath:!0,closeArray:!1,updatable:p,sideOrientation:h,invertUV:u,frontUVs:t.frontUVs,backUVs:t.backUVs},n);return g._creationDataStorage.pathArray=f,g._creationDataStorage.path3D=d,g._creationDataStorage.tessellation=s,g._creationDataStorage.cap=l,g._creationDataStorage.arc=t.arc,g._creationDataStorage.radius=o,g},e}();En.a.CreateIcoSphere=function(e){var t,n=e.sideOrientation||En.a.DEFAULTSIDE,i=e.radius||1,r=void 0===e.flat||e.flat,o=e.subdivisions||4,s=e.radiusX||i,c=e.radiusY||i,l=e.radiusZ||i,u=(1+Math.sqrt(5))/2,p=[-1,u,-0,1,u,0,-1,-u,0,1,-u,0,0,-1,-u,0,1,-u,0,-1,u,0,1,u,u,0,1,u,0,-1,-u,0,1,-u,0,-1],h=[0,11,5,0,5,1,0,1,7,0,7,10,12,22,23,1,5,20,5,11,4,23,22,13,22,18,6,7,1,8,14,21,4,14,4,2,16,13,6,15,6,19,3,8,9,4,21,5,13,17,23,6,13,22,19,6,18,9,8,1],d=[0,1,2,3,4,5,6,7,8,9,10,11,0,2,3,3,3,4,7,8,9,9,10,11],f=[5,1,3,1,6,4,0,0,5,3,4,2,2,2,4,0,2,0,1,1,6,0,6,2,0,4,3,3,4,4,3,1,4,2,4,4,0,2,1,1,2,2,3,3,1,3,2,4],_=[0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,0,1,1,1,0],m=new Array,b=new Array,g=new Array,v=new Array,y=0,C=new Array(3),A=new Array(3);for(t=0;t<3;t++)C[t]=a.e.Zero(),A[t]=a.d.Zero();for(var x=0;x<20;x++){for(t=0;t<3;t++){var S=h[3*x+t];C[t].copyFromFloats(p[3*d[S]],p[3*d[S]+1],p[3*d[S]+2]),C[t].normalize().scaleInPlace(i),A[t].copyFromFloats(.134765625*f[2*S]+.05859375+-.0390625*_[x],.2333984375*f[2*S+1]+.025390625+.01953125*_[x])}for(var T=function(e,t,n,i){var u,p=a.e.Lerp(C[0],C[2],t/o),h=a.e.Lerp(C[1],C[2],t/o),d=o===t?C[2]:a.e.Lerp(p,h,e/(o-t));if(d.normalize(),r){var f=a.e.Lerp(C[0],C[2],i/o),_=a.e.Lerp(C[1],C[2],i/o);u=a.e.Lerp(f,_,n/(o-i))}else u=new a.e(d.x,d.y,d.z);u.x/=s,u.y/=c,u.z/=l,u.normalize();var x=a.d.Lerp(A[0],A[2],t/o),S=a.d.Lerp(A[1],A[2],t/o),T=o===t?A[2]:a.d.Lerp(x,S,e/(o-t));b.push(d.x*s,d.y*c,d.z*l),g.push(u.x,u.y,u.z),v.push(T.x,T.y),m.push(y),y++},E=0;E0)?1:0)+((c=a.e.Dot(e[o+1].position,t)-n>0)?1:0)+((u=a.e.Dot(e[o+2].position,t)-n>0)?1:0)){case 0:r.push(e[o]),r.push(e[o+1]),r.push(e[o+2]);break;case 1:if(s&&(p=e[o+1],h=e[o+2],d=i(e[o],p),f=i(e[o],h)),c){p=e[o],h=e[o+2],d=i(e[o+1],p),f=i(e[o+1],h),r.push(d),r.push(h.clone()),r.push(p.clone()),r.push(h.clone()),r.push(d.clone()),r.push(f);break}u&&(p=e[o],h=e[o+1],d=i(e[o+2],p),f=i(e[o+2],h)),p&&h&&d&&f&&(r.push(p.clone()),r.push(h.clone()),r.push(d),r.push(f),r.push(d.clone()),r.push(h.clone()));break;case 2:s||(h=i(p=e[o].clone(),e[o+1]),d=i(p,e[o+2]),r.push(p),r.push(h),r.push(d)),c||(h=i(p=e[o+1].clone(),e[o+2]),d=i(p,e[o]),r.push(p),r.push(h),r.push(d)),u||(h=i(p=e[o+2].clone(),e[o]),d=i(p,e[o+1]),r.push(p),r.push(h),r.push(d))}}return r},S=0;Sc||n.deleted||n.isDirty))for(var r=0;r<3;++r)if(n.error[r]>0,(function(e){if(r){var t=e+s.verticesStart,o=a.e.FromArray(r,3*t),l=function(e){if(n)for(var t=0;t0&&this._reconstructedMesh.setVerticesData(Pn.b.UVKind,s),c.length>0&&this._reconstructedMesh.setVerticesData(Pn.b.ColorKind,c);var v=this._mesh.subMeshes[e];e>0&&(this._reconstructedMesh.subMeshes=[],m.forEach((function(e){Xc.b.AddToMesh(e.materialIndex,e.verticesStart,e.verticesCount,e.indexStart,e.indexCount,e.getMesh())})),Xc.b.AddToMesh(v.materialIndex,_,h,f,3*r.length,this._reconstructedMesh))},e.prototype.initDecimatedMesh=function(){this._reconstructedMesh=new ve.a(this._mesh.name+"Decimated",this._mesh.getScene()),this._reconstructedMesh.material=this._mesh.material,this._reconstructedMesh.parent=this._mesh.parent,this._reconstructedMesh.isVisible=!1,this._reconstructedMesh.renderingGroupId=this._mesh.renderingGroupId},e.prototype.isFlipped=function(e,t,n,i,r){for(var o=0;o.999)return!0;var d=a.e.Cross(p,h).normalize();if(i[o]=!1,a.e.Dot(d,s.normal)<.2)return!0}else i[o]=!0,r.push(s)}}return!1},e.prototype.updateTriangles=function(e,t,n,i){for(var r=i,o=0;o-1&&(this.agents.splice(t,1),this.transforms.splice(t,1))},e.prototype.getAgents=function(){return this.agents},e.prototype.update=function(e){this.recastCrowd.update(e);for(var t=0;t=400&&o?o(l):n()}),!1),l.addEventListener("error",(function(){m.a.Error("error on XHR request."),n()}),!1),l.send()}else m.a.Error("Error: IndexedDB not supported by your browser or Babylon.js database is not open."),n()},e._ValidateXHRData=function(e,t){void 0===t&&(t=7);try{if(1&t){if(e.responseText&&e.responseText.length>0)return!0;if(1===t)return!1}if(2&t){var n=Ja.GetTGAHeader(e.response);if(n.width&&n.height&&n.width>0&&n.height>0)return!0;if(2===t)return!1}if(4&t){var i=new Uint8Array(e.response,0,3);return 68===i[0]&&68===i[1]&&83===i[2]}}catch(e){}return!1},e.IsUASupportingBlobStorage=!0,e.IDBStorageEnabled=!1,e._ParseURL=function(e){document.createElement("a").href=e;var t=e.substring(0,e.lastIndexOf("#")),n=e.substring(t.lastIndexOf("/")+1,e.length);return e.substring(0,e.indexOf(n,0))},e._ReturnFullUrlLocation=function(t){return-1===t.indexOf("http:/")&&-1===t.indexOf("https:/")?e._ParseURL(window.location.href)+t:t},e}(),wl=function(){function e(){this.direction1=new a.e(0,1,0),this.direction2=new a.e(0,1,0),this.minEmitBox=new a.e(-.5,-.5,-.5),this.maxEmitBox=new a.e(.5,.5,.5)}return e.prototype.startDirectionFunction=function(e,t,n,i){var r=He.a.RandomRange(this.direction1.x,this.direction2.x),o=He.a.RandomRange(this.direction1.y,this.direction2.y),s=He.a.RandomRange(this.direction1.z,this.direction2.z);if(i)return t.x=r,t.y=o,void(t.z=s);a.e.TransformNormalFromFloatsToRef(r,o,s,e,t)},e.prototype.startPositionFunction=function(e,t,n,i){var r=He.a.RandomRange(this.minEmitBox.x,this.maxEmitBox.x),o=He.a.RandomRange(this.minEmitBox.y,this.maxEmitBox.y),s=He.a.RandomRange(this.minEmitBox.z,this.maxEmitBox.z);if(i)return t.x=r,t.y=o,void(t.z=s);a.e.TransformCoordinatesFromFloatsToRef(r,o,s,e,t)},e.prototype.clone=function(){var t=new e;return O.a.DeepCopy(this,t),t},e.prototype.applyToShader=function(e){e.setVector3("direction1",this.direction1),e.setVector3("direction2",this.direction2),e.setVector3("minEmitBox",this.minEmitBox),e.setVector3("maxEmitBox",this.maxEmitBox)},e.prototype.getEffectDefines=function(){return"#define BOXEMITTER"},e.prototype.getClassName=function(){return"BoxParticleEmitter"},e.prototype.serialize=function(){var e={};return e.type=this.getClassName(),e.direction1=this.direction1.asArray(),e.direction2=this.direction2.asArray(),e.minEmitBox=this.minEmitBox.asArray(),e.maxEmitBox=this.maxEmitBox.asArray(),e},e.prototype.parse=function(e){a.e.FromArrayToRef(e.direction1,0,this.direction1),a.e.FromArrayToRef(e.direction2,0,this.direction2),a.e.FromArrayToRef(e.minEmitBox,0,this.minEmitBox),a.e.FromArrayToRef(e.maxEmitBox,0,this.maxEmitBox)},e}(),Dl=function(){function e(e,t,n){void 0===e&&(e=1),void 0===t&&(t=Math.PI),void 0===n&&(n=0),this.directionRandomizer=n,this.radiusRange=1,this.heightRange=1,this.emitFromSpawnPointOnly=!1,this.angle=t,this.radius=e}return Object.defineProperty(e.prototype,"radius",{get:function(){return this._radius},set:function(e){this._radius=e,this._buildHeight()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"angle",{get:function(){return this._angle},set:function(e){this._angle=e,this._buildHeight()},enumerable:!0,configurable:!0}),e.prototype._buildHeight=function(){0!==this._angle?this._height=this._radius/Math.tan(this._angle/2):this._height=1},e.prototype.startDirectionFunction=function(e,t,n,i){if(1===Math.abs(Math.cos(this._angle))){if(i)return t.x=0,t.y=1,void(t.z=0);a.e.TransformNormalFromFloatsToRef(0,1,0,e,t)}else{var r=n.position.subtract(e.getTranslation()).normalize(),o=He.a.RandomRange(0,this.directionRandomizer),s=He.a.RandomRange(0,this.directionRandomizer),c=He.a.RandomRange(0,this.directionRandomizer);if(r.x+=o,r.y+=s,r.z+=c,r.normalize(),i)return void t.copyFrom(r);a.e.TransformNormalFromFloatsToRef(r.x,r.y,r.z,e,t)}},e.prototype.startPositionFunction=function(e,t,n,i){var r,o=He.a.RandomRange(0,2*Math.PI);r=this.emitFromSpawnPointOnly?1e-4:1-(r=He.a.RandomRange(0,this.heightRange))*r;var s=this._radius-He.a.RandomRange(0,this._radius*this.radiusRange),c=(s*=r)*Math.sin(o),l=s*Math.cos(o),u=r*this._height;if(i)return t.x=c,t.y=u,void(t.z=l);a.e.TransformCoordinatesFromFloatsToRef(c,u,l,e,t)},e.prototype.clone=function(){var t=new e(this._radius,this._angle,this.directionRandomizer);return O.a.DeepCopy(this,t),t},e.prototype.applyToShader=function(e){e.setFloat2("radius",this._radius,this.radiusRange),e.setFloat("coneAngle",this._angle),e.setFloat2("height",this._height,this.heightRange),e.setFloat("directionRandomizer",this.directionRandomizer)},e.prototype.getEffectDefines=function(){var e="#define CONEEMITTER";return this.emitFromSpawnPointOnly&&(e+="\n#define CONEEMITTERSPAWNPOINT"),e},e.prototype.getClassName=function(){return"ConeParticleEmitter"},e.prototype.serialize=function(){var e={};return e.type=this.getClassName(),e.radius=this._radius,e.angle=this._angle,e.directionRandomizer=this.directionRandomizer,e.radiusRange=this.radiusRange,e.heightRange=this.heightRange,e.emitFromSpawnPointOnly=this.emitFromSpawnPointOnly,e},e.prototype.parse=function(e){this.radius=e.radius,this.angle=e.angle,this.directionRandomizer=e.directionRandomizer,this.radiusRange=e.radiusRange,this.heightRange=e.heightRange,this.emitFromSpawnPointOnly=e.emitFromSpawnPointOnly},e}(),Ll=function(){function e(e,t,n,i){void 0===e&&(e=1),void 0===t&&(t=1),void 0===n&&(n=1),void 0===i&&(i=0),this.radius=e,this.height=t,this.radiusRange=n,this.directionRandomizer=i}return e.prototype.startDirectionFunction=function(e,t,n,i){var r=n.position.subtract(e.getTranslation()).normalize(),o=He.a.RandomRange(-this.directionRandomizer/2,this.directionRandomizer/2),s=Math.atan2(r.x,r.z);s+=He.a.RandomRange(-Math.PI/2,Math.PI/2)*this.directionRandomizer,r.y=o,r.x=Math.sin(s),r.z=Math.cos(s),r.normalize(),i?t.copyFrom(r):a.e.TransformNormalFromFloatsToRef(r.x,r.y,r.z,e,t)},e.prototype.startPositionFunction=function(e,t,n,i){var r=He.a.RandomRange(-this.height/2,this.height/2),o=He.a.RandomRange(0,2*Math.PI),s=He.a.RandomRange((1-this.radiusRange)*(1-this.radiusRange),1),c=Math.sqrt(s)*this.radius,l=c*Math.cos(o),u=c*Math.sin(o);i?t.copyFromFloats(l,r,u):a.e.TransformCoordinatesFromFloatsToRef(l,r,u,e,t)},e.prototype.clone=function(){var t=new e(this.radius,this.directionRandomizer);return O.a.DeepCopy(this,t),t},e.prototype.applyToShader=function(e){e.setFloat("radius",this.radius),e.setFloat("height",this.height),e.setFloat("radiusRange",this.radiusRange),e.setFloat("directionRandomizer",this.directionRandomizer)},e.prototype.getEffectDefines=function(){return"#define CYLINDEREMITTER"},e.prototype.getClassName=function(){return"CylinderParticleEmitter"},e.prototype.serialize=function(){var e={};return e.type=this.getClassName(),e.radius=this.radius,e.height=this.height,e.radiusRange=this.radiusRange,e.directionRandomizer=this.directionRandomizer,e},e.prototype.parse=function(e){this.radius=e.radius,this.height=e.height,this.radiusRange=e.radiusRange,this.directionRandomizer=e.directionRandomizer},e}(),Nl=function(e){function t(t,n,i,r,o){void 0===t&&(t=1),void 0===n&&(n=1),void 0===i&&(i=1),void 0===r&&(r=new a.e(0,1,0)),void 0===o&&(o=new a.e(0,1,0));var s=e.call(this,t,n,i)||this;return s.direction1=r,s.direction2=o,s}return Object(p.d)(t,e),t.prototype.startDirectionFunction=function(e,t,n){var i=He.a.RandomRange(this.direction1.x,this.direction2.x),r=He.a.RandomRange(this.direction1.y,this.direction2.y),o=He.a.RandomRange(this.direction1.z,this.direction2.z);a.e.TransformNormalFromFloatsToRef(i,r,o,e,t)},t.prototype.clone=function(){var e=new t(this.radius,this.height,this.radiusRange,this.direction1,this.direction2);return O.a.DeepCopy(this,e),e},t.prototype.applyToShader=function(e){e.setFloat("radius",this.radius),e.setFloat("height",this.height),e.setFloat("radiusRange",this.radiusRange),e.setVector3("direction1",this.direction1),e.setVector3("direction2",this.direction2)},t.prototype.getEffectDefines=function(){return"#define CYLINDEREMITTER\n#define DIRECTEDCYLINDEREMITTER"},t.prototype.getClassName=function(){return"CylinderDirectedParticleEmitter"},t.prototype.serialize=function(){var t=e.prototype.serialize.call(this);return t.direction1=this.direction1.asArray(),t.direction2=this.direction2.asArray(),t},t.prototype.parse=function(t){e.prototype.parse.call(this,t),this.direction1.copyFrom(t.direction1),this.direction2.copyFrom(t.direction2)},t}(Ll),Fl=function(){function e(e,t,n){void 0===e&&(e=1),void 0===t&&(t=1),void 0===n&&(n=0),this.radius=e,this.radiusRange=t,this.directionRandomizer=n}return e.prototype.startDirectionFunction=function(e,t,n,i){var r=n.position.subtract(e.getTranslation()).normalize(),o=He.a.RandomRange(0,this.directionRandomizer),s=He.a.RandomRange(0,this.directionRandomizer),c=He.a.RandomRange(0,this.directionRandomizer);r.x+=o,r.y+=s,r.z+=c,r.normalize(),i?t.copyFrom(r):a.e.TransformNormalFromFloatsToRef(r.x,r.y,r.z,e,t)},e.prototype.startPositionFunction=function(e,t,n,i){var r=this.radius-He.a.RandomRange(0,this.radius*this.radiusRange),o=He.a.RandomRange(0,1),s=He.a.RandomRange(0,2*Math.PI),c=Math.acos(2*o-1),l=r*Math.cos(s)*Math.sin(c),u=r*Math.cos(c),p=r*Math.sin(s)*Math.sin(c);i?t.copyFromFloats(l,Math.abs(u),p):a.e.TransformCoordinatesFromFloatsToRef(l,Math.abs(u),p,e,t)},e.prototype.clone=function(){var t=new e(this.radius,this.directionRandomizer);return O.a.DeepCopy(this,t),t},e.prototype.applyToShader=function(e){e.setFloat("radius",this.radius),e.setFloat("radiusRange",this.radiusRange),e.setFloat("directionRandomizer",this.directionRandomizer)},e.prototype.getEffectDefines=function(){return"#define HEMISPHERICEMITTER"},e.prototype.getClassName=function(){return"HemisphericParticleEmitter"},e.prototype.serialize=function(){var e={};return e.type=this.getClassName(),e.radius=this.radius,e.radiusRange=this.radiusRange,e.directionRandomizer=this.directionRandomizer,e},e.prototype.parse=function(e){this.radius=e.radius,this.radiusRange=e.radiusRange,this.directionRandomizer=e.directionRandomizer},e}(),Bl=function(){function e(){this.direction1=new a.e(0,1,0),this.direction2=new a.e(0,1,0)}return e.prototype.startDirectionFunction=function(e,t,n,i){var r=He.a.RandomRange(this.direction1.x,this.direction2.x),o=He.a.RandomRange(this.direction1.y,this.direction2.y),s=He.a.RandomRange(this.direction1.z,this.direction2.z);i?t.copyFromFloats(r,o,s):a.e.TransformNormalFromFloatsToRef(r,o,s,e,t)},e.prototype.startPositionFunction=function(e,t,n,i){i?t.copyFromFloats(0,0,0):a.e.TransformCoordinatesFromFloatsToRef(0,0,0,e,t)},e.prototype.clone=function(){var t=new e;return O.a.DeepCopy(this,t),t},e.prototype.applyToShader=function(e){e.setVector3("direction1",this.direction1),e.setVector3("direction2",this.direction2)},e.prototype.getEffectDefines=function(){return"#define POINTEMITTER"},e.prototype.getClassName=function(){return"PointParticleEmitter"},e.prototype.serialize=function(){var e={};return e.type=this.getClassName(),e.direction1=this.direction1.asArray(),e.direction2=this.direction2.asArray(),e},e.prototype.parse=function(e){a.e.FromArrayToRef(e.direction1,0,this.direction1),a.e.FromArrayToRef(e.direction2,0,this.direction2)},e}(),kl=function(){function e(e,t,n){void 0===e&&(e=1),void 0===t&&(t=1),void 0===n&&(n=0),this.radius=e,this.radiusRange=t,this.directionRandomizer=n}return e.prototype.startDirectionFunction=function(e,t,n,i){var r=n.position.subtract(e.getTranslation()).normalize(),o=He.a.RandomRange(0,this.directionRandomizer),s=He.a.RandomRange(0,this.directionRandomizer),c=He.a.RandomRange(0,this.directionRandomizer);r.x+=o,r.y+=s,r.z+=c,r.normalize(),i?t.copyFrom(r):a.e.TransformNormalFromFloatsToRef(r.x,r.y,r.z,e,t)},e.prototype.startPositionFunction=function(e,t,n,i){var r=this.radius-He.a.RandomRange(0,this.radius*this.radiusRange),o=He.a.RandomRange(0,1),s=He.a.RandomRange(0,2*Math.PI),c=Math.acos(2*o-1),l=r*Math.cos(s)*Math.sin(c),u=r*Math.cos(c),p=r*Math.sin(s)*Math.sin(c);i?t.copyFromFloats(l,u,p):a.e.TransformCoordinatesFromFloatsToRef(l,u,p,e,t)},e.prototype.clone=function(){var t=new e(this.radius,this.directionRandomizer);return O.a.DeepCopy(this,t),t},e.prototype.applyToShader=function(e){e.setFloat("radius",this.radius),e.setFloat("radiusRange",this.radiusRange),e.setFloat("directionRandomizer",this.directionRandomizer)},e.prototype.getEffectDefines=function(){return"#define SPHEREEMITTER"},e.prototype.getClassName=function(){return"SphereParticleEmitter"},e.prototype.serialize=function(){var e={};return e.type=this.getClassName(),e.radius=this.radius,e.radiusRange=this.radiusRange,e.directionRandomizer=this.directionRandomizer,e},e.prototype.parse=function(e){this.radius=e.radius,this.radiusRange=e.radiusRange,this.directionRandomizer=e.directionRandomizer},e}(),Vl=function(e){function t(t,n,i){void 0===t&&(t=1),void 0===n&&(n=new a.e(0,1,0)),void 0===i&&(i=new a.e(0,1,0));var r=e.call(this,t)||this;return r.direction1=n,r.direction2=i,r}return Object(p.d)(t,e),t.prototype.startDirectionFunction=function(e,t,n){var i=He.a.RandomRange(this.direction1.x,this.direction2.x),r=He.a.RandomRange(this.direction1.y,this.direction2.y),o=He.a.RandomRange(this.direction1.z,this.direction2.z);a.e.TransformNormalFromFloatsToRef(i,r,o,e,t)},t.prototype.clone=function(){var e=new t(this.radius,this.direction1,this.direction2);return O.a.DeepCopy(this,e),e},t.prototype.applyToShader=function(e){e.setFloat("radius",this.radius),e.setFloat("radiusRange",this.radiusRange),e.setVector3("direction1",this.direction1),e.setVector3("direction2",this.direction2)},t.prototype.getEffectDefines=function(){return"#define SPHEREEMITTER\n#define DIRECTEDSPHEREEMITTER"},t.prototype.getClassName=function(){return"SphereDirectedParticleEmitter"},t.prototype.serialize=function(){var t=e.prototype.serialize.call(this);return t.direction1=this.direction1.asArray(),t.direction2=this.direction2.asArray(),t},t.prototype.parse=function(t){e.prototype.parse.call(this,t),this.direction1.copyFrom(t.direction1),this.direction2.copyFrom(t.direction2)},t}(kl),zl=function(){function e(){this.particlePositionGenerator=function(){},this.particleDestinationGenerator=function(){}}return e.prototype.startDirectionFunction=function(e,t,n,i){var r=a.c.Vector3[0];if(this.particleDestinationGenerator){this.particleDestinationGenerator(-1,n,r);var o=a.c.Vector3[1];r.subtractToRef(n.position,o),o.scaleToRef(1/n.lifeTime,r)}else r.set(0,0,0);i?t.copyFrom(r):a.e.TransformNormalToRef(r,e,t)},e.prototype.startPositionFunction=function(e,t,n,i){var r=a.c.Vector3[0];this.particlePositionGenerator?this.particlePositionGenerator(-1,n,r):r.set(0,0,0),i?t.copyFrom(r):a.e.TransformCoordinatesToRef(r,e,t)},e.prototype.clone=function(){var t=new e;return O.a.DeepCopy(this,t),t},e.prototype.applyToShader=function(e){},e.prototype.getEffectDefines=function(){return"#define CUSTOMEMITTER"},e.prototype.getClassName=function(){return"CustomParticleEmitter"},e.prototype.serialize=function(){var e={};return e.type=this.getClassName(),e},e.prototype.parse=function(e){},e}(),jl=function(){function e(e){this.mesh=e,this._indices=null,this._positions=null,this._normals=null,this._storedNormal=a.e.Zero(),this.direction1=new a.e(0,1,0),this.direction2=new a.e(0,1,0),this.useMeshNormalsForDirection=!0,e&&(this._indices=e.getIndices(),this._positions=e.getVerticesData(Pn.b.PositionKind),this._normals=e.getVerticesData(Pn.b.NormalKind))}return e.prototype.startDirectionFunction=function(e,t,n,i){if(this.useMeshNormalsForDirection&&this._normals)a.e.TransformNormalToRef(this._storedNormal,e,t);else{var r=He.a.RandomRange(this.direction1.x,this.direction2.x),o=He.a.RandomRange(this.direction1.y,this.direction2.y),s=He.a.RandomRange(this.direction1.z,this.direction2.z);i?t.copyFromFloats(r,o,s):a.e.TransformNormalFromFloatsToRef(r,o,s,e,t)}},e.prototype.startPositionFunction=function(e,t,n,i){if(this._indices&&this._positions){var r=3*Math.random()*(this._indices.length/3)|0,o=Math.random(),s=Math.random()*(1-o),c=1-o-s,l=this._indices[r],u=this._indices[r+1],p=this._indices[r+2],h=a.c.Vector3[0],d=a.c.Vector3[1],f=a.c.Vector3[2],_=a.c.Vector3[3];a.e.FromArrayToRef(this._positions,3*l,h),a.e.FromArrayToRef(this._positions,3*u,d),a.e.FromArrayToRef(this._positions,3*p,f),_.x=o*h.x+s*d.x+c*f.x,_.y=o*h.y+s*d.y+c*f.y,_.z=o*h.z+s*d.z+c*f.z,i?t.copyFromFloats(_.x,_.y,_.z):a.e.TransformCoordinatesFromFloatsToRef(_.x,_.y,_.z,e,t),this.useMeshNormalsForDirection&&this._normals&&(a.e.FromArrayToRef(this._normals,3*l,h),a.e.FromArrayToRef(this._normals,3*u,d),a.e.FromArrayToRef(this._normals,3*p,f),this._storedNormal.x=o*h.x+s*d.x+c*f.x,this._storedNormal.y=o*h.y+s*d.y+c*f.y,this._storedNormal.z=o*h.z+s*d.z+c*f.z)}},e.prototype.clone=function(){var t=new e(this.mesh);return O.a.DeepCopy(this,t),t},e.prototype.applyToShader=function(e){e.setVector3("direction1",this.direction1),e.setVector3("direction2",this.direction2)},e.prototype.getEffectDefines=function(){return""},e.prototype.getClassName=function(){return"MeshParticleEmitter"},e.prototype.serialize=function(){var e,t={};return t.type=this.getClassName(),t.direction1=this.direction1.asArray(),t.direction2=this.direction2.asArray(),t.meshId=null===(e=this.mesh)||void 0===e?void 0:e.id,t.useMeshNormalsForDirection=this.useMeshNormalsForDirection,t},e.prototype.parse=function(e,t){a.e.FromArrayToRef(e.direction1,0,this.direction1),a.e.FromArrayToRef(e.direction2,0,this.direction2),e.meshId&&(this.mesh=t.getLastMeshByID(e.meshId)||void 0),this.useMeshNormalsForDirection=e.useMeshNormalsForDirection},e}(),Ul=function(){function e(t){this.animations=[],this.renderingGroupId=0,this.emitter=a.e.Zero(),this.emitRate=10,this.manualEmitCount=-1,this.updateSpeed=.01,this.targetStopDuration=0,this.disposeOnStop=!1,this.minEmitPower=1,this.maxEmitPower=1,this.minLifeTime=1,this.maxLifeTime=1,this.minSize=1,this.maxSize=1,this.minScaleX=1,this.maxScaleX=1,this.minScaleY=1,this.maxScaleY=1,this.minInitialRotation=0,this.maxInitialRotation=0,this.minAngularSpeed=0,this.maxAngularSpeed=0,this.layerMask=268435455,this.customShader=null,this.preventAutoStart=!1,this.noiseStrength=new a.e(10,10,10),this.onAnimationEnd=null,this.blendMode=e.BLENDMODE_ONEONE,this.forceDepthWrite=!1,this.preWarmCycles=0,this.preWarmStepOffset=1,this.spriteCellChangeSpeed=1,this.startSpriteCellID=0,this.endSpriteCellID=0,this.spriteCellWidth=0,this.spriteCellHeight=0,this.spriteRandomStartCell=!1,this.translationPivot=new a.d(0,0),this.beginAnimationOnStart=!1,this.beginAnimationFrom=0,this.beginAnimationTo=60,this.beginAnimationLoop=!1,this.worldOffset=new a.e(0,0,0),this.gravity=a.e.Zero(),this._colorGradients=null,this._sizeGradients=null,this._lifeTimeGradients=null,this._angularSpeedGradients=null,this._velocityGradients=null,this._limitVelocityGradients=null,this._dragGradients=null,this._emitRateGradients=null,this._startSizeGradients=null,this._rampGradients=null,this._colorRemapGradients=null,this._alphaRemapGradients=null,this.startDelay=0,this.limitVelocityDamping=.4,this.color1=new s.b(1,1,1,1),this.color2=new s.b(1,1,1,1),this.colorDead=new s.b(0,0,0,1),this.textureMask=new s.b(1,1,1,1),this._isSubEmitter=!1,this.billboardMode=7,this._isBillboardBased=!0,this._imageProcessingConfigurationDefines=new Cn.b,this.id=t,this.name=t}return Object.defineProperty(e.prototype,"noiseTexture",{get:function(){return this._noiseTexture},set:function(e){this._noiseTexture!==e&&(this._noiseTexture=e,this._reset())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isAnimationSheetEnabled",{get:function(){return this._isAnimationSheetEnabled},set:function(e){this._isAnimationSheetEnabled!=e&&(this._isAnimationSheetEnabled=e,this._reset())},enumerable:!0,configurable:!0}),e.prototype.getScene=function(){return this._scene},e.prototype._hasTargetStopDurationDependantGradient=function(){return this._startSizeGradients&&this._startSizeGradients.length>0||this._emitRateGradients&&this._emitRateGradients.length>0||this._lifeTimeGradients&&this._lifeTimeGradients.length>0},e.prototype.getDragGradients=function(){return this._dragGradients},e.prototype.getLimitVelocityGradients=function(){return this._limitVelocityGradients},e.prototype.getColorGradients=function(){return this._colorGradients},e.prototype.getSizeGradients=function(){return this._sizeGradients},e.prototype.getColorRemapGradients=function(){return this._colorRemapGradients},e.prototype.getAlphaRemapGradients=function(){return this._alphaRemapGradients},e.prototype.getLifeTimeGradients=function(){return this._lifeTimeGradients},e.prototype.getAngularSpeedGradients=function(){return this._angularSpeedGradients},e.prototype.getVelocityGradients=function(){return this._velocityGradients},e.prototype.getStartSizeGradients=function(){return this._startSizeGradients},e.prototype.getEmitRateGradients=function(){return this._emitRateGradients},Object.defineProperty(e.prototype,"direction1",{get:function(){return this.particleEmitterType.direction1?this.particleEmitterType.direction1:a.e.Zero()},set:function(e){this.particleEmitterType.direction1&&(this.particleEmitterType.direction1=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"direction2",{get:function(){return this.particleEmitterType.direction2?this.particleEmitterType.direction2:a.e.Zero()},set:function(e){this.particleEmitterType.direction2&&(this.particleEmitterType.direction2=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"minEmitBox",{get:function(){return this.particleEmitterType.minEmitBox?this.particleEmitterType.minEmitBox:a.e.Zero()},set:function(e){this.particleEmitterType.minEmitBox&&(this.particleEmitterType.minEmitBox=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxEmitBox",{get:function(){return this.particleEmitterType.maxEmitBox?this.particleEmitterType.maxEmitBox:a.e.Zero()},set:function(e){this.particleEmitterType.maxEmitBox&&(this.particleEmitterType.maxEmitBox=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isBillboardBased",{get:function(){return this._isBillboardBased},set:function(e){this._isBillboardBased!==e&&(this._isBillboardBased=e,this._reset())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"imageProcessingConfiguration",{get:function(){return this._imageProcessingConfiguration},set:function(e){this._attachImageProcessingConfiguration(e)},enumerable:!0,configurable:!0}),e.prototype._attachImageProcessingConfiguration=function(e){e!==this._imageProcessingConfiguration&&(this._imageProcessingConfiguration=e||this._scene.imageProcessingConfiguration)},e.prototype._reset=function(){},e.prototype._removeGradientAndTexture=function(e,t,n){if(!t)return this;for(var i=0,r=0,o=t;r=r.gradient&&e<=o.gradient)return void n(r,o,(e-r.gradient)/(o.gradient-r.gradient))}var a=t.length-1;n(t[a],t[a],1)},e}(),Yl=function(){function e(t){this.particleSystem=t,this.position=a.e.Zero(),this.direction=a.e.Zero(),this.color=new s.b(0,0,0,0),this.colorStep=new s.b(0,0,0,0),this.lifeTime=1,this.age=0,this.size=0,this.scale=new a.d(1,1),this.angle=0,this.angularSpeed=0,this.cellIndex=0,this._attachedSubEmitters=null,this._currentColor1=new s.b(0,0,0,0),this._currentColor2=new s.b(0,0,0,0),this._currentSize1=0,this._currentSize2=0,this._currentAngularSpeed1=0,this._currentAngularSpeed2=0,this._currentVelocity1=0,this._currentVelocity2=0,this._currentLimitVelocity1=0,this._currentLimitVelocity2=0,this._currentDrag1=0,this._currentDrag2=0,this.id=e._Count++,this.particleSystem.isAnimationSheetEnabled&&this.updateCellInfoFromSystem()}return e.prototype.updateCellInfoFromSystem=function(){this.cellIndex=this.particleSystem.startSpriteCellID},e.prototype.updateCellIndex=function(){var e=this.age,t=this.particleSystem.spriteCellChangeSpeed;this.particleSystem.spriteRandomStartCell&&(void 0===this._randomCellOffset&&(this._randomCellOffset=Math.random()*this.lifeTime),0===t?(t=1,e=this._randomCellOffset):e+=this._randomCellOffset);var n=this._initialEndSpriteCellID-this._initialStartSpriteCellID,i=He.a.Clamp(e*t%this.lifeTime/this.lifeTime);this.cellIndex=this._initialStartSpriteCellID+i*n|0},e.prototype._inheritParticleInfoToSubEmitter=function(e){if(e.particleSystem.emitter.position){var t=e.particleSystem.emitter;t.position.copyFrom(this.position),e.inheritDirection&&t.setDirection(this.direction.normalize(),0,Math.PI/2)}else{e.particleSystem.emitter.copyFrom(this.position)}this.direction.scaleToRef(e.inheritedVelocityAmount/2,a.c.Vector3[0]),e.particleSystem._inheritedVelocityOffset.copyFrom(a.c.Vector3[0])},e.prototype._inheritParticleInfoToSubEmitters=function(){var e=this;this._attachedSubEmitters&&this._attachedSubEmitters.length>0&&this._attachedSubEmitters.forEach((function(t){e._inheritParticleInfoToSubEmitter(t)}))},e.prototype._reset=function(){this.age=0,this.id=e._Count++,this._currentColorGradient=null,this._currentSizeGradient=null,this._currentAngularSpeedGradient=null,this._currentVelocityGradient=null,this._currentLimitVelocityGradient=null,this._currentDragGradient=null,this.cellIndex=this.particleSystem.startSpriteCellID,this._randomCellOffset=void 0},e.prototype.copyTo=function(e){e.position.copyFrom(this.position),this._initialDirection?e._initialDirection?e._initialDirection.copyFrom(this._initialDirection):e._initialDirection=this._initialDirection.clone():e._initialDirection=null,e.direction.copyFrom(this.direction),this._localPosition&&(e._localPosition?e._localPosition.copyFrom(this._localPosition):e._localPosition=this._localPosition.clone()),e.color.copyFrom(this.color),e.colorStep.copyFrom(this.colorStep),e.lifeTime=this.lifeTime,e.age=this.age,e._randomCellOffset=this._randomCellOffset,e.size=this.size,e.scale.copyFrom(this.scale),e.angle=this.angle,e.angularSpeed=this.angularSpeed,e.particleSystem=this.particleSystem,e.cellIndex=this.cellIndex,e.id=this.id,e._attachedSubEmitters=this._attachedSubEmitters,this._currentColorGradient&&(e._currentColorGradient=this._currentColorGradient,e._currentColor1.copyFrom(this._currentColor1),e._currentColor2.copyFrom(this._currentColor2)),this._currentSizeGradient&&(e._currentSizeGradient=this._currentSizeGradient,e._currentSize1=this._currentSize1,e._currentSize2=this._currentSize2),this._currentAngularSpeedGradient&&(e._currentAngularSpeedGradient=this._currentAngularSpeedGradient,e._currentAngularSpeed1=this._currentAngularSpeed1,e._currentAngularSpeed2=this._currentAngularSpeed2),this._currentVelocityGradient&&(e._currentVelocityGradient=this._currentVelocityGradient,e._currentVelocity1=this._currentVelocity1,e._currentVelocity2=this._currentVelocity2),this._currentLimitVelocityGradient&&(e._currentLimitVelocityGradient=this._currentLimitVelocityGradient,e._currentLimitVelocity1=this._currentLimitVelocity1,e._currentLimitVelocity2=this._currentLimitVelocity2),this._currentDragGradient&&(e._currentDragGradient=this._currentDragGradient,e._currentDrag1=this._currentDrag1,e._currentDrag2=this._currentDrag2),this.particleSystem.isAnimationSheetEnabled&&(e._initialStartSpriteCellID=this._initialStartSpriteCellID,e._initialEndSpriteCellID=this._initialEndSpriteCellID),this.particleSystem.useRampGradients&&e.remapData.copyFrom(this.remapData),this._randomNoiseCoordinates1&&(e._randomNoiseCoordinates1?(e._randomNoiseCoordinates1.copyFrom(this._randomNoiseCoordinates1),e._randomNoiseCoordinates2.copyFrom(this._randomNoiseCoordinates2)):(e._randomNoiseCoordinates1=this._randomNoiseCoordinates1.clone(),e._randomNoiseCoordinates2=this._randomNoiseCoordinates2.clone()))},e._Count=0,e}();!function(e){e[e.ATTACHED=0]="ATTACHED",e[e.END=1]="END"}(Rl||(Rl={}));var Ql=function(){function e(e){this.particleSystem=e,this.type=Rl.END,this.inheritDirection=!1,this.inheritedVelocityAmount=0,e.emitter&&e.emitter.dispose||(e.emitter=new Me.a("SubemitterSystemEmitter",e.getScene())),e.onDisposeObservable.add((function(){e.emitter&&e.emitter.dispose&&e.emitter.dispose()}))}return e.prototype.clone=function(){var t=this.particleSystem.emitter;t?t instanceof a.e?t=t.clone():t instanceof Me.a&&((t=new ve.a("",t.getScene())).isVisible=!1):t=new a.e;var n=new e(this.particleSystem.clone("",t));return n.particleSystem.name+="Clone",n.type=this.type,n.inheritDirection=this.inheritDirection,n.inheritedVelocityAmount=this.inheritedVelocityAmount,n.particleSystem._disposeEmitterOnDispose=!0,n.particleSystem.disposeOnStop=!0,n},e.prototype.serialize=function(){var e={};return e.type=this.type,e.inheritDirection=this.inheritDirection,e.inheritedVelocityAmount=this.inheritedVelocityAmount,e.particleSystem=this.particleSystem.serialize(),e},e._ParseParticleSystem=function(e,t,n){throw Fo.a.WarnImport("ParseParticle")},e.Parse=function(t,n,i){var r=t.particleSystem,o=new e(e._ParseParticleSystem(r,n,i));return o.type=t.type,o.inheritDirection=t.inheritDirection,o.inheritedVelocityAmount=t.inheritedVelocityAmount,o.particleSystem._isSubEmitter=!0,o},e.prototype.dispose=function(){this.particleSystem.dispose()},e}(),Kl="\nvarying vec2 vUV;\nvarying vec4 vColor;\nuniform vec4 textureMask;\nuniform sampler2D diffuseSampler;\n#include\n#include\n#include\n#include\n#ifdef RAMPGRADIENT\nvarying vec4 remapRanges;\nuniform sampler2D rampSampler;\n#endif\nvoid main(void) {\n#include\nvec4 textureColor=texture2D(diffuseSampler,vUV);\nvec4 baseColor=(textureColor*textureMask+(vec4(1.,1.,1.,1.)-textureMask))*vColor;\n#ifdef RAMPGRADIENT\nfloat alpha=baseColor.a;\nfloat remappedColorIndex=clamp((alpha-remapRanges.x)/remapRanges.y,0.0,1.0);\nvec4 rampColor=texture2D(rampSampler,vec2(1.0-remappedColorIndex,0.));\nbaseColor.rgb*=rampColor.rgb;\n\nfloat finalAlpha=baseColor.a;\nbaseColor.a=clamp((alpha*rampColor.a-remapRanges.z)/remapRanges.w,0.0,1.0);\n#endif\n#ifdef BLENDMULTIPLYMODE\nfloat sourceAlpha=vColor.a*textureColor.a;\nbaseColor.rgb=baseColor.rgb*sourceAlpha+vec3(1.0)*(1.0-sourceAlpha);\n#endif\n\n\n#ifdef IMAGEPROCESSINGPOSTPROCESS\nbaseColor.rgb=toLinearSpace(baseColor.rgb);\n#else\n#ifdef IMAGEPROCESSING\nbaseColor.rgb=toLinearSpace(baseColor.rgb);\nbaseColor=applyImageProcessing(baseColor);\n#endif\n#endif\ngl_FragColor=baseColor;\n}";zt.a.ShadersStore.particlesPixelShader=Kl;var Zl="\nattribute vec3 position;\nattribute vec4 color;\nattribute float angle;\nattribute vec2 size;\n#ifdef ANIMATESHEET\nattribute float cellIndex;\n#endif\n#ifndef BILLBOARD\nattribute vec3 direction;\n#endif\n#ifdef BILLBOARDSTRETCHED\nattribute vec3 direction;\n#endif\n#ifdef RAMPGRADIENT\nattribute vec4 remapData;\n#endif\nattribute vec2 offset;\n\nuniform mat4 view;\nuniform mat4 projection;\nuniform vec2 translationPivot;\n#ifdef ANIMATESHEET\nuniform vec3 particlesInfos;\n#endif\n\nvarying vec2 vUV;\nvarying vec4 vColor;\n#ifdef RAMPGRADIENT\nvarying vec4 remapRanges;\n#endif\n#if defined(CLIPPLANE) || defined(CLIPPLANE2) || defined(CLIPPLANE3) || defined(CLIPPLANE4) || defined(CLIPPLANE5) || defined(CLIPPLANE6)\nuniform mat4 invView;\n#endif\n#include\n#ifdef BILLBOARD\nuniform vec3 eyePosition;\n#endif\nvec3 rotate(vec3 yaxis,vec3 rotatedCorner) {\nvec3 xaxis=normalize(cross(vec3(0.,1.0,0.),yaxis));\nvec3 zaxis=normalize(cross(yaxis,xaxis));\nvec3 row0=vec3(xaxis.x,xaxis.y,xaxis.z);\nvec3 row1=vec3(yaxis.x,yaxis.y,yaxis.z);\nvec3 row2=vec3(zaxis.x,zaxis.y,zaxis.z);\nmat3 rotMatrix=mat3(row0,row1,row2);\nvec3 alignedCorner=rotMatrix*rotatedCorner;\nreturn position+alignedCorner;\n}\n#ifdef BILLBOARDSTRETCHED\nvec3 rotateAlign(vec3 toCamera,vec3 rotatedCorner) {\nvec3 normalizedToCamera=normalize(toCamera);\nvec3 normalizedCrossDirToCamera=normalize(cross(normalize(direction),normalizedToCamera));\nvec3 crossProduct=normalize(cross(normalizedToCamera,normalizedCrossDirToCamera));\nvec3 row0=vec3(normalizedCrossDirToCamera.x,normalizedCrossDirToCamera.y,normalizedCrossDirToCamera.z);\nvec3 row1=vec3(crossProduct.x,crossProduct.y,crossProduct.z);\nvec3 row2=vec3(normalizedToCamera.x,normalizedToCamera.y,normalizedToCamera.z);\nmat3 rotMatrix=mat3(row0,row1,row2);\nvec3 alignedCorner=rotMatrix*rotatedCorner;\nreturn position+alignedCorner;\n}\n#endif\nvoid main(void) {\nvec2 cornerPos;\ncornerPos=(vec2(offset.x-0.5,offset.y-0.5)-translationPivot)*size+translationPivot;\n#ifdef BILLBOARD\n\nvec3 rotatedCorner;\n#ifdef BILLBOARDY\nrotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\nrotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\nrotatedCorner.y=0.;\nvec3 yaxis=position-eyePosition;\nyaxis.y=0.;\nvec3 worldPos=rotate(normalize(yaxis),rotatedCorner);\nvec3 viewPos=(view*vec4(worldPos,1.0)).xyz;\n#elif defined(BILLBOARDSTRETCHED)\nrotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\nrotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\nrotatedCorner.z=0.;\nvec3 toCamera=position-eyePosition;\nvec3 worldPos=rotateAlign(toCamera,rotatedCorner);\nvec3 viewPos=(view*vec4(worldPos,1.0)).xyz;\n#else\nrotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\nrotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\nrotatedCorner.z=0.;\nvec3 viewPos=(view*vec4(position,1.0)).xyz+rotatedCorner;\n#endif\n#ifdef RAMPGRADIENT\nremapRanges=remapData;\n#endif\n\ngl_Position=projection*vec4(viewPos,1.0);\n#else\n\nvec3 rotatedCorner;\nrotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\nrotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\nrotatedCorner.y=0.;\nvec3 yaxis=normalize(direction);\nvec3 worldPos=rotate(yaxis,rotatedCorner);\ngl_Position=projection*view*vec4(worldPos,1.0);\n#endif\nvColor=color;\n#ifdef ANIMATESHEET\nfloat rowOffset=floor(cellIndex/particlesInfos.z);\nfloat columnOffset=cellIndex-rowOffset*particlesInfos.z;\nvec2 uvScale=particlesInfos.xy;\nvec2 uvOffset=vec2(offset.x ,1.0-offset.y);\nvUV=(uvOffset+vec2(columnOffset,rowOffset))*uvScale;\n#else\nvUV=offset;\n#endif\n\n#if defined(CLIPPLANE) || defined(CLIPPLANE2) || defined(CLIPPLANE3) || defined(CLIPPLANE4) || defined(CLIPPLANE5) || defined(CLIPPLANE6)\nvec4 worldPos=invView*vec4(viewPos,1.0);\n#endif\n#include\n}";zt.a.ShadersStore.particlesVertexShader=Zl;var ql=function(e){function t(t,n,i,r,c,l){void 0===r&&(r=null),void 0===c&&(c=!1),void 0===l&&(l=.01);var u=e.call(this,t)||this;return u._inheritedVelocityOffset=new a.e,u.onDisposeObservable=new o.c,u._particles=new Array,u._stockParticles=new Array,u._newPartsExcess=0,u._vertexBuffers={},u._scaledColorStep=new s.b(0,0,0,0),u._colorDiff=new s.b(0,0,0,0),u._scaledDirection=a.e.Zero(),u._scaledGravity=a.e.Zero(),u._currentRenderId=-1,u._useInstancing=!1,u._started=!1,u._stopped=!1,u._actualFrame=0,u._currentEmitRate1=0,u._currentEmitRate2=0,u._currentStartSize1=0,u._currentStartSize2=0,u._rawTextureWidth=256,u._useRampGradients=!1,u._disposeEmitterOnDispose=!1,u.isLocal=!1,u.recycleParticle=function(e){var t=u._particles.pop();t!==e&&t.copyTo(e),u._stockParticles.push(t)},u._createParticle=function(){var e;if(0!==u._stockParticles.length?(e=u._stockParticles.pop())._reset():e=new Yl(u),u._subEmitters&&u._subEmitters.length>0){var t=u._subEmitters[Math.floor(Math.random()*u._subEmitters.length)];e._attachedSubEmitters=[],t.forEach((function(t){if(t.type===Rl.ATTACHED){var n=t.clone();e._attachedSubEmitters.push(n),n.particleSystem.start()}}))}return e},u._emitFromParticle=function(e){if(u._subEmitters&&0!==u._subEmitters.length){var t=Math.floor(Math.random()*u._subEmitters.length);u._subEmitters[t].forEach((function(t){if(t.type===Rl.END){var n=t.clone();e._inheritParticleInfoToSubEmitter(n),n.particleSystem._rootParticleSystem=u,u.activeSubSystems.push(n.particleSystem),n.particleSystem.start()}}))}},u._capacity=n,u._epsilon=l,u._isAnimationSheetEnabled=c,u._scene=i||P.a.LastCreatedScene,u._attachImageProcessingConfiguration(null),u._customEffect=r,u._scene.particleSystems.push(u),u._useInstancing=u._scene.getEngine().getCaps().instancedArrays,u._createIndexBuffer(),u._createVertexBuffers(),u.particleEmitterType=new wl,u.updateFunction=function(e){var t=null,n=null;u.noiseTexture&&(t=u.noiseTexture.getSize(),n=u.noiseTexture.getContent());for(var i,r=function(){i=e[o];var r=u._scaledUpdateSpeed,c=i.age;if(i.age+=r,i.age>i.lifeTime){var l=i.age-c;r=(i.lifeTime-c)*r/l,i.age=i.lifeTime}var p=i.age/i.lifeTime;u._colorGradients&&u._colorGradients.length>0?Xl.GetCurrentGradient(p,u._colorGradients,(function(e,t,n){e!==i._currentColorGradient&&(i._currentColor1.copyFrom(i._currentColor2),t.getColorToRef(i._currentColor2),i._currentColorGradient=e),s.b.LerpToRef(i._currentColor1,i._currentColor2,n,i.color)})):(i.colorStep.scaleToRef(r,u._scaledColorStep),i.color.addInPlace(u._scaledColorStep),i.color.a<0&&(i.color.a=0)),u._angularSpeedGradients&&u._angularSpeedGradients.length>0&&Xl.GetCurrentGradient(p,u._angularSpeedGradients,(function(e,t,n){e!==i._currentAngularSpeedGradient&&(i._currentAngularSpeed1=i._currentAngularSpeed2,i._currentAngularSpeed2=t.getFactor(),i._currentAngularSpeedGradient=e),i.angularSpeed=He.a.Lerp(i._currentAngularSpeed1,i._currentAngularSpeed2,n)})),i.angle+=i.angularSpeed*r;var h=r;if(u._velocityGradients&&u._velocityGradients.length>0&&Xl.GetCurrentGradient(p,u._velocityGradients,(function(e,t,n){e!==i._currentVelocityGradient&&(i._currentVelocity1=i._currentVelocity2,i._currentVelocity2=t.getFactor(),i._currentVelocityGradient=e),h*=He.a.Lerp(i._currentVelocity1,i._currentVelocity2,n)})),i.direction.scaleToRef(h,u._scaledDirection),u._limitVelocityGradients&&u._limitVelocityGradients.length>0&&Xl.GetCurrentGradient(p,u._limitVelocityGradients,(function(e,t,n){e!==i._currentLimitVelocityGradient&&(i._currentLimitVelocity1=i._currentLimitVelocity2,i._currentLimitVelocity2=t.getFactor(),i._currentLimitVelocityGradient=e);var r=He.a.Lerp(i._currentLimitVelocity1,i._currentLimitVelocity2,n);i.direction.length()>r&&i.direction.scaleInPlace(u.limitVelocityDamping)})),u._dragGradients&&u._dragGradients.length>0&&Xl.GetCurrentGradient(p,u._dragGradients,(function(e,t,n){e!==i._currentDragGradient&&(i._currentDrag1=i._currentDrag2,i._currentDrag2=t.getFactor(),i._currentDragGradient=e);var r=He.a.Lerp(i._currentDrag1,i._currentDrag2,n);u._scaledDirection.scaleInPlace(1-r)})),u.isLocal?(i._localPosition.addInPlace(u._scaledDirection),a.e.TransformCoordinatesToRef(i._localPosition,u._emitterWorldMatrix,i.position)):i.position.addInPlace(u._scaledDirection),n&&t&&i._randomNoiseCoordinates1){var d=u._fetchR(i._randomNoiseCoordinates1.x,i._randomNoiseCoordinates1.y,t.width,t.height,n),f=u._fetchR(i._randomNoiseCoordinates1.z,i._randomNoiseCoordinates2.x,t.width,t.height,n),_=u._fetchR(i._randomNoiseCoordinates2.y,i._randomNoiseCoordinates2.z,t.width,t.height,n),m=a.c.Vector3[0],b=a.c.Vector3[1];m.copyFromFloats((2*d-1)*u.noiseStrength.x,(2*f-1)*u.noiseStrength.y,(2*_-1)*u.noiseStrength.z),m.scaleToRef(r,b),i.direction.addInPlace(b)}if(u.gravity.scaleToRef(r,u._scaledGravity),i.direction.addInPlace(u._scaledGravity),u._sizeGradients&&u._sizeGradients.length>0&&Xl.GetCurrentGradient(p,u._sizeGradients,(function(e,t,n){e!==i._currentSizeGradient&&(i._currentSize1=i._currentSize2,i._currentSize2=t.getFactor(),i._currentSizeGradient=e),i.size=He.a.Lerp(i._currentSize1,i._currentSize2,n)})),u._useRampGradients&&(u._colorRemapGradients&&u._colorRemapGradients.length>0&&Xl.GetCurrentGradient(p,u._colorRemapGradients,(function(e,t,n){var r=He.a.Lerp(e.factor1,t.factor1,n),o=He.a.Lerp(e.factor2,t.factor2,n);i.remapData.x=r,i.remapData.y=o-r})),u._alphaRemapGradients&&u._alphaRemapGradients.length>0&&Xl.GetCurrentGradient(p,u._alphaRemapGradients,(function(e,t,n){var r=He.a.Lerp(e.factor1,t.factor1,n),o=He.a.Lerp(e.factor2,t.factor2,n);i.remapData.z=r,i.remapData.w=o-r}))),u._isAnimationSheetEnabled&&i.updateCellIndex(),i._inheritParticleInfoToSubEmitters(),i.age>=i.lifeTime)return u._emitFromParticle(i),i._attachedSubEmitters&&(i._attachedSubEmitters.forEach((function(e){e.particleSystem.disposeOnStop=!0,e.particleSystem.stop()})),i._attachedSubEmitters=null),u.recycleParticle(i),o--,"continue"},o=0;ot.gradient?1:0}))},t.prototype._removeFactorGradient=function(e,t){if(e)for(var n=0,i=0,r=e;it.gradient?1:0})),this._rampGradientsTexture&&(this._rampGradientsTexture.dispose(),this._rampGradientsTexture=null),this._createRampGradientTexture(),this},t.prototype.removeRampGradient=function(e){return this._removeGradientAndTexture(e,this._rampGradients,this._rampGradientsTexture),this._rampGradientsTexture=null,this._rampGradients&&this._rampGradients.length>0&&this._createRampGradientTexture(),this},t.prototype.addColorGradient=function(e,t,n){this._colorGradients||(this._colorGradients=[]);var i=new Gl;return i.gradient=e,i.color1=t,i.color2=n,this._colorGradients.push(i),this._colorGradients.sort((function(e,t){return e.gradientt.gradient?1:0})),this},t.prototype.removeColorGradient=function(e){if(!this._colorGradients)return this;for(var t=0,n=0,i=this._colorGradients;n0&&(this._currentEmitRateGradient=this._emitRateGradients[0],this._currentEmitRate1=this._currentEmitRateGradient.getFactor(),this._currentEmitRate2=this._currentEmitRate1),this._emitRateGradients.length>1&&(this._currentEmitRate2=this._emitRateGradients[1].getFactor())),this._startSizeGradients&&(this._startSizeGradients.length>0&&(this._currentStartSizeGradient=this._startSizeGradients[0],this._currentStartSize1=this._currentStartSizeGradient.getFactor(),this._currentStartSize2=this._currentStartSize1),this._startSizeGradients.length>1&&(this._currentStartSize2=this._startSizeGradients[1].getFactor())),this.preWarmCycles){this.emitter instanceof Me.a&&this.emitter.computeWorldMatrix(!0);var n=this.noiseTexture;if(n&&n.onGeneratedObservable)n.onGeneratedObservable.addOnce((function(){setTimeout((function(){for(var e=0;e0&&this.getScene().beginAnimation(this,this.beginAnimationFrom,this.beginAnimationTo,this.beginAnimationLoop)}},t.prototype.stop=function(e){void 0===e&&(e=!0),this._stopped=!0,e&&this._stopSubEmitters()},t.prototype.reset=function(){this._stockParticles=[],this._particles=[]},t.prototype._appendParticleVertex=function(e,n,i,r){var o=e*this._vertexBufferSize;if(this._vertexData[o++]=n.position.x+this.worldOffset.x,this._vertexData[o++]=n.position.y+this.worldOffset.y,this._vertexData[o++]=n.position.z+this.worldOffset.z,this._vertexData[o++]=n.color.r,this._vertexData[o++]=n.color.g,this._vertexData[o++]=n.color.b,this._vertexData[o++]=n.color.a,this._vertexData[o++]=n.angle,this._vertexData[o++]=n.scale.x*n.size,this._vertexData[o++]=n.scale.y*n.size,this._isAnimationSheetEnabled&&(this._vertexData[o++]=n.cellIndex),this._isBillboardBased)this.billboardMode===t.BILLBOARDMODE_STRETCHED&&(this._vertexData[o++]=n.direction.x,this._vertexData[o++]=n.direction.y,this._vertexData[o++]=n.direction.z);else if(n._initialDirection){var s=n._initialDirection;this.isLocal&&(a.e.TransformNormalToRef(s,this._emitterWorldMatrix,a.c.Vector3[0]),s=a.c.Vector3[0]),0===s.x&&0===s.z&&(s.x=.001),this._vertexData[o++]=s.x,this._vertexData[o++]=s.y,this._vertexData[o++]=s.z}else{var c=n.direction;this.isLocal&&(a.e.TransformNormalToRef(c,this._emitterWorldMatrix,a.c.Vector3[0]),c=a.c.Vector3[0]),0===c.x&&0===c.z&&(c.x=.001),this._vertexData[o++]=c.x,this._vertexData[o++]=c.y,this._vertexData[o++]=c.z}this._useRampGradients&&(this._vertexData[o++]=n.remapData.x,this._vertexData[o++]=n.remapData.y,this._vertexData[o++]=n.remapData.z,this._vertexData[o++]=n.remapData.w),this._useInstancing||(this._isAnimationSheetEnabled&&(0===i?i=this._epsilon:1===i&&(i=1-this._epsilon),0===r?r=this._epsilon:1===r&&(r=1-this._epsilon)),this._vertexData[o++]=i,this._vertexData[o++]=r)},t.prototype._stopSubEmitters=function(){this.activeSubSystems&&(this.activeSubSystems.forEach((function(e){e.stop(!0)})),this.activeSubSystems=new Array)},t.prototype._removeFromRoot=function(){if(this._rootParticleSystem){var e=this._rootParticleSystem.activeSubSystems.indexOf(this);-1!==e&&this._rootParticleSystem.activeSubSystems.splice(e,1),this._rootParticleSystem=null}},t.prototype._update=function(e){var t,n=this;if(this._alive=this._particles.length>0,this.emitter.position){var i=this.emitter;this._emitterWorldMatrix=i.getWorldMatrix()}else{var r=this.emitter;this._emitterWorldMatrix=a.a.Translation(r.x,r.y,r.z)}this.updateFunction(this._particles);for(var o,c=function(){if(l._particles.length===l._capacity)return"break";if(t=l._createParticle(),l._particles.push(t),l.targetStopDuration&&l._lifeTimeGradients&&l._lifeTimeGradients.length>0){var e=He.a.Clamp(l._actualFrame/l.targetStopDuration);Xl.GetCurrentGradient(e,l._lifeTimeGradients,(function(n,i){var r=n,o=i,a=r.getFactor(),s=o.getFactor(),c=(e-r.gradient)/(o.gradient-r.gradient);t.lifeTime=He.a.Lerp(a,s,c)}))}else t.lifeTime=He.a.RandomRange(l.minLifeTime,l.maxLifeTime);var i=He.a.RandomRange(l.minEmitPower,l.maxEmitPower);if(l.startPositionFunction?l.startPositionFunction(l._emitterWorldMatrix,t.position,t,l.isLocal):l.particleEmitterType.startPositionFunction(l._emitterWorldMatrix,t.position,t,l.isLocal),l.isLocal&&(t._localPosition?t._localPosition.copyFrom(t.position):t._localPosition=t.position.clone(),a.e.TransformCoordinatesToRef(t._localPosition,l._emitterWorldMatrix,t.position)),l.startDirectionFunction?l.startDirectionFunction(l._emitterWorldMatrix,t.direction,t,l.isLocal):l.particleEmitterType.startDirectionFunction(l._emitterWorldMatrix,t.direction,t,l.isLocal),0===i?t._initialDirection?t._initialDirection.copyFrom(t.direction):t._initialDirection=t.direction.clone():t._initialDirection=null,t.direction.scaleInPlace(i),l._sizeGradients&&0!==l._sizeGradients.length?(t._currentSizeGradient=l._sizeGradients[0],t._currentSize1=t._currentSizeGradient.getFactor(),t.size=t._currentSize1,l._sizeGradients.length>1?t._currentSize2=l._sizeGradients[1].getFactor():t._currentSize2=t._currentSize1):t.size=He.a.RandomRange(l.minSize,l.maxSize),t.scale.copyFromFloats(He.a.RandomRange(l.minScaleX,l.maxScaleX),He.a.RandomRange(l.minScaleY,l.maxScaleY)),l._startSizeGradients&&l._startSizeGradients[0]&&l.targetStopDuration){var r=l._actualFrame/l.targetStopDuration;Xl.GetCurrentGradient(r,l._startSizeGradients,(function(e,i,r){e!==n._currentStartSizeGradient&&(n._currentStartSize1=n._currentStartSize2,n._currentStartSize2=i.getFactor(),n._currentStartSizeGradient=e);var o=He.a.Lerp(n._currentStartSize1,n._currentStartSize2,r);t.scale.scaleInPlace(o)}))}l._angularSpeedGradients&&0!==l._angularSpeedGradients.length?(t._currentAngularSpeedGradient=l._angularSpeedGradients[0],t.angularSpeed=t._currentAngularSpeedGradient.getFactor(),t._currentAngularSpeed1=t.angularSpeed,l._angularSpeedGradients.length>1?t._currentAngularSpeed2=l._angularSpeedGradients[1].getFactor():t._currentAngularSpeed2=t._currentAngularSpeed1):t.angularSpeed=He.a.RandomRange(l.minAngularSpeed,l.maxAngularSpeed),t.angle=He.a.RandomRange(l.minInitialRotation,l.maxInitialRotation),l._velocityGradients&&l._velocityGradients.length>0&&(t._currentVelocityGradient=l._velocityGradients[0],t._currentVelocity1=t._currentVelocityGradient.getFactor(),l._velocityGradients.length>1?t._currentVelocity2=l._velocityGradients[1].getFactor():t._currentVelocity2=t._currentVelocity1),l._limitVelocityGradients&&l._limitVelocityGradients.length>0&&(t._currentLimitVelocityGradient=l._limitVelocityGradients[0],t._currentLimitVelocity1=t._currentLimitVelocityGradient.getFactor(),l._limitVelocityGradients.length>1?t._currentLimitVelocity2=l._limitVelocityGradients[1].getFactor():t._currentLimitVelocity2=t._currentLimitVelocity1),l._dragGradients&&l._dragGradients.length>0&&(t._currentDragGradient=l._dragGradients[0],t._currentDrag1=t._currentDragGradient.getFactor(),l._dragGradients.length>1?t._currentDrag2=l._dragGradients[1].getFactor():t._currentDrag2=t._currentDrag1),l._colorGradients&&0!==l._colorGradients.length?(t._currentColorGradient=l._colorGradients[0],t._currentColorGradient.getColorToRef(t.color),t._currentColor1.copyFrom(t.color),l._colorGradients.length>1?l._colorGradients[1].getColorToRef(t._currentColor2):t._currentColor2.copyFrom(t.color)):(o=He.a.RandomRange(0,1),s.b.LerpToRef(l.color1,l.color2,o,t.color),l.colorDead.subtractToRef(t.color,l._colorDiff),l._colorDiff.scaleToRef(1/t.lifeTime,t.colorStep)),l._isAnimationSheetEnabled&&(t._initialStartSpriteCellID=l.startSpriteCellID,t._initialEndSpriteCellID=l.endSpriteCellID),t.direction.addInPlace(l._inheritedVelocityOffset),l._useRampGradients&&(t.remapData=new a.f(0,1,0,1)),l.noiseTexture&&(t._randomNoiseCoordinates1?(t._randomNoiseCoordinates1.copyFromFloats(Math.random(),Math.random(),Math.random()),t._randomNoiseCoordinates2.copyFromFloats(Math.random(),Math.random(),Math.random())):(t._randomNoiseCoordinates1=new a.e(Math.random(),Math.random(),Math.random()),t._randomNoiseCoordinates2=new a.e(Math.random(),Math.random(),Math.random()))),t._inheritParticleInfoToSubEmitters()},l=this,u=0;u-1)n=this.manualEmitCount,this._newPartsExcess=0,this.manualEmitCount=0;else{var i=this.emitRate;if(this._emitRateGradients&&this._emitRateGradients.length>0&&this.targetStopDuration){var r=this._actualFrame/this.targetStopDuration;Xl.GetCurrentGradient(r,this._emitRateGradients,(function(e,n,r){e!==t._currentEmitRateGradient&&(t._currentEmitRate1=t._currentEmitRate2,t._currentEmitRate2=n.getFactor(),t._currentEmitRateGradient=e),i=He.a.Lerp(t._currentEmitRate1,t._currentEmitRate2,r)}))}n=i*this._scaledUpdateSpeed>>0,this._newPartsExcess+=i*this._scaledUpdateSpeed-n}if(this._newPartsExcess>1&&(n+=this._newPartsExcess>>0,this._newPartsExcess-=this._newPartsExcess>>0),this._alive=!1,this._stopped?n=0:(this._actualFrame+=this._scaledUpdateSpeed,this.targetStopDuration&&this._actualFrame>=this.targetStopDuration&&this.stop()),this._update(n),this._stopped&&(this._alive||(this._started=!1,this.onAnimationEnd&&this.onAnimationEnd(),this.disposeOnStop&&this._scene._toBeDisposed.push(this))),!e){for(var o=0,a=0;a-1&&this._scene.particleSystems.splice(t,1),this._scene._activeParticleSystems.dispose(),this.onDisposeObservable.notifyObservers(this),this.onDisposeObservable.clear(),this.reset()},t.prototype.clone=function(e,n){var i=null,r=null;if(null!=this.customShader){var o=(r=this.customShader).shaderOptions.defines.length>0?r.shaderOptions.defines.join("\n"):"";i=this._scene.getEngine().createEffectForParticles(r.shaderPath.fragmentElement,r.shaderOptions.uniforms,r.shaderOptions.samplers,o)}else this._customEffect&&(i=this._customEffect);var a=new t(e,this._capacity,this._scene,i);(a.customShader=r,O.a.DeepCopy(this,a,["particles","customShader","noiseTexture","particleTexture","onDisposeObservable"]),void 0===n&&(n=this.emitter),a.noiseTexture=this.noiseTexture,a.emitter=n,this.particleTexture)&&(this.particleTexture instanceof xn.a?(a.particleTexture=this.particleTexture.clone(),a.particleTexture.getContext().drawImage(this.particleTexture.getContext().canvas,0,0),a.particleTexture.update()):a.particleTexture=new nn.a(this.particleTexture.url,this._scene));return this._colorGradients&&this._colorGradients.forEach((function(e){a.addColorGradient(e.gradient,e.color1,e.color2)})),this._dragGradients&&this._dragGradients.forEach((function(e){a.addDragGradient(e.gradient,e.factor1,e.factor2)})),this._angularSpeedGradients&&this._angularSpeedGradients.forEach((function(e){a.addAngularSpeedGradient(e.gradient,e.factor1,e.factor2)})),this._emitRateGradients&&this._emitRateGradients.forEach((function(e){a.addEmitRateGradient(e.gradient,e.factor1,e.factor2)})),this._lifeTimeGradients&&this._lifeTimeGradients.forEach((function(e){a.addLifeTimeGradient(e.gradient,e.factor1,e.factor2)})),this._limitVelocityGradients&&this._limitVelocityGradients.forEach((function(e){a.addLimitVelocityGradient(e.gradient,e.factor1,e.factor2)})),this._sizeGradients&&this._sizeGradients.forEach((function(e){a.addSizeGradient(e.gradient,e.factor1,e.factor2)})),this._startSizeGradients&&this._startSizeGradients.forEach((function(e){a.addStartSizeGradient(e.gradient,e.factor1,e.factor2)})),this._velocityGradients&&this._velocityGradients.forEach((function(e){a.addVelocityGradient(e.gradient,e.factor1,e.factor2)})),this._rampGradients&&this._rampGradients.forEach((function(e){a.addRampGradient(e.gradient,e.color)})),this._colorRemapGradients&&this._colorRemapGradients.forEach((function(e){a.addColorRemapGradient(e.gradient,e.factor1,e.factor2)})),this._alphaRemapGradients&&this._alphaRemapGradients.forEach((function(e){a.addAlphaRemapGradient(e.gradient,e.factor1,e.factor2)})),this.preventAutoStart||a.start(),a},t.prototype.serialize=function(){var e={};if(t._Serialize(e,this),e.textureMask=this.textureMask.asArray(),e.customShader=this.customShader,e.preventAutoStart=this.preventAutoStart,this.subEmitters){e.subEmitters=[],this._subEmitters||this._prepareSubEmitterInternalArray();for(var n=0,i=this._subEmitters;n0?c.shaderOptions.defines.join("\n"):"";a=n.getEngine().createEffectForParticles(c.shaderPath.fragmentElement,c.shaderOptions.uniforms,c.shaderOptions.samplers,l)}var u=new t(o,e.capacity,n,a,e.isAnimationSheetEnabled);if(u.customShader=c,e.id&&(u.id=e.id),e.subEmitters){u.subEmitters=[];for(var p=0,h=e.subEmitters;p1},enumerable:!0,configurable:!0}),t.prototype.getCapacity=function(){return this._capacity},Object.defineProperty(t.prototype,"activeParticleCount",{get:function(){return this._activeCount},set:function(e){this._activeCount=Math.min(e,this._capacity)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isLocal",{get:function(){return!1},set:function(e){},enumerable:!0,configurable:!0}),t.prototype.isReady=function(){return this._updateEffect?!!(this.emitter&&this._updateEffect.isReady()&&this._imageProcessingConfiguration.isReady()&&this._renderEffect.isReady()&&this.particleTexture&&this.particleTexture.isReady()):(this._recreateUpdateEffect(),this._recreateRenderEffect(),!1)},t.prototype.isStarted=function(){return this._started},t.prototype.start=function(e){var t=this;if(void 0===e&&(e=this.startDelay),!this.targetStopDuration&&this._hasTargetStopDurationDependantGradient())throw"Particle system started with a targetStopDuration dependant gradient (eg. startSizeGradients) but no targetStopDuration set";e?setTimeout((function(){t.start(0)}),e):(this._started=!0,this._stopped=!1,this._preWarmDone=!1,this.beginAnimationOnStart&&this.animations&&this.animations.length>0&&this.getScene().beginAnimation(this,this.beginAnimationFrom,this.beginAnimationTo,this.beginAnimationLoop))},t.prototype.stop=function(){this._stopped=!0},t.prototype.reset=function(){this._releaseBuffers(),this._releaseVAOs(),this._currentActiveCount=0,this._targetIndex=0},t.prototype.getClassName=function(){return"GPUParticleSystem"},t.prototype._removeGradientAndTexture=function(t,n,i){return e.prototype._removeGradientAndTexture.call(this,t,n,i),this._releaseBuffers(),this},t.prototype.addColorGradient=function(e,t,n){this._colorGradients||(this._colorGradients=[]);var i=new Gl;return i.gradient=e,i.color1=t,this._colorGradients.push(i),this._colorGradients.sort((function(e,t){return e.gradientt.gradient?1:0})),this._colorGradientsTexture&&(this._colorGradientsTexture.dispose(),this._colorGradientsTexture=null),this._releaseBuffers(),this},t.prototype.removeColorGradient=function(e){return this._removeGradientAndTexture(e,this._colorGradients,this._colorGradientsTexture),this._colorGradientsTexture=null,this},t.prototype._addFactorGradient=function(e,t,n){var i=new Wl;i.gradient=t,i.factor1=n,e.push(i),e.sort((function(e,t){return e.gradientt.gradient?1:0})),this._releaseBuffers()},t.prototype.addSizeGradient=function(e,t){return this._sizeGradients||(this._sizeGradients=[]),this._addFactorGradient(this._sizeGradients,e,t),this._sizeGradientsTexture&&(this._sizeGradientsTexture.dispose(),this._sizeGradientsTexture=null),this._releaseBuffers(),this},t.prototype.removeSizeGradient=function(e){return this._removeGradientAndTexture(e,this._sizeGradients,this._sizeGradientsTexture),this._sizeGradientsTexture=null,this},t.prototype.addAngularSpeedGradient=function(e,t){return this._angularSpeedGradients||(this._angularSpeedGradients=[]),this._addFactorGradient(this._angularSpeedGradients,e,t),this._angularSpeedGradientsTexture&&(this._angularSpeedGradientsTexture.dispose(),this._angularSpeedGradientsTexture=null),this._releaseBuffers(),this},t.prototype.removeAngularSpeedGradient=function(e){return this._removeGradientAndTexture(e,this._angularSpeedGradients,this._angularSpeedGradientsTexture),this._angularSpeedGradientsTexture=null,this},t.prototype.addVelocityGradient=function(e,t){return this._velocityGradients||(this._velocityGradients=[]),this._addFactorGradient(this._velocityGradients,e,t),this._velocityGradientsTexture&&(this._velocityGradientsTexture.dispose(),this._velocityGradientsTexture=null),this._releaseBuffers(),this},t.prototype.removeVelocityGradient=function(e){return this._removeGradientAndTexture(e,this._velocityGradients,this._velocityGradientsTexture),this._velocityGradientsTexture=null,this},t.prototype.addLimitVelocityGradient=function(e,t){return this._limitVelocityGradients||(this._limitVelocityGradients=[]),this._addFactorGradient(this._limitVelocityGradients,e,t),this._limitVelocityGradientsTexture&&(this._limitVelocityGradientsTexture.dispose(),this._limitVelocityGradientsTexture=null),this._releaseBuffers(),this},t.prototype.removeLimitVelocityGradient=function(e){return this._removeGradientAndTexture(e,this._limitVelocityGradients,this._limitVelocityGradientsTexture),this._limitVelocityGradientsTexture=null,this},t.prototype.addDragGradient=function(e,t){return this._dragGradients||(this._dragGradients=[]),this._addFactorGradient(this._dragGradients,e,t),this._dragGradientsTexture&&(this._dragGradientsTexture.dispose(),this._dragGradientsTexture=null),this._releaseBuffers(),this},t.prototype.removeDragGradient=function(e){return this._removeGradientAndTexture(e,this._dragGradients,this._dragGradientsTexture),this._dragGradientsTexture=null,this},t.prototype.addEmitRateGradient=function(e,t,n){return this},t.prototype.removeEmitRateGradient=function(e){return this},t.prototype.addStartSizeGradient=function(e,t,n){return this},t.prototype.removeStartSizeGradient=function(e){return this},t.prototype.addColorRemapGradient=function(e,t,n){return this},t.prototype.removeColorRemapGradient=function(){return this},t.prototype.addAlphaRemapGradient=function(e,t,n){return this},t.prototype.removeAlphaRemapGradient=function(){return this},t.prototype.addRampGradient=function(e,t){return this},t.prototype.removeRampGradient=function(){return this},t.prototype.getRampGradients=function(){return null},Object.defineProperty(t.prototype,"useRampGradients",{get:function(){return!1},set:function(e){},enumerable:!0,configurable:!0}),t.prototype.addLifeTimeGradient=function(e,t,n){return this},t.prototype.removeLifeTimeGradient=function(e){return this},t.prototype._reset=function(){this._releaseBuffers()},t.prototype._createUpdateVAO=function(e){var t={};t.position=e.createVertexBuffer("position",0,3);var n=3;this.particleEmitterType instanceof zl&&(t.initialPosition=e.createVertexBuffer("initialPosition",n,3),n+=3),t.age=e.createVertexBuffer("age",n,1),n+=1,t.life=e.createVertexBuffer("life",n,1),n+=1,t.seed=e.createVertexBuffer("seed",n,4),n+=4,t.size=e.createVertexBuffer("size",n,3),n+=3,this._colorGradientsTexture||(t.color=e.createVertexBuffer("color",n,4),n+=4),t.direction=e.createVertexBuffer("direction",n,3),n+=3,this._isBillboardBased||(t.initialDirection=e.createVertexBuffer("initialDirection",n,3),n+=3),this._angularSpeedGradientsTexture?(t.angle=e.createVertexBuffer("angle",n,1),n+=1):(t.angle=e.createVertexBuffer("angle",n,2),n+=2),this._isAnimationSheetEnabled&&(t.cellIndex=e.createVertexBuffer("cellIndex",n,1),n+=1,this.spriteRandomStartCell&&(t.cellStartOffset=e.createVertexBuffer("cellStartOffset",n,1),n+=1)),this.noiseTexture&&(t.noiseCoordinates1=e.createVertexBuffer("noiseCoordinates1",n,3),n+=3,t.noiseCoordinates2=e.createVertexBuffer("noiseCoordinates2",n,3),n+=3);var i=this._engine.recordVertexArrayObject(t,null,this._updateEffect);return this._engine.bindArrayBuffer(null),i},t.prototype._createRenderVAO=function(e,t){var n={};n.position=e.createVertexBuffer("position",0,3,this._attributesStrideSize,!0);var i=3;this.particleEmitterType instanceof zl&&(i+=3),n.age=e.createVertexBuffer("age",i,1,this._attributesStrideSize,!0),i+=1,n.life=e.createVertexBuffer("life",i,1,this._attributesStrideSize,!0),i+=5,n.size=e.createVertexBuffer("size",i,3,this._attributesStrideSize,!0),i+=3,this._colorGradientsTexture||(n.color=e.createVertexBuffer("color",i,4,this._attributesStrideSize,!0),i+=4),this.billboardMode===ql.BILLBOARDMODE_STRETCHED&&(n.direction=e.createVertexBuffer("direction",i,3,this._attributesStrideSize,!0)),i+=3,this._isBillboardBased||(n.initialDirection=e.createVertexBuffer("initialDirection",i,3,this._attributesStrideSize,!0),i+=3),n.angle=e.createVertexBuffer("angle",i,1,this._attributesStrideSize,!0),this._angularSpeedGradientsTexture?i++:i+=2,this._isAnimationSheetEnabled&&(n.cellIndex=e.createVertexBuffer("cellIndex",i,1,this._attributesStrideSize,!0),i+=1,this.spriteRandomStartCell&&(n.cellStartOffset=e.createVertexBuffer("cellStartOffset",i,1,this._attributesStrideSize,!0),i+=1)),this.noiseTexture&&(n.noiseCoordinates1=e.createVertexBuffer("noiseCoordinates1",i,3,this._attributesStrideSize,!0),i+=3,n.noiseCoordinates2=e.createVertexBuffer("noiseCoordinates2",i,3,this._attributesStrideSize,!0),i+=3),n.offset=t.createVertexBuffer("offset",0,2),n.uv=t.createVertexBuffer("uv",2,2);var r=this._engine.recordVertexArrayObject(n,null,this._renderEffect);return this._engine.bindArrayBuffer(null),r},t.prototype._initialize=function(e){if(void 0===e&&(e=!1),!this._buffer0||e){var t=this._scene.getEngine(),n=new Array;this._attributesStrideSize=21,this._targetIndex=0,this.particleEmitterType instanceof zl&&(this._attributesStrideSize+=3),this.isBillboardBased||(this._attributesStrideSize+=3),this._colorGradientsTexture&&(this._attributesStrideSize-=4),this._angularSpeedGradientsTexture&&(this._attributesStrideSize-=1),this._isAnimationSheetEnabled&&(this._attributesStrideSize+=1,this.spriteRandomStartCell&&(this._attributesStrideSize+=1)),this.noiseTexture&&(this._attributesStrideSize+=6);for(var i=this.particleEmitterType instanceof zl,r=a.c.Vector3[0],o=0;o=this.targetStopDuration&&this.stop()},t.prototype._createFactorGradientTexture=function(e,t){var n=this[t];if(e&&e.length&&!n){for(var i=new Float32Array(this._rawTextureWidth),r=0;r1){var n=0|this._accumulatedCount;this._accumulatedCount-=n,this._currentActiveCount=Math.min(this._activeCount,this._currentActiveCount+n)}if(!this._currentActiveCount)return 0;var i;if(this._engine.enableEffect(this._updateEffect),this._engine.setState(!1),this._updateEffect.setFloat("currentCount",this._currentActiveCount),this._updateEffect.setFloat("timeDelta",this._timeDelta),this._updateEffect.setFloat("stopFactor",this._stopped?0:1),this._updateEffect.setTexture("randomSampler",this._randomTexture),this._updateEffect.setTexture("randomSampler2",this._randomTexture2),this._updateEffect.setFloat2("lifeTime",this.minLifeTime,this.maxLifeTime),this._updateEffect.setFloat2("emitPower",this.minEmitPower,this.maxEmitPower),this._colorGradientsTexture||(this._updateEffect.setDirectColor4("color1",this.color1),this._updateEffect.setDirectColor4("color2",this.color2)),this._updateEffect.setFloat2("sizeRange",this.minSize,this.maxSize),this._updateEffect.setFloat4("scaleRange",this.minScaleX,this.maxScaleX,this.minScaleY,this.maxScaleY),this._updateEffect.setFloat4("angleRange",this.minAngularSpeed,this.maxAngularSpeed,this.minInitialRotation,this.maxInitialRotation),this._updateEffect.setVector3("gravity",this.gravity),this._sizeGradientsTexture&&this._updateEffect.setTexture("sizeGradientSampler",this._sizeGradientsTexture),this._angularSpeedGradientsTexture&&this._updateEffect.setTexture("angularSpeedGradientSampler",this._angularSpeedGradientsTexture),this._velocityGradientsTexture&&this._updateEffect.setTexture("velocityGradientSampler",this._velocityGradientsTexture),this._limitVelocityGradientsTexture&&(this._updateEffect.setTexture("limitVelocityGradientSampler",this._limitVelocityGradientsTexture),this._updateEffect.setFloat("limitVelocityDamping",this.limitVelocityDamping)),this._dragGradientsTexture&&this._updateEffect.setTexture("dragGradientSampler",this._dragGradientsTexture),this.particleEmitterType&&this.particleEmitterType.applyToShader(this._updateEffect),this._isAnimationSheetEnabled&&this._updateEffect.setFloat3("cellInfos",this.startSpriteCellID,this.endSpriteCellID,this.spriteCellChangeSpeed),this.noiseTexture&&(this._updateEffect.setTexture("noiseSampler",this.noiseTexture),this._updateEffect.setVector3("noiseStrength",this.noiseStrength)),this.emitter.position){i=this.emitter.getWorldMatrix()}else{var r=this.emitter;i=a.a.Translation(r.x,r.y,r.z)}if(this._updateEffect.setMatrix("emitterWM",i),this._engine.bindVertexArrayObject(this._updateVAO[this._targetIndex],null),this._engine.bindTransformFeedbackBuffer(this._targetBuffer.getBuffer()),this._engine.setRasterizerState(!1),this._engine.beginTransformFeedback(!0),this._engine.drawArraysType(Do.a.PointListDrawMode,0,this._currentActiveCount),this._engine.endTransformFeedback(),this._engine.setRasterizerState(!0),this._engine.bindTransformFeedbackBuffer(null),!e){this._engine.enableEffect(this._renderEffect);var o=this._scene.getViewMatrix();if(this._renderEffect.setMatrix("view",o),this._renderEffect.setMatrix("projection",this._scene.getProjectionMatrix()),this._renderEffect.setTexture("textureSampler",this.particleTexture),this._renderEffect.setVector2("translationPivot",this.translationPivot),this._renderEffect.setVector3("worldOffset",this.worldOffset),this._colorGradientsTexture?this._renderEffect.setTexture("colorGradientSampler",this._colorGradientsTexture):this._renderEffect.setDirectColor4("colorDead",this.colorDead),this._isAnimationSheetEnabled&&this.particleTexture){var s=this.particleTexture.getBaseSize();this._renderEffect.setFloat3("sheetInfos",this.spriteCellWidth/s.width,this.spriteCellHeight/s.height,s.width/this.spriteCellWidth)}if(this._isBillboardBased){var c=this._scene.activeCamera;this._renderEffect.setVector3("eyePosition",c.globalPosition)}if(this._scene.clipPlane||this._scene.clipPlane2||this._scene.clipPlane3||this._scene.clipPlane4||this._scene.clipPlane5||this._scene.clipPlane6){var l=o.clone();l.invert(),this._renderEffect.setMatrix("invView",l),Pr.a.BindClipPlane(this._renderEffect,this._scene)}switch(this._imageProcessingConfiguration&&!this._imageProcessingConfiguration.applyByPostProcess&&this._imageProcessingConfiguration.bind(this._renderEffect),this.blendMode){case ql.BLENDMODE_ADD:this._engine.setAlphaMode(1);break;case ql.BLENDMODE_ONEONE:this._engine.setAlphaMode(6);break;case ql.BLENDMODE_STANDARD:this._engine.setAlphaMode(2);break;case ql.BLENDMODE_MULTIPLY:this._engine.setAlphaMode(4)}this.forceDepthWrite&&this._engine.setDepthWrite(!0),this._engine.bindVertexArrayObject(this._renderVAO[this._targetIndex],null),this._engine.drawArraysType(Do.a.TriangleFanDrawMode,0,4,this._currentActiveCount),this._engine.setAlphaMode(0)}this._targetIndex++,2===this._targetIndex&&(this._targetIndex=0);var u=this._sourceBuffer;return this._sourceBuffer=this._targetBuffer,this._targetBuffer=u,this._currentActiveCount},t.prototype.rebuild=function(){this._initialize(!0)},t.prototype._releaseBuffers=function(){this._buffer0&&(this._buffer0.dispose(),this._buffer0=null),this._buffer1&&(this._buffer1.dispose(),this._buffer1=null),this._spriteBuffer&&(this._spriteBuffer.dispose(),this._spriteBuffer=null)},t.prototype._releaseVAOs=function(){if(this._updateVAO){for(var e=0;e-1&&this._scene.particleSystems.splice(t,1),this._releaseBuffers(),this._releaseVAOs(),this._colorGradientsTexture&&(this._colorGradientsTexture.dispose(),this._colorGradientsTexture=null),this._sizeGradientsTexture&&(this._sizeGradientsTexture.dispose(),this._sizeGradientsTexture=null),this._angularSpeedGradientsTexture&&(this._angularSpeedGradientsTexture.dispose(),this._angularSpeedGradientsTexture=null),this._velocityGradientsTexture&&(this._velocityGradientsTexture.dispose(),this._velocityGradientsTexture=null),this._limitVelocityGradientsTexture&&(this._limitVelocityGradientsTexture.dispose(),this._limitVelocityGradientsTexture=null),this._dragGradientsTexture&&(this._dragGradientsTexture.dispose(),this._dragGradientsTexture=null),this._randomTexture&&(this._randomTexture.dispose(),this._randomTexture=null),this._randomTexture2&&(this._randomTexture2.dispose(),this._randomTexture2=null),e&&this.particleTexture&&(this.particleTexture.dispose(),this.particleTexture=null),e&&this.noiseTexture&&(this.noiseTexture.dispose(),this.noiseTexture=null),this.onDisposeObservable.notifyObservers(this),this.onDisposeObservable.clear()},t.prototype.clone=function(e,n){var i=new t(e,{capacity:this._capacity,randomTextureSize:this._randomTextureSize},this._scene);return O.a.DeepCopy(this,i,["particles","customShader","noiseTexture","particleTexture","onDisposeObservable"]),void 0===n&&(n=this.emitter),i.emitter=n,this.particleTexture&&(i.particleTexture=new nn.a(this.particleTexture.url,this._scene)),i.noiseTexture=this.noiseTexture,this._colorGradients&&this._colorGradients.forEach((function(e){i.addColorGradient(e.gradient,e.color1,e.color2)})),this._dragGradients&&this._dragGradients.forEach((function(e){i.addDragGradient(e.gradient,e.factor1)})),this._angularSpeedGradients&&this._angularSpeedGradients.forEach((function(e){i.addAngularSpeedGradient(e.gradient,e.factor1)})),this._emitRateGradients&&this._emitRateGradients.forEach((function(e){i.addEmitRateGradient(e.gradient,e.factor1,e.factor2)})),this._lifeTimeGradients&&this._lifeTimeGradients.forEach((function(e){i.addLifeTimeGradient(e.gradient,e.factor1,e.factor2)})),this._limitVelocityGradients&&this._limitVelocityGradients.forEach((function(e){i.addLimitVelocityGradient(e.gradient,e.factor1)})),this._sizeGradients&&this._sizeGradients.forEach((function(e){i.addSizeGradient(e.gradient,e.factor1)})),this._startSizeGradients&&this._startSizeGradients.forEach((function(e){i.addStartSizeGradient(e.gradient,e.factor1,e.factor2)})),this._velocityGradients&&this._velocityGradients.forEach((function(e){i.addVelocityGradient(e.gradient,e.factor1)})),this._rampGradients&&this._rampGradients.forEach((function(e){i.addRampGradient(e.gradient,e.color)})),this._colorRemapGradients&&this._colorRemapGradients.forEach((function(e){i.addColorRemapGradient(e.gradient,e.factor1,e.factor2)})),this._alphaRemapGradients&&this._alphaRemapGradients.forEach((function(e){i.addAlphaRemapGradient(e.gradient,e.factor1,e.factor2)})),i},t.prototype.serialize=function(){var e={};return ql._Serialize(e,this),e.activeParticleCount=this.activeParticleCount,e},t.Parse=function(e,n,i,r){void 0===r&&(r=!1);var o=new t(e.name,{capacity:e.capacity,randomTextureSize:e.randomTextureSize},n);return e.activeParticleCount&&(o.activeParticleCount=e.activeParticleCount),ql._Parse(e,o,n,i),e.preventAutoStart&&(o.preventAutoStart=e.preventAutoStart),r||o.preventAutoStart||o.start(),o},t}(Ul),ou=function(){function e(){this.systems=new Array}return Object.defineProperty(e.prototype,"emitterNode",{get:function(){return this._emitterNode},enumerable:!0,configurable:!0}),e.prototype.setEmitterAsSphere=function(e,t,n){this._emitterNode&&this._emitterNode.dispose(),this._emitterCreationOptions={kind:"Sphere",options:e,renderingGroupId:t};var i=ui.CreateSphere("emitterSphere",{diameter:e.diameter,segments:e.segments},n);i.renderingGroupId=t;var r=new An.a("emitterSphereMaterial",n);r.emissiveColor=e.color,i.material=r;for(var o=0,a=this.systems;o0&&n.set(this._uvs32,Pn.b.UVKind),this._colors32.length>0&&n.set(this._colors32,Pn.b.ColorKind),n.applyToMesh(this.mesh,this._updatable),this.mesh.isPickable=this._pickable,this._multimaterialEnabled&&this.setMultiMaterial(this._materials),this._expandable||(this._depthSort||this._multimaterialEnabled||(this._indices=null),this._positions=null,this._normals=null,this._uvs=null,this._colors=null,this._updatable||(this.particles.length=0)),this._isNotBuilt=!1,this.recomputeNormals=!1,this.mesh},e.prototype.digest=function(e,t){var n=t&&t.facetNb||1,i=t&&t.number||0,r=t&&t.delta||0,o=e.getVerticesData(Pn.b.PositionKind),s=e.getIndices(),c=e.getVerticesData(Pn.b.UVKind),l=e.getVerticesData(Pn.b.ColorKind),u=e.getVerticesData(Pn.b.NormalKind),p=t&&t.storage?t.storage:null,h=0,d=s.length/3;i?(i=i>d?d:i,n=Math.round(d/i),r=0):n=n>d?d:n;for(var f=[],_=[],m=[],b=[],g=[],v=a.e.Zero(),y=n;hd-(n=y+Math.floor((1+r)*Math.random()))&&(n=d-h),f.length=0,_.length=0,m.length=0,b.length=0,g.length=0;for(var C=0,A=3*h;A<3*(h+n);A++){m.push(C);var x=s[A],S=3*x;if(f.push(o[S],o[S+1],o[S+2]),_.push(u[S],u[S+1],u[S+2]),c){var T=2*x;b.push(c[T],c[T+1])}if(l){var E=4*x;g.push(l[E],l[E+1],l[E+2],l[E+3])}C++}var P,O=this.nbParticles,M=this._posToShape(f),R=this._uvsToShapeUV(b),I=Array.from(m),w=Array.from(g),D=Array.from(_);for(v.copyFromFloats(0,0,0),P=0;P65535&&(this._needs32Bits=!0)}if(this._pickable){var N=r.length/3;for(b=0;b=this.nbParticles||!this._updatable)return[];var i=this.particles,r=this.nbParticles;if(t=this.nbParticles?this.nbParticles-1:t,this._computeBoundingBox&&(0!=e||t!=this.nbParticles-1)){var R=this.mesh._boundingInfo;R&&(g.copyFrom(R.minimum),v.copyFrom(R.maximum))}var I=(S=this.particles[e]._pos)/3|0;E=4*I,O=2*I;for(var w=e;w<=t;w++){var D=this.particles[w];this.updateParticle(D);var L=D._model._shape,N=D._model._shapeUV,F=D._rotationMatrix,B=D.position,k=D.rotation,V=D.scaling,z=D._globalPosition;if(this._depthSort&&this._depthSortParticles){var j=this.depthSortedParticles[w];j.ind=D._ind,j.indicesLength=D._model._indicesLength,j.sqDistance=a.e.DistanceSquared(D.position,y)}if(!D.alive||D._stillInvisible&&!D.isVisible)S+=3*(M=L.length),E+=4*M,O+=2*M;else{if(D.isVisible){D._stillInvisible=!1;var U=f[12];if(D.pivot.multiplyToRef(V,U),this.billboard&&(k.x=0,k.y=0),(this._computeParticleRotation||this.billboard)&&D.getRotationMatrix(i),null!==D.parentId){var G=this.getParticleById(D.parentId);if(G){var H=G._rotationMatrix,W=G._globalPosition,X=B.x*H[1]+B.y*H[4]+B.z*H[7],Y=B.x*H[0]+B.y*H[3]+B.z*H[6],Q=B.x*H[2]+B.y*H[5]+B.z*H[8];if(z.x=W.x+Y,z.y=W.y+X,z.z=W.z+Q,this._computeParticleRotation||this.billboard){var K=i.m;F[0]=K[0]*H[0]+K[1]*H[3]+K[2]*H[6],F[1]=K[0]*H[1]+K[1]*H[4]+K[2]*H[7],F[2]=K[0]*H[2]+K[1]*H[5]+K[2]*H[8],F[3]=K[4]*H[0]+K[5]*H[3]+K[6]*H[6],F[4]=K[4]*H[1]+K[5]*H[4]+K[6]*H[7],F[5]=K[4]*H[2]+K[5]*H[5]+K[6]*H[8],F[6]=K[8]*H[0]+K[9]*H[3]+K[10]*H[6],F[7]=K[8]*H[1]+K[9]*H[4]+K[10]*H[7],F[8]=K[8]*H[2]+K[9]*H[5]+K[10]*H[8]}}else D.parentId=null}else if(z.x=B.x,z.y=B.y,z.z=B.z,this._computeParticleRotation||this.billboard){K=i.m;F[0]=K[0],F[1]=K[1],F[2]=K[2],F[3]=K[4],F[4]=K[5],F[5]=K[6],F[6]=K[8],F[7]=K[9],F[8]=K[10]}var Z=f[11];for(D.translateFromPivot?Z.setAll(0):Z.copyFrom(U),M=0;M0)for(var t=0;t0&&e.set(this._uvs32,Pn.b.UVKind);var t=0;this._colors32.length>0&&(t=1,e.set(this._colors32,Pn.b.ColorKind));var n=new ve.a(this.name,this._scene);e.applyToMesh(n,this._updatable),this.mesh=n,this._positions=null,this._uvs=null,this._colors=null,this._updatable||(this.particles.length=0);var i=new An.a("point cloud material",this._scene);return i.emissiveColor=new Oo.e(t,t,t),i.disableLighting=!0,i.pointsCloud=!0,i.pointSize=this._size,n.material=i,new Promise((function(e){return e(n)}))},e.prototype._addParticle=function(e,t,n,i){var r=new du(e,t,n,i,this);return this.particles.push(r),r},e.prototype._randomUnitVector=function(e){e.position=new a.e(Math.random(),Math.random(),Math.random()),e.color=new Oo.f(1,1,1,1)},e.prototype._getColorIndicesForCoord=function(e,t,n,i){var r=e._groupImageData,o=n*(4*i)+4*t,a=[o,o+1,o+2,o+3],s=a[1],c=a[2],l=a[3],u=r[a[0]],p=r[s],h=r[c],d=r[l];return new Oo.f(u/255,p/255,h/255,d)},e.prototype._setPointsColorOrUV=function(e,t,n,i,r,o,s){n&&e.updateFacetData();var c=2*e.getBoundingInfo().boundingSphere.radius,l=e.getVerticesData(Pn.b.PositionKind),u=e.getIndices(),p=e.getVerticesData(Pn.b.UVKind),h=e.getVerticesData(Pn.b.ColorKind),d=a.e.Zero();e.computeWorldMatrix();var f=e.getWorldMatrix();if(!f.isIdentity())for(var _=0;_1&&(Re=1),(Ie=we.b+Oe)<0&&(Ie=0),Ie>1&&(Ie=1),Oo.e.HSVtoRGBToRef(Me,Re,Ie,Fe),fe.set(Fe.r,Fe.g,Fe.b,1)):fe=ae.set(Math.random(),Math.random(),Math.random(),1),Le.color=new Oo.f(fe.x,fe.y,fe.z,fe.w),this._colors.push(fe.x,fe.y,fe.z,fe.w))}},e.prototype._colorFromTexture=function(e,t,n){var i=this;if(null===e.material)return m.a.Warn(e.name+"has no material."),t._groupImageData=null,void this._setPointsColorOrUV(e,t,n,!0,!1);var r=e.material.getActiveTextures();if(0===r.length)return m.a.Warn(e.name+"has no useable texture."),t._groupImageData=null,void this._setPointsColorOrUV(e,t,n,!0,!1);var o=e.clone();o.setEnabled(!1),this._promises.push(new Promise((function(e){mr.a.WhenAllReady(r,(function(){var a=t._textureNb;return a<0&&(a=0),a>r.length-1&&(a=r.length-1),t._groupImageData=r[a].readPixels(),t._groupImgWidth=r[a].getSize().width,t._groupImgHeight=r[a].getSize().height,i._setPointsColorOrUV(o,t,n,!0,!0),o.dispose(),e()}))})))},e.prototype._calculateDensity=function(e,t,n){for(var i,r,o,s,c,l,u,p,h,d,f,_,m,b,g,v,y,C=new Array,A=a.e.Zero(),x=a.e.Zero(),S=a.e.Zero(),T=a.e.Zero(),E=a.e.Zero(),P=a.e.Zero(),O=new Array,M=0,R=n.length/3,I=0;I0&&(C=C.map((function(e){return e+L})));for(I=0;I3)&&(o=su.Random);var a=e.getVerticesData(Pn.b.PositionKind),s=e.getIndices();this._groups.push(this._groupCounter);var c=new fu(this._groupCounter,null);switch(c._groupDensity=this._calculateDensity(t,a,s),o===su.Color?c._textureNb=i||0:i=i||new Oo.f(1,1,1,1),o){case su.Color:this._colorFromTexture(e,c,!1);break;case su.UV:this._setPointsColorOrUV(e,c,!1,!1,!1);break;case su.Random:this._setPointsColorOrUV(e,c,!1);break;case su.Stated:this._setPointsColorOrUV(e,c,!1,void 0,void 0,i,r)}return this.nbParticles+=t,this._groupCounter++,this._groupCounter-1},e.prototype.addVolumePoints=function(e,t,n,i,r){var o=n||su.Random;(isNaN(o)||o<0||o>3)&&(o=su.Random);var a=e.getVerticesData(Pn.b.PositionKind),s=e.getIndices();this._groups.push(this._groupCounter);var c=new fu(this._groupCounter,null);switch(c._groupDensity=this._calculateDensity(t,a,s),o===su.Color?c._textureNb=i||0:i=i||new Oo.f(1,1,1,1),o){case su.Color:this._colorFromTexture(e,c,!0);break;case su.UV:this._setPointsColorOrUV(e,c,!0,!1,!1);break;case su.Random:this._setPointsColorOrUV(e,c,!0);break;case su.Stated:this._setPointsColorOrUV(e,c,!0,void 0,void 0,i,r)}return this.nbParticles+=t,this._groupCounter++,this._groupCounter-1},e.prototype.setParticles=function(e,t,n){if(void 0===e&&(e=0),void 0===t&&(t=this.nbParticles-1),void 0===n&&(n=!0),!this._updatable||!this._isReady)return this;this.beforeUpdateParticles(e,t,n);var i=a.c.Matrix[0],r=this.mesh,o=this._colors32,s=this._positions32,c=this._uvs32,l=a.c.Vector3,u=l[5].copyFromFloats(1,0,0),p=l[6].copyFromFloats(0,1,0),h=l[7].copyFromFloats(0,0,1),d=l[8].setAll(Number.MAX_VALUE),f=l[9].setAll(-Number.MAX_VALUE);a.a.IdentityToRef(i);var _=0;if(this.mesh.isFacetDataEnabled&&(this._computeBoundingBox=!0),t=t>=this.nbParticles?this.nbParticles-1:t,this._computeBoundingBox&&(0!=e||t!=this.nbParticles-1)){var m=this.mesh._boundingInfo;m&&(d.copyFrom(m.minimum),f.copyFrom(m.maximum))}_=0;for(var b=0,g=0,v=0,y=e;y<=t;y++){var C=this.particles[y];b=3*(_=C.idx),g=4*_,v=2*_,this.updateParticle(C);var A=C._rotationMatrix,x=C.position,S=C._globalPosition;if(this._computeParticleRotation&&C.getRotationMatrix(i),null!==C.parentId){var T=this.particles[C.parentId],E=T._rotationMatrix,P=T._globalPosition,O=x.x*E[1]+x.y*E[4]+x.z*E[7],M=x.x*E[0]+x.y*E[3]+x.z*E[6],R=x.x*E[2]+x.y*E[5]+x.z*E[8];if(S.x=P.x+M,S.y=P.y+O,S.z=P.z+R,this._computeParticleRotation){var I=i.m;A[0]=I[0]*E[0]+I[1]*E[3]+I[2]*E[6],A[1]=I[0]*E[1]+I[1]*E[4]+I[2]*E[7],A[2]=I[0]*E[2]+I[1]*E[5]+I[2]*E[8],A[3]=I[4]*E[0]+I[5]*E[3]+I[6]*E[6],A[4]=I[4]*E[1]+I[5]*E[4]+I[6]*E[7],A[5]=I[4]*E[2]+I[5]*E[5]+I[6]*E[8],A[6]=I[8]*E[0]+I[9]*E[3]+I[10]*E[6],A[7]=I[8]*E[1]+I[9]*E[4]+I[10]*E[7],A[8]=I[8]*E[2]+I[9]*E[5]+I[10]*E[8]}}else if(S.x=0,S.y=0,S.z=0,this._computeParticleRotation){I=i.m;A[0]=I[0],A[1]=I[1],A[2]=I[2],A[3]=I[4],A[4]=I[5],A[5]=I[6],A[6]=I[8],A[7]=I[9],A[8]=I[10]}var w=l[11];C.translateFromPivot?w.setAll(0):w.copyFrom(C.pivot);var D=l[0];D.copyFrom(C.position);var L=D.x-C.pivot.x,N=D.y-C.pivot.y,F=D.z-C.pivot.z,B=L*A[0]+N*A[3]+F*A[6],k=L*A[1]+N*A[4]+F*A[7],V=L*A[2]+N*A[5]+F*A[8];B+=w.x,k+=w.y,V+=w.z;var z=s[b]=S.x+u.x*B+p.x*k+h.x*V,j=s[b+1]=S.y+u.y*B+p.y*k+h.y*V,U=s[b+2]=S.z+u.z*B+p.z*k+h.z*V;if(this._computeBoundingBox&&(d.minimizeInPlaceFromFloats(z,j,U),f.maximizeInPlaceFromFloats(z,j,U)),this._computeParticleColor&&C.color){var G=C.color,H=this._colors32;H[g]=G.r,H[g+1]=G.g,H[g+2]=G.b,H[g+3]=G.a}if(this._computeParticleTexture&&C.uv){var W=C.uv,X=this._uvs32;X[v]=W.x,X[v+1]=W.y}}return n&&(this._computeParticleColor&&r.updateVerticesData(Pn.b.ColorKind,o,!1,!1),this._computeParticleTexture&&r.updateVerticesData(Pn.b.UVKind,c,!1,!1),r.updateVerticesData(Pn.b.PositionKind,s,!1,!1)),this._computeBoundingBox&&(r._boundingInfo?r._boundingInfo.reConstruct(d,f,r._worldMatrix):r._boundingInfo=new Kn.a(d,f,r._worldMatrix)),this.afterUpdateParticles(e,t,n),this},e.prototype.dispose=function(){this.mesh.dispose(),this.vars=null,this._positions=null,this._indices=null,this._normals=null,this._uvs=null,this._colors=null,this._indices32=null,this._positions32=null,this._uvs32=null,this._colors32=null},e.prototype.refreshVisibleSize=function(){return this._isVisibilityBoxLocked||this.mesh.refreshBoundingInfo(),this},e.prototype.setVisibilityBox=function(e){var t=e/2;this.mesh._boundingInfo=new Kn.a(new a.e(-t,-t,-t),new a.e(t,t,t))},Object.defineProperty(e.prototype,"isAlwaysVisible",{get:function(){return this._alwaysVisible},set:function(e){this._alwaysVisible=e,this.mesh.alwaysSelectAsActiveMesh=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"computeParticleRotation",{set:function(e){this._computeParticleRotation=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"computeParticleColor",{get:function(){return this._computeParticleColor},set:function(e){this._computeParticleColor=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"computeParticleTexture",{get:function(){return this._computeParticleTexture},set:function(e){this._computeParticleTexture=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"computeBoundingBox",{get:function(){return this._computeBoundingBox},set:function(e){this._computeBoundingBox=e},enumerable:!0,configurable:!0}),e.prototype.initParticles=function(){},e.prototype.recycleParticle=function(e){return e},e.prototype.updateParticle=function(e){return e},e.prototype.beforeUpdateParticles=function(e,t,n){},e.prototype.afterUpdateParticles=function(e,t,n){},e}();ce.a.prototype.getPhysicsEngine=function(){return this._physicsEngine},ce.a.prototype.enablePhysics=function(e,t){if(void 0===e&&(e=null),this._physicsEngine)return!0;var n=this._getComponent(se.a.NAME_PHYSICSENGINE);n||(n=new gu(this),this._addComponent(n));try{return this._physicsEngine=new Pa(e,t),this._physicsTimeAccumulator=0,!0}catch(e){return m.a.Error(e.message),!1}},ce.a.prototype.disablePhysicsEngine=function(){this._physicsEngine&&(this._physicsEngine.dispose(),this._physicsEngine=null)},ce.a.prototype.isPhysicsEnabled=function(){return void 0!==this._physicsEngine},ce.a.prototype.deleteCompoundImpostor=function(e){var t=e.parts[0].mesh;t.physicsImpostor&&(t.physicsImpostor.dispose(),t.physicsImpostor=null)},ce.a.prototype._advancePhysicsEngineStep=function(e){if(this._physicsEngine){var t=this._physicsEngine.getSubTimeStep();if(t>0)for(this._physicsTimeAccumulator+=e;this._physicsTimeAccumulator>t;)this.onBeforePhysicsObservable.notifyObservers(this),this._physicsEngine._step(t/1e3),this.onAfterPhysicsObservable.notifyObservers(this),this._physicsTimeAccumulator-=t;else this.onBeforePhysicsObservable.notifyObservers(this),this._physicsEngine._step(e/1e3),this.onAfterPhysicsObservable.notifyObservers(this)}},Object.defineProperty(Me.a.prototype,"physicsImpostor",{get:function(){return this._physicsImpostor},set:function(e){var t=this;this._physicsImpostor!==e&&(this._disposePhysicsObserver&&this.onDisposeObservable.remove(this._disposePhysicsObserver),this._physicsImpostor=e,e&&(this._disposePhysicsObserver=this.onDisposeObservable.add((function(){t.physicsImpostor&&(t.physicsImpostor.dispose(),t.physicsImpostor=null)}))))},enumerable:!0,configurable:!0}),Me.a.prototype.getPhysicsImpostor=function(){return this.physicsImpostor},Me.a.prototype.applyImpulse=function(e,t){return this.physicsImpostor?(this.physicsImpostor.applyImpulse(e,t),this):this},Me.a.prototype.setPhysicsLinkWith=function(e,t,n,i){return this.physicsImpostor&&e.physicsImpostor?(this.physicsImpostor.createJoint(e.physicsImpostor,pi.HingeJoint,{mainPivot:t,connectedPivot:n,nativeParams:i}),this):this};var mu,bu,gu=function(){function e(e){var t=this;this.name=se.a.NAME_PHYSICSENGINE,this.scene=e,this.scene.onBeforePhysicsObservable=new o.c,this.scene.onAfterPhysicsObservable=new o.c,this.scene.getDeterministicFrameTime=function(){return t.scene._physicsEngine?1e3*t.scene._physicsEngine.getTimeStep():1e3/60}}return e.prototype.register=function(){},e.prototype.rebuild=function(){},e.prototype.dispose=function(){this.scene.onBeforePhysicsObservable.clear(),this.scene.onAfterPhysicsObservable.clear(),this.scene._physicsEngine&&this.scene.disablePhysicsEngine()},e}(),vu=function(){function e(e){this._scene=e,this._physicsEngine=this._scene.getPhysicsEngine(),this._physicsEngine||m.a.Warn("Physics engine not enabled. Please enable the physics before you can use the methods.")}return e.prototype.applyRadialExplosionImpulse=function(e,t,n,i){if(!this._physicsEngine)return m.a.Warn("Physics engine not enabled. Please enable the physics before you call this method."),null;var r=this._physicsEngine.getImpostors();if(0===r.length)return null;"number"==typeof t&&((t=new Su).radius=t,t.strength=n||t.strength,t.falloff=i||t.falloff);var o=new yu(this._scene,t),a=Array();return r.forEach((function(t){var n=o.getImpostorHitData(t,e);n&&(t.applyImpulse(n.force,n.contactPoint),a.push({impostor:t,hitData:n}))})),o.triggerAffectedImpostorsCallback(a),o.dispose(!1),o},e.prototype.applyRadialExplosionForce=function(e,t,n,i){if(!this._physicsEngine)return m.a.Warn("Physics engine not enabled. Please enable the physics before you call the PhysicsHelper."),null;var r=this._physicsEngine.getImpostors();if(0===r.length)return null;"number"==typeof t&&((t=new Su).radius=t,t.strength=n||t.strength,t.falloff=i||t.falloff);var o=new yu(this._scene,t),a=Array();return r.forEach((function(t){var n=o.getImpostorHitData(t,e);n&&(t.applyForce(n.force,n.contactPoint),a.push({impostor:t,hitData:n}))})),o.triggerAffectedImpostorsCallback(a),o.dispose(!1),o},e.prototype.gravitationalField=function(e,t,n,i){if(!this._physicsEngine)return m.a.Warn("Physics engine not enabled. Please enable the physics before you call the PhysicsHelper."),null;if(0===this._physicsEngine.getImpostors().length)return null;"number"==typeof t&&((t=new Su).radius=t,t.strength=n||t.strength,t.falloff=i||t.falloff);var r=new Cu(this,this._scene,e,t);return r.dispose(!1),r},e.prototype.updraft=function(e,t,n,i,r){if(!this._physicsEngine)return m.a.Warn("Physics engine not enabled. Please enable the physics before you call the PhysicsHelper."),null;if(0===this._physicsEngine.getImpostors().length)return null;"number"==typeof t&&((t=new Tu).radius=t,t.strength=n||t.strength,t.height=i||t.height,t.updraftMode=r||t.updraftMode);var o=new Au(this._scene,e,t);return o.dispose(!1),o},e.prototype.vortex=function(e,t,n,i){if(!this._physicsEngine)return m.a.Warn("Physics engine not enabled. Please enable the physics before you call the PhysicsHelper."),null;if(0===this._physicsEngine.getImpostors().length)return null;"number"==typeof t&&((t=new Eu).radius=t,t.strength=n||t.strength,t.height=i||t.height);var r=new xu(this._scene,e,t);return r.dispose(!1),r},e}(),yu=function(){function e(e,t){this._scene=e,this._options=t,this._dataFetched=!1,this._options=Object(p.a)(Object(p.a)({},new Su),this._options)}return e.prototype.getData=function(){return this._dataFetched=!0,{sphere:this._sphere}},e.prototype.getImpostorHitData=function(e,t){if(0===e.mass)return null;if(!this._intersectsWithSphere(e,t,this._options.radius))return null;if("Mesh"!==e.object.getClassName()&&"InstancedMesh"!==e.object.getClassName())return null;var n=e.getObjectCenter().subtract(t),i=new Se(t,n,this._options.radius).intersectsMesh(e.object).pickedPoint;if(!i)return null;var r=a.e.Distance(t,i);if(r>this._options.radius)return null;var o=this._options.falloff===mu.Constant?this._options.strength:this._options.strength*(1-r/this._options.radius);return{force:n.multiplyByFloats(o,o,o),contactPoint:i,distanceFromOrigin:r}},e.prototype.triggerAffectedImpostorsCallback=function(e){this._options.affectedImpostorsCallback&&this._options.affectedImpostorsCallback(e)},e.prototype.dispose=function(e){var t=this;void 0===e&&(e=!0),e?this._sphere.dispose():setTimeout((function(){t._dataFetched||t._sphere.dispose()}),0)},e.prototype._prepareSphere=function(){this._sphere||(this._sphere=ui.CreateSphere("radialExplosionEventSphere",this._options.sphere,this._scene),this._sphere.isVisible=!1)},e.prototype._intersectsWithSphere=function(e,t,n){var i=e.object;return this._prepareSphere(),this._sphere.position=t,this._sphere.scaling=new a.e(2*n,2*n,2*n),this._sphere._updateBoundingInfo(),this._sphere.computeWorldMatrix(!0),this._sphere.intersectsMesh(i,!0)},e}(),Cu=function(){function e(e,t,n,i){this._physicsHelper=e,this._scene=t,this._origin=n,this._options=i,this._dataFetched=!1,this._options=Object(p.a)(Object(p.a)({},new Su),this._options),this._tickCallback=this._tick.bind(this),this._options.strength=-1*this._options.strength}return e.prototype.getData=function(){return this._dataFetched=!0,{sphere:this._sphere}},e.prototype.enable=function(){this._tickCallback.call(this),this._scene.registerBeforeRender(this._tickCallback)},e.prototype.disable=function(){this._scene.unregisterBeforeRender(this._tickCallback)},e.prototype.dispose=function(e){var t=this;void 0===e&&(e=!0),e?this._sphere.dispose():setTimeout((function(){t._dataFetched||t._sphere.dispose()}),0)},e.prototype._tick=function(){if(this._sphere)this._physicsHelper.applyRadialExplosionForce(this._origin,this._options);else{var e=this._physicsHelper.applyRadialExplosionForce(this._origin,this._options);e&&(this._sphere=e.getData().sphere.clone("radialExplosionEventSphereClone"))}},e}(),Au=function(){function e(e,t,n){this._scene=e,this._origin=t,this._options=n,this._originTop=a.e.Zero(),this._originDirection=a.e.Zero(),this._cylinderPosition=a.e.Zero(),this._dataFetched=!1,this._physicsEngine=this._scene.getPhysicsEngine(),this._options=Object(p.a)(Object(p.a)({},new Tu),this._options),this._origin.addToRef(new a.e(0,this._options.height/2,0),this._cylinderPosition),this._origin.addToRef(new a.e(0,this._options.height,0),this._originTop),this._options.updraftMode===bu.Perpendicular&&(this._originDirection=this._origin.subtract(this._originTop).normalize()),this._tickCallback=this._tick.bind(this),this._prepareCylinder()}return e.prototype.getData=function(){return this._dataFetched=!0,{cylinder:this._cylinder}},e.prototype.enable=function(){this._tickCallback.call(this),this._scene.registerBeforeRender(this._tickCallback)},e.prototype.disable=function(){this._scene.unregisterBeforeRender(this._tickCallback)},e.prototype.dispose=function(e){var t=this;void 0===e&&(e=!0),this._cylinder&&(e?this._cylinder.dispose():setTimeout((function(){t._dataFetched||t._cylinder.dispose()}),0))},e.prototype.getImpostorHitData=function(e){if(0===e.mass)return null;if(!this._intersectsWithCylinder(e))return null;var t=e.getObjectCenter();if(this._options.updraftMode===bu.Perpendicular)var n=this._originDirection;else n=t.subtract(this._originTop);var i=a.e.Distance(this._origin,t),r=-1*this._options.strength;return{force:n.multiplyByFloats(r,r,r),contactPoint:t,distanceFromOrigin:i}},e.prototype._tick=function(){var e=this;this._physicsEngine.getImpostors().forEach((function(t){var n=e.getImpostorHitData(t);n&&t.applyForce(n.force,n.contactPoint)}))},e.prototype._prepareCylinder=function(){this._cylinder||(this._cylinder=Dn.CreateCylinder("updraftEventCylinder",{height:this._options.height,diameter:2*this._options.radius},this._scene),this._cylinder.isVisible=!1)},e.prototype._intersectsWithCylinder=function(e){var t=e.object;return this._cylinder.position=this._cylinderPosition,this._cylinder.intersectsMesh(t,!0)},e}(),xu=function(){function e(e,t,n){this._scene=e,this._origin=t,this._options=n,this._originTop=a.e.Zero(),this._cylinderPosition=a.e.Zero(),this._dataFetched=!1,this._physicsEngine=this._scene.getPhysicsEngine(),this._options=Object(p.a)(Object(p.a)({},new Eu),this._options),this._origin.addToRef(new a.e(0,this._options.height/2,0),this._cylinderPosition),this._origin.addToRef(new a.e(0,this._options.height,0),this._originTop),this._tickCallback=this._tick.bind(this),this._prepareCylinder()}return e.prototype.getData=function(){return this._dataFetched=!0,{cylinder:this._cylinder}},e.prototype.enable=function(){this._tickCallback.call(this),this._scene.registerBeforeRender(this._tickCallback)},e.prototype.disable=function(){this._scene.unregisterBeforeRender(this._tickCallback)},e.prototype.dispose=function(e){var t=this;void 0===e&&(e=!0),e?this._cylinder.dispose():setTimeout((function(){t._dataFetched||t._cylinder.dispose()}),0)},e.prototype.getImpostorHitData=function(e){if(0===e.mass)return null;if(!this._intersectsWithCylinder(e))return null;if("Mesh"!==e.object.getClassName()&&"InstancedMesh"!==e.object.getClassName())return null;var t=e.getObjectCenter(),n=new a.e(this._origin.x,t.y,this._origin.z),i=t.subtract(n),r=new Se(n,i,this._options.radius).intersectsMesh(e.object),o=r.pickedPoint;if(!o)return null;var s=r.distance/this._options.radius,c=o.normalize();if(s>this._options.centripetalForceThreshold&&(c=c.negate()),s>this._options.centripetalForceThreshold)var l=c.x*this._options.centripetalForceMultiplier,u=c.y*this._options.updraftForceMultiplier,p=c.z*this._options.centripetalForceMultiplier;else{var h=a.e.Cross(n,t).normalize();l=(h.x+c.x)*this._options.centrifugalForceMultiplier,u=this._originTop.y*this._options.updraftForceMultiplier,p=(h.z+c.z)*this._options.centrifugalForceMultiplier}var d=new a.e(l,u,p);return{force:d=d.multiplyByFloats(this._options.strength,this._options.strength,this._options.strength),contactPoint:t,distanceFromOrigin:s}},e.prototype._tick=function(){var e=this;this._physicsEngine.getImpostors().forEach((function(t){var n=e.getImpostorHitData(t);n&&t.applyForce(n.force,n.contactPoint)}))},e.prototype._prepareCylinder=function(){this._cylinder||(this._cylinder=Dn.CreateCylinder("vortexEventCylinder",{height:this._options.height,diameter:2*this._options.radius},this._scene),this._cylinder.isVisible=!1)},e.prototype._intersectsWithCylinder=function(e){var t=e.object;return this._cylinder.position=this._cylinderPosition,this._cylinder.intersectsMesh(t,!0)},e}(),Su=function(){this.radius=5,this.strength=10,this.falloff=mu.Constant,this.sphere={segments:32,diameter:1}},Tu=function(){this.radius=5,this.strength=10,this.height=10,this.updraftMode=bu.Center},Eu=function(){this.radius=5,this.strength=10,this.height=10,this.centripetalForceThreshold=.7,this.centripetalForceMultiplier=5,this.centrifugalForceMultiplier=.5,this.updraftForceMultiplier=.02};!function(e){e[e.Constant=0]="Constant",e[e.Linear=1]="Linear"}(mu||(mu={})),function(e){e[e.Center=0]="Center",e[e.Perpendicular=1]="Perpendicular"}(bu||(bu={}));var Pu="\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\nuniform float degree;\nvoid main(void)\n{\nvec3 color=texture2D(textureSampler,vUV).rgb;\nfloat luminance=dot(color,vec3(0.3,0.59,0.11));\nvec3 blackAndWhite=vec3(luminance,luminance,luminance);\ngl_FragColor=vec4(color-((color-blackAndWhite)*degree),1.0);\n}";zt.a.ShadersStore.blackAndWhitePixelShader=Pu;var Ou=function(e){function t(t,n,i,r,o,a){var s=e.call(this,t,"blackAndWhite",["degree"],null,n,i,r,o,a)||this;return s.degree=1,s.onApplyObservable.add((function(e){e.setFloat("degree",s.degree)})),s}return Object(p.d)(t,e),t}(Vt.a),Mu=function(){function e(e,t,n,i){this._name=t,this._singleInstance=i||!0,this._getPostProcesses=n,this._cameras={},this._indicesForCamera={},this._postProcesses={}}return Object.defineProperty(e.prototype,"isSupported",{get:function(){for(var e in this._postProcesses)if(this._postProcesses.hasOwnProperty(e))for(var t=this._postProcesses[e],n=0;n-1?"#define MALI 1\n":null},t}(Vt.a),np="#include\n\nuniform sampler2D textureSampler;\n\nuniform float intensity;\nuniform float animatedSeed;\n\nvarying vec2 vUV;\nvoid main(void)\n{\ngl_FragColor=texture2D(textureSampler,vUV);\nvec2 seed=vUV*(animatedSeed);\nfloat grain=dither(seed,intensity);\n\nfloat lum=getLuminance(gl_FragColor.rgb);\nfloat grainAmount=(cos(-PI+(lum*PI*2.))+1.)/2.;\ngl_FragColor.rgb+=grain*grainAmount;\ngl_FragColor.rgb=max(gl_FragColor.rgb,0.0);\n}";zt.a.ShadersStore.grainPixelShader=np;var ip=function(e){function t(t,n,i,r,o,a,s,c){void 0===s&&(s=0),void 0===c&&(c=!1);var l=e.call(this,t,"grain",["intensity","animatedSeed"],[],n,i,r,o,a,null,s,void 0,null,c)||this;return l.intensity=30,l.animated=!1,l.onApplyObservable.add((function(e){e.setFloat("intensity",l.intensity),e.setFloat("animatedSeed",l.animated?Math.random()+1:1)})),l}return Object(p.d)(t,e),t}(Vt.a),rp="\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\nconst vec3 RGBLuminanceCoefficients=vec3(0.2126,0.7152,0.0722);\nvoid main(void)\n{\nvec4 tex=texture2D(textureSampler,vUV);\nvec3 c=tex.rgb;\nfloat luma=dot(c.rgb,RGBLuminanceCoefficients);\n\n\ngl_FragColor=vec4(pow(c,vec3(25.0-luma*15.0)),tex.a);\n}";zt.a.ShadersStore.highlightsPixelShader=rp;var op=function(e){function t(t,n,i,r,o,a,s){return void 0===s&&(s=0),e.call(this,t,"highlights",null,null,n,i,r,o,a,null,s)||this}return Object(p.d)(t,e),t}(Vt.a),ap="#if __VERSION__>=200\nlayout(location=0) out vec4 glFragData[{X}];\n#endif\n";zt.a.IncludesShadersStore.mrtFragmentDeclaration=ap;var sp="#extension GL_EXT_draw_buffers : require\n#if defined(BUMP) || !defined(NORMAL)\n#extension GL_OES_standard_derivatives : enable\n#endif\nprecision highp float;\nprecision highp int;\n#ifdef BUMP\nvarying mat4 vWorldView;\nvarying vec3 vNormalW;\n#else\nvarying vec3 vNormalV;\n#endif\nvarying vec4 vViewPos;\n#if defined(POSITION) || defined(BUMP)\nvarying vec3 vPositionW;\n#endif\n#ifdef VELOCITY\nvarying vec4 vCurrentPosition;\nvarying vec4 vPreviousPosition;\n#endif\n#ifdef NEED_UV\nvarying vec2 vUV;\n#endif\n#ifdef BUMP\nuniform vec3 vBumpInfos;\nuniform vec2 vTangentSpaceParams;\n#endif\n#ifdef REFLECTIVITY\nvarying vec2 vReflectivityUV;\nuniform sampler2D reflectivitySampler;\n#endif\n#ifdef ALPHATEST\nuniform sampler2D diffuseSampler;\n#endif\n#include[RENDER_TARGET_COUNT]\n#include\nvoid main() {\n#ifdef ALPHATEST\nif (texture2D(diffuseSampler,vUV).a<0.4)\ndiscard;\n#endif\ngl_FragData[0]=vec4(vViewPos.z/vViewPos.w,0.0,0.0,1.0);\n\n#ifdef BUMP\nvec3 normalW=normalize(vNormalW);\n#include\ngl_FragData[1]=vec4(normalize(vec3(vWorldView*vec4(normalW,0.0))),1.0);\n#else\ngl_FragData[1]=vec4(normalize(vNormalV),1.0);\n#endif\n#ifdef POSITION\ngl_FragData[POSITION_INDEX]=vec4(vPositionW,1.0);\n#endif\n#ifdef VELOCITY\nvec2 a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\nvec2 b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\nvec2 velocity=abs(a-b);\nvelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\ngl_FragData[VELOCITY_INDEX]=vec4(velocity,0.0,1.0);\n#endif\n#ifdef REFLECTIVITY\n#ifdef HAS_SPECULAR\n\nvec4 reflectivity=texture2D(reflectivitySampler,vReflectivityUV);\n#elif HAS_REFLECTIVITY\n\nvec4 reflectivity=vec4(texture2D(reflectivitySampler,vReflectivityUV).rgb,1.0);\n#else\nvec4 reflectivity=vec4(0.0,0.0,0.0,1.0);\n#endif\ngl_FragData[REFLECTIVITY_INDEX]=reflectivity;\n#endif\n}";zt.a.ShadersStore.geometryPixelShader=sp;n(206);var cp="precision highp float;\nprecision highp int;\n#include\n#include\n#include[0..maxSimultaneousMorphTargets]\n#include\nattribute vec3 position;\nattribute vec3 normal;\n#ifdef NEED_UV\nvarying vec2 vUV;\n#ifdef ALPHATEST\nuniform mat4 diffuseMatrix;\n#endif\n#ifdef BUMP\nuniform mat4 bumpMatrix;\nvarying vec2 vBumpUV;\n#endif\n#ifdef REFLECTIVITY\nuniform mat4 reflectivityMatrix;\nvarying vec2 vReflectivityUV;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#endif\n\nuniform mat4 viewProjection;\nuniform mat4 view;\n#ifdef BUMP\nvarying mat4 vWorldView;\n#endif\n#ifdef BUMP\nvarying vec3 vNormalW;\n#else\nvarying vec3 vNormalV;\n#endif\nvarying vec4 vViewPos;\n#if defined(POSITION) || defined(BUMP)\nvarying vec3 vPositionW;\n#endif\n#ifdef VELOCITY\nuniform mat4 previousWorld;\nuniform mat4 previousViewProjection;\n#ifdef BONES_VELOCITY_ENABLED\n#if NUM_BONE_INFLUENCERS>0\nuniform mat4 mPreviousBones[BonesPerMesh];\n#endif\n#endif\nvarying vec4 vCurrentPosition;\nvarying vec4 vPreviousPosition;\n#endif\nvoid main(void)\n{\nvec3 positionUpdated=position;\nvec3 normalUpdated=normal;\n#ifdef UV1\nvec2 uvUpdated=uv;\n#endif\n#include[0..maxSimultaneousMorphTargets]\n#include\n#if defined(VELOCITY) && !defined(BONES_VELOCITY_ENABLED)\n\nvCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\nvPreviousPosition=previousViewProjection*previousWorld*vec4(positionUpdated,1.0);\n#endif\n#include\nvec4 pos=vec4(finalWorld*vec4(positionUpdated,1.0));\n#ifdef BUMP\nvWorldView=view*finalWorld;\nvNormalW=normalUpdated;\n#else\nvNormalV=normalize(vec3((view*finalWorld)*vec4(normalUpdated,0.0)));\n#endif\nvViewPos=view*pos;\n#if defined(VELOCITY) && defined(BONES_VELOCITY_ENABLED)\nvCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\n#if NUM_BONE_INFLUENCERS>0\nmat4 previousInfluence;\npreviousInfluence=mPreviousBones[int(matricesIndices[0])]*matricesWeights[0];\n#if NUM_BONE_INFLUENCERS>1\npreviousInfluence+=mPreviousBones[int(matricesIndices[1])]*matricesWeights[1];\n#endif\n#if NUM_BONE_INFLUENCERS>2\npreviousInfluence+=mPreviousBones[int(matricesIndices[2])]*matricesWeights[2];\n#endif\n#if NUM_BONE_INFLUENCERS>3\npreviousInfluence+=mPreviousBones[int(matricesIndices[3])]*matricesWeights[3];\n#endif\n#if NUM_BONE_INFLUENCERS>4\npreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\n#endif\n#if NUM_BONE_INFLUENCERS>5\npreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\n#endif\n#if NUM_BONE_INFLUENCERS>6\npreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\n#endif\n#if NUM_BONE_INFLUENCERS>7\npreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\n#endif\nvPreviousPosition=previousViewProjection*previousWorld*previousInfluence*vec4(positionUpdated,1.0);\n#else\nvPreviousPosition=previousViewProjection*previousWorld*vec4(positionUpdated,1.0);\n#endif\n#endif\n#if defined(POSITION) || defined(BUMP)\nvPositionW=pos.xyz/pos.w;\n#endif\ngl_Position=viewProjection*finalWorld*vec4(positionUpdated,1.0);\n#ifdef NEED_UV\n#ifdef UV1\n#ifdef ALPHATEST\nvUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\n#else\nvUV=uv;\n#endif\n#ifdef BUMP\nvBumpUV=vec2(bumpMatrix*vec4(uvUpdated,1.0,0.0));\n#endif\n#ifdef REFLECTIVITY\nvReflectivityUV=vec2(reflectivityMatrix*vec4(uvUpdated,1.0,0.0));\n#endif\n#endif\n#ifdef UV2\n#ifdef ALPHATEST\nvUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n#else\nvUV=uv2;\n#endif\n#ifdef BUMP\nvBumpUV=vec2(bumpMatrix*vec4(uv2,1.0,0.0));\n#endif\n#ifdef REFLECTIVITY\nvReflectivityUV=vec2(reflectivityMatrix*vec4(uv2,1.0,0.0));\n#endif\n#endif\n#endif\n#include\n}\n";zt.a.ShadersStore.geometryVertexShader=cp;var lp=function(){function e(t,n){void 0===n&&(n=1),this._previousTransformationMatrices={},this._previousBonesTransformationMatrices={},this.excludedSkinnedMeshesFromVelocity=[],this.renderTransparentMeshes=!0,this._enablePosition=!1,this._enableVelocity=!1,this._enableReflectivity=!1,this._positionIndex=-1,this._velocityIndex=-1,this._reflectivityIndex=-1,this._scene=t,this._ratio=n,e._SceneComponentInitialization(this._scene),this._createRenderTargets()}return Object.defineProperty(e.prototype,"renderList",{set:function(e){this._multiRenderTarget.renderList=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isSupported",{get:function(){return this._multiRenderTarget.isSupported},enumerable:!0,configurable:!0}),e.prototype.getTextureIndex=function(t){switch(t){case e.POSITION_TEXTURE_TYPE:return this._positionIndex;case e.VELOCITY_TEXTURE_TYPE:return this._velocityIndex;case e.REFLECTIVITY_TEXTURE_TYPE:return this._reflectivityIndex;default:return-1}},Object.defineProperty(e.prototype,"enablePosition",{get:function(){return this._enablePosition},set:function(e){this._enablePosition=e,this.dispose(),this._createRenderTargets()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"enableVelocity",{get:function(){return this._enableVelocity},set:function(e){this._enableVelocity=e,e||(this._previousTransformationMatrices={}),this.dispose(),this._createRenderTargets()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"enableReflectivity",{get:function(){return this._enableReflectivity},set:function(e){this._enableReflectivity=e,this.dispose(),this._createRenderTargets()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scene",{get:function(){return this._scene},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ratio",{get:function(){return this._ratio},enumerable:!0,configurable:!0}),e.prototype.isReady=function(e,t){var n=e.getMaterial();if(n&&n.disableDepthWrite)return!1;var i=[],r=[Pn.b.PositionKind,Pn.b.NormalKind],o=e.getMesh();if(n){var a=!1;n.needAlphaBlending()&&(i.push("#define ALPHATEST"),a=!0),n.bumpTexture&&An.a.BumpTextureEnabled&&(i.push("#define BUMP"),a=!0),this._enableReflectivity&&(n instanceof An.a&&n.specularTexture?(i.push("#define HAS_SPECULAR"),a=!0):n instanceof jr.a&&n.reflectivityTexture&&(i.push("#define HAS_REFLECTIVITY"),a=!0)),a&&(i.push("#define NEED_UV"),o.isVerticesDataPresent(Pn.b.UVKind)&&(r.push(Pn.b.UVKind),i.push("#define UV1")),o.isVerticesDataPresent(Pn.b.UV2Kind)&&(r.push(Pn.b.UV2Kind),i.push("#define UV2")))}this._enablePosition&&(i.push("#define POSITION"),i.push("#define POSITION_INDEX "+this._positionIndex)),this._enableVelocity&&(i.push("#define VELOCITY"),i.push("#define VELOCITY_INDEX "+this._velocityIndex),-1===this.excludedSkinnedMeshesFromVelocity.indexOf(o)&&i.push("#define BONES_VELOCITY_ENABLED")),this._enableReflectivity&&(i.push("#define REFLECTIVITY"),i.push("#define REFLECTIVITY_INDEX "+this._reflectivityIndex)),o.useBones&&o.computeBonesUsingShaders?(r.push(Pn.b.MatricesIndicesKind),r.push(Pn.b.MatricesWeightsKind),o.numBoneInfluencers>4&&(r.push(Pn.b.MatricesIndicesExtraKind),r.push(Pn.b.MatricesWeightsExtraKind)),i.push("#define NUM_BONE_INFLUENCERS "+o.numBoneInfluencers),i.push("#define BonesPerMesh "+(o.skeleton?o.skeleton.bones.length+1:0))):i.push("#define NUM_BONE_INFLUENCERS 0");var s=o.morphTargetManager,c=0;s&&s.numInfluencers>0&&(c=s.numInfluencers,i.push("#define MORPHTARGETS"),i.push("#define NUM_MORPH_INFLUENCERS "+c),Pr.a.PrepareAttributesForMorphTargetsInfluencers(r,o,c)),t&&(i.push("#define INSTANCES"),Pr.a.PushAttributesForInstances(r)),i.push("#define RENDER_TARGET_COUNT "+this._multiRenderTarget.textures.length);var l=i.join("\n");return this._cachedDefines!==l&&(this._cachedDefines=l,this._effect=this._scene.getEngine().createEffect("geometry",r,["world","mBones","viewProjection","diffuseMatrix","view","previousWorld","previousViewProjection","mPreviousBones","morphTargetInfluences","bumpMatrix","reflectivityMatrix","vTangentSpaceParams","vBumpInfos"],["diffuseSampler","bumpSampler","reflectivitySampler"],l,void 0,void 0,void 0,{buffersCount:this._multiRenderTarget.textures.length-1,maxSimultaneousMorphTargets:c})),this._effect.isReady()},e.prototype.getGBuffer=function(){return this._multiRenderTarget},Object.defineProperty(e.prototype,"samples",{get:function(){return this._multiRenderTarget.samples},set:function(e){this._multiRenderTarget.samples=e},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.getGBuffer().dispose()},e.prototype._createRenderTargets=function(){var e=this,t=this._scene.getEngine(),n=2;if(this._enablePosition&&(this._positionIndex=n,n++),this._enableVelocity&&(this._velocityIndex=n,n++),this._enableReflectivity&&(this._reflectivityIndex=n,n++),this._multiRenderTarget=new os("gBuffer",{width:t.getRenderWidth()*this._ratio,height:t.getRenderHeight()*this._ratio},n,this._scene,{generateMipMaps:!1,generateDepthTexture:!0,defaultType:1}),this.isSupported){this._multiRenderTarget.wrapU=nn.a.CLAMP_ADDRESSMODE,this._multiRenderTarget.wrapV=nn.a.CLAMP_ADDRESSMODE,this._multiRenderTarget.refreshRate=1,this._multiRenderTarget.renderParticles=!1,this._multiRenderTarget.renderList=null,this._multiRenderTarget.onClearObservable.add((function(e){e.clear(new s.b(0,0,0,1),!0,!0,!0)}));var i=function(t){var n=t.getRenderingMesh(),i=e._scene,r=i.getEngine(),o=t.getMaterial();if(o){if(n._internalAbstractMeshDataInfo._isActiveIntermediate=!1,e._enableVelocity&&!e._previousTransformationMatrices[n.uniqueId]&&(e._previousTransformationMatrices[n.uniqueId]={world:a.a.Identity(),viewProjection:i.getTransformMatrix()},n.skeleton)){var s=n.skeleton.getTransformMatrices(n);e._previousBonesTransformationMatrices[n.uniqueId]=e._copyBonesTransformationMatrices(s,new Float32Array(s.length))}r.setState(o.backFaceCulling,0,!1,i.useRightHandedSystem);var c=n._getInstancesRenderList(t._id);if(!c.mustReturn){var l=r.getCaps().instancedArrays&&null!==c.visibleInstances[t._id];if(e.isReady(t,l)){if(r.enableEffect(e._effect),n._bind(t,e._effect,o.fillMode),e._effect.setMatrix("viewProjection",i.getTransformMatrix()),e._effect.setMatrix("view",i.getViewMatrix()),o){if(o.needAlphaTesting()){var u=o.getAlphaTestTexture();u&&(e._effect.setTexture("diffuseSampler",u),e._effect.setMatrix("diffuseMatrix",u.getTextureMatrix()))}o.bumpTexture&&i.getEngine().getCaps().standardDerivatives&&An.a.BumpTextureEnabled&&(e._effect.setFloat3("vBumpInfos",o.bumpTexture.coordinatesIndex,1/o.bumpTexture.level,o.parallaxScaleBias),e._effect.setMatrix("bumpMatrix",o.bumpTexture.getTextureMatrix()),e._effect.setTexture("bumpSampler",o.bumpTexture),e._effect.setFloat2("vTangentSpaceParams",o.invertNormalMapX?-1:1,o.invertNormalMapY?-1:1)),e._enableReflectivity&&(o instanceof An.a&&o.specularTexture?(e._effect.setMatrix("reflectivityMatrix",o.specularTexture.getTextureMatrix()),e._effect.setTexture("reflectivitySampler",o.specularTexture)):o instanceof jr.a&&o.reflectivityTexture&&(e._effect.setMatrix("reflectivityMatrix",o.reflectivityTexture.getTextureMatrix()),e._effect.setTexture("reflectivitySampler",o.reflectivityTexture)))}n.useBones&&n.computeBonesUsingShaders&&n.skeleton&&(e._effect.setMatrices("mBones",n.skeleton.getTransformMatrices(n)),e._enableVelocity&&e._effect.setMatrices("mPreviousBones",e._previousBonesTransformationMatrices[n.uniqueId])),Pr.a.BindMorphTargetParameters(n,e._effect),e._enableVelocity&&(e._effect.setMatrix("previousWorld",e._previousTransformationMatrices[n.uniqueId].world),e._effect.setMatrix("previousViewProjection",e._previousTransformationMatrices[n.uniqueId].viewProjection)),n._processRendering(t,e._effect,o.fillMode,c,l,(function(t,n){return e._effect.setMatrix("world",n)}))}e._enableVelocity&&(e._previousTransformationMatrices[n.uniqueId].world=n.getWorldMatrix().clone(),e._previousTransformationMatrices[n.uniqueId].viewProjection=e._scene.getTransformMatrix().clone(),n.skeleton&&e._copyBonesTransformationMatrices(n.skeleton.getTransformMatrices(n),e._previousBonesTransformationMatrices[n.uniqueId]))}}};this._multiRenderTarget.customRenderFunction=function(n,r,o,a){var s;if(a.length){for(t.setColorWrite(!1),s=0;s0){var n=this._renderEffects[t[0]].getPostProcesses();n&&(n[0].samples=e)}return!0},e.prototype.dispose=function(){},Object(p.c)([Object(Fe.c)()],e.prototype,"_name",void 0),e}(),gp=function(){function e(){this._renderPipelines={}}return Object.defineProperty(e.prototype,"supportedPipelines",{get:function(){var e=[];for(var t in this._renderPipelines)if(this._renderPipelines.hasOwnProperty(t)){var n=this._renderPipelines[t];n.isSupported&&e.push(n)}return e},enumerable:!0,configurable:!0}),e.prototype.addPipeline=function(e){this._renderPipelines[e._name]=e},e.prototype.attachCamerasToRenderPipeline=function(e,t,n){void 0===n&&(n=!1);var i=this._renderPipelines[e];i&&i._attachCameras(t,n)},e.prototype.detachCamerasFromRenderPipeline=function(e,t){var n=this._renderPipelines[e];n&&n._detachCameras(t)},e.prototype.enableEffectInPipeline=function(e,t,n){var i=this._renderPipelines[e];i&&i._enableEffect(t,n)},e.prototype.disableEffectInPipeline=function(e,t,n){var i=this._renderPipelines[e];i&&i._disableEffect(t,n)},e.prototype.update=function(){for(var e in this._renderPipelines)if(this._renderPipelines.hasOwnProperty(e)){var t=this._renderPipelines[e];t.isSupported?t._update():(t.dispose(),delete this._renderPipelines[e])}},e.prototype._rebuild=function(){for(var e in this._renderPipelines){if(this._renderPipelines.hasOwnProperty(e))this._renderPipelines[e]._rebuild()}},e.prototype.dispose=function(){for(var e in this._renderPipelines){if(this._renderPipelines.hasOwnProperty(e))this._renderPipelines[e].dispose()}},e}();Object.defineProperty(ce.a.prototype,"postProcessRenderPipelineManager",{get:function(){if(!this._postProcessRenderPipelineManager){var e=this._getComponent(se.a.NAME_POSTPROCESSRENDERPIPELINEMANAGER);e||(e=new vp(this),this._addComponent(e)),this._postProcessRenderPipelineManager=new gp}return this._postProcessRenderPipelineManager},enumerable:!0,configurable:!0});var vp=function(){function e(e){this.name=se.a.NAME_POSTPROCESSRENDERPIPELINEMANAGER,this.scene=e}return e.prototype.register=function(){this.scene._gatherRenderTargetsStage.registerStep(se.a.STEP_GATHERRENDERTARGETS_POSTPROCESSRENDERPIPELINEMANAGER,this,this._gatherRenderTargets)},e.prototype.rebuild=function(){this.scene._postProcessRenderPipelineManager&&this.scene._postProcessRenderPipelineManager._rebuild()},e.prototype.dispose=function(){this.scene._postProcessRenderPipelineManager&&this.scene._postProcessRenderPipelineManager.dispose()},e.prototype._gatherRenderTargets=function(){this.scene._postProcessRenderPipelineManager&&this.scene._postProcessRenderPipelineManager.update()},e}(),yp=function(e){function t(t,n,i,r,o){void 0===t&&(t=""),void 0===n&&(n=!0),void 0===i&&(i=P.a.LastCreatedScene),void 0===o&&(o=!0);var a=e.call(this,i.getEngine(),t)||this;a._camerasToBeAttached=[],a.SharpenPostProcessId="SharpenPostProcessEffect",a.ImageProcessingPostProcessId="ImageProcessingPostProcessEffect",a.FxaaPostProcessId="FxaaPostProcessEffect",a.ChromaticAberrationPostProcessId="ChromaticAberrationPostProcessEffect",a.GrainPostProcessId="GrainPostProcessEffect",a._glowLayer=null,a.animations=[],a._imageProcessingConfigurationObserver=null,a._sharpenEnabled=!1,a._bloomEnabled=!1,a._depthOfFieldEnabled=!1,a._depthOfFieldBlurLevel=Wu.Low,a._fxaaEnabled=!1,a._imageProcessingEnabled=!0,a._bloomScale=.5,a._chromaticAberrationEnabled=!1,a._grainEnabled=!1,a._buildAllowed=!0,a._resizeObserver=null,a._hardwareScaleLevel=1,a._bloomKernel=64,a._bloomWeight=.15,a._bloomThreshold=.9,a._samples=1,a._hasCleared=!1,a._prevPostProcess=null,a._prevPrevPostProcess=null,a._depthOfFieldSceneObserver=null,a._cameras=r||i.cameras,a._cameras=a._cameras.slice(),a._camerasToBeAttached=a._cameras.slice(),a._buildAllowed=o,a._scene=i;var s=a._scene.getEngine().getCaps();a._hdr=n&&(s.textureHalfFloatRender||s.textureFloatRender),a._hdr?s.textureHalfFloatRender?a._defaultPipelineTextureType=2:s.textureFloatRender&&(a._defaultPipelineTextureType=1):a._defaultPipelineTextureType=0,i.postProcessRenderPipelineManager.addPipeline(a);var c=a._scene.getEngine();return a.sharpen=new mp("sharpen",1,null,nn.a.BILINEAR_SAMPLINGMODE,c,!1,a._defaultPipelineTextureType,!0),a._sharpenEffect=new Mu(c,a.SharpenPostProcessId,(function(){return a.sharpen}),!0),a.depthOfField=new Qu(a._scene,null,a._depthOfFieldBlurLevel,a._defaultPipelineTextureType,!0),a.bloom=new Lu(a._scene,a._bloomScale,a._bloomWeight,a.bloomKernel,a._defaultPipelineTextureType,!0),a.chromaticAberration=new Fu("ChromaticAberration",c.getRenderWidth(),c.getRenderHeight(),1,null,nn.a.BILINEAR_SAMPLINGMODE,c,!1,a._defaultPipelineTextureType,!0),a._chromaticAberrationEffect=new Mu(c,a.ChromaticAberrationPostProcessId,(function(){return a.chromaticAberration}),!0),a.grain=new ip("Grain",1,null,nn.a.BILINEAR_SAMPLINGMODE,c,!1,a._defaultPipelineTextureType,!0),a._grainEffect=new Mu(c,a.GrainPostProcessId,(function(){return a.grain}),!0),a._resizeObserver=c.onResizeObservable.add((function(){a._hardwareScaleLevel=c.getHardwareScalingLevel(),a.bloomKernel=a.bloomKernel})),a._imageProcessingConfigurationObserver=a._scene.imageProcessingConfiguration.onUpdateParameters.add((function(){a.bloom._downscale._exposure=a._scene.imageProcessingConfiguration.exposure})),a._buildPipeline(),a}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"scene",{get:function(){return this._scene},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"sharpenEnabled",{get:function(){return this._sharpenEnabled},set:function(e){this._sharpenEnabled!==e&&(this._sharpenEnabled=e,this._buildPipeline())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bloomKernel",{get:function(){return this._bloomKernel},set:function(e){this._bloomKernel=e,this.bloom.kernel=e/this._hardwareScaleLevel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bloomWeight",{get:function(){return this._bloomWeight},set:function(e){this._bloomWeight!==e&&(this.bloom.weight=e,this._bloomWeight=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bloomThreshold",{get:function(){return this._bloomThreshold},set:function(e){this._bloomThreshold!==e&&(this.bloom.threshold=e,this._bloomThreshold=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bloomScale",{get:function(){return this._bloomScale},set:function(e){this._bloomScale!==e&&(this._bloomScale=e,this._rebuildBloom(),this._buildPipeline())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bloomEnabled",{get:function(){return this._bloomEnabled},set:function(e){this._bloomEnabled!==e&&(this._bloomEnabled=e,this._buildPipeline())},enumerable:!0,configurable:!0}),t.prototype._rebuildBloom=function(){var e=this.bloom;this.bloom=new Lu(this._scene,this.bloomScale,this._bloomWeight,this.bloomKernel,this._defaultPipelineTextureType,!1),this.bloom.threshold=e.threshold;for(var t=0;t1){for(var n=0,i=this._cameras;n-1&&(e.depthOfField.depthTexture=t.enableDepthRenderer(t.activeCamera).getDepthMap())}))}else{this._scene.onAfterRenderTargetsRenderObservable.remove(this._depthOfFieldSceneObserver);var o=this._scene.enableDepthRenderer(this._cameras[0]);this.depthOfField.depthTexture=o.getDepthMap()}this.depthOfField._isReady()||this.depthOfField._updateEffects(),this.addEffect(this.depthOfField),this._setAutoClearAndTextureSharing(this.depthOfField._effects[0],!0)}else this._scene.onAfterRenderTargetsRenderObservable.remove(this._depthOfFieldSceneObserver);this.bloomEnabled&&(this.bloom._isReady()||this.bloom._updateEffects(),this.addEffect(this.bloom),this._setAutoClearAndTextureSharing(this.bloom._effects[0],!0)),this._imageProcessingEnabled&&(this.imageProcessing=new Tn("imageProcessing",1,null,nn.a.BILINEAR_SAMPLINGMODE,t,!1,this._defaultPipelineTextureType),this._hdr?(this.addEffect(new Mu(t,this.ImageProcessingPostProcessId,(function(){return e.imageProcessing}),!0)),this._setAutoClearAndTextureSharing(this.imageProcessing)):this._scene.imageProcessingConfiguration.applyByPostProcess=!1),this.sharpenEnabled&&(this.sharpen.isReady()||this.sharpen.updateEffect(),this.addEffect(this._sharpenEffect),this._setAutoClearAndTextureSharing(this.sharpen)),this.grainEnabled&&(this.grain.isReady()||this.grain.updateEffect(),this.addEffect(this._grainEffect),this._setAutoClearAndTextureSharing(this.grain)),this.chromaticAberrationEnabled&&(this.chromaticAberration.isReady()||this.chromaticAberration.updateEffect(),this.addEffect(this._chromaticAberrationEffect),this._setAutoClearAndTextureSharing(this.chromaticAberration)),this.fxaaEnabled&&(this.fxaa=new tp("fxaa",1,null,nn.a.BILINEAR_SAMPLINGMODE,t,!1,this._defaultPipelineTextureType),this.addEffect(new Mu(t,this.FxaaPostProcessId,(function(){return e.fxaa}),!0)),this._setAutoClearAndTextureSharing(this.fxaa,!0)),null!==this._cameras&&this._scene.postProcessRenderPipelineManager.attachCamerasToRenderPipeline(this._name,this._cameras),this._scene.activeCameras&&this._scene.activeCameras.length>1&&(this._scene.autoClear=!0),!this._enableMSAAOnFirstPostProcess(this.samples)&&this.samples>1&&m.a.Warn("MSAA failed to enable, MSAA is only supported in browsers that support webGL >= 2.0")}},t.prototype._disposePostProcesses=function(e){void 0===e&&(e=!1);for(var t=0;t0?n._ssaoCombinePostProcess.width:n._originalColorPostProcess.width),e.setFloat("near",n._scene.activeCamera.minZ),e.setFloat("far",n._scene.activeCamera.maxZ),e.setFloat("radius",n.radius),e.setTexture("depthSampler",n._depthTexture),e.setArray("samplerOffsets",n._samplerOffsets))},this._blurVPostProcess=new Vt.a("BlurV","ssao2",["outSize","samplerOffsets","near","far","radius"],["depthSampler"],t,null,nn.a.TRILINEAR_SAMPLINGMODE,this._scene.getEngine(),!1,"#define BILATERAL_BLUR\n#define BILATERAL_BLUR_V\n#define SAMPLES 16\n#define EXPENSIVE "+(i?"1":"0")+"\n"),this._blurVPostProcess.onApply=function(e){n._scene.activeCamera&&(e.setFloat("outSize",n._ssaoCombinePostProcess.height>0?n._ssaoCombinePostProcess.height:n._originalColorPostProcess.height),e.setFloat("near",n._scene.activeCamera.minZ),e.setFloat("far",n._scene.activeCamera.maxZ),e.setFloat("radius",n.radius),e.setTexture("depthSampler",n._depthTexture),e.setArray("samplerOffsets",n._samplerOffsets))},this._blurHPostProcess.samples=this.textureSamples,this._blurVPostProcess.samples=this.textureSamples},t.prototype._rebuild=function(){e.prototype._rebuild.call(this)},t.prototype._radicalInverse_VdC=function(e){return this._bits[0]=e,this._bits[0]=(this._bits[0]<<16|this._bits[0]>>16)>>>0,this._bits[0]=(1431655765&this._bits[0])<<1|(2863311530&this._bits[0])>>>1>>>0,this._bits[0]=(858993459&this._bits[0])<<2|(3435973836&this._bits[0])>>>2>>>0,this._bits[0]=(252645135&this._bits[0])<<4|(4042322160&this._bits[0])>>>4>>>0,this._bits[0]=(16711935&this._bits[0])<<8|(4278255360&this._bits[0])>>>8>>>0,2.3283064365386963e-10*this._bits[0]},t.prototype._hammersley=function(e,t){return[e/t,this._radicalInverse_VdC(e)]},t.prototype._hemisphereSample_uniform=function(e,t){var n=2*t*Math.PI,i=1-(.85*e+.15),r=Math.sqrt(1-i*i);return new a.e(Math.cos(n)*r,Math.sin(n)*r,i)},t.prototype._generateHemisphere=function(){for(var e,t=this.samples,n=[],i=0;i>0)),e.push("#define SMOOTH_STEPS "+(this._smoothSteps>>0)),this.updateEffect(e.join("\n"))},Object(p.c)([Object(Fe.c)()],t.prototype,"threshold",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"strength",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"reflectionSpecularFalloffExponent",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"step",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"roughnessFactor",void 0),Object(p.c)([Object(Fe.c)()],t.prototype,"enableSmoothReflections",null),Object(p.c)([Object(Fe.c)()],t.prototype,"reflectionSamples",null),Object(p.c)([Object(Fe.c)()],t.prototype,"smoothSteps",null),t}(Vt.a),Ip="uniform sampler2D textureSampler;\nvarying vec2 vUV;\n#if defined(PASS_POST_PROCESS)\nvoid main(void)\n{\nvec4 color=texture2D(textureSampler,vUV);\ngl_FragColor=color;\n}\n#endif\n#if defined(DOWN_SAMPLE_X4)\nuniform vec2 dsOffsets[16];\nvoid main(void)\n{\nvec4 average=vec4(0.0,0.0,0.0,0.0);\naverage=texture2D(textureSampler,vUV+dsOffsets[0]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[1]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[2]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[3]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[4]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[5]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[6]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[7]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[8]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[9]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[10]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[11]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[12]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[13]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[14]);\naverage+=texture2D(textureSampler,vUV+dsOffsets[15]);\naverage/=16.0;\ngl_FragColor=average;\n}\n#endif\n#if defined(BRIGHT_PASS)\nuniform vec2 dsOffsets[4];\nuniform float brightThreshold;\nvoid main(void)\n{\nvec4 average=vec4(0.0,0.0,0.0,0.0);\naverage=texture2D(textureSampler,vUV+vec2(dsOffsets[0].x,dsOffsets[0].y));\naverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[1].x,dsOffsets[1].y));\naverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[2].x,dsOffsets[2].y));\naverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[3].x,dsOffsets[3].y));\naverage*=0.25;\nfloat luminance=length(average.rgb);\nif (luminanceshadowPixelDepth)\naccumFog+=sunColor*computeScattering(dot(rayDirection,sunDirection));\ncurrentPosition+=stepL;\n}\naccumFog/=NB_STEPS;\nvec3 color=accumFog*scatteringPower;\ngl_FragColor=vec4(color*exp(color) ,1.0);\n}\n#endif\n#if defined(VLSMERGE)\nuniform sampler2D originalSampler;\nvoid main(void)\n{\ngl_FragColor=texture2D(originalSampler,vUV)+texture2D(textureSampler,vUV);\n}\n#endif\n#if defined(LUMINANCE)\nuniform vec2 lumOffsets[4];\nvoid main()\n{\nfloat average=0.0;\nvec4 color=vec4(0.0);\nfloat maximum=-1e20;\nvec3 weight=vec3(0.299,0.587,0.114);\nfor (int i=0; i<4; i++)\n{\ncolor=texture2D(textureSampler,vUV+ lumOffsets[i]);\n\nfloat GreyValue=dot(color.rgb,vec3(0.33,0.33,0.33));\n\n#ifdef WEIGHTED_AVERAGE\nfloat GreyValue=dot(color.rgb,weight);\n#endif\n#ifdef BRIGHTNESS\nfloat GreyValue=max(color.r,max(color.g,color.b));\n#endif\n#ifdef HSL_COMPONENT\nfloat GreyValue=0.5*(max(color.r,max(color.g,color.b))+min(color.r,min(color.g,color.b)));\n#endif\n#ifdef MAGNITUDE\nfloat GreyValue=length(color.rgb);\n#endif\nmaximum=max(maximum,GreyValue);\naverage+=(0.25*log(1e-5+GreyValue));\n}\naverage=exp(average);\ngl_FragColor=vec4(average,maximum,0.0,1.0);\n}\n#endif\n#if defined(LUMINANCE_DOWN_SAMPLE)\nuniform vec2 dsOffsets[9];\nuniform float halfDestPixelSize;\n#ifdef FINAL_DOWN_SAMPLER\n#include\n#endif\nvoid main()\n{\nvec4 color=vec4(0.0);\nfloat average=0.0;\nfor (int i=0; i<9; i++)\n{\ncolor=texture2D(textureSampler,vUV+vec2(halfDestPixelSize,halfDestPixelSize)+dsOffsets[i]);\naverage+=color.r;\n}\naverage/=9.0;\n#ifdef FINAL_DOWN_SAMPLER\ngl_FragColor=pack(average);\n#else\ngl_FragColor=vec4(average,average,0.0,1.0);\n#endif\n}\n#endif\n#if defined(HDR)\nuniform sampler2D textureAdderSampler;\nuniform float averageLuminance;\nvoid main()\n{\nvec4 color=texture2D(textureAdderSampler,vUV);\n#ifndef AUTO_EXPOSURE\nvec4 adjustedColor=color/averageLuminance;\ncolor=adjustedColor;\ncolor.a=1.0;\n#endif\ngl_FragColor=color;\n}\n#endif\n#if defined(LENS_FLARE)\n#define GHOSTS 3\nuniform sampler2D lensColorSampler;\nuniform float strength;\nuniform float ghostDispersal;\nuniform float haloWidth;\nuniform vec2 resolution;\nuniform float distortionStrength;\nfloat hash(vec2 p)\n{\nfloat h=dot(p,vec2(127.1,311.7));\nreturn -1.0+2.0*fract(sin(h)*43758.5453123);\n}\nfloat noise(in vec2 p)\n{\nvec2 i=floor(p);\nvec2 f=fract(p);\nvec2 u=f*f*(3.0-2.0*f);\nreturn mix(mix(hash(i+vec2(0.0,0.0)),\nhash(i+vec2(1.0,0.0)),u.x),\nmix(hash(i+vec2(0.0,1.0)),\nhash(i+vec2(1.0,1.0)),u.x),u.y);\n}\nfloat fbm(vec2 p)\n{\nfloat f=0.0;\nf+=0.5000*noise(p); p*=2.02;\nf+=0.2500*noise(p); p*=2.03;\nf+=0.1250*noise(p); p*=2.01;\nf+=0.0625*noise(p); p*=2.04;\nf/=0.9375;\nreturn f;\n}\nvec3 pattern(vec2 uv)\n{\nvec2 p=-1.0+2.0*uv;\nfloat p2=dot(p,p);\nfloat f=fbm(vec2(15.0*p2))/2.0;\nfloat r=0.2+0.6*sin(12.5*length(uv-vec2(0.5)));\nfloat g=0.2+0.6*sin(20.5*length(uv-vec2(0.5)));\nfloat b=0.2+0.6*sin(17.2*length(uv-vec2(0.5)));\nreturn (1.0-f)*vec3(r,g,b);\n}\nfloat luminance(vec3 color)\n{\nreturn dot(color.rgb,vec3(0.2126,0.7152,0.0722));\n}\nvec4 textureDistorted(sampler2D tex,vec2 texcoord,vec2 direction,vec3 distortion)\n{\nreturn vec4(\ntexture2D(tex,texcoord+direction*distortion.r).r,\ntexture2D(tex,texcoord+direction*distortion.g).g,\ntexture2D(tex,texcoord+direction*distortion.b).b,\n1.0\n);\n}\nvoid main(void)\n{\nvec2 uv=-vUV+vec2(1.0);\nvec2 ghostDir=(vec2(0.5)-uv)*ghostDispersal;\nvec2 texelSize=1.0/resolution;\nvec3 distortion=vec3(-texelSize.x*distortionStrength,0.0,texelSize.x*distortionStrength);\nvec4 result=vec4(0.0);\nfloat ghostIndice=1.0;\nfor (int i=0; i=nSamples)\nbreak;\nvec2 offset1=vUV+velocity*(float(i)/float(nSamples-1)-0.5);\nresult+=texture2D(textureSampler,offset1);\n}\ngl_FragColor=result/float(nSamples);\n}\n#endif\n";zt.a.ShadersStore.standardPixelShader=Ip;var wp=function(e){function t(t,n,i,r,o){void 0===r&&(r=null);var a=e.call(this,n.getEngine(),t)||this;return a.downSampleX4PostProcess=null,a.brightPassPostProcess=null,a.blurHPostProcesses=[],a.blurVPostProcesses=[],a.textureAdderPostProcess=null,a.volumetricLightPostProcess=null,a.volumetricLightSmoothXPostProcess=null,a.volumetricLightSmoothYPostProcess=null,a.volumetricLightMergePostProces=null,a.volumetricLightFinalPostProcess=null,a.luminancePostProcess=null,a.luminanceDownSamplePostProcesses=[],a.hdrPostProcess=null,a.textureAdderFinalPostProcess=null,a.lensFlareFinalPostProcess=null,a.hdrFinalPostProcess=null,a.lensFlarePostProcess=null,a.lensFlareComposePostProcess=null,a.motionBlurPostProcess=null,a.depthOfFieldPostProcess=null,a.fxaaPostProcess=null,a.screenSpaceReflectionPostProcess=null,a.brightThreshold=1,a.blurWidth=512,a.horizontalBlur=!1,a.lensTexture=null,a.volumetricLightCoefficient=.2,a.volumetricLightPower=4,a.volumetricLightBlurScale=64,a.sourceLight=null,a.hdrMinimumLuminance=1,a.hdrDecreaseRate=.5,a.hdrIncreaseRate=.5,a.lensColorTexture=null,a.lensFlareStrength=20,a.lensFlareGhostDispersal=1.4,a.lensFlareHaloWidth=.7,a.lensFlareDistortionStrength=16,a.lensFlareBlurWidth=512,a.lensStarTexture=null,a.lensFlareDirtTexture=null,a.depthOfFieldDistance=10,a.depthOfFieldBlurWidth=64,a.animations=[],a._currentDepthOfFieldSource=null,a._fixedExposure=1,a._currentExposure=1,a._hdrAutoExposure=!1,a._hdrCurrentLuminance=1,a._motionStrength=1,a._isObjectBasedMotionBlur=!1,a._camerasToBeAttached=[],a._bloomEnabled=!1,a._depthOfFieldEnabled=!1,a._vlsEnabled=!1,a._lensFlareEnabled=!1,a._hdrEnabled=!1,a._motionBlurEnabled=!1,a._fxaaEnabled=!1,a._screenSpaceReflectionsEnabled=!1,a._motionBlurSamples=64,a._volumetricLightStepsCount=50,a._samples=1,a._cameras=o||n.cameras,a._cameras=a._cameras.slice(),a._camerasToBeAttached=a._cameras.slice(),a._scene=n,a._basePostProcess=r,a._ratio=i,a._floatTextureType=n.getEngine().getCaps().textureFloatRender?1:2,n.postProcessRenderPipelineManager.addPipeline(a),a._buildPipeline(),a}return Object(p.d)(t,e),Object.defineProperty(t.prototype,"exposure",{get:function(){return this._fixedExposure},set:function(e){this._fixedExposure=e,this._currentExposure=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hdrAutoExposure",{get:function(){return this._hdrAutoExposure},set:function(e){if(this._hdrAutoExposure=e,this.hdrPostProcess){var t=["#define HDR"];e&&t.push("#define AUTO_EXPOSURE"),this.hdrPostProcess.updateEffect(t.join("\n"))}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"motionStrength",{get:function(){return this._motionStrength},set:function(e){this._motionStrength=e,this._isObjectBasedMotionBlur&&this.motionBlurPostProcess&&(this.motionBlurPostProcess.motionStrength=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"objectBasedMotionBlur",{get:function(){return this._isObjectBasedMotionBlur},set:function(e){var t=this._isObjectBasedMotionBlur!==e;this._isObjectBasedMotionBlur=e,t&&this._buildPipeline()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"BloomEnabled",{get:function(){return this._bloomEnabled},set:function(e){this._bloomEnabled!==e&&(this._bloomEnabled=e,this._buildPipeline())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"DepthOfFieldEnabled",{get:function(){return this._depthOfFieldEnabled},set:function(e){this._depthOfFieldEnabled!==e&&(this._depthOfFieldEnabled=e,this._buildPipeline())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"LensFlareEnabled",{get:function(){return this._lensFlareEnabled},set:function(e){this._lensFlareEnabled!==e&&(this._lensFlareEnabled=e,this._buildPipeline())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"HDREnabled",{get:function(){return this._hdrEnabled},set:function(e){this._hdrEnabled!==e&&(this._hdrEnabled=e,this._buildPipeline())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"VLSEnabled",{get:function(){return this._vlsEnabled},set:function(e){if(this._vlsEnabled!==e){if(e)if(!this._scene.enableGeometryBufferRenderer())return void m.a.Warn("Geometry renderer is not supported, cannot create volumetric lights in Standard Rendering Pipeline");this._vlsEnabled=e,this._buildPipeline()}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"MotionBlurEnabled",{get:function(){return this._motionBlurEnabled},set:function(e){this._motionBlurEnabled!==e&&(this._motionBlurEnabled=e,this._buildPipeline())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"fxaaEnabled",{get:function(){return this._fxaaEnabled},set:function(e){this._fxaaEnabled!==e&&(this._fxaaEnabled=e,this._buildPipeline())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"screenSpaceReflectionsEnabled",{get:function(){return this._screenSpaceReflectionsEnabled},set:function(e){this._screenSpaceReflectionsEnabled!==e&&(this._screenSpaceReflectionsEnabled=e,this._buildPipeline())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"volumetricLightStepsCount",{get:function(){return this._volumetricLightStepsCount},set:function(e){this.volumetricLightPostProcess&&this.volumetricLightPostProcess.updateEffect("#define VLS\n#define NB_STEPS "+e.toFixed(1)),this._volumetricLightStepsCount=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"motionBlurSamples",{get:function(){return this._motionBlurSamples},set:function(e){this.motionBlurPostProcess&&(this._isObjectBasedMotionBlur?this.motionBlurPostProcess.motionBlurSamples=e:this.motionBlurPostProcess.updateEffect("#define MOTION_BLUR\n#define MAX_MOTION_SAMPLES "+e.toFixed(1))),this._motionBlurSamples=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"samples",{get:function(){return this._samples},set:function(e){this._samples!==e&&(this._samples=e,this._buildPipeline())},enumerable:!0,configurable:!0}),t.prototype._buildPipeline=function(){var e=this,t=this._ratio,n=this._scene;this._disposePostProcesses(),null!==this._cameras&&(this._scene.postProcessRenderPipelineManager.detachCamerasFromRenderPipeline(this._name,this._cameras),this._cameras=this._camerasToBeAttached.slice()),this._reset(),this._screenSpaceReflectionsEnabled&&(this.screenSpaceReflectionPostProcess=new Rp("HDRPass",n,t,null,nn.a.BILINEAR_SAMPLINGMODE,n.getEngine(),!1,this._floatTextureType),this.screenSpaceReflectionPostProcess.onApplyObservable.add((function(){e._currentDepthOfFieldSource=e.screenSpaceReflectionPostProcess})),this.addEffect(new Mu(n.getEngine(),"HDRScreenSpaceReflections",(function(){return e.screenSpaceReflectionPostProcess}),!0))),this._basePostProcess?this.originalPostProcess=this._basePostProcess:this.originalPostProcess=new Vt.a("HDRPass","standard",[],[],t,null,nn.a.BILINEAR_SAMPLINGMODE,n.getEngine(),!1,"#define PASS_POST_PROCESS",this._floatTextureType),this.originalPostProcess.autoClear=!this.screenSpaceReflectionPostProcess,this.originalPostProcess.onApplyObservable.add((function(){e._currentDepthOfFieldSource=e.originalPostProcess})),this.addEffect(new Mu(n.getEngine(),"HDRPassPostProcess",(function(){return e.originalPostProcess}),!0)),this._bloomEnabled&&(this._createDownSampleX4PostProcess(n,t/4),this._createBrightPassPostProcess(n,t/4),this._createBlurPostProcesses(n,t/4,1),this._createTextureAdderPostProcess(n,t),this.textureAdderFinalPostProcess=new Vt.a("HDRDepthOfFieldSource","standard",[],[],t,null,nn.a.BILINEAR_SAMPLINGMODE,n.getEngine(),!1,"#define PASS_POST_PROCESS",0),this.addEffect(new Mu(n.getEngine(),"HDRBaseDepthOfFieldSource",(function(){return e.textureAdderFinalPostProcess}),!0))),this._vlsEnabled&&(this._createVolumetricLightPostProcess(n,t),this.volumetricLightFinalPostProcess=new Vt.a("HDRVLSFinal","standard",[],[],t,null,nn.a.BILINEAR_SAMPLINGMODE,n.getEngine(),!1,"#define PASS_POST_PROCESS",0),this.addEffect(new Mu(n.getEngine(),"HDRVLSFinal",(function(){return e.volumetricLightFinalPostProcess}),!0))),this._lensFlareEnabled&&(this._createLensFlarePostProcess(n,t),this.lensFlareFinalPostProcess=new Vt.a("HDRPostLensFlareDepthOfFieldSource","standard",[],[],t,null,nn.a.BILINEAR_SAMPLINGMODE,n.getEngine(),!1,"#define PASS_POST_PROCESS",0),this.addEffect(new Mu(n.getEngine(),"HDRPostLensFlareDepthOfFieldSource",(function(){return e.lensFlareFinalPostProcess}),!0))),this._hdrEnabled&&(this._createLuminancePostProcesses(n,this._floatTextureType),this._createHdrPostProcess(n,t),this.hdrFinalPostProcess=new Vt.a("HDRPostHDReDepthOfFieldSource","standard",[],[],t,null,nn.a.BILINEAR_SAMPLINGMODE,n.getEngine(),!1,"#define PASS_POST_PROCESS",0),this.addEffect(new Mu(n.getEngine(),"HDRPostHDReDepthOfFieldSource",(function(){return e.hdrFinalPostProcess}),!0))),this._depthOfFieldEnabled&&(this._createBlurPostProcesses(n,t/2,3,"depthOfFieldBlurWidth"),this._createDepthOfFieldPostProcess(n,t)),this._motionBlurEnabled&&this._createMotionBlurPostProcess(n,t),this._fxaaEnabled&&(this.fxaaPostProcess=new tp("fxaa",1,null,nn.a.BILINEAR_SAMPLINGMODE,n.getEngine(),!1,0),this.addEffect(new Mu(n.getEngine(),"HDRFxaa",(function(){return e.fxaaPostProcess}),!0))),null!==this._cameras&&this._scene.postProcessRenderPipelineManager.attachCamerasToRenderPipeline(this._name,this._cameras),!this._enableMSAAOnFirstPostProcess(this._samples)&&this._samples>1&&m.a.Warn("MSAA failed to enable, MSAA is only supported in browsers that support webGL >= 2.0")},t.prototype._createDownSampleX4PostProcess=function(e,t){var n=this,i=new Array(32);this.downSampleX4PostProcess=new Vt.a("HDRDownSampleX4","standard",["dsOffsets"],[],t,null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,"#define DOWN_SAMPLE_X4",this._floatTextureType),this.downSampleX4PostProcess.onApply=function(e){for(var t=0,r=n.downSampleX4PostProcess.width,o=n.downSampleX4PostProcess.height,a=-2;a<2;a++)for(var s=-2;s<2;s++)i[t]=(a+.5)*(1/r),i[t+1]=(s+.5)*(1/o),t+=2;e.setArray2("dsOffsets",i)},this.addEffect(new Mu(e.getEngine(),"HDRDownSampleX4",(function(){return n.downSampleX4PostProcess}),!0))},t.prototype._createBrightPassPostProcess=function(e,t){var n=this,i=new Array(8);this.brightPassPostProcess=new Vt.a("HDRBrightPass","standard",["dsOffsets","brightThreshold"],[],t,null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,"#define BRIGHT_PASS",this._floatTextureType),this.brightPassPostProcess.onApply=function(e){var t=1/n.brightPassPostProcess.width,r=1/n.brightPassPostProcess.height;i[0]=-.5*t,i[1]=.5*r,i[2]=.5*t,i[3]=.5*r,i[4]=-.5*t,i[5]=-.5*r,i[6]=.5*t,i[7]=-.5*r,e.setArray2("dsOffsets",i),e.setFloat("brightThreshold",n.brightThreshold)},this.addEffect(new Mu(e.getEngine(),"HDRBrightPass",(function(){return n.brightPassPostProcess}),!0))},t.prototype._createBlurPostProcesses=function(e,t,n,i){var r=this;void 0===i&&(i="blurWidth");var o=e.getEngine(),s=new Sr("HDRBlurH_"+n,new a.d(1,0),this[i],t,null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,this._floatTextureType),c=new Sr("HDRBlurV_"+n,new a.d(0,1),this[i],t,null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,this._floatTextureType);s.onActivateObservable.add((function(){var e=s.width/o.getRenderWidth();s.kernel=r[i]*e})),c.onActivateObservable.add((function(){var e=c.height/o.getRenderHeight();c.kernel=r.horizontalBlur?64*e:r[i]*e})),this.addEffect(new Mu(e.getEngine(),"HDRBlurH"+n,(function(){return s}),!0)),this.addEffect(new Mu(e.getEngine(),"HDRBlurV"+n,(function(){return c}),!0)),this.blurHPostProcesses.push(s),this.blurVPostProcesses.push(c)},t.prototype._createTextureAdderPostProcess=function(e,t){var n=this;this.textureAdderPostProcess=new Vt.a("HDRTextureAdder","standard",["exposure"],["otherSampler","lensSampler"],t,null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,"#define TEXTURE_ADDER",this._floatTextureType),this.textureAdderPostProcess.onApply=function(e){e.setTextureFromPostProcess("otherSampler",n._vlsEnabled?n._currentDepthOfFieldSource:n.originalPostProcess),e.setTexture("lensSampler",n.lensTexture),e.setFloat("exposure",n._currentExposure),n._currentDepthOfFieldSource=n.textureAdderFinalPostProcess},this.addEffect(new Mu(e.getEngine(),"HDRTextureAdder",(function(){return n.textureAdderPostProcess}),!0))},t.prototype._createVolumetricLightPostProcess=function(e,t){var n=this,i=e.enableGeometryBufferRenderer();i.enablePosition=!0;var r=i.getGBuffer();this.volumetricLightPostProcess=new Vt.a("HDRVLS","standard",["shadowViewProjection","cameraPosition","sunDirection","sunColor","scatteringCoefficient","scatteringPower","depthValues"],["shadowMapSampler","positionSampler"],t/8,null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,"#define VLS\n#define NB_STEPS "+this._volumetricLightStepsCount.toFixed(1));var o=a.d.Zero();this.volumetricLightPostProcess.onApply=function(e){if(n.sourceLight&&n.sourceLight.getShadowGenerator()&&n._scene.activeCamera){var t=n.sourceLight.getShadowGenerator();e.setTexture("shadowMapSampler",t.getShadowMap()),e.setTexture("positionSampler",r.textures[2]),e.setColor3("sunColor",n.sourceLight.diffuse),e.setVector3("sunDirection",n.sourceLight.getShadowDirection()),e.setVector3("cameraPosition",n._scene.activeCamera.globalPosition),e.setMatrix("shadowViewProjection",t.getTransformMatrix()),e.setFloat("scatteringCoefficient",n.volumetricLightCoefficient),e.setFloat("scatteringPower",n.volumetricLightPower),o.x=n.sourceLight.getDepthMinZ(n._scene.activeCamera),o.y=n.sourceLight.getDepthMaxZ(n._scene.activeCamera),e.setVector2("depthValues",o)}},this.addEffect(new Mu(e.getEngine(),"HDRVLS",(function(){return n.volumetricLightPostProcess}),!0)),this._createBlurPostProcesses(e,t/4,0,"volumetricLightBlurScale"),this.volumetricLightMergePostProces=new Vt.a("HDRVLSMerge","standard",[],["originalSampler"],t,null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,"#define VLSMERGE"),this.volumetricLightMergePostProces.onApply=function(e){e.setTextureFromPostProcess("originalSampler",n._bloomEnabled?n.textureAdderFinalPostProcess:n.originalPostProcess),n._currentDepthOfFieldSource=n.volumetricLightFinalPostProcess},this.addEffect(new Mu(e.getEngine(),"HDRVLSMerge",(function(){return n.volumetricLightMergePostProces}),!0))},t.prototype._createLuminancePostProcesses=function(e,n){var i=this,r=Math.pow(3,t.LuminanceSteps);this.luminancePostProcess=new Vt.a("HDRLuminance","standard",["lumOffsets"],[],{width:r,height:r},null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,"#define LUMINANCE",n);var o=[];this.luminancePostProcess.onApply=function(e){var t=1/i.luminancePostProcess.width,n=1/i.luminancePostProcess.height;o[0]=-.5*t,o[1]=.5*n,o[2]=.5*t,o[3]=.5*n,o[4]=-.5*t,o[5]=-.5*n,o[6]=.5*t,o[7]=-.5*n,e.setArray2("lumOffsets",o)},this.addEffect(new Mu(e.getEngine(),"HDRLuminance",(function(){return i.luminancePostProcess}),!0));for(var s=t.LuminanceSteps-1;s>=0;s--){r=Math.pow(3,s);var c="#define LUMINANCE_DOWN_SAMPLE\n";0===s&&(c+="#define FINAL_DOWN_SAMPLER");var l=new Vt.a("HDRLuminanceDownSample"+s,"standard",["dsOffsets","halfDestPixelSize"],[],{width:r,height:r},null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,c,n);this.luminanceDownSamplePostProcesses.push(l)}var u=this.luminancePostProcess;this.luminanceDownSamplePostProcesses.forEach((function(t,n){var r=new Array(18);t.onApply=function(e){if(u){for(var o=0,a=-1;a<2;a++)for(var s=-1;s<2;s++)r[o]=a/u.width,r[o+1]=s/u.height,o+=2;e.setArray2("dsOffsets",r),e.setFloat("halfDestPixelSize",.5/u.width),u=n===i.luminanceDownSamplePostProcesses.length-1?i.luminancePostProcess:t}},n===i.luminanceDownSamplePostProcesses.length-1&&(t.onAfterRender=function(){var t=e.getEngine().readPixels(0,0,1,1),n=new a.f(1/16581375,1/65025,1/255,1);i._hdrCurrentLuminance=(t[0]*n.x+t[1]*n.y+t[2]*n.z+t[3]*n.w)/100}),i.addEffect(new Mu(e.getEngine(),"HDRLuminanceDownSample"+n,(function(){return t}),!0))}))},t.prototype._createHdrPostProcess=function(e,t){var n=this,i=["#define HDR"];this._hdrAutoExposure&&i.push("#define AUTO_EXPOSURE"),this.hdrPostProcess=new Vt.a("HDR","standard",["averageLuminance"],["textureAdderSampler"],t,null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,i.join("\n"),0);var r=1,o=0,a=0;this.hdrPostProcess.onApply=function(t){if(t.setTextureFromPostProcess("textureAdderSampler",n._currentDepthOfFieldSource),o+=e.getEngine().getDeltaTime(),r<0)r=n._hdrCurrentLuminance;else{var i=(a-o)/1e3;n._hdrCurrentLuminancer-n.hdrIncreaseRate*i?r-=n.hdrIncreaseRate*i:r=n._hdrCurrentLuminance}n.hdrAutoExposure?n._currentExposure=n._fixedExposure/r:(r=He.a.Clamp(r,n.hdrMinimumLuminance,1e20),t.setFloat("averageLuminance",r)),a=o,n._currentDepthOfFieldSource=n.hdrFinalPostProcess},this.addEffect(new Mu(e.getEngine(),"HDR",(function(){return n.hdrPostProcess}),!0))},t.prototype._createLensFlarePostProcess=function(e,t){var n=this;this.lensFlarePostProcess=new Vt.a("HDRLensFlare","standard",["strength","ghostDispersal","haloWidth","resolution","distortionStrength"],["lensColorSampler"],t/2,null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,"#define LENS_FLARE",0),this.addEffect(new Mu(e.getEngine(),"HDRLensFlare",(function(){return n.lensFlarePostProcess}),!0)),this._createBlurPostProcesses(e,t/4,2,"lensFlareBlurWidth"),this.lensFlareComposePostProcess=new Vt.a("HDRLensFlareCompose","standard",["lensStarMatrix"],["otherSampler","lensDirtSampler","lensStarSampler"],t,null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,"#define LENS_FLARE_COMPOSE",0),this.addEffect(new Mu(e.getEngine(),"HDRLensFlareCompose",(function(){return n.lensFlareComposePostProcess}),!0));var i=new a.d(0,0);this.lensFlarePostProcess.onApply=function(e){e.setTextureFromPostProcess("textureSampler",n._bloomEnabled?n.blurHPostProcesses[0]:n.originalPostProcess),e.setTexture("lensColorSampler",n.lensColorTexture),e.setFloat("strength",n.lensFlareStrength),e.setFloat("ghostDispersal",n.lensFlareGhostDispersal),e.setFloat("haloWidth",n.lensFlareHaloWidth),i.x=n.lensFlarePostProcess.width,i.y=n.lensFlarePostProcess.height,e.setVector2("resolution",i),e.setFloat("distortionStrength",n.lensFlareDistortionStrength)};var r=a.a.FromValues(2,0,-1,0,0,2,-1,0,0,0,1,0,0,0,0,1),o=a.a.FromValues(.5,0,.5,0,0,.5,.5,0,0,0,1,0,0,0,0,1);this.lensFlareComposePostProcess.onApply=function(e){if(n._scene.activeCamera){e.setTextureFromPostProcess("otherSampler",n.lensFlarePostProcess),e.setTexture("lensDirtSampler",n.lensFlareDirtTexture),e.setTexture("lensStarSampler",n.lensStarTexture);var t=n._scene.activeCamera.getViewMatrix().getRow(0),i=n._scene.activeCamera.getViewMatrix().getRow(2),s=a.e.Dot(t.toVector3(),new a.e(1,0,0))+a.e.Dot(i.toVector3(),new a.e(0,0,1));s*=4;var c=a.a.FromValues(.5*Math.cos(s),-Math.sin(s),0,0,Math.sin(s),.5*Math.cos(s),0,0,0,0,1,0,0,0,0,1),l=o.multiply(c).multiply(r);e.setMatrix("lensStarMatrix",l),n._currentDepthOfFieldSource=n.lensFlareFinalPostProcess}}},t.prototype._createDepthOfFieldPostProcess=function(e,t){var n=this;this.depthOfFieldPostProcess=new Vt.a("HDRDepthOfField","standard",["distance"],["otherSampler","depthSampler"],t,null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,"#define DEPTH_OF_FIELD",0),this.depthOfFieldPostProcess.onApply=function(e){e.setTextureFromPostProcess("otherSampler",n._currentDepthOfFieldSource),e.setTexture("depthSampler",n._getDepthTexture()),e.setFloat("distance",n.depthOfFieldDistance)},this.addEffect(new Mu(e.getEngine(),"HDRDepthOfField",(function(){return n.depthOfFieldPostProcess}),!0))},t.prototype._createMotionBlurPostProcess=function(e,t){var n=this;if(this._isObjectBasedMotionBlur){var i=new hp("HDRMotionBlur",e,t,null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,0);i.motionStrength=this.motionStrength,i.motionBlurSamples=this.motionBlurSamples,this.motionBlurPostProcess=i}else{this.motionBlurPostProcess=new Vt.a("HDRMotionBlur","standard",["inverseViewProjection","prevViewProjection","screenSize","motionScale","motionStrength"],["depthSampler"],t,null,nn.a.BILINEAR_SAMPLINGMODE,e.getEngine(),!1,"#define MOTION_BLUR\n#define MAX_MOTION_SAMPLES "+this.motionBlurSamples.toFixed(1),0);var r=0,o=a.a.Identity(),s=a.a.Identity(),c=a.a.Identity(),l=a.d.Zero();this.motionBlurPostProcess.onApply=function(t){(c=e.getProjectionMatrix().multiply(e.getViewMatrix())).invertToRef(s),t.setMatrix("inverseViewProjection",s),t.setMatrix("prevViewProjection",o),o=c,l.x=n.motionBlurPostProcess.width,l.y=n.motionBlurPostProcess.height,t.setVector2("screenSize",l),r=e.getEngine().getFps()/60,t.setFloat("motionScale",r),t.setFloat("motionStrength",n.motionStrength),t.setTexture("depthSampler",n._getDepthTexture())}}this.addEffect(new Mu(e.getEngine(),"HDRMotionBlur",(function(){return n.motionBlurPostProcess}),!0))},t.prototype._getDepthTexture=function(){return this._scene.getEngine().getCaps().drawBuffersExtension?this._scene.enableGeometryBufferRenderer().getGBuffer().textures[0]:this._scene.enableDepthRenderer().getDepthMap()},t.prototype._disposePostProcesses=function(){for(var e=0;e0&&-1!==this.excludedMeshes.indexOf(e)},t.prototype._createPass=function(e,t){var n=this,i=e.getEngine();this._volumetricLightScatteringRTT=new ln.a("volumetricLightScatteringMap",{width:i.getRenderWidth()*t,height:i.getRenderHeight()*t},e,!1,!0,0),this._volumetricLightScatteringRTT.wrapU=nn.a.CLAMP_ADDRESSMODE,this._volumetricLightScatteringRTT.wrapV=nn.a.CLAMP_ADDRESSMODE,this._volumetricLightScatteringRTT.renderList=null,this._volumetricLightScatteringRTT.renderParticles=!1,this._volumetricLightScatteringRTT.ignoreCameraViewport=!0;var r=this.getCamera();r?r.customRenderTargets.push(this._volumetricLightScatteringRTT):e.customRenderTargets.push(this._volumetricLightScatteringRTT);var o,a=function(e){var t=e.getRenderingMesh();if(!n._meshExcluded(t)){t._internalAbstractMeshDataInfo._isActiveIntermediate=!1;var i=e.getMaterial();if(i){var r=t.getScene(),o=r.getEngine();o.setState(i.backFaceCulling);var a=t._getInstancesRenderList(e._id);if(!a.mustReturn){var s=o.getCaps().instancedArrays&&null!==a.visibleInstances[e._id];if(n._isReady(e,s)){var c=n._volumetricLightScatteringPass;if(t===n.mesh&&(c=e.effect?e.effect:i.getEffect()),o.enableEffect(c),t._bind(e,c,i.fillMode),t===n.mesh)i.bind(t.getWorldMatrix(),t);else{if(n._volumetricLightScatteringPass.setMatrix("viewProjection",r.getTransformMatrix()),i&&i.needAlphaTesting()){var l=i.getAlphaTestTexture();n._volumetricLightScatteringPass.setTexture("diffuseSampler",l),l&&n._volumetricLightScatteringPass.setMatrix("diffuseMatrix",l.getTextureMatrix())}t.useBones&&t.computeBonesUsingShaders&&t.skeleton&&n._volumetricLightScatteringPass.setMatrices("mBones",t.skeleton.getTransformMatrices(t))}t._processRendering(e,n._volumetricLightScatteringPass,Do.a.TriangleFillMode,a,s,(function(e,t){return c.setMatrix("world",t)}))}}}}},c=new s.b(0,0,0,1);this._volumetricLightScatteringRTT.onBeforeRenderObservable.add((function(){o=e.clearColor,e.clearColor=c})),this._volumetricLightScatteringRTT.onAfterRenderObservable.add((function(){e.clearColor=o})),this._volumetricLightScatteringRTT.customRenderFunction=function(t,n,i,r){var o,s=e.getEngine();if(r.length){for(s.setColorWrite(!1),o=0;ot._alphaIndex?1:e._alphaIndext._distanceToCamera?-1:0})),s.setAlphaMode(2),o=0;o\nvoid main(void) {\n#ifdef ALPHATEST\nif (texture2D(diffuseSampler,vUV).a<0.4)\ndiscard;\n#endif\n#include\ngl_FragColor=color;\n}");zt.a.ShadersStore.outlinePixelShader=Yp;n(175);var Qp="\nattribute vec3 position;\nattribute vec3 normal;\n#include\n#include\n#include[0..maxSimultaneousMorphTargets]\n\nuniform float offset;\n#include\nuniform mat4 viewProjection;\n#ifdef ALPHATEST\nvarying vec2 vUV;\nuniform mat4 diffuseMatrix;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#endif\n#include\nvoid main(void)\n{\nvec3 positionUpdated=position;\nvec3 normalUpdated=normal;\n#ifdef UV1\nvec2 uvUpdated=uv;\n#endif\n#include[0..maxSimultaneousMorphTargets]\nvec3 offsetPosition=positionUpdated+(normalUpdated*offset);\n#include\n#include\ngl_Position=viewProjection*finalWorld*vec4(offsetPosition,1.0);\n#ifdef ALPHATEST\n#ifdef UV1\nvUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\n#endif\n#ifdef UV2\nvUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n#endif\n#endif\n#include\n}\n";zt.a.ShadersStore.outlineVertexShader=Qp;ce.a.prototype.getOutlineRenderer=function(){return this._outlineRenderer||(this._outlineRenderer=new Kp(this)),this._outlineRenderer},Object.defineProperty(ve.a.prototype,"renderOutline",{get:function(){return this._renderOutline},set:function(e){e&&this.getScene().getOutlineRenderer(),this._renderOutline=e},enumerable:!0,configurable:!0}),Object.defineProperty(ve.a.prototype,"renderOverlay",{get:function(){return this._renderOverlay},set:function(e){e&&this.getScene().getOutlineRenderer(),this._renderOverlay=e},enumerable:!0,configurable:!0});var Kp=function(){function e(e){this.name=se.a.NAME_OUTLINERENDERER,this.zOffset=1,this.scene=e,this._engine=e.getEngine(),this.scene._addComponent(this)}return e.prototype.register=function(){this.scene._beforeRenderingMeshStage.registerStep(se.a.STEP_BEFORERENDERINGMESH_OUTLINE,this,this._beforeRenderingMesh),this.scene._afterRenderingMeshStage.registerStep(se.a.STEP_AFTERRENDERINGMESH_OUTLINE,this,this._afterRenderingMesh)},e.prototype.rebuild=function(){},e.prototype.dispose=function(){},e.prototype.render=function(e,t,n){var i=this;void 0===n&&(n=!1);var r=this.scene,o=r.getEngine(),a=o.getCaps().instancedArrays&&null!==t.visibleInstances[e._id]&&void 0!==t.visibleInstances[e._id];if(this.isReady(e,a)){var s=e.getRenderingMesh(),c=e.getMaterial();if(c&&r.activeCamera){if(o.enableEffect(this._effect),c.useLogarithmicDepth&&this._effect.setFloat("logarithmicDepthConstant",2/(Math.log(r.activeCamera.maxZ+1)/Math.LN2)),this._effect.setFloat("offset",n?0:s.outlineWidth),this._effect.setColor4("color",n?s.overlayColor:s.outlineColor,n?s.overlayAlpha:c.alpha),this._effect.setMatrix("viewProjection",r.getTransformMatrix()),s.useBones&&s.computeBonesUsingShaders&&s.skeleton&&this._effect.setMatrices("mBones",s.skeleton.getTransformMatrices(s)),Pr.a.BindMorphTargetParameters(s,this._effect),s._bind(e,this._effect,c.fillMode),c&&c.needAlphaTesting()){var l=c.getAlphaTestTexture();l&&(this._effect.setTexture("diffuseSampler",l),this._effect.setMatrix("diffuseMatrix",l.getTextureMatrix()))}o.setZOffset(-this.zOffset),s._processRendering(e,this._effect,c.fillMode,t,a,(function(e,t){i._effect.setMatrix("world",t)})),o.setZOffset(0)}}},e.prototype.isReady=function(e,t){var n=[],i=[Pn.b.PositionKind,Pn.b.NormalKind],r=e.getMesh(),o=e.getMaterial();o&&(o.needAlphaTesting()&&(n.push("#define ALPHATEST"),r.isVerticesDataPresent(Pn.b.UVKind)&&(i.push(Pn.b.UVKind),n.push("#define UV1")),r.isVerticesDataPresent(Pn.b.UV2Kind)&&(i.push(Pn.b.UV2Kind),n.push("#define UV2"))),o.useLogarithmicDepth&&n.push("#define LOGARITHMICDEPTH")),r.useBones&&r.computeBonesUsingShaders?(i.push(Pn.b.MatricesIndicesKind),i.push(Pn.b.MatricesWeightsKind),r.numBoneInfluencers>4&&(i.push(Pn.b.MatricesIndicesExtraKind),i.push(Pn.b.MatricesWeightsExtraKind)),n.push("#define NUM_BONE_INFLUENCERS "+r.numBoneInfluencers),n.push("#define BonesPerMesh "+(r.skeleton?r.skeleton.bones.length+1:0))):n.push("#define NUM_BONE_INFLUENCERS 0");var a=r.morphTargetManager,s=0;a&&a.numInfluencers>0&&(s=a.numInfluencers,n.push("#define MORPHTARGETS"),n.push("#define NUM_MORPH_INFLUENCERS "+s),Pr.a.PrepareAttributesForMorphTargetsInfluencers(i,r,s)),t&&(n.push("#define INSTANCES"),Pr.a.PushAttributesForInstances(i));var c=n.join("\n");return this._cachedDefines!==c&&(this._cachedDefines=c,this._effect=this.scene.getEngine().createEffect("outline",i,["world","mBones","viewProjection","diffuseMatrix","offset","color","logarithmicDepthConstant","morphTargetInfluences"],["diffuseSampler"],c,void 0,void 0,void 0,{maxSimultaneousMorphTargets:s})),this._effect.isReady()},e.prototype._beforeRenderingMesh=function(t,n,i){if(this._savedDepthWrite=this._engine.getDepthWrite(),t.renderOutline){var r=n.getMaterial();r&&r.needAlphaBlending()&&(this._engine.cacheStencilState(),this._engine.setDepthWrite(!1),this._engine.setColorWrite(!1),this._engine.setStencilBuffer(!0),this._engine.setStencilOperationPass(7681),this._engine.setStencilFunction(519),this._engine.setStencilMask(e._StencilReference),this._engine.setStencilFunctionReference(e._StencilReference),this.render(n,i,!0),this._engine.setColorWrite(!0),this._engine.setStencilFunction(517)),this._engine.setDepthWrite(!1),this.render(n,i),this._engine.setDepthWrite(this._savedDepthWrite),r&&r.needAlphaBlending()&&this._engine.restoreStencilState()}},e.prototype._afterRenderingMesh=function(e,t,n){if(e.renderOverlay){var i=this._engine.getAlphaMode(),r=this._engine.alphaState.alphaBlend;this._engine.setAlphaMode(2),this.render(t,n,!0),this._engine.setAlphaMode(i),this._engine.setDepthWrite(this._savedDepthWrite),this._engine.alphaState.alphaBlend=r}e.renderOutline&&this._savedDepthWrite&&(this._engine.setDepthWrite(!0),this._engine.setColorWrite(!1),this.render(t,n),this._engine.setColorWrite(!0))},e._StencilReference=4,e}(),Zp=n(186),qp=function(){function e(e,t){this.name=e,this.color=new s.b(1,1,1,1),this.width=1,this.height=1,this.angle=0,this.invertU=0,this.invertV=0,this.animations=new Array,this.isPickable=!1,this._animationStarted=!1,this._loopAnimation=!1,this._fromIndex=0,this._toIndex=0,this._delay=0,this._direction=1,this._time=0,this.isVisible=!0,this._manager=t,this._manager.sprites.push(this),this.position=a.e.Zero()}return Object.defineProperty(e.prototype,"size",{get:function(){return this.width},set:function(e){this.width=e,this.height=e},enumerable:!0,configurable:!0}),e.prototype.playAnimation=function(e,t,n,i,r){this._fromIndex=e,this._toIndex=t,this._loopAnimation=n,this._delay=i,this._animationStarted=!0,ethis._delay&&(this._time=this._time%this._delay,this.cellIndex+=this._direction,(this._direction>0&&this.cellIndex>this._toIndex||this._direction<0&&this.cellIndex0?this._fromIndex:this._toIndex:(this.cellIndex=this._toIndex,this._animationStarted=!1,this._onAnimationEnd&&this._onAnimationEnd(),this.disposeWhenFinishedAnimating&&this.dispose()))))},e.prototype.dispose=function(){for(var e=0;e0)for(var o=0;o=r.distance))&&(r=s,n))break}}return r||new Ce.a},ce.a.prototype._internalMultiPickSprites=function(e,t,n){if(!Ce.a)return null;var i=new Array;if(!n){if(!this.activeCamera)return null;n=this.activeCamera}if(this.spriteManagers.length>0)for(var r=0;r0&&(n=r.pickSprite(e,t,this._spritePredicate,!1,r.cameraToUseForPointers||void 0))&&n.hit&&n.pickedSprite&&n.pickedSprite.actionManager){switch(r._pickedDownSprite=n.pickedSprite,i.button){case 0:n.pickedSprite.actionManager.processTrigger(2,u.a.CreateNewFromSprite(n.pickedSprite,r,i));break;case 1:n.pickedSprite.actionManager.processTrigger(4,u.a.CreateNewFromSprite(n.pickedSprite,r,i));break;case 2:n.pickedSprite.actionManager.processTrigger(3,u.a.CreateNewFromSprite(n.pickedSprite,r,i))}n.pickedSprite.actionManager&&n.pickedSprite.actionManager.processTrigger(5,u.a.CreateNewFromSprite(n.pickedSprite,r,i))}return n},e.prototype._pointerUp=function(e,t,n,i){var r=this.scene;if(r.spriteManagers.length>0){var o=r.pickSprite(e,t,this._spritePredicate,!1,r.cameraToUseForPointers||void 0);o&&(o.hit&&o.pickedSprite&&o.pickedSprite.actionManager&&(o.pickedSprite.actionManager.processTrigger(7,u.a.CreateNewFromSprite(o.pickedSprite,r,i)),o.pickedSprite.actionManager&&(this.scene._inputManager._isPointerSwiping()||o.pickedSprite.actionManager.processTrigger(1,u.a.CreateNewFromSprite(o.pickedSprite,r,i)))),r._pickedDownSprite&&r._pickedDownSprite.actionManager&&r._pickedDownSprite!==o.pickedSprite&&r._pickedDownSprite.actionManager.processTrigger(16,u.a.CreateNewFromSprite(r._pickedDownSprite,r,i)))}return n},e}(),$p="uniform bool alphaTest;\nvarying vec4 vColor;\n\nvarying vec2 vUV;\nuniform sampler2D diffuseSampler;\n\n#include\nvoid main(void) {\nvec4 color=texture2D(diffuseSampler,vUV);\nif (alphaTest)\n{\nif (color.a<0.95)\ndiscard;\n}\ncolor*=vColor;\n#include\ngl_FragColor=color;\n}";zt.a.ShadersStore.spritesPixelShader=$p;var eh="\nattribute vec4 position;\nattribute vec4 options;\nattribute vec2 inverts;\nattribute vec4 cellInfo;\nattribute vec4 color;\n\nuniform mat4 view;\nuniform mat4 projection;\n\nvarying vec2 vUV;\nvarying vec4 vColor;\n#include\nvoid main(void) {\nvec3 viewPos=(view*vec4(position.xyz,1.0)).xyz;\nvec2 cornerPos;\nfloat angle=position.w;\nvec2 size=vec2(options.x,options.y);\nvec2 offset=options.zw;\ncornerPos=vec2(offset.x-0.5,offset.y-0.5)*size;\n\nvec3 rotatedCorner;\nrotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\nrotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\nrotatedCorner.z=0.;\n\nviewPos+=rotatedCorner;\ngl_Position=projection*vec4(viewPos,1.0);\n\nvColor=color;\n\nvec2 uvOffset=vec2(abs(offset.x-inverts.x),abs(1.0-offset.y-inverts.y));\nvec2 uvPlace=cellInfo.xy;\nvec2 uvSize=cellInfo.zw;\nvUV.x=uvPlace.x+uvSize.x*uvOffset.x;\nvUV.y=uvPlace.y+uvSize.y*uvOffset.y;\n\n#ifdef FOG\nvFogDistance=viewPos;\n#endif\n}";zt.a.ShadersStore.spritesVertexShader=eh;var th=function(){function e(e,t,n,i,r,a,s,c,l){if(void 0===a&&(a=.01),void 0===s&&(s=nn.a.TRILINEAR_SAMPLINGMODE),void 0===c&&(c=!1),void 0===l&&(l=null),this.name=e,this.sprites=new Array,this.renderingGroupId=0,this.layerMask=268435455,this.fogEnabled=!0,this.isPickable=!1,this._packedAndReady=!1,this.onDisposeObservable=new o.c,this._vertexBuffers={},this._blendMode=2,this.disableDepthWrite=!1,r._getComponent(se.a.NAME_SPRITE)||r._addComponent(new Jp(r)),this._capacity=n,this._fromPacked=c,this._spriteTexture=new nn.a(t,r,!0,!1,s),this._spriteTexture.wrapU=nn.a.CLAMP_ADDRESSMODE,this._spriteTexture.wrapV=nn.a.CLAMP_ADDRESSMODE,i.width&&i.height)this.cellWidth=i.width,this.cellHeight=i.height;else{if(void 0===i)return;this.cellWidth=i,this.cellHeight=i}this._epsilon=a,this._scene=r,this._scene.spriteManagers.push(this);for(var u=[],p=0,h=0;h0);var u=e.substring(0,l-1)+".json",p=new XMLHttpRequest;p.open("GET",u,!0),p.onerror=function(){m.a.Error("JSON ERROR: Unable to load JSON file."),n._fromPacked=!1,n._packedAndReady=!1},p.onload=function(){try{var e=JSON.parse(p.response),t=Reflect.ownKeys(e.frames);n._spriteMap=t,n._packedAndReady=!0,n._cellData=e.frames}catch(e){throw n._fromPacked=!1,n._packedAndReady=!1,new Error("Invalid JSON format. Please check documentation for format specifications.")}},p.send()}},e.prototype._appendSpriteVertex=function(e,t,n,i,r){var o=18*e;if(0===n?n=this._epsilon:1===n&&(n=1-this._epsilon),0===i?i=this._epsilon:1===i&&(i=1-this._epsilon),this._vertexData[o]=t.position.x,this._vertexData[o+1]=t.position.y,this._vertexData[o+2]=t.position.z,this._vertexData[o+3]=t.angle,this._vertexData[o+4]=t.width,this._vertexData[o+5]=t.height,this._vertexData[o+6]=n,this._vertexData[o+7]=i,this._vertexData[o+8]=t.invertU?1:0,this._vertexData[o+9]=t.invertV?1:0,this._packedAndReady){t.cellRef||(t.cellIndex=0);var a=t.cellIndex;"number"==typeof a&&isFinite(a)&&Math.floor(a)===a&&(t.cellRef=this._spriteMap[t.cellIndex]),this._vertexData[o+10]=this._cellData[t.cellRef].frame.x/r.width,this._vertexData[o+11]=this._cellData[t.cellRef].frame.y/r.height,this._vertexData[o+12]=this._cellData[t.cellRef].frame.w/r.width,this._vertexData[o+13]=this._cellData[t.cellRef].frame.h/r.height}else{t.cellIndex||(t.cellIndex=0);var s=r.width/this.cellWidth,c=t.cellIndex/s>>0;this._vertexData[o+10]=(t.cellIndex-c*s)*this.cellWidth/r.width,this._vertexData[o+11]=c*this.cellHeight/r.height,this._vertexData[o+12]=this.cellWidth/r.width,this._vertexData[o+13]=this.cellHeight/r.height}this._vertexData[o+14]=t.color.r,this._vertexData[o+15]=t.color.g,this._vertexData[o+16]=t.color.b,this._vertexData[o+17]=t.color.a},e.prototype.intersects=function(e,t,n,i){for(var r=Math.min(this._capacity,this.sprites.length),o=a.e.Zero(),s=a.e.Zero(),c=Number.MAX_VALUE,l=null,u=a.c.Vector3[0],p=a.c.Vector3[1],h=t.getViewMatrix(),d=0;d_&&(c=_,l=f,i))break}}}if(l){var m=new Ce.a;h.invertToRef(a.c.Matrix[0]),m.hit=!0,m.pickedSprite=l,m.distance=c;var b=a.c.Vector3[2];return b.copyFrom(e.direction),b.normalize(),b.scaleInPlace(c),e.origin.addToRef(b,u),m.pickedPoint=a.e.TransformCoordinates(u,a.c.Matrix[0]),m}return null},e.prototype.multiIntersects=function(e,t,n){for(var i,r=Math.min(this._capacity,this.sprites.length),o=a.e.Zero(),s=a.e.Zero(),c=[],l=a.c.Vector3[0].copyFromFloats(0,0,0),u=a.c.Vector3[1].copyFromFloats(0,0,0),p=t.getViewMatrix(),h=0;h0.) {\nmt=mod(time*animationData.z,1.0);\nfor(float f=0.; fmt){\nframeID=animationData.x;\nbreak;\n}\nanimationData=texture2D(animationMap,vec2((frameID+0.5)/spriteCount,aFrameSteps*f),0.);\n}\n}\n\nmat4 frameData=getFrameData(frameID+0.5);\nvec2 frameSize=(frameData[0].wz)/spriteMapSize;\nvec2 offset=frameData[0].xy*sheetUnits;\nvec2 ratio=frameData[2].xy/frameData[0].wz;\n\nif (frameData[2].z == 1.){\ntileUV.xy=tileUV.yx;\n}\nif (i == 0){\ncolor=texture2D(spriteSheet,tileUV*frameSize+offset);\n} else {\nvec4 nc=texture2D(spriteSheet,tileUV*frameSize+offset);\nfloat alpha=min(color.a+nc.a,1.0);\nvec3 mixed=mix(color.xyz,nc.xyz,nc.a);\ncolor=vec4(mixed,alpha);\n}\n}\ncolor.xyz*=colorMul;\ngl_FragColor=color;\n}";zt.a.ShadersStore.spriteMapPixelShader=nh;var ih="precision highp float;\n\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\n\nvarying vec3 vPosition;\nvarying vec2 vUV;\nvarying vec2 tUV;\nvarying vec2 stageUnits;\nvarying vec2 levelUnits;\nvarying vec2 tileID;\n\nuniform float time;\nuniform mat4 worldViewProjection;\nuniform vec2 outputSize;\nuniform vec2 stageSize;\nuniform vec2 spriteMapSize;\nuniform float stageScale;\nvoid main() {\nvec4 p=vec4( position,1. );\nvPosition=p.xyz;\nvUV=uv;\ntUV=uv*stageSize;\ngl_Position=worldViewProjection*p;\n}";zt.a.ShadersStore.spriteMapVertexShader=ih;var rh,oh=function(){function e(e,t,n,i,r){var o=this;this.name=e,this.sprites=[],this.atlasJSON=t,this.sprites=this.atlasJSON.frames,this.spriteSheet=n,this.options=i,i.stageSize=i.stageSize||new a.d(1,1),i.outputSize=i.outputSize||i.stageSize,i.outputPosition=i.outputPosition||a.e.Zero(),i.outputRotation=i.outputRotation||a.e.Zero(),i.layerCount=i.layerCount||1,i.maxAnimationFrames=i.maxAnimationFrames||0,i.baseTile=i.baseTile||0,i.flipU=i.flipU||!1,i.colorMultiply=i.colorMultiply||new a.e(1,1,1),this._scene=r,this._frameMap=this._createFrameBuffer(),this._tileMaps=new Array;for(var s=0;s0&&(e+="\n\r"),e+=this._tileMaps[t]._texture._bufferView.toString();var n=document.createElement("a");n.href="data:octet/stream;charset=utf-8,"+encodeURI(e),n.target="_blank",n.download=this.name+".tilemaps",n.click(),n.remove()},e.prototype.loadTileMaps=function(e){var t=this,n=new XMLHttpRequest;n.open("GET",e);var i=this.options.layerCount||0;n.onload=function(){for(var e=n.response.split("\n\r"),r=0;r-1&&this._tasks.splice(t,1)},e.prototype._decreaseWaitingTasksCount=function(e){this._waitingTasksCount--;try{this.onProgress&&this.onProgress(this._waitingTasksCount,this._totalTasksCount,e),this.onProgressObservable.notifyObservers(new dh(this._waitingTasksCount,this._totalTasksCount,e))}catch(e){m.a.Error("Error running progress callbacks."),console.log(e)}if(0===this._waitingTasksCount){try{var t=this._tasks.slice();this.onFinish&&this.onFinish(t);for(var n=0,i=t;n-1&&this._tasks.splice(r,1)}}this.onTasksDoneObservable.notifyObservers(this._tasks)}catch(e){m.a.Error("Error running tasks-done callbacks."),console.log(e)}this._isLoading=!1,this.autoHideLoadingUI&&this._scene.getEngine().hideLoadingUI()}},e.prototype._runTask=function(e){var t=this,n=function(n,i){e._setErrorObject(n,i),t.onTaskError&&t.onTaskError(e),t.onTaskErrorObservable.notifyObservers(e),t._decreaseWaitingTasksCount(e)};e.run(this._scene,(function(){try{t.onTaskSuccess&&t.onTaskSuccess(e),t.onTaskSuccessObservable.notifyObservers(e),t._decreaseWaitingTasksCount(e)}catch(e){n("Error executing task success callbacks",e)}}),n)},e.prototype.reset=function(){return this._isLoading=!1,this._tasks=new Array,this},e.prototype.load=function(){if(this._isLoading)return this;if(this._isLoading=!0,this._waitingTasksCount=this._tasks.length,this._totalTasksCount=this._tasks.length,0===this._waitingTasksCount)return this._isLoading=!1,this.onFinish&&this.onFinish(this._tasks),this.onTasksDoneObservable.notifyObservers(this._tasks),this;this.useDefaultLoadingScreen&&this._scene.getEngine().displayLoadingUI();for(var e=0;e=0&&this._meshes.splice(n,1),this._centerPosition=this._centerMesh.getAbsolutePosition().clone();for(var i=0;i0&&this._textureLoadingCallback(e)}this._currentScene.render()}},e.prototype.drag=function(e){e.stopPropagation(),e.preventDefault()},e.prototype.drop=function(e){e.stopPropagation(),e.preventDefault(),this.loadFiles(e)},e.prototype._traverseFolder=function(e,t,n,i){var r=this,o=e.createReader(),a=e.fullPath.replace(/^\//,"").replace(/(.+?)\/?$/,"$1/");o.readEntries((function(e){n.count+=e.length;for(var o=0,s=e;o0)){for(var n=new Array,i=[],r=e.dataTransfer?e.dataTransfer.items:null,o=0;o0&&m.a.ClearLogCache(),this._engine.stopRenderLoop()),Qi.a.LoadAsync("file:",this._sceneFileToLoad,this._engine,(function(t){e._progressCallback&&e._progressCallback(t)})).then((function(t){e._currentScene&&e._currentScene.dispose(),e._currentScene=t,e._sceneLoadedCallback&&e._sceneLoadedCallback(e._sceneFileToLoad,e._currentScene),e._currentScene.executeWhenReady((function(){e._engine.runRenderLoop((function(){e.renderFunction()}))}))})).catch((function(t){e._errorCallback&&e._errorCallback(e._sceneFileToLoad,e._currentScene,t.message)}))):m.a.Error("Please provide a valid .babylon file.")},e}(),Ph=n(184),Oh=n(183),Mh=function(){function e(e){void 0===e&&(e=0),this.priority=e}return e.prototype.getDescription=function(){return""},e.prototype.apply=function(e,t){return!0},e}(),Rh=function(e){function t(t,n,i){void 0===t&&(t=0),void 0===n&&(n=1024),void 0===i&&(i=.5);var r=e.call(this,t)||this;return r.priority=t,r.maximumSize=n,r.step=i,r}return Object(p.d)(t,e),t.prototype.getDescription=function(){return"Reducing render target texture size to "+this.maximumSize},t.prototype.apply=function(e,t){for(var n=!0,i=0;ithis.maximumSize&&(r.scale(this.step),n=!1)}}return n},t}(Mh),Ih=function(e){function t(t,n,i){void 0===t&&(t=0),void 0===n&&(n=2),void 0===i&&(i=.25);var r=e.call(this,t)||this;return r.priority=t,r.maximumScale=n,r.step=i,r._currentScale=-1,r._directionOffset=1,r}return Object(p.d)(t,e),t.prototype.getDescription=function(){return"Setting hardware scaling level to "+this._currentScale},t.prototype.apply=function(e,t){return-1===this._currentScale&&(this._currentScale=e.getEngine().getHardwareScalingLevel(),this._currentScale>this.maximumScale&&(this._directionOffset=-1)),this._currentScale+=this._directionOffset*this.step,e.getEngine().setHardwareScalingLevel(this._currentScale),1===this._directionOffset?this._currentScale>=this.maximumScale:this._currentScale<=this.maximumScale},t}(Mh),wh=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t.prototype.getDescription=function(){return"Turning shadows on/off"},t.prototype.apply=function(e,t){return e.shadowsEnabled=t.isInImprovementMode,!0},t}(Mh),Dh=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t.prototype.getDescription=function(){return"Turning post-processes on/off"},t.prototype.apply=function(e,t){return e.postProcessesEnabled=t.isInImprovementMode,!0},t}(Mh),Lh=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t.prototype.getDescription=function(){return"Turning lens flares on/off"},t.prototype.apply=function(e,t){return e.lensFlaresEnabled=t.isInImprovementMode,!0},t}(Mh),Nh=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t.prototype.getDescription=function(){return this.onGetDescription?this.onGetDescription():"Running user defined callback"},t.prototype.apply=function(e,t){return!this.onApply||this.onApply(e,t)},t}(Mh),Fh=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t.prototype.getDescription=function(){return"Turning particles on/off"},t.prototype.apply=function(e,t){return e.particlesEnabled=t.isInImprovementMode,!0},t}(Mh),Bh=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(p.d)(t,e),t.prototype.getDescription=function(){return"Turning render targets off"},t.prototype.apply=function(e,t){return e.renderTargetsEnabled=t.isInImprovementMode,!0},t}(Mh),kh=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._canBeMerged=function(e){if(!(e instanceof ve.a))return!1;var t=e;return!t.isDisposed()&&(!(!t.isVisible||!t.isEnabled())&&(!(t.instances.length>0)&&(!t.skeleton&&!t.hasLODLevels)))},t}return Object(p.d)(t,e),Object.defineProperty(t,"UpdateSelectionTree",{get:function(){return t._UpdateSelectionTree},set:function(e){t._UpdateSelectionTree=e},enumerable:!0,configurable:!0}),t.prototype.getDescription=function(){return"Merging similar meshes together"},t.prototype.apply=function(e,n,i){for(var r=e.meshes.slice(0),o=r.length,a=0;a=this._targetFrameRate)return this._isRunning=!1,void this.onSuccessObservable.notifyObservers(this);for(var i=!0,r=!0,o=0;o0){o.animationGroups=[];for(var p=0;p0)for(o.reflectionProbes=[],n=0;n0&&setTimeout((function(){n.stopRecording()}),1e3*t),this._fileName=e,this._recordedChunks=[],this._resolve=null,this._reject=null,this._canvas.isRecording=!0,this._mediaRecorder.start(this._options.recordChunckSize),new Promise((function(e,t){n._resolve=e,n._reject=t}))},e.prototype.dispose=function(){this._canvas=null,this._mediaRecorder=null,this._recordedChunks=[],this._fileName=null,this._resolve=null,this._reject=null},e.prototype._handleDataAvailable=function(e){e.data.size>0&&this._recordedChunks.push(e.data)},e.prototype._handleError=function(e){if(this.stopRecording(),!this._reject)throw new e.error;this._reject(e.error)},e.prototype._handleStop=function(){this.stopRecording();var e=new Blob(this._recordedChunks);this._resolve&&this._resolve(e),window.URL.createObjectURL(e),this._fileName&&Xe.b.Download(e,this._fileName)},e._defaultOptions={mimeType:"video/webm",fps:25,recordChunckSize:3e3},e}(),Qh=n(199),Kh=function(){function e(){}return e.CreateScreenshot=function(t,n,i,r,o){void 0===o&&(o="image/png");var a=e._getScreenshotSize(t,n,i),s=a.height,c=a.width;if(s&&c){Xe.b._ScreenshotCanvas||(Xe.b._ScreenshotCanvas=document.createElement("canvas")),Xe.b._ScreenshotCanvas.width=c,Xe.b._ScreenshotCanvas.height=s;var l=Xe.b._ScreenshotCanvas.getContext("2d"),u=t.getRenderWidth()/t.getRenderHeight(),p=c,h=p/u;h>s&&(p=(h=s)*u);var d=Math.max(0,c-p)/2,f=Math.max(0,s-h)/2,_=t.getRenderingCanvas();l&&_&&l.drawImage(_,d,f,p,h),Xe.b.EncodeScreenshotCanvasData(r,o)}else m.a.Error("Invalid 'size' parameter !")},e.CreateScreenshotAsync=function(t,n,i,r){return void 0===r&&(r="image/png"),new Promise((function(o,a){e.CreateScreenshot(t,n,i,(function(e){void 0!==e?o(e):a(new Error("Data is undefined"))}),r)}))},e.CreateScreenshotUsingRenderTarget=function(t,n,i,r,o,a,s,c,l){void 0===o&&(o="image/png"),void 0===a&&(a=1),void 0===s&&(s=!1),void 0===l&&(l=!1);var u=e._getScreenshotSize(t,n,i),p=u.height,h=u.width,d={width:h,height:p};if(p&&h){var f=n.getScene(),_=null;f.activeCamera!==n&&(_=f.activeCamera,f.activeCamera=n);var b=t.getRenderingCanvas();if(b){var g={width:b.width,height:b.height};t.setSize(h,p),f.render();var v=new ln.a("screenShot",d,f,!1,!1,0,!1,nn.a.NEAREST_SAMPLINGMODE);v.renderList=null,v.samples=a,v.renderSprites=l,v.onAfterRenderObservable.add((function(){Xe.b.DumpFramebuffer(h,p,t,r,o,c)}));var y=function(){f.incrementRenderId(),f.resetCachedMaterial(),v.render(!0),v.dispose(),_&&(f.activeCamera=_),t.setSize(g.width,g.height),n.getProjectionMatrix(!0)};if(s){var C=new tp("antialiasing",1,f.activeCamera);v.addPostProcess(C),C.getEffect().isReady()?y():C.getEffect().onCompiled=function(){y()}}else y()}else m.a.Error("No rendering canvas found !")}else m.a.Error("Invalid 'size' parameter !")},e.CreateScreenshotUsingRenderTargetAsync=function(t,n,i,r,o,a,s,c){return void 0===r&&(r="image/png"),void 0===o&&(o=1),void 0===a&&(a=!1),void 0===c&&(c=!1),new Promise((function(l,u){e.CreateScreenshotUsingRenderTarget(t,n,i,(function(e){void 0!==e?l(e):u(new Error("Data is undefined"))}),r,o,a,s,c)}))},e._getScreenshotSize=function(e,t,n){var i=0,r=0;if("object"==typeof n){var o=n.precision?Math.abs(n.precision):1;n.width&&n.height?(i=n.height*o,r=n.width*o):n.width&&!n.height?(r=n.width*o,i=Math.round(r/e.getAspectRatio(t))):n.height&&!n.width?(i=n.height*o,r=Math.round(i*e.getAspectRatio(t))):(r=Math.round(e.getRenderWidth()*o),i=Math.round(r/e.getAspectRatio(t)))}else isNaN(n)||(i=n,r=n);return r&&(r=Math.floor(r)),i&&(i=Math.floor(i)),{height:0|i,width:0|r}},e}();Xe.b.CreateScreenshot=Kh.CreateScreenshot,Xe.b.CreateScreenshotAsync=Kh.CreateScreenshotAsync,Xe.b.CreateScreenshotUsingRenderTarget=Kh.CreateScreenshotUsingRenderTarget,Xe.b.CreateScreenshotUsingRenderTargetAsync=Kh.CreateScreenshotUsingRenderTargetAsync,function(e){e[e.Checkbox=0]="Checkbox",e[e.Slider=1]="Slider",e[e.Vector3=2]="Vector3",e[e.Quaternion=3]="Quaternion",e[e.Color3=4]="Color3",e[e.String=5]="String"}(ph||(ph={}));var Zh=n(156),qh=n(194),Jh=n(178),$h=n(69),ed=n(161),td=function(e){function t(n,i){void 0===i&&(i={});var r=e.call(this,n)||this;return r.options=i,r._direction=new a.e(0,0,-1),r._mat=new a.a,r._onSelectEnabled=!1,r._origin=new a.e(0,0,0),r.lastNativeXRHitResults=[],r.onHitTestResultObservable=new o.c,r._onHitTestResults=function(e){var t=e.map((function(e){var t=a.a.FromArray(e.hitMatrix);return r._xrSessionManager.scene.useRightHandedSystem||t.toggleModelMatrixHandInPlace(),r.options.worldParentNode&&t.multiplyToRef(r.options.worldParentNode.getWorldMatrix(),t),{xrHitResult:e,transformationMatrix:t}}));r.lastNativeXRHitResults=e,r.onHitTestResultObservable.notifyObservers(t)},r._onSelect=function(e){r._onSelectEnabled&&t.XRHitTestWithSelectEvent(e,r._xrSessionManager.referenceSpace)},r}return Object(p.d)(t,e),t.XRHitTestWithRay=function(e,t,n,i){return e.requestHitTest(t,n).then((function(e){var t=i||function(e){return!!e.hitMatrix};return e.filter(t)}))},t.XRHitTestWithSelectEvent=function(e,t){var n=e.frame.getPose(e.inputSource.targetRaySpace,t);if(!n)return Promise.resolve([]);var i=new XRRay(n.transform);return this.XRHitTestWithRay(e.frame.session,i,t)},t.prototype.attach=function(){return!!e.prototype.attach.call(this)&&(this.options.testOnPointerDownOnly&&this._xrSessionManager.session.addEventListener("select",this._onSelect,!1),!0)},t.prototype.detach=function(){return!!e.prototype.detach.call(this)&&(this._onSelectEnabled=!1,this._xrSessionManager.session.removeEventListener("select",this._onSelect),!0)},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.onHitTestResultObservable.clear()},t.prototype._onXRFrame=function(e){if(this.attached&&!this.options.testOnPointerDownOnly){var n=e.getViewerPose(this._xrSessionManager.referenceSpace);if(n){a.a.FromArrayToRef(n.transform.matrix,0,this._mat),a.e.TransformCoordinatesFromFloatsToRef(0,0,0,this._mat,this._origin),a.e.TransformCoordinatesFromFloatsToRef(0,0,-1,this._mat,this._direction),this._direction.subtractInPlace(this._origin),this._direction.normalize();var i=new XRRay({x:this._origin.x,y:this._origin.y,z:this._origin.z,w:0},{x:this._direction.x,y:this._direction.y,z:this._direction.z,w:0});t.XRHitTestWithRay(this._xrSessionManager.session,i,this._xrSessionManager.referenceSpace).then(this._onHitTestResults)}}},t.Name=oo.HIT_TEST,t.Version=1,t}(go);ao.AddWebXRFeature(td.Name,(function(e,t){return function(){return new td(e,t)}}),td.Version,!0);var nd=0,id=function(e){function t(t,n){void 0===n&&(n={});var i=e.call(this,t)||this;return i._options=n,i._enabled=!1,i._lastFrameDetected=new Set,i._onSelect=function(e){if(i._options.addAnchorOnSelect){var t=function(e){if(e.length){var t=e[0],n=new XRRigidTransform(t.hitMatrix);i.addAnchorAtRigidTransformation(n)}};i._hitTestModule&&!i._hitTestModule.options.testOnPointerDownOnly&&t(i._hitTestModule.lastNativeXRHitResults),td.XRHitTestWithSelectEvent(e,i._xrSessionManager.referenceSpace).then(t),i._planeDetector}},i._trackedAnchors=[],i.onAnchorAddedObservable=new o.c,i.onAnchorRemovedObservable=new o.c,i.onAnchorUpdatedObservable=new o.c,i}return Object(p.d)(t,e),t.prototype.addAnchorAtRigidTransformation=function(e,t){return(t||this._xrSessionManager.session).createAnchor(e,this._xrSessionManager.referenceSpace)},t.prototype.attach=function(){return!!e.prototype.attach.call(this)&&(this._options.addAnchorOnSelect&&this._xrSessionManager.session.addEventListener("select",this._onSelect,!1),!0)},t.prototype.detach=function(){return!!e.prototype.detach.call(this)&&(this._xrSessionManager.session.removeEventListener("select",this._onSelect),!0)},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.onAnchorAddedObservable.clear(),this.onAnchorRemovedObservable.clear(),this.onAnchorUpdatedObservable.clear()},t.prototype.setHitTestModule=function(e){this._hitTestModule=e},t.prototype.setPlaneDetector=function(e,t){void 0===t&&(t=!0),this._planeDetector=e,this._options.usePlaneDetection=t},t.prototype._onXRFrame=function(e){var t=this;if(this.attached&&this._enabled&&e){var n=e.trackedAnchors;n&&n.size&&(this._trackedAnchors.filter((function(e){return!n.has(e.xrAnchor)})).map((function(e){var n=t._trackedAnchors.indexOf(e);t._trackedAnchors.splice(n,1),t.onAnchorRemovedObservable.notifyObservers(e)})),n.forEach((function(n){if(t._lastFrameDetected.has(n)){if(n.lastChangedTime===t._xrSessionManager.currentTimestamp){var i=t._findIndexInAnchorArray(n),r=t._trackedAnchors[i];t._updateAnchorWithXRFrame(n,r,e),t.onAnchorUpdatedObservable.notifyObservers(r)}}else{var o={id:nd++,xrAnchor:n},a=t._updateAnchorWithXRFrame(n,o,e);t._trackedAnchors.push(a),t.onAnchorAddedObservable.notifyObservers(a)}})),this._lastFrameDetected=n)}},t.prototype._findIndexInAnchorArray=function(e){for(var t=0;t0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"morphTargetManager",{get:function(){return this._internalMeshDataInfo._morphTargetManager},set:function(e){this._internalMeshDataInfo._morphTargetManager!==e&&(this._internalMeshDataInfo._morphTargetManager=e,this._syncGeometryWithMorphTargetManager())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"source",{get:function(){return this._internalMeshDataInfo._source},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isUnIndexed",{get:function(){return this._unIndexed},set:function(e){this._unIndexed!==e&&(this._unIndexed=e,this._markSubMeshesAsAttributesDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"worldMatrixInstancedBuffer",{get:function(){return this._instanceDataStorage.instancesData},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"manualUpdateOfWorldMatrixInstancedBuffer",{get:function(){return this._instanceDataStorage.manualUpdate},set:function(e){this._instanceDataStorage.manualUpdate=e},enumerable:!0,configurable:!0}),t.prototype.instantiateHierarchy=function(e,t,n){void 0===e&&(e=null);var i=!(this.getTotalVertices()>0)||t&&t.doNotInstantiate?this.clone("Clone of "+(this.name||this.id),e||this.parent,!0):this.createInstance("instance of "+(this.name||this.id));i&&(i.parent=e||this.parent,i.position=this.position.clone(),i.scaling=this.scaling.clone(),this.rotationQuaternion?i.rotationQuaternion=this.rotationQuaternion.clone():i.rotation=this.rotation.clone(),n&&n(this,i));for(var r=0,o=this.getChildTransformNodes(!0);r0},enumerable:!0,configurable:!0}),t.prototype.getLODLevels=function(){return this._internalMeshDataInfo._LODLevels},t.prototype._sortLODLevels=function(){this._internalMeshDataInfo._LODLevels.sort((function(e,t){return e.distancet.distance?-1:0}))},t.prototype.addLODLevel=function(e,t){if(t&&t._masterMesh)return C.a.Warn("You cannot use a mesh as LOD level twice"),this;var n=new T.a(e,t);return this._internalMeshDataInfo._LODLevels.push(n),t&&(t._masterMesh=this),this._sortLODLevels(),this},t.prototype.getLODLevelAtDistance=function(e){for(var t=this._internalMeshDataInfo,n=0;nr)return this.onLODLevelSelection&&this.onLODLevelSelection(r,this,this),this;for(var o=0;o0;this.computeWorldMatrix();var a=this.material||r.defaultMaterial;if(a)if(a._storeEffectOnSubMeshes)for(var s=0,c=this.subMeshes;s0){var n=this.getIndices();if(!n)return null;var i=n.length,r=!1;if(e)r=!0;else for(var o=0,a=this.subMeshes;o=i){r=!0;break}if(s.verticesStart+s.verticesCount>=t){r=!0;break}}if(!r)return this.subMeshes[0]}return this.releaseSubMeshes(),new _.b(0,0,t,0,this.getTotalIndices(),this)},t.prototype.subdivide=function(e){if(!(e<1)){for(var t=this.getTotalIndices(),n=t/e|0,i=0;n%3!=0;)n++;this.releaseSubMeshes();for(var r=0;r=t);r++)_.b.CreateFromIndices(0,i,Math.min(n,t-i),this),i+=n;this.synchronizeInstances()}},t.prototype.setVerticesData=function(e,t,n,i){if(void 0===n&&(n=!1),this._geometry)this._geometry.setVerticesData(e,t,n,i);else{var r=new h.a;r.set(t,e);var o=this.getScene();new d.a(d.a.RandomId(),o,r,n,this)}return this},t.prototype.removeVerticesData=function(e){this._geometry&&this._geometry.removeVerticesData(e)},t.prototype.markVerticesDataAsUpdatable=function(e,t){void 0===t&&(t=!0);var n=this.getVertexBuffer(e);n&&n.isUpdatable()!==t&&this.setVerticesData(e,this.getVerticesData(e),t)},t.prototype.setVerticesBuffer=function(e){return this._geometry||(this._geometry=d.a.CreateGeometryForMesh(this)),this._geometry.setVerticesBuffer(e),this},t.prototype.updateVerticesData=function(e,t,n,i){return this._geometry?(i?(this.makeGeometryUnique(),this.updateVerticesData(e,t,n,!1)):this._geometry.updateVerticesData(e,t,n),this):this},t.prototype.updateMeshPositions=function(e,t){void 0===t&&(t=!0);var n=this.getVerticesData(p.b.PositionKind);if(!n)return this;if(e(n),this.updateVerticesData(p.b.PositionKind,n,!1,!1),t){var i=this.getIndices(),r=this.getVerticesData(p.b.NormalKind);if(!r)return this;h.a.ComputeNormals(n,i,r),this.updateVerticesData(p.b.NormalKind,r,!1,!1)}return this},t.prototype.makeGeometryUnique=function(){if(!this._geometry)return this;var e=this._geometry,t=this._geometry.copy(d.a.RandomId());return e.releaseForMesh(this,!0),t.applyToMesh(this),this},t.prototype.setIndices=function(e,t,n){if(void 0===t&&(t=null),void 0===n&&(n=!1),this._geometry)this._geometry.setIndices(e,t,n);else{var i=new h.a;i.indices=e;var r=this.getScene();new d.a(d.a.RandomId(),r,i,n,this)}return this},t.prototype.updateIndices=function(e,t,n){return void 0===n&&(n=!1),this._geometry?(this._geometry.updateIndices(e,t,n),this):this},t.prototype.toLeftHanded=function(){return this._geometry?(this._geometry.toLeftHanded(),this):this},t.prototype._bind=function(e,t,n){if(!this._geometry)return this;var i,r=this.getScene().getEngine();if(this._unIndexed)i=null;else switch(n){case b.a.PointFillMode:i=null;break;case b.a.WireFrameFillMode:i=e._getLinesIndexBuffer(this.getIndices(),r);break;default:case b.a.TriangleFillMode:i=this._geometry.getIndexBuffer()}return this._geometry._bind(t,i),this},t.prototype._draw=function(e,t,n){if(!this._geometry||!this._geometry.getVertexBuffers()||!this._unIndexed&&!this._geometry.getIndexBuffer())return this;this._internalMeshDataInfo._onBeforeDrawObservable&&this._internalMeshDataInfo._onBeforeDrawObservable.notifyObservers(this);var i=this.getScene().getEngine();return this._unIndexed||t==b.a.PointFillMode?i.drawArraysType(t,e.verticesStart,e.verticesCount,n):t==b.a.WireFrameFillMode?i.drawElementsType(t,0,e._linesIndexCount,n):i.drawElementsType(t,e.indexStart,e.indexCount,n),this},t.prototype.registerBeforeRender=function(e){return this.onBeforeRenderObservable.add(e),this},t.prototype.unregisterBeforeRender=function(e){return this.onBeforeRenderObservable.removeCallback(e),this},t.prototype.registerAfterRender=function(e){return this.onAfterRenderObservable.add(e),this},t.prototype.unregisterAfterRender=function(e){return this.onAfterRenderObservable.removeCallback(e),this},t.prototype._getInstancesRenderList=function(e,t){if(void 0===t&&(t=!1),this._instanceDataStorage.isFrozen&&this._instanceDataStorage.previousBatch)return this._instanceDataStorage.previousBatch;var n=this.getScene(),i=n._isInIntermediateRendering(),r=i?this._internalAbstractMeshDataInfo._onlyForInstancesIntermediate:this._internalAbstractMeshDataInfo._onlyForInstances,o=this._instanceDataStorage.batchCache;if(o.mustReturn=!1,o.renderSelf[e]=t||!r&&this.isEnabled()&&this.isVisible,o.visibleInstances[e]=null,this._instanceDataStorage.visibleInstances&&!t){var a=this._instanceDataStorage.visibleInstances,s=n.getRenderId(),c=i?a.intermediateDefaultRenderId:a.defaultRenderId;o.visibleInstances[e]=a[s],!o.visibleInstances[e]&&c&&(o.visibleInstances[e]=a[c])}return o.hardwareInstancedRendering[e]=!t&&this._instanceDataStorage.hardwareInstancedRendering&&null!==o.visibleInstances[e]&&void 0!==o.visibleInstances[e],this._instanceDataStorage.previousBatch=o,o},t.prototype._renderWithInstances=function(e,t,n,i,r){var o=n.visibleInstances[e._id];if(!o)return this;for(var a=this._instanceDataStorage,s=a.instancesBufferSize,c=a.instancesBuffer,l=16*(o.length+1)*4;a.instancesBufferSizeu&&i++,0!==_&&d++,h+=_,u=_}if(c[d]++,d>o&&(o=d),0===h)r++;else{var m=1/h,b=0;for(f=0;f.001&&a++}}var g=this.skeleton.bones.length,v=this.getVerticesData(p.b.MatricesIndicesKind),y=this.getVerticesData(p.b.MatricesIndicesExtraKind),C=0;for(l=0;l=g||A<0)&&C++}return{skinned:!0,valid:0===r&&0===a&&0===C,report:"Number of Weights = "+n/4+"\nMaximum influences = "+o+"\nMissing Weights = "+r+"\nNot Sorted = "+i+"\nNot Normalized = "+a+"\nWeightCounts = ["+c+"]\nNumber of bones = "+g+"\nBad Bone Indices = "+C}},t.prototype._checkDelayState=function(){var e=this.getScene();return this._geometry?this._geometry.load(e):4===this.delayLoadState&&(this.delayLoadState=2,this._queueLoad(e)),this},t.prototype._queueLoad=function(e){var t=this;e._addPendingData(this);var n=-1!==this.delayLoadingFile.indexOf(".babylonbinarymeshdata");return o.b.LoadFile(this.delayLoadingFile,(function(n){n instanceof ArrayBuffer?t._delayLoadingFunction(n,t):t._delayLoadingFunction(JSON.parse(n),t),t.instances.forEach((function(e){e.refreshBoundingInfo(),e._syncSubMeshes()})),t.delayLoadState=1,e._removePendingData(t)}),(function(){}),e.offlineProvider,n),this},t.prototype.isInFrustum=function(t){return 2!==this.delayLoadState&&(!!e.prototype.isInFrustum.call(this,t)&&(this._checkDelayState(),!0))},t.prototype.setMaterialByID=function(e){var t,n=this.getScene().materials;for(t=n.length-1;t>-1;t--)if(n[t].id===e)return this.material=n[t],this;var i=this.getScene().multiMaterials;for(t=i.length-1;t>-1;t--)if(i[t].id===e)return this.material=i[t],this;return this},t.prototype.getAnimatables=function(){var e=new Array;return this.material&&e.push(this.material),this.skeleton&&e.push(this.skeleton),e},t.prototype.bakeTransformIntoVertices=function(e){if(!this.isVerticesDataPresent(p.b.PositionKind))return this;var t=this.subMeshes.splice(0);this._resetPointsArrayCache();var n,i=this.getVerticesData(p.b.PositionKind),r=new Array;for(n=0;n-1&&(r.morphTargetManager=n.getMorphTargetManagerById(e.morphTargetManagerId)),e.skeletonId>-1&&(r.skeleton=n.getLastSkeletonByID(e.skeletonId),e.numBoneInfluencers&&(r.numBoneInfluencers=e.numBoneInfluencers)),e.animations){for(var o=0;o4,u=l?this.getVerticesData(p.b.MatricesIndicesExtraKind):null,h=l?this.getVerticesData(p.b.MatricesWeightsExtraKind):null,d=e.getTransformMatrices(this),f=c.e.Zero(),_=new c.a,m=new c.a,b=0,g=0;g0&&(c.a.FromFloat32ArrayToRefScaled(d,Math.floor(16*o[b+s]),v,m),_.addToSelf(m));if(l)for(s=0;s<4;s++)(v=h[b+s])>0&&(c.a.FromFloat32ArrayToRefScaled(d,Math.floor(16*u[b+s]),v,m),_.addToSelf(m));c.e.TransformCoordinatesFromFloatsToRef(t._sourcePositions[g],t._sourcePositions[g+1],t._sourcePositions[g+2],_,f),f.toArray(i,g),c.e.TransformNormalFromFloatsToRef(t._sourceNormals[g],t._sourceNormals[g+1],t._sourceNormals[g+2],_,f),f.toArray(r,g),_.reset()}return this.updateVerticesData(p.b.PositionKind,i),this.updateVerticesData(p.b.NormalKind,r),this},t.MinMax=function(e){var t=null,n=null;return e.forEach((function(e){var i=e.getBoundingInfo().boundingBox;t&&n?(t.minimizeInPlace(i.minimumWorld),n.maximizeInPlace(i.maximumWorld)):(t=i.minimumWorld,n=i.maximumWorld)})),t&&n?{min:t,max:n}:{min:c.e.Zero(),max:c.e.Zero()}},t.Center=function(e){var n=e instanceof Array?t.MinMax(e):e;return c.e.Center(n.min,n.max)},t.MergeMeshes=function(e,n,i,r,o,a){var s;if(void 0===n&&(n=!0),!i){var c=0;for(s=0;s=65536)return C.a.Warn("Cannot merge meshes because resulting mesh will have more than 65536 vertices. Please use allow32BitsIndices = true to use 32 bits indices"),null}if(a){var l,u,p=null;o=!1}var d,f=new Array,m=new Array,b=null,v=new Array,y=null;for(s=0;s
";e._AddLogEntry(i)},e._WarnDisabled=function(e){},e._WarnEnabled=function(t){var n=e._FormatMessage(t);console.warn("BJS - "+n);var i="
"+n+"

";e._AddLogEntry(i)},e._ErrorDisabled=function(e){},e._ErrorEnabled=function(t){e.errorsCount++;var n=e._FormatMessage(t);console.error("BJS - "+n);var i="
"+n+"

";e._AddLogEntry(i)},Object.defineProperty(e,"LogCache",{get:function(){return e._LogCache},enumerable:!0,configurable:!0}),e.ClearLogCache=function(){e._LogCache="",e.errorsCount=0},Object.defineProperty(e,"LogLevels",{set:function(t){(t&e.MessageLogLevel)===e.MessageLogLevel?e.Log=e._LogEnabled:e.Log=e._LogDisabled,(t&e.WarningLogLevel)===e.WarningLogLevel?e.Warn=e._WarnEnabled:e.Warn=e._WarnDisabled,(t&e.ErrorLogLevel)===e.ErrorLogLevel?e.Error=e._ErrorEnabled:e.Error=e._ErrorDisabled},enumerable:!0,configurable:!0}),e.NoneLogLevel=0,e.MessageLogLevel=1,e.WarningLogLevel=2,e.ErrorLogLevel=4,e.AllLogLevel=7,e._LogCache="",e.errorsCount=0,e.Log=e._LogEnabled,e.Warn=e._WarnEnabled,e.Error=e._ErrorEnabled,e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var i=n(10),r=n(18),o=n(25),a=n(3),s=n(53),c=n(4),l=function(){function e(){}return e.BindEyePosition=function(e,t){if(t._forcedViewPosition)e.setVector3("vEyePosition",t._forcedViewPosition);else{var n=t.activeCamera.globalPosition;n||(n=t.activeCamera.devicePosition),e.setVector3("vEyePosition",t._mirroredCameraPosition?t._mirroredCameraPosition:n)}},e.PrepareDefinesForMergedUV=function(e,t,n){t._needUVs=!0,t[n]=!0,e.getTextureMatrix().isIdentityAs3x2()?(t[n+"DIRECTUV"]=e.coordinatesIndex+1,0===e.coordinatesIndex?t.MAINUV1=!0:t.MAINUV2=!0):t[n+"DIRECTUV"]=0},e.BindTextureMatrix=function(e,t,n){var i=e.getTextureMatrix();t.updateMatrix(n+"Matrix",i)},e.GetFogState=function(e,t){return t.fogEnabled&&e.applyFog&&t.fogMode!==r.a.FOGMODE_NONE},e.PrepareDefinesForMisc=function(e,t,n,i,r,o,a){a._areMiscDirty&&(a.LOGARITHMICDEPTH=n,a.POINTSIZE=i,a.FOG=r&&this.GetFogState(e,t),a.NONUNIFORMSCALING=e.nonUniformScaling,a.ALPHATEST=o)},e.PrepareDefinesForFrameBoundValues=function(e,t,n,i,r){void 0===r&&(r=null);var o,a,s,c,l,u,p=!1;o=null==r?void 0!==e.clipPlane&&null!==e.clipPlane:r,a=null==r?void 0!==e.clipPlane2&&null!==e.clipPlane2:r,s=null==r?void 0!==e.clipPlane3&&null!==e.clipPlane3:r,c=null==r?void 0!==e.clipPlane4&&null!==e.clipPlane4:r,l=null==r?void 0!==e.clipPlane5&&null!==e.clipPlane5:r,u=null==r?void 0!==e.clipPlane6&&null!==e.clipPlane6:r,n.CLIPPLANE!==o&&(n.CLIPPLANE=o,p=!0),n.CLIPPLANE2!==a&&(n.CLIPPLANE2=a,p=!0),n.CLIPPLANE3!==s&&(n.CLIPPLANE3=s,p=!0),n.CLIPPLANE4!==c&&(n.CLIPPLANE4=c,p=!0),n.CLIPPLANE5!==l&&(n.CLIPPLANE5=l,p=!0),n.CLIPPLANE6!==u&&(n.CLIPPLANE6=u,p=!0),n.DEPTHPREPASS!==!t.getColorWrite()&&(n.DEPTHPREPASS=!n.DEPTHPREPASS,p=!0),n.INSTANCES!==i&&(n.INSTANCES=i,p=!0),p&&n.markAsUnprocessed()},e.PrepareDefinesForBones=function(e,t){if(e.useBones&&e.computeBonesUsingShaders&&e.skeleton){t.NUM_BONE_INFLUENCERS=e.numBoneInfluencers;var n=void 0!==t.BONETEXTURE;e.skeleton.isUsingTextureForMatrices&&n?t.BONETEXTURE=!0:(t.BonesPerMesh=e.skeleton.bones.length+1,t.BONETEXTURE=!n&&void 0)}else t.NUM_BONE_INFLUENCERS=0,t.BonesPerMesh=0},e.PrepareDefinesForMorphTargets=function(e,t){var n=e.morphTargetManager;n?(t.MORPHTARGETS_UV=n.supportsUVs&&t.UV1,t.MORPHTARGETS_TANGENT=n.supportsTangents&&t.TANGENT,t.MORPHTARGETS_NORMAL=n.supportsNormals&&t.NORMAL,t.MORPHTARGETS=n.numInfluencers>0,t.NUM_MORPH_INFLUENCERS=n.numInfluencers):(t.MORPHTARGETS_UV=!1,t.MORPHTARGETS_TANGENT=!1,t.MORPHTARGETS_NORMAL=!1,t.MORPHTARGETS=!1,t.NUM_MORPH_INFLUENCERS=0)},e.PrepareDefinesForAttributes=function(e,t,n,i,r,o){if(void 0===r&&(r=!1),void 0===o&&(o=!0),!t._areAttributesDirty&&t._needNormals===t._normals&&t._needUVs===t._uvs)return!1;if(t._normals=t._needNormals,t._uvs=t._needUVs,t.NORMAL=t._needNormals&&e.isVerticesDataPresent(a.b.NormalKind),t._needNormals&&e.isVerticesDataPresent(a.b.TangentKind)&&(t.TANGENT=!0),t._needUVs?(t.UV1=e.isVerticesDataPresent(a.b.UVKind),t.UV2=e.isVerticesDataPresent(a.b.UV2Kind)):(t.UV1=!1,t.UV2=!1),n){var s=e.useVertexColors&&e.isVerticesDataPresent(a.b.ColorKind);t.VERTEXCOLOR=s,t.VERTEXALPHA=e.hasVertexAlpha&&s&&o}return i&&this.PrepareDefinesForBones(e,t),r&&this.PrepareDefinesForMorphTargets(e,t),!0},e.PrepareDefinesForMultiview=function(e,t){if(e.activeCamera){var n=t.MULTIVIEW;t.MULTIVIEW=null!==e.activeCamera.outputRenderTarget&&e.activeCamera.outputRenderTarget.getViewCount()>1,t.MULTIVIEW!=n&&t.markAsUnprocessed()}},e.PrepareDefinesForLight=function(e,t,n,i,r,o,a){switch(a.needNormals=!0,void 0===r["LIGHT"+i]&&(a.needRebuild=!0),r["LIGHT"+i]=!0,r["SPOTLIGHT"+i]=!1,r["HEMILIGHT"+i]=!1,r["POINTLIGHT"+i]=!1,r["DIRLIGHT"+i]=!1,n.prepareLightSpecificDefines(r,i),r["LIGHT_FALLOFF_PHYSICAL"+i]=!1,r["LIGHT_FALLOFF_GLTF"+i]=!1,r["LIGHT_FALLOFF_STANDARD"+i]=!1,n.falloffType){case s.a.FALLOFF_GLTF:r["LIGHT_FALLOFF_GLTF"+i]=!0;break;case s.a.FALLOFF_PHYSICAL:r["LIGHT_FALLOFF_PHYSICAL"+i]=!0;break;case s.a.FALLOFF_STANDARD:r["LIGHT_FALLOFF_STANDARD"+i]=!0}if(o&&!n.specular.equalsFloats(0,0,0)&&(a.specularEnabled=!0),r["SHADOW"+i]=!1,r["SHADOWCSM"+i]=!1,r["SHADOWCSMDEBUG"+i]=!1,r["SHADOWCSMNUM_CASCADES"+i]=!1,r["SHADOWCSMUSESHADOWMAXZ"+i]=!1,r["SHADOWCSMNOBLEND"+i]=!1,r["SHADOWCSM_RIGHTHANDED"+i]=!1,r["SHADOWPCF"+i]=!1,r["SHADOWPCSS"+i]=!1,r["SHADOWPOISSON"+i]=!1,r["SHADOWESM"+i]=!1,r["SHADOWCUBE"+i]=!1,r["SHADOWLOWQUALITY"+i]=!1,r["SHADOWMEDIUMQUALITY"+i]=!1,t&&t.receiveShadows&&e.shadowsEnabled&&n.shadowEnabled){var c=n.getShadowGenerator();if(c){var l=c.getShadowMap();l&&l.renderList&&l.renderList.length>0&&(a.shadowEnabled=!0,c.prepareDefines(r,i))}}n.lightmapMode!=s.a.LIGHTMAP_DEFAULT?(a.lightmapMode=!0,r["LIGHTMAPEXCLUDED"+i]=!0,r["LIGHTMAPNOSPECULAR"+i]=n.lightmapMode==s.a.LIGHTMAP_SHADOWSONLY):(r["LIGHTMAPEXCLUDED"+i]=!1,r["LIGHTMAPNOSPECULAR"+i]=!1)},e.PrepareDefinesForLights=function(e,t,n,i,r,o){if(void 0===r&&(r=4),void 0===o&&(o=!1),!n._areLightsDirty)return n._needNormals;var a=0,s={needNormals:!1,needRebuild:!1,lightmapMode:!1,shadowEnabled:!1,specularEnabled:!1};if(e.lightsEnabled&&!o)for(var c=0,l=t.lightSources;c0&&(r=i+o,t.addFallback(r,"LIGHT"+o)),e.SHADOWS||(e["SHADOW"+o]&&t.addFallback(i,"SHADOW"+o),e["SHADOWPCF"+o]&&t.addFallback(i,"SHADOWPCF"+o),e["SHADOWPCSS"+o]&&t.addFallback(i,"SHADOWPCSS"+o),e["SHADOWPOISSON"+o]&&t.addFallback(i,"SHADOWPOISSON"+o),e["SHADOWESM"+o]&&t.addFallback(i,"SHADOWESM"+o));return r++},e.PrepareAttributesForMorphTargetsInfluencers=function(e,t,n){this._TmpMorphInfluencers.NUM_MORPH_INFLUENCERS=n,this.PrepareAttributesForMorphTargets(e,t,this._TmpMorphInfluencers)},e.PrepareAttributesForMorphTargets=function(e,t,n){var r=n.NUM_MORPH_INFLUENCERS;if(r>0&&o.a.LastCreatedEngine)for(var s=o.a.LastCreatedEngine.getCaps().maxVertexAttribs,c=t.morphTargetManager,l=c&&c.supportsNormals&&n.NORMAL,u=c&&c.supportsTangents&&n.TANGENT,p=c&&c.supportsUVs&&n.UV1,h=0;hs&&i.a.Error("Cannot add more vertex attributes for mesh "+t.name)},e.PrepareAttributesForBones=function(e,t,n,i){n.NUM_BONE_INFLUENCERS>0&&(i.addCPUSkinningFallback(0,t),e.push(a.b.MatricesIndicesKind),e.push(a.b.MatricesWeightsKind),n.NUM_BONE_INFLUENCERS>4&&(e.push(a.b.MatricesIndicesExtraKind),e.push(a.b.MatricesWeightsExtraKind)))},e.PrepareAttributesForInstances=function(e,t){t.INSTANCES&&this.PushAttributesForInstances(e)},e.PushAttributesForInstances=function(e){e.push("world0"),e.push("world1"),e.push("world2"),e.push("world3")},e.BindLightProperties=function(e,t,n){e.transferToEffect(t,n+"")},e.BindLight=function(e,t,n,i,r,o){void 0===o&&(o=!1),e._bindLight(t,n,i,r,o)},e.BindLights=function(e,t,n,i,r,o){void 0===r&&(r=4),void 0===o&&(o=!1);for(var a=Math.min(t.lightSources.length,r),s=0;s-1){var i=n.getTransformMatrixTexture(e);t.setTexture("boneSampler",i),t.setFloat("boneTextureWidth",4*(n.bones.length+1))}else{var r=n.getTransformMatrices(e);r&&t.setMatrices("mBones",r)}}},e.BindMorphTargetParameters=function(e,t){var n=e.morphTargetManager;e&&n&&t.setFloatArray("morphTargetInfluences",n.influences)},e.BindLogDepth=function(e,t,n){e.LOGARITHMICDEPTH&&t.setFloat("logarithmicDepthConstant",2/(Math.log(n.activeCamera.maxZ+1)/Math.LN2))},e.BindClipPlane=function(e,t){if(t.clipPlane){var n=t.clipPlane;e.setFloat4("vClipPlane",n.normal.x,n.normal.y,n.normal.z,n.d)}if(t.clipPlane2){n=t.clipPlane2;e.setFloat4("vClipPlane2",n.normal.x,n.normal.y,n.normal.z,n.d)}if(t.clipPlane3){n=t.clipPlane3;e.setFloat4("vClipPlane3",n.normal.x,n.normal.y,n.normal.z,n.d)}if(t.clipPlane4){n=t.clipPlane4;e.setFloat4("vClipPlane4",n.normal.x,n.normal.y,n.normal.z,n.d)}if(t.clipPlane5){n=t.clipPlane5;e.setFloat4("vClipPlane5",n.normal.x,n.normal.y,n.normal.z,n.d)}if(t.clipPlane6){n=t.clipPlane6;e.setFloat4("vClipPlane6",n.normal.x,n.normal.y,n.normal.z,n.d)}},e._TmpMorphInfluencers={NUM_MORPH_INFLUENCERS:0},e._tempFogColor=c.a.Black(),e}()},function(e,t,n){"use strict";n.d(t,"b",(function(){return m})),n.d(t,"c",(function(){return b})),n.d(t,"a",(function(){return g}));var i=n(5),r=n(52),o=n(10),a=n(48),s=n(71),c=n(21),l=n(95),u=n(25),p=n(69),h=n(183),d=n(169),f=n(162),_=n(202),m=function(){function e(){}return Object.defineProperty(e,"BaseUrl",{get:function(){return p.a.BaseUrl},set:function(e){p.a.BaseUrl=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"DefaultRetryStrategy",{get:function(){return p.a.DefaultRetryStrategy},set:function(e){p.a.DefaultRetryStrategy=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"UseFallbackTexture",{get:function(){return u.a.UseFallbackTexture},set:function(e){u.a.UseFallbackTexture=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"RegisteredExternalClasses",{get:function(){return f.a.RegisteredExternalClasses},set:function(e){f.a.RegisteredExternalClasses=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"fallbackTexture",{get:function(){return u.a.FallbackTexture},set:function(e){u.a.FallbackTexture=e},enumerable:!0,configurable:!0}),e.FetchToRef=function(e,t,n,i,r,o){var a=4*((Math.abs(e)*n%n|0)+(Math.abs(t)*i%i|0)*n);o.r=r[a]/255,o.g=r[a+1]/255,o.b=r[a+2]/255,o.a=r[a+3]/255},e.Mix=function(e,t,n){return e*(1-n)+t*n},e.Instantiate=function(e){return f.a.Instantiate(e)},e.Slice=function(e,t,n){return e.slice?e.slice(t,n):Array.prototype.slice.call(e,t,n)},e.SetImmediate=function(e){d.a.SetImmediate(e)},e.IsExponentOfTwo=function(e){var t=1;do{t*=2}while(t=t)break;if(i(a),o&&o()){e.breakLoop();break}}e.executeNext()}),a)}),r)},e}();u.a.FallbackTexture="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBmRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAAExAAIAAAAQAAAATgAAAAAAAABgAAAAAQAAAGAAAAABcGFpbnQubmV0IDQuMC41AP/bAEMABAIDAwMCBAMDAwQEBAQFCQYFBQUFCwgIBgkNCw0NDQsMDA4QFBEODxMPDAwSGBITFRYXFxcOERkbGRYaFBYXFv/bAEMBBAQEBQUFCgYGChYPDA8WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFv/AABEIAQABAAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APH6KKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76P//Z",h.a.Apply()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){}return e.GetClass=function(e){return this.RegisteredTypes&&this.RegisteredTypes[e]?this.RegisteredTypes[e]:null},e.RegisteredTypes={},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var i=n(1),r=n(5),o=n(52),a=n(25),s=n(21),c=n(36),l=n(184),u=n(63),p=n(125),h=n(10);c.a.prototype.setAlphaConstants=function(e,t,n,i){this._alphaState.setAlphaBlendConstants(e,t,n,i)},c.a.prototype.setAlphaMode=function(e,t){if(void 0===t&&(t=!1),this._alphaMode!==e){switch(e){case 0:this._alphaState.alphaBlend=!1;break;case 7:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE_MINUS_SRC_ALPHA,this._gl.ONE,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case 8:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE_MINUS_SRC_ALPHA,this._gl.ONE,this._gl.ONE_MINUS_SRC_ALPHA),this._alphaState.alphaBlend=!0;break;case 2:this._alphaState.setAlphaBlendFunctionParameters(this._gl.SRC_ALPHA,this._gl.ONE_MINUS_SRC_ALPHA,this._gl.ONE,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case 6:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE,this._gl.ZERO,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case 1:this._alphaState.setAlphaBlendFunctionParameters(this._gl.SRC_ALPHA,this._gl.ONE,this._gl.ZERO,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case 3:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ZERO,this._gl.ONE_MINUS_SRC_COLOR,this._gl.ONE,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case 4:this._alphaState.setAlphaBlendFunctionParameters(this._gl.DST_COLOR,this._gl.ZERO,this._gl.ONE,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case 5:this._alphaState.setAlphaBlendFunctionParameters(this._gl.SRC_ALPHA,this._gl.ONE_MINUS_SRC_COLOR,this._gl.ONE,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case 9:this._alphaState.setAlphaBlendFunctionParameters(this._gl.CONSTANT_COLOR,this._gl.ONE_MINUS_CONSTANT_COLOR,this._gl.CONSTANT_ALPHA,this._gl.ONE_MINUS_CONSTANT_ALPHA),this._alphaState.alphaBlend=!0;break;case 10:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE_MINUS_SRC_COLOR,this._gl.ONE,this._gl.ONE_MINUS_SRC_ALPHA),this._alphaState.alphaBlend=!0;break;case 11:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE,this._gl.ONE,this._gl.ONE),this._alphaState.alphaBlend=!0;break;case 12:this._alphaState.setAlphaBlendFunctionParameters(this._gl.DST_ALPHA,this._gl.ONE,this._gl.ZERO,this._gl.ZERO),this._alphaState.alphaBlend=!0;break;case 13:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE_MINUS_DST_COLOR,this._gl.ONE_MINUS_SRC_COLOR,this._gl.ONE_MINUS_DST_ALPHA,this._gl.ONE_MINUS_SRC_ALPHA),this._alphaState.alphaBlend=!0;break;case 14:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE_MINUS_SRC_ALPHA,this._gl.ONE,this._gl.ONE_MINUS_SRC_ALPHA),this._alphaState.alphaBlend=!0;break;case 15:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE,this._gl.ONE,this._gl.ONE,this._gl.ZERO),this._alphaState.alphaBlend=!0;break;case 16:this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE_MINUS_DST_COLOR,this._gl.ONE_MINUS_SRC_COLOR,this._gl.ZERO,this._gl.ONE),this._alphaState.alphaBlend=!0}t||(this.depthCullingState.depthMask=0===e),this._alphaMode=e}},c.a.prototype.getAlphaMode=function(){return this._alphaMode},c.a.prototype.setAlphaEquation=function(e){if(this._alphaEquation!==e){switch(e){case 0:this._alphaState.setAlphaEquationParameters(this._gl.FUNC_ADD,this._gl.FUNC_ADD);break;case 1:this._alphaState.setAlphaEquationParameters(this._gl.FUNC_SUBTRACT,this._gl.FUNC_SUBTRACT);break;case 2:this._alphaState.setAlphaEquationParameters(this._gl.FUNC_REVERSE_SUBTRACT,this._gl.FUNC_REVERSE_SUBTRACT);break;case 3:this._alphaState.setAlphaEquationParameters(this._gl.MAX,this._gl.MAX);break;case 4:this._alphaState.setAlphaEquationParameters(this._gl.MIN,this._gl.MIN);break;case 5:this._alphaState.setAlphaEquationParameters(this._gl.MIN,this._gl.FUNC_ADD)}this._alphaEquation=e}},c.a.prototype.getAlphaEquation=function(){return this._alphaEquation};var d=function(e){function t(n,i,a,s){void 0===s&&(s=!1);var c=e.call(this,n,i,a,s)||this;if(c.enableOfflineSupport=!1,c.disableManifestCheck=!1,c.scenes=new Array,c.onNewSceneAddedObservable=new r.c,c.postProcesses=new Array,c.isPointerLock=!1,c.onResizeObservable=new r.c,c.onCanvasBlurObservable=new r.c,c.onCanvasFocusObservable=new r.c,c.onCanvasPointerOutObservable=new r.c,c.onBeginFrameObservable=new r.c,c.customAnimationFrameRequester=null,c.onEndFrameObservable=new r.c,c.onBeforeShaderCompilationObservable=new r.c,c.onAfterShaderCompilationObservable=new r.c,c._deterministicLockstep=!1,c._lockstepMaxSteps=4,c._timeStep=1/60,c._fps=60,c._deltaTime=0,c._drawCalls=new u.a,c.canvasTabIndex=1,c.disablePerformanceMonitorInBackground=!1,c._performanceMonitor=new l.a,!n)return c;if(a=c._creationOptions,t.Instances.push(c),n.getContext){var p=n;if(c._onCanvasFocus=function(){c.onCanvasFocusObservable.notifyObservers(c)},c._onCanvasBlur=function(){c.onCanvasBlurObservable.notifyObservers(c)},p.addEventListener("focus",c._onCanvasFocus),p.addEventListener("blur",c._onCanvasBlur),c._onBlur=function(){c.disablePerformanceMonitorInBackground&&c._performanceMonitor.disable(),c._windowIsBackground=!0},c._onFocus=function(){c.disablePerformanceMonitorInBackground&&c._performanceMonitor.enable(),c._windowIsBackground=!1},c._onCanvasPointerOut=function(e){c.onCanvasPointerOutObservable.notifyObservers(e)},p.addEventListener("pointerout",c._onCanvasPointerOut),o.a.IsWindowObjectExist()){var h=c.getHostWindow();h.addEventListener("blur",c._onBlur),h.addEventListener("focus",c._onFocus);var d=document;c._onFullscreenChange=function(){void 0!==d.fullscreen?c.isFullscreen=d.fullscreen:void 0!==d.mozFullScreen?c.isFullscreen=d.mozFullScreen:void 0!==d.webkitIsFullScreen?c.isFullscreen=d.webkitIsFullScreen:void 0!==d.msIsFullScreen&&(c.isFullscreen=d.msIsFullScreen),c.isFullscreen&&c._pointerLockRequested&&p&&t._RequestPointerlock(p)},document.addEventListener("fullscreenchange",c._onFullscreenChange,!1),document.addEventListener("mozfullscreenchange",c._onFullscreenChange,!1),document.addEventListener("webkitfullscreenchange",c._onFullscreenChange,!1),document.addEventListener("msfullscreenchange",c._onFullscreenChange,!1),c._onPointerLockChange=function(){c.isPointerLock=d.mozPointerLockElement===p||d.webkitPointerLockElement===p||d.msPointerLockElement===p||d.pointerLockElement===p},document.addEventListener("pointerlockchange",c._onPointerLockChange,!1),document.addEventListener("mspointerlockchange",c._onPointerLockChange,!1),document.addEventListener("mozpointerlockchange",c._onPointerLockChange,!1),document.addEventListener("webkitpointerlockchange",c._onPointerLockChange,!1),!t.audioEngine&&a.audioEngine&&t.AudioEngineFactory&&(t.audioEngine=t.AudioEngineFactory(c.getRenderingCanvas()))}c._connectVREvents(),c.enableOfflineSupport=void 0!==t.OfflineProviderFactory,a.doNotHandleTouchAction||c._disableTouchAction(),c._deterministicLockstep=!!a.deterministicLockstep,c._lockstepMaxSteps=a.lockstepMaxSteps||0,c._timeStep=a.timeStep||1/60}return c._prepareVRComponent(),a.autoEnableWebVR&&c.initWebVR(),c}return Object(i.d)(t,e),Object.defineProperty(t,"NpmPackage",{get:function(){return c.a.NpmPackage},enumerable:!0,configurable:!0}),Object.defineProperty(t,"Version",{get:function(){return c.a.Version},enumerable:!0,configurable:!0}),Object.defineProperty(t,"Instances",{get:function(){return a.a.Instances},enumerable:!0,configurable:!0}),Object.defineProperty(t,"LastCreatedEngine",{get:function(){return a.a.LastCreatedEngine},enumerable:!0,configurable:!0}),Object.defineProperty(t,"LastCreatedScene",{get:function(){return a.a.LastCreatedScene},enumerable:!0,configurable:!0}),t.MarkAllMaterialsAsDirty=function(e,n){for(var i=0;i0?this.customAnimationFrameRequester?(this.customAnimationFrameRequester.requestID=this._queueNewFrame(this.customAnimationFrameRequester.renderFunction||this._boundRenderFunction,this.customAnimationFrameRequester),this._frameHandler=this.customAnimationFrameRequester.requestID):this.isVRPresenting()?this._requestVRFrame():this._frameHandler=this._queueNewFrame(this._boundRenderFunction,this.getHostWindow()):this._renderingQueueLaunched=!1},t.prototype._renderViews=function(){return!1},t.prototype.switchFullscreen=function(e){this.isFullscreen?this.exitFullscreen():this.enterFullscreen(e)},t.prototype.enterFullscreen=function(e){this.isFullscreen||(this._pointerLockRequested=e,this._renderingCanvas&&t._RequestFullscreen(this._renderingCanvas))},t.prototype.exitFullscreen=function(){this.isFullscreen&&t._ExitFullscreen()},t.prototype.enterPointerlock=function(){this._renderingCanvas&&t._RequestPointerlock(this._renderingCanvas)},t.prototype.exitPointerlock=function(){t._ExitPointerlock()},t.prototype.beginFrame=function(){this._measureFps(),this.onBeginFrameObservable.notifyObservers(this),e.prototype.beginFrame.call(this)},t.prototype.endFrame=function(){e.prototype.endFrame.call(this),this._submitVRFrame(),this.onEndFrameObservable.notifyObservers(this)},t.prototype.resize=function(){this.isVRPresenting()||e.prototype.resize.call(this)},t.prototype.setSize=function(t,n){if(this._renderingCanvas&&(e.prototype.setSize.call(this,t,n),this.scenes)){for(var i=0;i=r&&0===n?t instanceof Array?this._gl.bufferSubData(this._gl.ARRAY_BUFFER,n,new Float32Array(t)):this._gl.bufferSubData(this._gl.ARRAY_BUFFER,n,t):t instanceof Array?this._gl.bufferSubData(this._gl.ARRAY_BUFFER,0,new Float32Array(t).subarray(n,n+i)):(t=t instanceof ArrayBuffer?new Uint8Array(t,n,i):new Uint8Array(t.buffer,t.byteOffset+n,i),this._gl.bufferSubData(this._gl.ARRAY_BUFFER,0,t)),this._resetVertexBufferBinding()},t.prototype._deletePipelineContext=function(t){var n=t;n&&n.program&&n.transformFeedback&&(this.deleteTransformFeedback(n.transformFeedback),n.transformFeedback=null),e.prototype._deletePipelineContext.call(this,t)},t.prototype.createShaderProgram=function(t,n,i,r,o,a){void 0===a&&(a=null),o=o||this._gl,this.onBeforeShaderCompilationObservable.notifyObservers(this);var s=e.prototype.createShaderProgram.call(this,t,n,i,r,o,a);return this.onAfterShaderCompilationObservable.notifyObservers(this),s},t.prototype._createShaderProgram=function(e,t,n,i,r){void 0===r&&(r=null);var o=i.createProgram();if(e.program=o,!o)throw new Error("Unable to create program");if(i.attachShader(o,t),i.attachShader(o,n),this.webGLVersion>1&&r){var a=this.createTransformFeedback();this.bindTransformFeedback(a),this.setTranformFeedbackVaryings(o,r),e.transformFeedback=a}return i.linkProgram(o),this.webGLVersion>1&&r&&this.bindTransformFeedback(null),e.context=i,e.vertexShader=t,e.fragmentShader=n,e.isParallelCompiled||this._finalizePipelineContext(e),o},t.prototype._releaseTexture=function(t){e.prototype._releaseTexture.call(this,t),this.scenes.forEach((function(e){e.postProcesses.forEach((function(e){e._outputTexture==t&&(e._outputTexture=null)})),e.cameras.forEach((function(e){e._postProcesses.forEach((function(e){e&&e._outputTexture==t&&(e._outputTexture=null)}))}))}))},t.prototype._rescaleTexture=function(e,n,i,r,o){var a=this;this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_MAG_FILTER,this._gl.LINEAR),this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_MIN_FILTER,this._gl.LINEAR),this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_WRAP_S,this._gl.CLAMP_TO_EDGE),this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_WRAP_T,this._gl.CLAMP_TO_EDGE);var s=this.createRenderTargetTexture({width:n.width,height:n.height},{generateMipMaps:!1,type:0,samplingMode:2,generateDepthBuffer:!1,generateStencilBuffer:!1});!this._rescalePostProcess&&t._RescalePostProcessFactory&&(this._rescalePostProcess=t._RescalePostProcessFactory(this)),this._rescalePostProcess.getEffect().executeWhenCompiled((function(){a._rescalePostProcess.onApply=function(t){t._bindTexture("textureSampler",e)};var t=i;t||(t=a.scenes[a.scenes.length-1]),t.postProcessManager.directRender([a._rescalePostProcess],s,!0),a._bindTextureDirectly(a._gl.TEXTURE_2D,n,!0),a._gl.copyTexImage2D(a._gl.TEXTURE_2D,0,r,0,0,n.width,n.height,0),a.unBindFramebuffer(s),a._releaseTexture(s),o&&o()}))},t.prototype.getFps=function(){return this._fps},t.prototype.getDeltaTime=function(){return this._deltaTime},t.prototype._measureFps=function(){this._performanceMonitor.sampleFrame(),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0},t.prototype._uploadImageToTexture=function(e,t,n,i){void 0===n&&(n=0),void 0===i&&(i=0);var r=this._gl,o=this._getWebGLTextureType(e.type),a=this._getInternalFormat(e.format),s=this._getRGBABufferInternalSizedFormat(e.type,a),c=e.isCube?r.TEXTURE_CUBE_MAP:r.TEXTURE_2D;this._bindTextureDirectly(c,e,!0),this._unpackFlipY(e.invertY);var l=r.TEXTURE_2D;e.isCube&&(l=r.TEXTURE_CUBE_MAP_POSITIVE_X+n),r.texImage2D(l,i,s,a,o,t),this._bindTextureDirectly(c,null,!0)},t.prototype.updateDynamicIndexBuffer=function(e,t,n){var i;void 0===n&&(n=0),this._currentBoundBuffer[this._gl.ELEMENT_ARRAY_BUFFER]=null,this.bindIndexBuffer(e),i=t instanceof Uint16Array||t instanceof Uint32Array?t:e.is32Bits?new Uint32Array(t):new Uint16Array(t),this._gl.bufferData(this._gl.ELEMENT_ARRAY_BUFFER,i,this._gl.DYNAMIC_DRAW),this._resetIndexBufferBinding()},t.prototype.updateRenderTargetTextureSampleCount=function(e,t){if(this.webGLVersion<2||!e)return 1;if(e.samples===t)return t;var n=this._gl;if(t=Math.min(t,this.getCaps().maxMSAASamples),e._depthStencilBuffer&&(n.deleteRenderbuffer(e._depthStencilBuffer),e._depthStencilBuffer=null),e._MSAAFramebuffer&&(n.deleteFramebuffer(e._MSAAFramebuffer),e._MSAAFramebuffer=null),e._MSAARenderBuffer&&(n.deleteRenderbuffer(e._MSAARenderBuffer),e._MSAARenderBuffer=null),t>1&&n.renderbufferStorageMultisample){var i=n.createFramebuffer();if(!i)throw new Error("Unable to create multi sampled framebuffer");e._MSAAFramebuffer=i,this._bindUnboundFramebuffer(e._MSAAFramebuffer);var r=n.createRenderbuffer();if(!r)throw new Error("Unable to create multi sampled framebuffer");n.bindRenderbuffer(n.RENDERBUFFER,r),n.renderbufferStorageMultisample(n.RENDERBUFFER,t,this._getRGBAMultiSampleBufferFormat(e.type),e.width,e.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.RENDERBUFFER,r),e._MSAARenderBuffer=r}else this._bindUnboundFramebuffer(e._framebuffer);return e.samples=t,e._depthStencilBuffer=this._setupFramebufferDepthAttachments(e._generateStencilBuffer,e._generateDepthBuffer,e.width,e.height,t),this._bindUnboundFramebuffer(null),t},t.prototype.updateTextureComparisonFunction=function(e,t){if(1!==this.webGLVersion){var n=this._gl;e.isCube?(this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,e,!0),0===t?(n.texParameteri(n.TEXTURE_CUBE_MAP,n.TEXTURE_COMPARE_FUNC,515),n.texParameteri(n.TEXTURE_CUBE_MAP,n.TEXTURE_COMPARE_MODE,n.NONE)):(n.texParameteri(n.TEXTURE_CUBE_MAP,n.TEXTURE_COMPARE_FUNC,t),n.texParameteri(n.TEXTURE_CUBE_MAP,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE)),this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,null)):(this._bindTextureDirectly(this._gl.TEXTURE_2D,e,!0),0===t?(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_COMPARE_FUNC,515),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_COMPARE_MODE,n.NONE)):(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_COMPARE_FUNC,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE)),this._bindTextureDirectly(this._gl.TEXTURE_2D,null)),e._comparisonFunction=t}else h.a.Error("WebGL 1 does not support texture comparison.")},t.prototype.createInstancesBuffer=function(e){var t=this._gl.createBuffer();if(!t)throw new Error("Unable to create instance buffer");var n=new p.a(t);return n.capacity=e,this.bindArrayBuffer(n),this._gl.bufferData(this._gl.ARRAY_BUFFER,e,this._gl.DYNAMIC_DRAW),n},t.prototype.deleteInstancesBuffer=function(e){this._gl.deleteBuffer(e)},t.prototype._clientWaitAsync=function(e,t,n){void 0===t&&(t=0),void 0===n&&(n=10);var i=this._gl;return new Promise((function(r,o){var a=function(){var s=i.clientWaitSync(e,t,0);s!=i.WAIT_FAILED?s!=i.TIMEOUT_EXPIRED?r():setTimeout(a,n):o()};a()}))},t.prototype._readPixelsAsync=function(e,t,n,i,r,o,a){if(this._webGLVersion<2)throw new Error("_readPixelsAsync only work on WebGL2+");var s=this._gl,c=s.createBuffer();s.bindBuffer(s.PIXEL_PACK_BUFFER,c),s.bufferData(s.PIXEL_PACK_BUFFER,a.byteLength,s.STREAM_READ),s.readPixels(e,t,n,i,r,o,0),s.bindBuffer(s.PIXEL_PACK_BUFFER,null);var l=s.fenceSync(s.SYNC_GPU_COMMANDS_COMPLETE,0);return l?(s.flush(),this._clientWaitAsync(l,0,10).then((function(){return s.deleteSync(l),s.bindBuffer(s.PIXEL_PACK_BUFFER,c),s.getBufferSubData(s.PIXEL_PACK_BUFFER,0,a),s.bindBuffer(s.PIXEL_PACK_BUFFER,null),s.deleteBuffer(c),a}))):null},t.prototype._readTexturePixels=function(e,t,n,i,r,o){void 0===i&&(i=-1),void 0===r&&(r=0),void 0===o&&(o=null);var a=this._gl;if(!this._dummyFramebuffer){var s=a.createFramebuffer();if(!s)throw new Error("Unable to create dummy framebuffer");this._dummyFramebuffer=s}a.bindFramebuffer(a.FRAMEBUFFER,this._dummyFramebuffer),i>-1?a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+i,e._webGLTexture,r):a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_2D,e._webGLTexture,r);var c=void 0!==e.type?this._getWebGLTextureType(e.type):a.UNSIGNED_BYTE;switch(c){case a.UNSIGNED_BYTE:o||(o=new Uint8Array(4*t*n)),c=a.UNSIGNED_BYTE;break;default:o||(o=new Float32Array(4*t*n)),c=a.FLOAT}return a.readPixels(0,0,t,n,a.RGBA,c,o),a.bindFramebuffer(a.FRAMEBUFFER,this._currentFramebuffer),o},t.prototype.dispose=function(){for(this.hideLoadingUI(),this.onNewSceneAddedObservable.clear();this.postProcesses.length;)this.postProcesses[0].dispose();for(this._rescalePostProcess&&this._rescalePostProcess.dispose();this.scenes.length;)this.scenes[0].dispose();1===t.Instances.length&&t.audioEngine&&t.audioEngine.dispose(),this._dummyFramebuffer&&this._gl.deleteFramebuffer(this._dummyFramebuffer),this.disableVR(),o.a.IsWindowObjectExist()&&(window.removeEventListener("blur",this._onBlur),window.removeEventListener("focus",this._onFocus),this._renderingCanvas&&(this._renderingCanvas.removeEventListener("focus",this._onCanvasFocus),this._renderingCanvas.removeEventListener("blur",this._onCanvasBlur),this._renderingCanvas.removeEventListener("pointerout",this._onCanvasPointerOut)),document.removeEventListener("fullscreenchange",this._onFullscreenChange),document.removeEventListener("mozfullscreenchange",this._onFullscreenChange),document.removeEventListener("webkitfullscreenchange",this._onFullscreenChange),document.removeEventListener("msfullscreenchange",this._onFullscreenChange),document.removeEventListener("pointerlockchange",this._onPointerLockChange),document.removeEventListener("mspointerlockchange",this._onPointerLockChange),document.removeEventListener("mozpointerlockchange",this._onPointerLockChange),document.removeEventListener("webkitpointerlockchange",this._onPointerLockChange)),e.prototype.dispose.call(this);var n=t.Instances.indexOf(this);n>=0&&t.Instances.splice(n,1),this.onResizeObservable.clear(),this.onCanvasBlurObservable.clear(),this.onCanvasFocusObservable.clear(),this.onCanvasPointerOutObservable.clear(),this.onBeginFrameObservable.clear(),this.onEndFrameObservable.clear()},t.prototype._disableTouchAction=function(){this._renderingCanvas&&this._renderingCanvas.setAttribute&&(this._renderingCanvas.setAttribute("touch-action","none"),this._renderingCanvas.style.touchAction="none",this._renderingCanvas.style.msTouchAction="none")},t.prototype.displayLoadingUI=function(){if(o.a.IsWindowObjectExist()){var e=this.loadingScreen;e&&e.displayLoadingUI()}},t.prototype.hideLoadingUI=function(){if(o.a.IsWindowObjectExist()){var e=this._loadingScreen;e&&e.hideLoadingUI()}},Object.defineProperty(t.prototype,"loadingScreen",{get:function(){return!this._loadingScreen&&this._renderingCanvas&&(this._loadingScreen=t.DefaultLoadingScreenFactory(this._renderingCanvas)),this._loadingScreen},set:function(e){this._loadingScreen=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"loadingUIText",{set:function(e){this.loadingScreen.loadingUIText=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"loadingUIBackgroundColor",{set:function(e){this.loadingScreen.loadingUIBackgroundColor=e},enumerable:!0,configurable:!0}),t._RequestPointerlock=function(e){e.requestPointerLock=e.requestPointerLock||e.msRequestPointerLock||e.mozRequestPointerLock||e.webkitRequestPointerLock,e.requestPointerLock&&e.requestPointerLock()},t._ExitPointerlock=function(){var e=document;document.exitPointerLock=document.exitPointerLock||e.msExitPointerLock||e.mozExitPointerLock||e.webkitExitPointerLock,document.exitPointerLock&&document.exitPointerLock()},t._RequestFullscreen=function(e){var t=e.requestFullscreen||e.msRequestFullscreen||e.webkitRequestFullscreen||e.mozRequestFullScreen;t&&t.call(e)},t._ExitFullscreen=function(){var e=document;document.exitFullscreen?document.exitFullscreen():e.mozCancelFullScreen?e.mozCancelFullScreen():e.webkitCancelFullScreen?e.webkitCancelFullScreen():e.msCancelFullScreen&&e.msCancelFullScreen()},t.ALPHA_DISABLE=0,t.ALPHA_ADD=1,t.ALPHA_COMBINE=2,t.ALPHA_SUBTRACT=3,t.ALPHA_MULTIPLY=4,t.ALPHA_MAXIMIZED=5,t.ALPHA_ONEONE=6,t.ALPHA_PREMULTIPLIED=7,t.ALPHA_PREMULTIPLIED_PORTERDUFF=8,t.ALPHA_INTERPOLATE=9,t.ALPHA_SCREENMODE=10,t.DELAYLOADSTATE_NONE=0,t.DELAYLOADSTATE_LOADED=1,t.DELAYLOADSTATE_LOADING=2,t.DELAYLOADSTATE_NOTLOADED=4,t.NEVER=512,t.ALWAYS=519,t.LESS=513,t.EQUAL=514,t.LEQUAL=515,t.GREATER=516,t.GEQUAL=518,t.NOTEQUAL=517,t.KEEP=7680,t.REPLACE=7681,t.INCR=7682,t.DECR=7683,t.INVERT=5386,t.INCR_WRAP=34055,t.DECR_WRAP=34056,t.TEXTURE_CLAMP_ADDRESSMODE=0,t.TEXTURE_WRAP_ADDRESSMODE=1,t.TEXTURE_MIRROR_ADDRESSMODE=2,t.TEXTUREFORMAT_ALPHA=0,t.TEXTUREFORMAT_LUMINANCE=1,t.TEXTUREFORMAT_LUMINANCE_ALPHA=2,t.TEXTUREFORMAT_RGB=4,t.TEXTUREFORMAT_RGBA=5,t.TEXTUREFORMAT_RED=6,t.TEXTUREFORMAT_R=6,t.TEXTUREFORMAT_RG=7,t.TEXTUREFORMAT_RED_INTEGER=8,t.TEXTUREFORMAT_R_INTEGER=8,t.TEXTUREFORMAT_RG_INTEGER=9,t.TEXTUREFORMAT_RGB_INTEGER=10,t.TEXTUREFORMAT_RGBA_INTEGER=11,t.TEXTURETYPE_UNSIGNED_BYTE=0,t.TEXTURETYPE_UNSIGNED_INT=0,t.TEXTURETYPE_FLOAT=1,t.TEXTURETYPE_HALF_FLOAT=2,t.TEXTURETYPE_BYTE=3,t.TEXTURETYPE_SHORT=4,t.TEXTURETYPE_UNSIGNED_SHORT=5,t.TEXTURETYPE_INT=6,t.TEXTURETYPE_UNSIGNED_INTEGER=7,t.TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4=8,t.TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1=9,t.TEXTURETYPE_UNSIGNED_SHORT_5_6_5=10,t.TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV=11,t.TEXTURETYPE_UNSIGNED_INT_24_8=12,t.TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV=13,t.TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV=14,t.TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV=15,t.TEXTURE_NEAREST_SAMPLINGMODE=1,t.TEXTURE_BILINEAR_SAMPLINGMODE=2,t.TEXTURE_TRILINEAR_SAMPLINGMODE=3,t.TEXTURE_NEAREST_NEAREST_MIPLINEAR=8,t.TEXTURE_LINEAR_LINEAR_MIPNEAREST=11,t.TEXTURE_LINEAR_LINEAR_MIPLINEAR=3,t.TEXTURE_NEAREST_NEAREST_MIPNEAREST=4,t.TEXTURE_NEAREST_LINEAR_MIPNEAREST=5,t.TEXTURE_NEAREST_LINEAR_MIPLINEAR=6,t.TEXTURE_NEAREST_LINEAR=7,t.TEXTURE_NEAREST_NEAREST=1,t.TEXTURE_LINEAR_NEAREST_MIPNEAREST=9,t.TEXTURE_LINEAR_NEAREST_MIPLINEAR=10,t.TEXTURE_LINEAR_LINEAR=2,t.TEXTURE_LINEAR_NEAREST=12,t.TEXTURE_EXPLICIT_MODE=0,t.TEXTURE_SPHERICAL_MODE=1,t.TEXTURE_PLANAR_MODE=2,t.TEXTURE_CUBIC_MODE=3,t.TEXTURE_PROJECTION_MODE=4,t.TEXTURE_SKYBOX_MODE=5,t.TEXTURE_INVCUBIC_MODE=6,t.TEXTURE_EQUIRECTANGULAR_MODE=7,t.TEXTURE_FIXED_EQUIRECTANGULAR_MODE=8,t.TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE=9,t.SCALEMODE_FLOOR=1,t.SCALEMODE_NEAREST=2,t.SCALEMODE_CEILING=3,t._RescalePostProcessFactory=null,t}(c.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){}return e.WithinEpsilon=function(e,t,n){void 0===n&&(n=1401298e-51);var i=e-t;return-n<=i&&i<=n},e.ToHex=function(e){var t=e.toString(16);return e<=15?("0"+t).toUpperCase():t.toUpperCase()},e.Sign=function(e){return 0===(e=+e)||isNaN(e)?e:e>0?1:-1},e.Clamp=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),Math.min(n,Math.max(t,e))},e.Log2=function(e){return Math.log(e)*Math.LOG2E},e.Repeat=function(e,t){return e-Math.floor(e/t)*t},e.Normalize=function(e,t,n){return(e-t)/(n-t)},e.Denormalize=function(e,t,n){return e*(n-t)+t},e.DeltaAngle=function(t,n){var i=e.Repeat(n-t,360);return i>180&&(i-=360),i},e.PingPong=function(t,n){var i=e.Repeat(t,2*n);return n-Math.abs(i-n)},e.SmoothStep=function(t,n,i){var r=e.Clamp(i);return n*(r=-2*r*r*r+3*r*r)+t*(1-r)},e.MoveTowards=function(t,n,i){return Math.abs(n-t)<=i?n:t+e.Sign(n-t)*i},e.MoveTowardsAngle=function(t,n,i){var r=e.DeltaAngle(t,n),o=0;return-i180&&(r-=360),t+r*e.Clamp(i)},e.InverseLerp=function(t,n,i){return t!=n?e.Clamp((i-t)/(n-t)):0},e.Hermite=function(e,t,n,i,r){var o=r*r,a=r*o;return e*(2*a-3*o+1)+n*(-2*a+3*o)+t*(a-2*o+r)+i*(a-o)},e.RandomRange=function(e,t){return e===t?e:Math.random()*(t-e)+e},e.RangeToPercent=function(e,t,n){return(e-t)/(n-t)},e.PercentToRange=function(e,t,n){return(n-t)*e+t},e.NormalizeRadians=function(t){return t-=e.TwoPi*Math.floor((t+Math.PI)/e.TwoPi)},e.TwoPi=2*Math.PI,e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var i=n(0),r=n(3),o=n(21),a=n(4),s=function(){function e(){}return e.prototype.set=function(e,t){switch(t){case r.b.PositionKind:this.positions=e;break;case r.b.NormalKind:this.normals=e;break;case r.b.TangentKind:this.tangents=e;break;case r.b.UVKind:this.uvs=e;break;case r.b.UV2Kind:this.uvs2=e;break;case r.b.UV3Kind:this.uvs3=e;break;case r.b.UV4Kind:this.uvs4=e;break;case r.b.UV5Kind:this.uvs5=e;break;case r.b.UV6Kind:this.uvs6=e;break;case r.b.ColorKind:this.colors=e;break;case r.b.MatricesIndicesKind:this.matricesIndices=e;break;case r.b.MatricesWeightsKind:this.matricesWeights=e;break;case r.b.MatricesIndicesExtraKind:this.matricesIndicesExtra=e;break;case r.b.MatricesWeightsExtraKind:this.matricesWeightsExtra=e}},e.prototype.applyToMesh=function(e,t){return this._applyTo(e,t),this},e.prototype.applyToGeometry=function(e,t){return this._applyTo(e,t),this},e.prototype.updateMesh=function(e){return this._update(e),this},e.prototype.updateGeometry=function(e){return this._update(e),this},e.prototype._applyTo=function(e,t){return void 0===t&&(t=!1),this.positions&&e.setVerticesData(r.b.PositionKind,this.positions,t),this.normals&&e.setVerticesData(r.b.NormalKind,this.normals,t),this.tangents&&e.setVerticesData(r.b.TangentKind,this.tangents,t),this.uvs&&e.setVerticesData(r.b.UVKind,this.uvs,t),this.uvs2&&e.setVerticesData(r.b.UV2Kind,this.uvs2,t),this.uvs3&&e.setVerticesData(r.b.UV3Kind,this.uvs3,t),this.uvs4&&e.setVerticesData(r.b.UV4Kind,this.uvs4,t),this.uvs5&&e.setVerticesData(r.b.UV5Kind,this.uvs5,t),this.uvs6&&e.setVerticesData(r.b.UV6Kind,this.uvs6,t),this.colors&&e.setVerticesData(r.b.ColorKind,this.colors,t),this.matricesIndices&&e.setVerticesData(r.b.MatricesIndicesKind,this.matricesIndices,t),this.matricesWeights&&e.setVerticesData(r.b.MatricesWeightsKind,this.matricesWeights,t),this.matricesIndicesExtra&&e.setVerticesData(r.b.MatricesIndicesExtraKind,this.matricesIndicesExtra,t),this.matricesWeightsExtra&&e.setVerticesData(r.b.MatricesWeightsExtraKind,this.matricesWeightsExtra,t),this.indices?e.setIndices(this.indices,null,t):e.setIndices([],null),this},e.prototype._update=function(e,t,n){return this.positions&&e.updateVerticesData(r.b.PositionKind,this.positions,t,n),this.normals&&e.updateVerticesData(r.b.NormalKind,this.normals,t,n),this.tangents&&e.updateVerticesData(r.b.TangentKind,this.tangents,t,n),this.uvs&&e.updateVerticesData(r.b.UVKind,this.uvs,t,n),this.uvs2&&e.updateVerticesData(r.b.UV2Kind,this.uvs2,t,n),this.uvs3&&e.updateVerticesData(r.b.UV3Kind,this.uvs3,t,n),this.uvs4&&e.updateVerticesData(r.b.UV4Kind,this.uvs4,t,n),this.uvs5&&e.updateVerticesData(r.b.UV5Kind,this.uvs5,t,n),this.uvs6&&e.updateVerticesData(r.b.UV6Kind,this.uvs6,t,n),this.colors&&e.updateVerticesData(r.b.ColorKind,this.colors,t,n),this.matricesIndices&&e.updateVerticesData(r.b.MatricesIndicesKind,this.matricesIndices,t,n),this.matricesWeights&&e.updateVerticesData(r.b.MatricesWeightsKind,this.matricesWeights,t,n),this.matricesIndicesExtra&&e.updateVerticesData(r.b.MatricesIndicesExtraKind,this.matricesIndicesExtra,t,n),this.matricesWeightsExtra&&e.updateVerticesData(r.b.MatricesWeightsExtraKind,this.matricesWeightsExtra,t,n),this.indices&&e.setIndices(this.indices,null),this},e.prototype.transform=function(e){var t,n=e.m[0]*e.m[5]*e.m[10]<0,r=i.e.Zero();if(this.positions){var o=i.e.Zero();for(t=0;tr.bbSize.y?r.bbSize.x:r.bbSize.y;$=$>r.bbSize.z?$:r.bbSize.z,D=r.subDiv.X*R/r.bbSize.x,L=r.subDiv.Y*R/r.bbSize.y,N=r.subDiv.Z*R/r.bbSize.z,F=r.subDiv.max*r.subDiv.max,r.facetPartitioning.length=0}for(o=0;oe.LongPressDelay&&!i._isPointerSwiping()&&(i._startingPointerTime=0,o.processTrigger(8,v.a.CreateNew(t.pickedMesh,n)))}),e.LongPressDelay)}}else for(var a=0,s=r._pointerDownStage;ae.DragMovementThreshold||Math.abs(this._startingPointerPosition.y-this._pointerY)>e.DragMovementThreshold},e.prototype.simulatePointerUp=function(e,t,n){var i=new PointerEvent("pointerup",t),r=new R;n?r.doubleClick=!0:r.singleClick=!0,this._checkPrePointerObservable(e,i,P.a.POINTERUP)||this._processPointerUp(e,i,r)},e.prototype._processPointerUp=function(e,t,n){var i=this._scene;if(e&&e&&e.pickedMesh){if(this._pickedUpMesh=e.pickedMesh,this._pickedDownMesh===this._pickedUpMesh&&(i.onPointerPick&&i.onPointerPick(t,e),n.singleClick&&!n.ignore&&i.onPointerObservable.hasObservers())){var r=P.a.POINTERPICK,o=new P.b(r,t,e);this._setRayOnPointerInfo(o),i.onPointerObservable.notifyObservers(o,r)}var a=e.pickedMesh._getActionManagerForTrigger();if(a&&!n.ignore){a.processTrigger(7,v.a.CreateNew(e.pickedMesh,t)),!n.hasSwiped&&n.singleClick&&a.processTrigger(1,v.a.CreateNew(e.pickedMesh,t));var s=e.pickedMesh._getActionManagerForTrigger(6);n.doubleClick&&s&&s.processTrigger(6,v.a.CreateNew(e.pickedMesh,t))}}else if(!n.ignore)for(var c=0,l=i._pointerUpStage;ce.DoubleClickDelay&&!a._doubleClickOccured||t!==a._previousButtonPressed)&&(a._doubleClickOccured=!1,n.singleClick=!0,n.ignore=!1,i(n,a._currentPickResult))},this._initClickEvent=function(t,n,i,r){var o=new R;a._currentPickResult=null;var s=null,c=t.hasSpecificMask(P.a.POINTERPICK)||n.hasSpecificMask(P.a.POINTERPICK)||t.hasSpecificMask(P.a.POINTERTAP)||n.hasSpecificMask(P.a.POINTERTAP)||t.hasSpecificMask(P.a.POINTERDOUBLETAP)||n.hasSpecificMask(P.a.POINTERDOUBLETAP);!c&&O.a&&(s=a._initActionManager(s,o))&&(c=s.hasPickTriggers);var l=!1;if(c){var u=i.button;if(o.hasSwiped=a._isPointerSwiping(),!o.hasSwiped){var p=!e.ExclusiveDoubleClickMode;p||(p=!t.hasSpecificMask(P.a.POINTERDOUBLETAP)&&!n.hasSpecificMask(P.a.POINTERDOUBLETAP))&&!O.a.HasSpecificTrigger(6)&&(s=a._initActionManager(s,o))&&(p=!s.hasSpecificTrigger(6)),p?(Date.now()-a._previousStartingPointerTime>e.DoubleClickDelay||u!==a._previousButtonPressed)&&(o.singleClick=!0,r(o,a._currentPickResult),l=!0):(a._previousDelayedSimpleClickTimeout=a._delayedSimpleClickTimeout,a._delayedSimpleClickTimeout=window.setTimeout(a._delayedSimpleClick.bind(a,u,o,r),e.DoubleClickDelay));var h=t.hasSpecificMask(P.a.POINTERDOUBLETAP)||n.hasSpecificMask(P.a.POINTERDOUBLETAP);!h&&O.a.HasSpecificTrigger(6)&&(s=a._initActionManager(s,o))&&(h=s.hasSpecificTrigger(6)),h&&(u===a._previousButtonPressed&&Date.now()-a._previousStartingPointerTime0){for(var e=0,t=this._transientComponents;e0)return!1;for(e=0;e0,r=0,o=this._isReadyForMeshStage;r0)for(var a=0,s=this.activeCameras;a0},enumerable:!0,configurable:!0}),t.prototype.executeWhenReady=function(e){var t=this;this.onReadyObservable.add(e),-1===this._executeWhenReadyTimeoutId&&(this._executeWhenReadyTimeoutId=setTimeout((function(){t._checkIsReady()}),150))},t.prototype.whenReadyAsync=function(){var e=this;return new Promise((function(t){e.executeWhenReady((function(){t()}))}))},t.prototype._checkIsReady=function(){var e=this;return this._registerTransientComponents(),this.isReady()?(this.onReadyObservable.notifyObservers(this),this.onReadyObservable.clear(),void(this._executeWhenReadyTimeoutId=-1)):this._isDisposed?(this.onReadyObservable.clear(),void(this._executeWhenReadyTimeoutId=-1)):void(this._executeWhenReadyTimeoutId=setTimeout((function(){e._checkIsReady()}),150))},Object.defineProperty(t.prototype,"animatables",{get:function(){return this._activeAnimatables},enumerable:!0,configurable:!0}),t.prototype.resetLastAnimationTimeFrame=function(){this._animationTimeLast=o.a.Now},t.prototype.getViewMatrix=function(){return this._viewMatrix},t.prototype.getProjectionMatrix=function(){return this._projectionMatrix},t.prototype.getTransformMatrix=function(){return this._transformMatrix},t.prototype.setTransformMatrix=function(e,t,n,i){this._viewUpdateFlag===e.updateFlag&&this._projectionUpdateFlag===t.updateFlag||(this._viewUpdateFlag=e.updateFlag,this._projectionUpdateFlag=t.updateFlag,this._viewMatrix=e,this._projectionMatrix=t,this._viewMatrix.multiplyToRef(this._projectionMatrix,this._transformMatrix),this._frustumPlanes?L.a.GetPlanesToRef(this._transformMatrix,this._frustumPlanes):this._frustumPlanes=L.a.GetPlanes(this._transformMatrix),this._multiviewSceneUbo&&this._multiviewSceneUbo.useUbo?this._updateMultiviewUbo(n,i):this._sceneUbo.useUbo&&(this._sceneUbo.updateMatrix("viewProjection",this._transformMatrix),this._sceneUbo.updateMatrix("view",this._viewMatrix),this._sceneUbo.update()))},t.prototype.getSceneUniformBuffer=function(){return this._multiviewSceneUbo?this._multiviewSceneUbo:this._sceneUbo},t.prototype.getUniqueId=function(){return N.a.UniqueId},t.prototype.addMesh=function(e,t){var n=this;void 0===t&&(t=!1),this._blockEntityCollection||(this.meshes.push(e),e._resyncLightSources(),e.parent||e._addToSceneRootNodes(),this.onNewMeshAddedObservable.notifyObservers(e),t&&e.getChildMeshes().forEach((function(e){n.addMesh(e)})))},t.prototype.removeMesh=function(e,t){var n=this;void 0===t&&(t=!1);var i=this.meshes.indexOf(e);return-1!==i&&(this.meshes[i]=this.meshes[this.meshes.length-1],this.meshes.pop(),e.parent||e._removeFromSceneRootNodes()),this.onMeshRemovedObservable.notifyObservers(e),t&&e.getChildMeshes().forEach((function(e){n.removeMesh(e)})),i},t.prototype.addTransformNode=function(e){this._blockEntityCollection||(e._indexInSceneTransformNodesArray=this.transformNodes.length,this.transformNodes.push(e),e.parent||e._addToSceneRootNodes(),this.onNewTransformNodeAddedObservable.notifyObservers(e))},t.prototype.removeTransformNode=function(e){var t=e._indexInSceneTransformNodesArray;if(-1!==t){if(t!==this.transformNodes.length-1){var n=this.transformNodes[this.transformNodes.length-1];this.transformNodes[t]=n,n._indexInSceneTransformNodesArray=t}e._indexInSceneTransformNodesArray=-1,this.transformNodes.pop(),e.parent||e._removeFromSceneRootNodes()}return this.onTransformNodeRemovedObservable.notifyObservers(e),t},t.prototype.removeSkeleton=function(e){var t=this.skeletons.indexOf(e);return-1!==t&&(this.skeletons.splice(t,1),this.onSkeletonRemovedObservable.notifyObservers(e)),t},t.prototype.removeMorphTargetManager=function(e){var t=this.morphTargetManagers.indexOf(e);return-1!==t&&this.morphTargetManagers.splice(t,1),t},t.prototype.removeLight=function(e){var t=this.lights.indexOf(e);if(-1!==t){for(var n=0,i=this.meshes;n0?this.activeCamera=this.cameras[0]:this.activeCamera=null),this.onCameraRemovedObservable.notifyObservers(e),t},t.prototype.removeParticleSystem=function(e){var t=this.particleSystems.indexOf(e);return-1!==t&&this.particleSystems.splice(t,1),t},t.prototype.removeAnimation=function(e){var t=this.animations.indexOf(e);return-1!==t&&this.animations.splice(t,1),t},t.prototype.stopAnimation=function(e,t,n){},t.prototype.removeAnimationGroup=function(e){var t=this.animationGroups.indexOf(e);return-1!==t&&this.animationGroups.splice(t,1),t},t.prototype.removeMultiMaterial=function(e){var t=this.multiMaterials.indexOf(e);return-1!==t&&this.multiMaterials.splice(t,1),t},t.prototype.removeMaterial=function(e){var t=e._indexInSceneMaterialArray;if(-1!==t&&t=0;t--)if(this.materials[t].id===e)return this.materials[t];return null},t.prototype.getMaterialByName=function(e){for(var t=0;t=0;t--)if(this.meshes[t].id===e)return this.meshes[t];return null},t.prototype.getLastEntryByID=function(e){var t;for(t=this.meshes.length-1;t>=0;t--)if(this.meshes[t].id===e)return this.meshes[t];for(t=this.transformNodes.length-1;t>=0;t--)if(this.transformNodes[t].id===e)return this.transformNodes[t];for(t=this.cameras.length-1;t>=0;t--)if(this.cameras[t].id===e)return this.cameras[t];for(t=this.lights.length-1;t>=0;t--)if(this.lights[t].id===e)return this.lights[t];return null},t.prototype.getNodeByID=function(e){var t=this.getMeshByID(e);if(t)return t;var n=this.getTransformNodeByID(e);if(n)return n;var i=this.getLightByID(e);if(i)return i;var r=this.getCameraByID(e);if(r)return r;var o=this.getBoneByID(e);return o||null},t.prototype.getNodeByName=function(e){var t=this.getMeshByName(e);if(t)return t;var n=this.getTransformNodeByName(e);if(n)return n;var i=this.getLightByName(e);if(i)return i;var r=this.getCameraByName(e);if(r)return r;var o=this.getBoneByName(e);return o||null},t.prototype.getMeshByName=function(e){for(var t=0;t=0;t--)if(this.skeletons[t].id===e)return this.skeletons[t];return null},t.prototype.getSkeletonByUniqueId=function(e){for(var t=0;t0&&0!=(a.layerMask&this.activeCamera.layerMask)&&(this._skipFrustumClipping||a.alwaysSelectAsActiveMesh||a.isInFrustum(this._frustumPlanes))&&(this._activeMeshes.push(a),this.activeCamera._activeMeshes.push(a),s!==a&&s._activate(this._renderId,!1),a._activate(this._renderId,!1)&&(a.isAnInstance?a._internalAbstractMeshDataInfo._actAsRegularMesh&&(s=a):s._internalAbstractMeshDataInfo._onlyForInstances=!1,s._internalAbstractMeshDataInfo._isActive=!0,this._activeMesh(a,s)),a._postActivate()))}}if(this.onAfterActiveMeshesEvaluationObservable.notifyObservers(this),this.particlesEnabled){this.onBeforeParticlesRenderingObservable.notifyObservers(this);for(var c=0;c0)for(var r=this.getActiveSubMeshCandidates(t),o=r.length,a=0;a1)this.activeCamera.outputRenderTarget._bindFrameBuffer();else{var e=this.activeCamera.outputRenderTarget.getInternalTexture();e?this.getEngine().bindFramebuffer(e):S.a.Error("Camera contains invalid customDefaultRenderTarget")}}else this.getEngine().restoreDefaultFramebuffer()},t.prototype._renderForCamera=function(e,t){if(!e||!e._skipRendering){var n=this._engine;if(this._activeCamera=e,!this.activeCamera)throw new Error("Active camera not set");n.setViewport(this.activeCamera.viewport),this.resetCachedMaterial(),this._renderId++,this.getEngine().getCaps().multiview&&e.outputRenderTarget&&e.outputRenderTarget.getViewCount()>1?this.setTransformMatrix(e._rigCameras[0].getViewMatrix(),e._rigCameras[0].getProjectionMatrix(),e._rigCameras[1].getViewMatrix(),e._rigCameras[1].getProjectionMatrix()):this.updateTransformMatrix(),this.onBeforeCameraRenderObservable.notifyObservers(this.activeCamera),this._evaluateActiveMeshes();for(var i=0;i0&&this._renderTargets.concatWithNoDuplicate(e.customRenderTargets),t&&t.customRenderTargets&&t.customRenderTargets.length>0&&this._renderTargets.concatWithNoDuplicate(t.customRenderTargets);for(var a=0,s=this._gatherActiveCameraRenderTargetsStage;a0){r.b.StartPerformanceCounter("Render targets",this._renderTargets.length>0);for(var l=0;l0),this._renderId++}for(var h=0,d=this._cameraDrawRenderTargetStage;h1&&this.getEngine().getCaps().multiview)return this._renderForCamera(e),void this.onAfterRenderCameraObservable.notifyObservers(e);if(e._useMultiviewToSingleView)this._renderMultiviewToSingleView(e);else for(var t=0;t-1&&(13===i.trigger&&i._executeCurrent(v.a.CreateNew(t,void 0,o)),t.actionManager.hasSpecificTrigger(13,(function(e){var t=e instanceof h.a?e:e.mesh;return o===t}))&&13!==i.trigger||t._intersectionsInProgress.splice(s,1))}}}},t.prototype._advancePhysicsEngineStep=function(e){},t.prototype._animate=function(){},t.prototype.animate=function(){if(this._engine.isDeterministicLockStep()){var e=Math.max(t.MinDeltaTime,Math.min(this._engine.getDeltaTime(),t.MaxDeltaTime))+this._timeAccumulator,n=this._engine.getTimeStep(),i=1e3/n/1e3,r=0,o=this._engine.getLockstepMaxSteps(),a=Math.floor(e/n);for(a=Math.min(a,o);e>0&&r0)for(var o=0;o0),this._intermediateRendering=!0;for(var u=0;u0),this._intermediateRendering=!1,this._renderId++}this.activeCamera=l,this._bindFrameBuffer(),this.onAfterRenderTargetsRenderObservable.notifyObservers(this);for(var h=0,f=this._beforeClearStage;h0)for(o=0;o0&&this._engine.clear(null,!1,!0,!0),this._processSubCameras(this.activeCameras[o]);else{if(!this.activeCamera)throw new Error("No camera defined");this._processSubCameras(this.activeCamera)}this._checkIntersections();for(var b=0,g=this._afterRenderStage;b-1&&this._engine.scenes.splice(r,1),this._engine.wipeCaches(!0),this._isDisposed=!0},Object.defineProperty(t.prototype,"isDisposed",{get:function(){return this._isDisposed},enumerable:!0,configurable:!0}),t.prototype.clearCachedVertexData=function(){for(var e=0;e1?this.notRenderable=!0:this.notRenderable=!1}else s.b.Error("Cannot move a control to a vector3 if the control is not at root level")},e.prototype.getDescendantsToRef=function(e,t,n){void 0===t&&(t=!1)},e.prototype.getDescendants=function(e,t){var n=new Array;return this.getDescendantsToRef(n,e,t),n},e.prototype.linkWithMesh=function(t){if(!this._host||this.parent&&this.parent!==this._host._rootContainer)t&&s.b.Error("Cannot link a control to a mesh if the control is not at root level");else{var n=this._host._linkedControls.indexOf(this);if(-1!==n)return this._linkedMesh=t,void(t||this._host._linkedControls.splice(n,1));t&&(this.horizontalAlignment=e.HORIZONTAL_ALIGNMENT_LEFT,this.verticalAlignment=e.VERTICAL_ALIGNMENT_TOP,this._linkedMesh=t,this._host._linkedControls.push(this))}},e.prototype._moveToProjectedPosition=function(e){var t=this._left.getValue(this._host),n=this._top.getValue(this._host),i=e.x+this._linkOffsetX.getValue(this._host)-this._currentMeasure.width/2,r=e.y+this._linkOffsetY.getValue(this._host)-this._currentMeasure.height/2;this._left.ignoreAdaptiveScaling&&this._top.ignoreAdaptiveScaling&&(Math.abs(i-t)<.5&&(i=t),Math.abs(r-n)<.5&&(r=n)),this.left=i+"px",this.top=r+"px",this._left.ignoreAdaptiveScaling=!0,this._top.ignoreAdaptiveScaling=!0,this._markAsDirty()},e.prototype._offsetLeft=function(e){this._isDirty=!0,this._currentMeasure.left+=e},e.prototype._offsetTop=function(e){this._isDirty=!0,this._currentMeasure.top+=e},e.prototype._markMatrixAsDirty=function(){this._isMatrixDirty=!0,this._flagDescendantsAsMatrixDirty()},e.prototype._flagDescendantsAsMatrixDirty=function(){},e.prototype._intersectsRect=function(e){return this._currentMeasure.transformToRef(this._transformMatrix,this._tmpMeasureA),!(this._tmpMeasureA.left>=e.left+e.width)&&(!(this._tmpMeasureA.top>=e.top+e.height)&&(!(this._tmpMeasureA.left+this._tmpMeasureA.width<=e.left)&&!(this._tmpMeasureA.top+this._tmpMeasureA.height<=e.top)))},e.prototype.invalidateRect=function(){if(this._transform(),this.host&&this.host.useInvalidateRectOptimization)if(this._currentMeasure.transformToRef(this._transformMatrix,this._tmpMeasureA),l.a.CombineToRef(this._tmpMeasureA,this._prevCurrentMeasureTransformedIntoGlobalSpace,this._tmpMeasureA),this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY){var e=this.shadowOffsetX,t=this.shadowOffsetY,n=this.shadowBlur,i=Math.min(Math.min(e,0)-2*n,0),r=Math.max(Math.max(e,0)+2*n,0),o=Math.min(Math.min(t,0)-2*n,0),a=Math.max(Math.max(t,0)+2*n,0);this.host.invalidateRect(Math.floor(this._tmpMeasureA.left+i),Math.floor(this._tmpMeasureA.top+o),Math.ceil(this._tmpMeasureA.left+this._tmpMeasureA.width+r),Math.ceil(this._tmpMeasureA.top+this._tmpMeasureA.height+a))}else this.host.invalidateRect(Math.floor(this._tmpMeasureA.left),Math.floor(this._tmpMeasureA.top),Math.ceil(this._tmpMeasureA.left+this._tmpMeasureA.width),Math.ceil(this._tmpMeasureA.top+this._tmpMeasureA.height))},e.prototype._markAsDirty=function(e){void 0===e&&(e=!1),(this._isVisible||e)&&(this._isDirty=!0,this._host&&this._host.markAsDirty())},e.prototype._markAllAsDirty=function(){this._markAsDirty(),this._font&&this._prepareFont()},e.prototype._link=function(e){this._host=e,this._host&&(this.uniqueId=this._host.getScene().getUniqueId())},e.prototype._transform=function(e){if(this._isMatrixDirty||1!==this._scaleX||1!==this._scaleY||0!==this._rotation){var t=this._currentMeasure.width*this._transformCenterX+this._currentMeasure.left,n=this._currentMeasure.height*this._transformCenterY+this._currentMeasure.top;e&&(e.translate(t,n),e.rotate(this._rotation),e.scale(this._scaleX,this._scaleY),e.translate(-t,-n)),(this._isMatrixDirty||this._cachedOffsetX!==t||this._cachedOffsetY!==n)&&(this._cachedOffsetX=t,this._cachedOffsetY=n,this._isMatrixDirty=!1,this._flagDescendantsAsMatrixDirty(),u.a.ComposeToRef(-t,-n,this._rotation,this._scaleX,this._scaleY,this.parent?this.parent._transformMatrix:null,this._transformMatrix),this._transformMatrix.invertToRef(this._invertTransformMatrix))}},e.prototype._renderHighlight=function(e){this.isHighlighted&&(e.save(),e.strokeStyle="#4affff",e.lineWidth=2,this._renderHighlightSpecific(e),e.restore())},e.prototype._renderHighlightSpecific=function(e){e.strokeRect(this._currentMeasure.left,this._currentMeasure.top,this._currentMeasure.width,this._currentMeasure.height)},e.prototype._applyStates=function(t){this._isFontSizeInPercentage&&(this._fontSet=!0),this._fontSet&&(this._prepareFont(),this._fontSet=!1),this._font&&(t.font=this._font),this._color&&(t.fillStyle=this._color),e.AllowAlphaInheritance?t.globalAlpha*=this._alpha:this._alphaSet&&(t.globalAlpha=this.parent?this.parent.alpha*this._alpha:this._alpha)},e.prototype._layout=function(e,t){if(!this.isDirty&&(!this.isVisible||this.notRenderable))return!1;if(this._isDirty||!this._cachedParentMeasure.isEqualsTo(e)){this.host._numLayoutCalls++,this._currentMeasure.transformToRef(this._transformMatrix,this._prevCurrentMeasureTransformedIntoGlobalSpace),t.save(),this._applyStates(t);var n=0;do{this._rebuildLayout=!1,this._processMeasures(e,t),n++}while(this._rebuildLayout&&n<3);n>=3&&a.a.Error("Layout cycle detected in GUI (Control name="+this.name+", uniqueId="+this.uniqueId+")"),t.restore(),this.invalidateRect(),this._evaluateClippingState(e)}return this._wasDirty=this._isDirty,this._isDirty=!1,!0},e.prototype._processMeasures=function(e,t){this._currentMeasure.copyFrom(e),this._preMeasure(e,t),this._measure(),this._computeAlignment(e,t),this._currentMeasure.left=0|this._currentMeasure.left,this._currentMeasure.top=0|this._currentMeasure.top,this._currentMeasure.width=0|this._currentMeasure.width,this._currentMeasure.height=0|this._currentMeasure.height,this._additionalProcessing(e,t),this._cachedParentMeasure.copyFrom(e),this.onDirtyObservable.hasObservers()&&this.onDirtyObservable.notifyObservers(this)},e.prototype._evaluateClippingState=function(e){if(this.parent&&this.parent.clipChildren){if(this._currentMeasure.left>e.left+e.width)return void(this._isClipped=!0);if(this._currentMeasure.left+this._currentMeasure.widthe.top+e.height)return void(this._isClipped=!0);if(this._currentMeasure.top+this._currentMeasure.heightthis._currentMeasure.left+this._currentMeasure.width)&&(!(tthis._currentMeasure.top+this._currentMeasure.height)&&(this.isPointerBlocker&&(this._host._shouldBlockPointer=!0),!0))))},e.prototype._processPicking=function(e,t,n,i,r,o,a){return!!this._isEnabled&&(!(!this.isHitTestVisible||!this.isVisible||this._doNotRender)&&(!!this.contains(e,t)&&(this._processObservables(n,e,t,i,r,o,a),!0)))},e.prototype._onPointerMove=function(e,t,n){this.onPointerMoveObservable.notifyObservers(t,-1,e,this)&&null!=this.parent&&this.parent._onPointerMove(e,t,n)},e.prototype._onPointerEnter=function(e){return!!this._isEnabled&&(!(this._enterCount>0)&&(-1===this._enterCount&&(this._enterCount=0),this._enterCount++,this.onPointerEnterObservable.notifyObservers(this,-1,e,this)&&null!=this.parent&&this.parent._onPointerEnter(e),!0))},e.prototype._onPointerOut=function(e,t){if(void 0===t&&(t=!1),t||this._isEnabled&&e!==this){this._enterCount=0;var n=!0;e.isAscendant(this)||(n=this.onPointerOutObservable.notifyObservers(this,-1,e,this)),n&&null!=this.parent&&this.parent._onPointerOut(e,t)}},e.prototype._onPointerDown=function(e,t,n,i){return this._onPointerEnter(this),0===this._downCount&&(this._downCount++,this._downPointerIds[n]=!0,this.onPointerDownObservable.notifyObservers(new u.b(t,i),-1,e,this)&&null!=this.parent&&this.parent._onPointerDown(e,t,n,i),!0)},e.prototype._onPointerUp=function(e,t,n,i,r){if(this._isEnabled){this._downCount=0,delete this._downPointerIds[n];var o=r;r&&(this._enterCount>0||-1===this._enterCount)&&(o=this.onPointerClickObservable.notifyObservers(new u.b(t,i),-1,e,this)),this.onPointerUpObservable.notifyObservers(new u.b(t,i),-1,e,this)&&null!=this.parent&&this.parent._onPointerUp(e,t,n,i,o)}},e.prototype._forcePointerUp=function(e){if(void 0===e&&(e=null),null!==e)this._onPointerUp(this,r.d.Zero(),e,0,!0);else for(var t in this._downPointerIds)this._onPointerUp(this,r.d.Zero(),+t,0,!0)},e.prototype._onWheelScroll=function(e,t){this._isEnabled&&(this.onWheelObservable.notifyObservers(new r.d(e,t))&&null!=this.parent&&this.parent._onWheelScroll(e,t))},e.prototype._processObservables=function(e,t,n,i,r,a,s){if(!this._isEnabled)return!1;if(this._dummyVector2.copyFromFloats(t,n),e===o.a.POINTERMOVE){this._onPointerMove(this,this._dummyVector2,i);var c=this._host._lastControlOver[i];return c&&c!==this&&c._onPointerOut(this),c!==this&&this._onPointerEnter(this),this._host._lastControlOver[i]=this,!0}return e===o.a.POINTERDOWN?(this._onPointerDown(this,this._dummyVector2,i,r),this._host._registerLastControlDown(this,i),this._host._lastPickedControl=this,!0):e===o.a.POINTERUP?(this._host._lastControlDown[i]&&this._host._lastControlDown[i]._onPointerUp(this,this._dummyVector2,i,r,!0),delete this._host._lastControlDown[i],!0):!(e!==o.a.POINTERWHEEL||!this._host._lastControlOver[i])&&(this._host._lastControlOver[i]._onWheelScroll(a,s),!0)},e.prototype._prepareFont=function(){(this._font||this._fontSet)&&(this._style?this._font=this._style.fontStyle+" "+this._style.fontWeight+" "+this.fontSizeInPixels+"px "+this._style.fontFamily:this._font=this._fontStyle+" "+this._fontWeight+" "+this.fontSizeInPixels+"px "+this._fontFamily,this._fontOffset=e._GetFontOffset(this._font))},e.prototype.dispose=function(){(this.onDirtyObservable.clear(),this.onBeforeDrawObservable.clear(),this.onAfterDrawObservable.clear(),this.onPointerDownObservable.clear(),this.onPointerEnterObservable.clear(),this.onPointerMoveObservable.clear(),this.onPointerOutObservable.clear(),this.onPointerUpObservable.clear(),this.onPointerClickObservable.clear(),this.onWheelObservable.clear(),this._styleObserver&&this._style&&(this._style.onChangedObservable.remove(this._styleObserver),this._styleObserver=null),this.parent&&(this.parent.removeControl(this),this.parent=null),this._host)&&(this._host._linkedControls.indexOf(this)>-1&&this.linkWithMesh(null))},Object.defineProperty(e,"HORIZONTAL_ALIGNMENT_LEFT",{get:function(){return e._HORIZONTAL_ALIGNMENT_LEFT},enumerable:!0,configurable:!0}),Object.defineProperty(e,"HORIZONTAL_ALIGNMENT_RIGHT",{get:function(){return e._HORIZONTAL_ALIGNMENT_RIGHT},enumerable:!0,configurable:!0}),Object.defineProperty(e,"HORIZONTAL_ALIGNMENT_CENTER",{get:function(){return e._HORIZONTAL_ALIGNMENT_CENTER},enumerable:!0,configurable:!0}),Object.defineProperty(e,"VERTICAL_ALIGNMENT_TOP",{get:function(){return e._VERTICAL_ALIGNMENT_TOP},enumerable:!0,configurable:!0}),Object.defineProperty(e,"VERTICAL_ALIGNMENT_BOTTOM",{get:function(){return e._VERTICAL_ALIGNMENT_BOTTOM},enumerable:!0,configurable:!0}),Object.defineProperty(e,"VERTICAL_ALIGNMENT_CENTER",{get:function(){return e._VERTICAL_ALIGNMENT_CENTER},enumerable:!0,configurable:!0}),e._GetFontOffset=function(t){if(e._FontHeightSizes[t])return e._FontHeightSizes[t];var n=document.createElement("span");n.innerHTML="Hg",n.style.font=t;var i=document.createElement("div");i.style.display="inline-block",i.style.width="1px",i.style.height="0px",i.style.verticalAlign="bottom";var r=document.createElement("div");r.appendChild(n),r.appendChild(i),document.body.appendChild(r);var o=0,a=0;try{a=i.getBoundingClientRect().top-n.getBoundingClientRect().top,i.style.verticalAlign="baseline",o=i.getBoundingClientRect().top-n.getBoundingClientRect().top}finally{document.body.removeChild(r)}var s={ascent:o,height:a,descent:a-o};return e._FontHeightSizes[t]=s,s},e.drawEllipse=function(e,t,n,i,r){r.translate(e,t),r.scale(n,i),r.beginPath(),r.arc(0,0,1,0,2*Math.PI),r.closePath(),r.scale(1/n,1/i),r.translate(-e,-t)},e.AllowAlphaInheritance=!1,e._ClipMeasure=new l.a(0,0,0,0),e._HORIZONTAL_ALIGNMENT_LEFT=0,e._HORIZONTAL_ALIGNMENT_RIGHT=1,e._HORIZONTAL_ALIGNMENT_CENTER=2,e._VERTICAL_ALIGNMENT_TOP=0,e._VERTICAL_ALIGNMENT_BOTTOM=1,e._VERTICAL_ALIGNMENT_CENTER=2,e._FontHeightSizes={},e.AddHeader=function(){},e}();p.a.RegisteredTypes["BABYLON.GUI.Control"]=h},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o}));var i,r=n(0);!function(e){e[e.LOCAL=0]="LOCAL",e[e.WORLD=1]="WORLD",e[e.BONE=2]="BONE"}(i||(i={}));var o=function(){function e(){}return e.X=new r.e(1,0,0),e.Y=new r.e(0,1,0),e.Z=new r.e(0,0,1),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var i=n(45),r=n(5),o=n(0),a=(n(204),n(14)),s=(n(164),function(){function e(e,t,n,a,s,c,l,u,p,h,d,f,_,m,b){void 0===l&&(l=1),void 0===h&&(h=null),void 0===d&&(d=0),void 0===f&&(f="postprocess"),void 0===m&&(m=!1),void 0===b&&(b=5),this.name=e,this.width=-1,this.height=-1,this._outputTexture=null,this.autoClear=!0,this.alphaMode=0,this.animations=new Array,this.enablePixelPerfectMode=!1,this.forceFullscreenViewport=!0,this.scaleMode=1,this.alwaysForcePOT=!1,this._samples=1,this.adaptScaleToCurrentViewport=!1,this._reusable=!1,this._textures=new i.a(2),this._currentRenderTextureInd=0,this._scaleRatio=new o.d(1,1),this._texelSize=o.d.Zero(),this.onActivateObservable=new r.c,this.onSizeChangedObservable=new r.c,this.onApplyObservable=new r.c,this.onBeforeRenderObservable=new r.c,this.onAfterRenderObservable=new r.c,null!=c?(this._camera=c,this._scene=c.getScene(),c.attachPostProcess(this),this._engine=this._scene.getEngine(),this._scene.postProcesses.push(this),this.uniqueId=this._scene.getUniqueId()):u&&(this._engine=u,this._engine.postProcesses.push(this)),this._options=s,this.renderTargetSamplingMode=l||1,this._reusable=p||!1,this._textureType=d,this._textureFormat=b,this._samplers=a||[],this._samplers.push("textureSampler"),this._fragmentUrl=t,this._vertexUrl=f,this._parameters=n||[],this._parameters.push("scale"),this._indexParameters=_,m||this.updateEffect(h)}return Object.defineProperty(e.prototype,"samples",{get:function(){return this._samples},set:function(e){var t=this;this._samples=Math.min(e,this._engine.getCaps().maxMSAASamples),this._textures.forEach((function(e){e.samples!==t._samples&&t._engine.updateRenderTargetTextureSampleCount(e,t._samples)}))},enumerable:!0,configurable:!0}),e.prototype.getEffectName=function(){return this._fragmentUrl},Object.defineProperty(e.prototype,"onActivate",{set:function(e){this._onActivateObserver&&this.onActivateObservable.remove(this._onActivateObserver),e&&(this._onActivateObserver=this.onActivateObservable.add(e))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onSizeChanged",{set:function(e){this._onSizeChangedObserver&&this.onSizeChangedObservable.remove(this._onSizeChangedObserver),this._onSizeChangedObserver=this.onSizeChangedObservable.add(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onApply",{set:function(e){this._onApplyObserver&&this.onApplyObservable.remove(this._onApplyObserver),this._onApplyObserver=this.onApplyObservable.add(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onBeforeRender",{set:function(e){this._onBeforeRenderObserver&&this.onBeforeRenderObservable.remove(this._onBeforeRenderObserver),this._onBeforeRenderObserver=this.onBeforeRenderObservable.add(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onAfterRender",{set:function(e){this._onAfterRenderObserver&&this.onAfterRenderObservable.remove(this._onAfterRenderObserver),this._onAfterRenderObserver=this.onAfterRenderObservable.add(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"inputTexture",{get:function(){return this._textures.data[this._currentRenderTextureInd]},set:function(e){this._forcedOutputTexture=e},enumerable:!0,configurable:!0}),e.prototype.getCamera=function(){return this._camera},Object.defineProperty(e.prototype,"texelSize",{get:function(){return this._shareOutputWithPostProcess?this._shareOutputWithPostProcess.texelSize:(this._forcedOutputTexture&&this._texelSize.copyFromFloats(1/this._forcedOutputTexture.width,1/this._forcedOutputTexture.height),this._texelSize)},enumerable:!0,configurable:!0}),e.prototype.getClassName=function(){return"PostProcess"},e.prototype.getEngine=function(){return this._engine},e.prototype.getEffect=function(){return this._effect},e.prototype.shareOutputWith=function(e){return this._disposeTextures(),this._shareOutputWithPostProcess=e,this},e.prototype.useOwnOutput=function(){0==this._textures.length&&(this._textures=new i.a(2)),this._shareOutputWithPostProcess=null},e.prototype.updateEffect=function(e,t,n,i,r,o){void 0===e&&(e=null),void 0===t&&(t=null),void 0===n&&(n=null),this._effect=this._engine.createEffect({vertex:this._vertexUrl,fragment:this._fragmentUrl},["position"],t||this._parameters,n||this._samplers,null!==e?e:"",void 0,r,o,i||this._indexParameters)},e.prototype.isReusable=function(){return this._reusable},e.prototype.markTextureDirty=function(){this.width=-1},e.prototype.activate=function(e,t,n){var i=this;void 0===t&&(t=null);var r=(e=e||this._camera).getScene(),o=r.getEngine(),s=o.getCaps().maxTextureSize,c=(t?t.width:this._engine.getRenderWidth(!0))*this._options|0,l=(t?t.height:this._engine.getRenderHeight(!0))*this._options|0,u=e.parent;!u||u.leftCamera!=e&&u.rightCamera!=e||(c/=2);var p,h=this._options.width||c,d=this._options.height||l,f=7!==this.renderTargetSamplingMode&&1!==this.renderTargetSamplingMode&&2!==this.renderTargetSamplingMode;if(!this._shareOutputWithPostProcess&&!this._forcedOutputTexture){if(this.adaptScaleToCurrentViewport){var _=o.currentViewport;_&&(h*=_.width,d*=_.height)}if((f||this.alwaysForcePOT)&&(this._options.width||(h=o.needPOTTextures?a.a.GetExponentOfTwo(h,s,this.scaleMode):h),this._options.height||(d=o.needPOTTextures?a.a.GetExponentOfTwo(d,s,this.scaleMode):d)),this.width!==h||this.height!==d){if(this._textures.length>0){for(var m=0;m0)for(var e=0;e0){var i=this._camera._getFirstPostProcess();i&&i.markTextureDirty()}this.onActivateObservable.clear(),this.onAfterRenderObservable.clear(),this.onApplyObservable.clear(),this.onBeforeRenderObservable.clear(),this.onSizeChangedObservable.clear()}},e}())},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){}return Object.defineProperty(e,"LastCreatedEngine",{get:function(){return 0===this.Instances.length?null:this.Instances[this.Instances.length-1]},enumerable:!0,configurable:!0}),Object.defineProperty(e,"LastCreatedScene",{get:function(){return this._LastCreatedScene},enumerable:!0,configurable:!0}),e.Instances=new Array,e._LastCreatedScene=null,e.UseFallbackTexture=!0,e.FallbackTexture="",e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return _}));var i=n(1),r=n(2),o=n(45),a=n(12),s=n(5),c=n(0),l=n(33),u=n(10),p=n(13),h=n(21),d=n(72),f=n(127),_=function(e){function t(n,i,r,a){void 0===a&&(a=!0);var l=e.call(this,n,r)||this;return l._position=c.e.Zero(),l.upVector=c.e.Up(),l.orthoLeft=null,l.orthoRight=null,l.orthoBottom=null,l.orthoTop=null,l.fov=.8,l.minZ=1,l.maxZ=1e4,l.inertia=.9,l.mode=t.PERSPECTIVE_CAMERA,l.isIntermediate=!1,l.viewport=new d.a(0,0,1,1),l.layerMask=268435455,l.fovMode=t.FOVMODE_VERTICAL_FIXED,l.cameraRigMode=t.RIG_MODE_NONE,l.customRenderTargets=new Array,l.outputRenderTarget=null,l.onViewMatrixChangedObservable=new s.c,l.onProjectionMatrixChangedObservable=new s.c,l.onAfterCheckInputsObservable=new s.c,l.onRestoreStateObservable=new s.c,l.isRigCamera=!1,l._rigCameras=new Array,l._webvrViewMatrix=c.a.Identity(),l._skipRendering=!1,l._projectionMatrix=new c.a,l._postProcesses=new Array,l._activeMeshes=new o.a(256),l._globalPosition=c.e.Zero(),l._computedViewMatrix=c.a.Identity(),l._doNotComputeProjectionMatrix=!1,l._transformMatrix=c.a.Zero(),l._refreshFrustumPlanes=!0,l._isCamera=!0,l._isLeftCamera=!1,l._isRightCamera=!1,l.getScene().addCamera(l),a&&!l.getScene().activeCamera&&(l.getScene().activeCamera=l),l.position=i,l}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"position",{get:function(){return this._position},set:function(e){this._position=e},enumerable:!0,configurable:!0}),t.prototype.storeState=function(){return this._stateStored=!0,this._storedFov=this.fov,this},t.prototype._restoreStateValues=function(){return!!this._stateStored&&(this.fov=this._storedFov,!0)},t.prototype.restoreState=function(){return!!this._restoreStateValues()&&(this.onRestoreStateObservable.notifyObservers(this),!0)},t.prototype.getClassName=function(){return"Camera"},t.prototype.toString=function(e){var t="Name: "+this.name;if(t+=", type: "+this.getClassName(),this.animations)for(var n=0;n-1?(u.a.Error("You're trying to reuse a post process not defined as reusable."),0):(null==t||t<0?this._postProcesses.push(e):null===this._postProcesses[t]?this._postProcesses[t]=e:this._postProcesses.splice(t,0,e),this._cascadePostProcessesToRigCams(),this._postProcesses.indexOf(e))},t.prototype.detachPostProcess=function(e){var t=this._postProcesses.indexOf(e);-1!==t&&(this._postProcesses[t]=null),this._cascadePostProcessesToRigCams()},t.prototype.getWorldMatrix=function(){return this._isSynchronizedViewMatrix()||this.getViewMatrix(),this._worldMatrix},t.prototype._getViewMatrix=function(){return c.a.Identity()},t.prototype.getViewMatrix=function(e){return!e&&this._isSynchronizedViewMatrix()||(this.updateCache(),this._computedViewMatrix=this._getViewMatrix(),this._currentRenderId=this.getScene().getRenderId(),this._childUpdateId++,this._refreshFrustumPlanes=!0,this._cameraRigParams&&this._cameraRigParams.vrPreViewMatrix&&this._computedViewMatrix.multiplyToRef(this._cameraRigParams.vrPreViewMatrix,this._computedViewMatrix),this.parent&&this.parent.onViewMatrixChangedObservable&&this.parent.onViewMatrixChangedObservable.notifyObservers(this.parent),this.onViewMatrixChangedObservable.notifyObservers(this),this._computedViewMatrix.invertToRef(this._worldMatrix)),this._computedViewMatrix},t.prototype.freezeProjectionMatrix=function(e){this._doNotComputeProjectionMatrix=!0,void 0!==e&&(this._projectionMatrix=e)},t.prototype.unfreezeProjectionMatrix=function(){this._doNotComputeProjectionMatrix=!1},t.prototype.getProjectionMatrix=function(e){if(this._doNotComputeProjectionMatrix||!e&&this._isSynchronizedProjectionMatrix())return this._projectionMatrix;this._cache.mode=this.mode,this._cache.minZ=this.minZ,this._cache.maxZ=this.maxZ,this._refreshFrustumPlanes=!0;var n=this.getEngine(),i=this.getScene();if(this.mode===t.PERSPECTIVE_CAMERA){this._cache.fov=this.fov,this._cache.fovMode=this.fovMode,this._cache.aspectRatio=n.getAspectRatio(this),this.minZ<=0&&(this.minZ=.1);var r=n.useReverseDepthBuffer;(i.useRightHandedSystem?r?c.a.PerspectiveFovReverseRHToRef:c.a.PerspectiveFovRHToRef:r?c.a.PerspectiveFovReverseLHToRef:c.a.PerspectiveFovLHToRef)(this.fov,n.getAspectRatio(this),this.minZ,this.maxZ,this._projectionMatrix,this.fovMode===t.FOVMODE_VERTICAL_FIXED)}else{var o=n.getRenderWidth()/2,a=n.getRenderHeight()/2;i.useRightHandedSystem?c.a.OrthoOffCenterRHToRef(this.orthoLeft||-o,this.orthoRight||o,this.orthoBottom||-a,this.orthoTop||a,this.minZ,this.maxZ,this._projectionMatrix):c.a.OrthoOffCenterLHToRef(this.orthoLeft||-o,this.orthoRight||o,this.orthoBottom||-a,this.orthoTop||a,this.minZ,this.maxZ,this._projectionMatrix),this._cache.orthoLeft=this.orthoLeft,this._cache.orthoRight=this.orthoRight,this._cache.orthoBottom=this.orthoBottom,this._cache.orthoTop=this.orthoTop,this._cache.renderWidth=n.getRenderWidth(),this._cache.renderHeight=n.getRenderHeight()}return this.onProjectionMatrixChangedObservable.notifyObservers(this),this._projectionMatrix},t.prototype.getTransformationMatrix=function(){return this._computedViewMatrix.multiplyToRef(this._projectionMatrix,this._transformMatrix),this._transformMatrix},t.prototype._updateFrustumPlanes=function(){this._refreshFrustumPlanes&&(this.getTransformationMatrix(),this._frustumPlanes?f.a.GetPlanesToRef(this._transformMatrix,this._frustumPlanes):this._frustumPlanes=f.a.GetPlanes(this._transformMatrix),this._refreshFrustumPlanes=!1)},t.prototype.isInFrustum=function(e,t){if(void 0===t&&(t=!1),this._updateFrustumPlanes(),t&&this.rigCameras.length>0){var n=!1;return this.rigCameras.forEach((function(t){t._updateFrustumPlanes(),n=n||e.isInFrustum(t._frustumPlanes)})),n}return e.isInFrustum(this._frustumPlanes)},t.prototype.isCompletelyInFrustum=function(e){return this._updateFrustumPlanes(),e.isCompletelyInFrustum(this._frustumPlanes)},t.prototype.getForwardRay=function(e,t,n){throw void 0===e&&(e=100),h.a.WarnImport("Ray")},t.prototype.dispose=function(n,i){for(void 0===i&&(i=!1),this.onViewMatrixChangedObservable.clear(),this.onProjectionMatrixChangedObservable.clear(),this.onAfterCheckInputsObservable.clear(),this.onRestoreStateObservable.clear(),this.inputs&&this.inputs.clear(),this.getScene().stopAnimation(this),this.getScene().removeCamera(this);this._rigCameras.length>0;){var r=this._rigCameras.pop();r&&r.dispose()}if(this._rigPostProcess)this._rigPostProcess.dispose(this),this._rigPostProcess=null,this._postProcesses=[];else if(this.cameraRigMode!==t.RIG_MODE_NONE)this._rigPostProcess=null,this._postProcesses=[];else for(var o=this._postProcesses.length;--o>=0;){var a=this._postProcesses[o];a&&a.dispose(this)}for(o=this.customRenderTargets.length;--o>=0;)this.customRenderTargets[o].dispose();this.customRenderTargets=[],this._activeMeshes.dispose(),e.prototype.dispose.call(this,n,i)},Object.defineProperty(t.prototype,"isLeftCamera",{get:function(){return this._isLeftCamera},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isRightCamera",{get:function(){return this._isRightCamera},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"leftCamera",{get:function(){return this._rigCameras.length<1?null:this._rigCameras[0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rightCamera",{get:function(){return this._rigCameras.length<2?null:this._rigCameras[1]},enumerable:!0,configurable:!0}),t.prototype.getLeftTarget=function(){return this._rigCameras.length<1?null:this._rigCameras[0].getTarget()},t.prototype.getRightTarget=function(){return this._rigCameras.length<2?null:this._rigCameras[1].getTarget()},t.prototype.setCameraRigMode=function(e,n){if(this.cameraRigMode!==e){for(;this._rigCameras.length>0;){var i=this._rigCameras.pop();i&&i.dispose()}if(this.cameraRigMode=e,this._cameraRigParams={},this._cameraRigParams.interaxialDistance=n.interaxialDistance||.0637,this._cameraRigParams.stereoHalfAngle=a.b.ToRadians(this._cameraRigParams.interaxialDistance/.0637),this.cameraRigMode!==t.RIG_MODE_NONE){var r=this.createRigCamera(this.name+"_L",0);r&&(r._isLeftCamera=!0);var o=this.createRigCamera(this.name+"_R",1);o&&(o._isRightCamera=!0),r&&o&&(this._rigCameras.push(r),this._rigCameras.push(o))}switch(this.cameraRigMode){case t.RIG_MODE_STEREOSCOPIC_ANAGLYPH:t._setStereoscopicAnaglyphRigMode(this);break;case t.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:case t.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED:case t.RIG_MODE_STEREOSCOPIC_OVERUNDER:case t.RIG_MODE_STEREOSCOPIC_INTERLACED:t._setStereoscopicRigMode(this);break;case t.RIG_MODE_VR:t._setVRRigMode(this,n);break;case t.RIG_MODE_WEBVR:t._setWebVRRigMode(this,n)}this._cascadePostProcessesToRigCams(),this.update()}},t._setStereoscopicRigMode=function(e){throw"Import Cameras/RigModes/stereoscopicRigMode before using stereoscopic rig mode"},t._setStereoscopicAnaglyphRigMode=function(e){throw"Import Cameras/RigModes/stereoscopicAnaglyphRigMode before using stereoscopic anaglyph rig mode"},t._setVRRigMode=function(e,t){throw"Import Cameras/RigModes/vrRigMode before using VR rig mode"},t._setWebVRRigMode=function(e,t){throw"Import Cameras/RigModes/WebVRRigMode before using Web VR rig mode"},t.prototype._getVRProjectionMatrix=function(){return c.a.PerspectiveFovLHToRef(this._cameraRigParams.vrMetrics.aspectRatioFov,this._cameraRigParams.vrMetrics.aspectRatio,this.minZ,this.maxZ,this._cameraRigParams.vrWorkMatrix),this._cameraRigParams.vrWorkMatrix.multiplyToRef(this._cameraRigParams.vrHMatrix,this._projectionMatrix),this._projectionMatrix},t.prototype._updateCameraRotationMatrix=function(){},t.prototype._updateWebVRCameraRotationMatrix=function(){},t.prototype._getWebVRProjectionMatrix=function(){return c.a.Identity()},t.prototype._getWebVRViewMatrix=function(){return c.a.Identity()},t.prototype.setCameraRigParameter=function(e,t){this._cameraRigParams||(this._cameraRigParams={}),this._cameraRigParams[e]=t,"interaxialDistance"===e&&(this._cameraRigParams.stereoHalfAngle=a.b.ToRadians(t/.0637))},t.prototype.createRigCamera=function(e,t){return null},t.prototype._updateRigCameras=function(){for(var e=0;e=0;o--)this._keys[o].frame>=i&&this._keys[o].frame<=r&&this._keys.splice(o,1);this._ranges[e]=null}},e.prototype.getRange=function(e){return this._ranges[e]},e.prototype.getKeys=function(){return this._keys},e.prototype.getHighestFrame=function(){for(var e=0,t=0,n=this._keys.length;t0)return n.highLimitValue.clone?n.highLimitValue.clone():n.highLimitValue;var i=this._keys;if(1===i.length)return this._getKeyValue(i[0].value);var r=n.key;if(i[r].frame>=t)for(;r-1>=0&&i[r].frame>=t;)r--;for(var o=r;o=t){n.key=o;var s=i[o],l=this._getKeyValue(s.value);if(s.interpolation===c.a.STEP)return l;var u=this._getKeyValue(a.value),p=void 0!==s.outTangent&&void 0!==a.inTangent,h=a.frame-s.frame,d=(t-s.frame)/h,f=this.getEasingFunction();switch(null!=f&&(d=f.ease(d)),this.dataType){case e.ANIMATIONTYPE_FLOAT:var _=p?this.floatInterpolateFunctionWithTangents(l,s.outTangent*h,u,a.inTangent*h,d):this.floatInterpolateFunction(l,u,d);switch(n.loopMode){case e.ANIMATIONLOOPMODE_CYCLE:case e.ANIMATIONLOOPMODE_CONSTANT:return _;case e.ANIMATIONLOOPMODE_RELATIVE:return n.offsetValue*n.repeatCount+_}break;case e.ANIMATIONTYPE_QUATERNION:var m=p?this.quaternionInterpolateFunctionWithTangents(l,s.outTangent.scale(h),u,a.inTangent.scale(h),d):this.quaternionInterpolateFunction(l,u,d);switch(n.loopMode){case e.ANIMATIONLOOPMODE_CYCLE:case e.ANIMATIONLOOPMODE_CONSTANT:return m;case e.ANIMATIONLOOPMODE_RELATIVE:return m.addInPlace(n.offsetValue.scale(n.repeatCount))}return m;case e.ANIMATIONTYPE_VECTOR3:var b=p?this.vector3InterpolateFunctionWithTangents(l,s.outTangent.scale(h),u,a.inTangent.scale(h),d):this.vector3InterpolateFunction(l,u,d);switch(n.loopMode){case e.ANIMATIONLOOPMODE_CYCLE:case e.ANIMATIONLOOPMODE_CONSTANT:return b;case e.ANIMATIONLOOPMODE_RELATIVE:return b.add(n.offsetValue.scale(n.repeatCount))}case e.ANIMATIONTYPE_VECTOR2:var g=p?this.vector2InterpolateFunctionWithTangents(l,s.outTangent.scale(h),u,a.inTangent.scale(h),d):this.vector2InterpolateFunction(l,u,d);switch(n.loopMode){case e.ANIMATIONLOOPMODE_CYCLE:case e.ANIMATIONLOOPMODE_CONSTANT:return g;case e.ANIMATIONLOOPMODE_RELATIVE:return g.add(n.offsetValue.scale(n.repeatCount))}case e.ANIMATIONTYPE_SIZE:switch(n.loopMode){case e.ANIMATIONLOOPMODE_CYCLE:case e.ANIMATIONLOOPMODE_CONSTANT:return this.sizeInterpolateFunction(l,u,d);case e.ANIMATIONLOOPMODE_RELATIVE:return this.sizeInterpolateFunction(l,u,d).add(n.offsetValue.scale(n.repeatCount))}case e.ANIMATIONTYPE_COLOR3:switch(n.loopMode){case e.ANIMATIONLOOPMODE_CYCLE:case e.ANIMATIONLOOPMODE_CONSTANT:return this.color3InterpolateFunction(l,u,d);case e.ANIMATIONLOOPMODE_RELATIVE:return this.color3InterpolateFunction(l,u,d).add(n.offsetValue.scale(n.repeatCount))}case e.ANIMATIONTYPE_COLOR4:switch(n.loopMode){case e.ANIMATIONLOOPMODE_CYCLE:case e.ANIMATIONLOOPMODE_CONSTANT:return this.color4InterpolateFunction(l,u,d);case e.ANIMATIONLOOPMODE_RELATIVE:return this.color4InterpolateFunction(l,u,d).add(n.offsetValue.scale(n.repeatCount))}case e.ANIMATIONTYPE_MATRIX:switch(n.loopMode){case e.ANIMATIONLOOPMODE_CYCLE:case e.ANIMATIONLOOPMODE_CONSTANT:if(e.AllowMatricesInterpolation)return this.matrixInterpolateFunction(l,u,d,n.workValue);case e.ANIMATIONLOOPMODE_RELATIVE:return l}}break}}return this._getKeyValue(i[i.length-1].value)},e.prototype.matrixInterpolateFunction=function(t,n,r,o){return e.AllowMatrixDecomposeForInterpolation?o?(i.a.DecomposeLerpToRef(t,n,r,o),o):i.a.DecomposeLerp(t,n,r):o?(i.a.LerpToRef(t,n,r,o),o):i.a.Lerp(t,n,r)},e.prototype.clone=function(){var t=new e(this.name,this.targetPropertyPath.join("."),this.framePerSecond,this.dataType,this.loopMode);if(t.enableBlending=this.enableBlending,t.blendingSpeed=this.blendingSpeed,this._keys&&t.setKeys(this._keys),this._ranges)for(var n in t._ranges={},this._ranges){var i=this._ranges[n];i&&(t._ranges[n]=i.clone())}return t},e.prototype.setKeys=function(e){this._keys=e.slice(0)},e.prototype.serialize=function(){var t={};t.name=this.name,t.property=this.targetProperty,t.framePerSecond=this.framePerSecond,t.dataType=this.dataType,t.loopBehavior=this.loopMode,t.enableBlending=this.enableBlending,t.blendingSpeed=this.blendingSpeed;var n=this.dataType;t.keys=[];for(var i=this.getKeys(),r=0;r=1&&(l=p.values[1]),p.values.length>=2&&(u=p.values[2]);break;case e.ANIMATIONTYPE_QUATERNION:if(n=i.b.FromArray(p.values),p.values.length>=8){var h=i.b.FromArray(p.values.slice(4,8));h.equals(i.b.Zero())||(l=h)}if(p.values.length>=12){var d=i.b.FromArray(p.values.slice(8,12));d.equals(i.b.Zero())||(u=d)}break;case e.ANIMATIONTYPE_MATRIX:n=i.a.FromArray(p.values);break;case e.ANIMATIONTYPE_COLOR3:n=r.a.FromArray(p.values);break;case e.ANIMATIONTYPE_COLOR4:n=r.b.FromArray(p.values);break;case e.ANIMATIONTYPE_VECTOR3:default:n=i.e.FromArray(p.values)}var f={};f.frame=p.frame,f.value=n,null!=l&&(f.inTangent=l),null!=u&&(f.outTangent=u),c.push(f)}if(a.setKeys(c),t.ranges)for(o=0;os.a.CollisionsEpsilon&&r.position.addInPlace(r._meshCollisionData._diffPositionForCollisions),n&&r.onCollideObservable.notifyObservers(n),r.onCollisionPositionChangeObservable.notifyObservers(r.position)},r.getScene().addMesh(r),r._resyncLightSources(),r}return Object(i.d)(t,e),Object.defineProperty(t,"BILLBOARDMODE_NONE",{get:function(){return u.a.BILLBOARDMODE_NONE},enumerable:!0,configurable:!0}),Object.defineProperty(t,"BILLBOARDMODE_X",{get:function(){return u.a.BILLBOARDMODE_X},enumerable:!0,configurable:!0}),Object.defineProperty(t,"BILLBOARDMODE_Y",{get:function(){return u.a.BILLBOARDMODE_Y},enumerable:!0,configurable:!0}),Object.defineProperty(t,"BILLBOARDMODE_Z",{get:function(){return u.a.BILLBOARDMODE_Z},enumerable:!0,configurable:!0}),Object.defineProperty(t,"BILLBOARDMODE_ALL",{get:function(){return u.a.BILLBOARDMODE_ALL},enumerable:!0,configurable:!0}),Object.defineProperty(t,"BILLBOARDMODE_USE_POSITION",{get:function(){return u.a.BILLBOARDMODE_USE_POSITION},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"facetNb",{get:function(){return this._internalAbstractMeshDataInfo._facetData.facetNb},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"partitioningSubdivisions",{get:function(){return this._internalAbstractMeshDataInfo._facetData.partitioningSubdivisions},set:function(e){this._internalAbstractMeshDataInfo._facetData.partitioningSubdivisions=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"partitioningBBoxRatio",{get:function(){return this._internalAbstractMeshDataInfo._facetData.partitioningBBoxRatio},set:function(e){this._internalAbstractMeshDataInfo._facetData.partitioningBBoxRatio=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"mustDepthSortFacets",{get:function(){return this._internalAbstractMeshDataInfo._facetData.facetDepthSort},set:function(e){this._internalAbstractMeshDataInfo._facetData.facetDepthSort=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"facetDepthSortFrom",{get:function(){return this._internalAbstractMeshDataInfo._facetData.facetDepthSortFrom},set:function(e){this._internalAbstractMeshDataInfo._facetData.facetDepthSortFrom=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isFacetDataEnabled",{get:function(){return this._internalAbstractMeshDataInfo._facetData.facetDataEnabled},enumerable:!0,configurable:!0}),t.prototype._updateNonUniformScalingState=function(t){return!!e.prototype._updateNonUniformScalingState.call(this,t)&&(this._markSubMeshesAsMiscDirty(),!0)},Object.defineProperty(t.prototype,"onCollide",{set:function(e){this._meshCollisionData._onCollideObserver&&this.onCollideObservable.remove(this._meshCollisionData._onCollideObserver),this._meshCollisionData._onCollideObserver=this.onCollideObservable.add(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onCollisionPositionChange",{set:function(e){this._meshCollisionData._onCollisionPositionChangeObserver&&this.onCollisionPositionChangeObservable.remove(this._meshCollisionData._onCollisionPositionChangeObserver),this._meshCollisionData._onCollisionPositionChangeObserver=this.onCollisionPositionChangeObservable.add(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"visibility",{get:function(){return this._internalAbstractMeshDataInfo._visibility},set:function(e){this._internalAbstractMeshDataInfo._visibility!==e&&(this._internalAbstractMeshDataInfo._visibility=e,this._markSubMeshesAsMiscDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"material",{get:function(){return this._material},set:function(e){this._material!==e&&(this._material&&this._material.meshMap&&(this._material.meshMap[this.uniqueId]=void 0),this._material=e,e&&e.meshMap&&(e.meshMap[this.uniqueId]=this),this.onMaterialChangedObservable.hasObservers()&&this.onMaterialChangedObservable.notifyObservers(this),this.subMeshes&&this._unBindEffect())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"receiveShadows",{get:function(){return this._internalAbstractMeshDataInfo._receiveShadows},set:function(e){this._internalAbstractMeshDataInfo._receiveShadows!==e&&(this._internalAbstractMeshDataInfo._receiveShadows=e,this._markSubMeshesAsLightDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasVertexAlpha",{get:function(){return this._internalAbstractMeshDataInfo._hasVertexAlpha},set:function(e){this._internalAbstractMeshDataInfo._hasVertexAlpha!==e&&(this._internalAbstractMeshDataInfo._hasVertexAlpha=e,this._markSubMeshesAsAttributesDirty(),this._markSubMeshesAsMiscDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useVertexColors",{get:function(){return this._internalAbstractMeshDataInfo._useVertexColors},set:function(e){this._internalAbstractMeshDataInfo._useVertexColors!==e&&(this._internalAbstractMeshDataInfo._useVertexColors=e,this._markSubMeshesAsAttributesDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"computeBonesUsingShaders",{get:function(){return this._internalAbstractMeshDataInfo._computeBonesUsingShaders},set:function(e){this._internalAbstractMeshDataInfo._computeBonesUsingShaders!==e&&(this._internalAbstractMeshDataInfo._computeBonesUsingShaders=e,this._markSubMeshesAsAttributesDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"numBoneInfluencers",{get:function(){return this._internalAbstractMeshDataInfo._numBoneInfluencers},set:function(e){this._internalAbstractMeshDataInfo._numBoneInfluencers!==e&&(this._internalAbstractMeshDataInfo._numBoneInfluencers=e,this._markSubMeshesAsAttributesDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"applyFog",{get:function(){return this._internalAbstractMeshDataInfo._applyFog},set:function(e){this._internalAbstractMeshDataInfo._applyFog!==e&&(this._internalAbstractMeshDataInfo._applyFog=e,this._markSubMeshesAsMiscDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"layerMask",{get:function(){return this._internalAbstractMeshDataInfo._layerMask},set:function(e){e!==this._internalAbstractMeshDataInfo._layerMask&&(this._internalAbstractMeshDataInfo._layerMask=e,this._resyncLightSources())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"collisionMask",{get:function(){return this._meshCollisionData._collisionMask},set:function(e){this._meshCollisionData._collisionMask=isNaN(e)?-1:e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"collisionGroup",{get:function(){return this._meshCollisionData._collisionGroup},set:function(e){this._meshCollisionData._collisionGroup=isNaN(e)?-1:e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"lightSources",{get:function(){return this._lightSources},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_positions",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"skeleton",{get:function(){return this._internalAbstractMeshDataInfo._skeleton},set:function(e){var t=this._internalAbstractMeshDataInfo._skeleton;t&&t.needInitialSkinMatrix&&t._unregisterMeshWithPoseMatrix(this),e&&e.needInitialSkinMatrix&&e._registerMeshWithPoseMatrix(this),this._internalAbstractMeshDataInfo._skeleton=e,this._internalAbstractMeshDataInfo._skeleton||(this._bonesTransformMatrices=null),this._markSubMeshesAsAttributesDirty()},enumerable:!0,configurable:!0}),t.prototype.getClassName=function(){return"AbstractMesh"},t.prototype.toString=function(e){var t="Name: "+this.name+", isInstance: "+("InstancedMesh"!==this.getClassName()?"YES":"NO");t+=", # of submeshes: "+(this.subMeshes?this.subMeshes.length:0);var n=this._internalAbstractMeshDataInfo._skeleton;return n&&(t+=", skeleton: "+n.name),e&&(t+=", billboard mode: "+["NONE","X","Y",null,"Z",null,null,"ALL"][this.billboardMode],t+=", freeze wrld mat: "+(this._isWorldMatrixFrozen||this._waitingData.freezeWorldMatrix?"YES":"NO")),t},t.prototype._getEffectiveParent=function(){return this._masterMesh&&this.billboardMode!==u.a.BILLBOARDMODE_NONE?this._masterMesh:e.prototype._getEffectiveParent.call(this)},t.prototype._getActionManagerForTrigger=function(e,t){if(void 0===t&&(t=!0),this.actionManager&&(t||this.actionManager.isRecursive)){if(!e)return this.actionManager;if(this.actionManager.hasSpecificTrigger(e))return this.actionManager}return this.parent?this.parent._getActionManagerForTrigger(e,!1):null},t.prototype._rebuild=function(){if(this.onRebuildObservable.notifyObservers(this),this._occlusionQuery&&(this._occlusionQuery=null),this.subMeshes)for(var e=0,t=this.subMeshes;e4,s=o?this.getVerticesData(c.b.MatricesIndicesExtraKind):null,l=o?this.getVerticesData(c.b.MatricesWeightsExtraKind):null;this.skeleton.prepare();for(var u=this.skeleton.getTransformMatrices(this),p=a.c.Vector3[0],h=a.c.Matrix[0],d=a.c.Matrix[1],f=0,_=0;_0&&(a.a.FromFloat32ArrayToRefScaled(u,Math.floor(16*n[f+m]),b,d),h.addToSelf(d));if(o)for(m=0;m<4;m++)(b=l[f+m])>0&&(a.a.FromFloat32ArrayToRefScaled(u,Math.floor(16*s[f+m]),b,d),h.addToSelf(d));a.e.TransformCoordinatesFromFloatsToRef(t[_],t[_+1],t[_+2],h,p),p.toArray(t,_),this._positions&&this._positions[_/3].copyFrom(p)}}}return t},t.prototype._updateBoundingInfo=function(){var e=this._effectiveMesh;return this._boundingInfo?this._boundingInfo.update(e.worldMatrixFromCache):this._boundingInfo=new h.a(this.absolutePosition,this.absolutePosition,e.worldMatrixFromCache),this._updateSubMeshesBoundingInfo(e.worldMatrixFromCache),this},t.prototype._updateSubMeshesBoundingInfo=function(e){if(!this.subMeshes)return this;for(var t=this.subMeshes.length,n=0;n1||!i.IsGlobal)&&i.updateBoundingInfo(e)}return this},t.prototype._afterComputeWorldMatrix=function(){this.doNotSyncBoundingInfo||this._updateBoundingInfo()},Object.defineProperty(t.prototype,"_effectiveMesh",{get:function(){return this.skeleton&&this.skeleton.overrideMesh||this},enumerable:!0,configurable:!0}),t.prototype.isInFrustum=function(e){return null!==this._boundingInfo&&this._boundingInfo.isInFrustum(e,this.cullingStrategy)},t.prototype.isCompletelyInFrustum=function(e){return null!==this._boundingInfo&&this._boundingInfo.isCompletelyInFrustum(e)},t.prototype.intersectsMesh=function(e,t,n){if(void 0===t&&(t=!1),!this._boundingInfo||!e._boundingInfo)return!1;if(this._boundingInfo.intersects(e._boundingInfo,t))return!0;if(n)for(var i=0,r=this.getChildMeshes();i1&&!o._checkCollision(e)||this._collideForSubMesh(o,t,e)}return this},t.prototype._checkCollision=function(e){if(!this._boundingInfo||!this._boundingInfo._checkCollision(e))return this;var t=a.c.Matrix[0],n=a.c.Matrix[1];return a.a.ScalingToRef(1/e._radius.x,1/e._radius.y,1/e._radius.z,t),this.worldMatrixFromCache.multiplyToRef(t,n),this._processCollisionsForSubMeshes(e,n),this},t.prototype._generatePointsArray=function(){return!1},t.prototype.intersects=function(e,t,n){var i=new p.a,r="InstancedLinesMesh"===this.getClassName()||"LinesMesh"===this.getClassName()?this.intersectionThreshold:0,o=this._boundingInfo;if(!(this.subMeshes&&o&&e.intersectsSphere(o.boundingSphere,r)&&e.intersectsBox(o.boundingBox,r)))return i;if(!this._generatePointsArray())return i;for(var s=null,c=this._scene.getIntersectingSubMeshCandidates(this,e),l=c.length,u=0;u1)||h.canIntersects(e)){var d=h.intersects(e,this._positions,this.getIndices(),t,n);if(d&&(t||!s||d.distance65535){o=!0;break}e.depthSortedIndices=o?new Uint32Array(n):new Uint16Array(n)}if(e.facetDepthSortFunction=function(e,t){return t.sqDistance-e.sqDistance},!e.facetDepthSortFrom){var u=this.getScene().activeCamera;e.facetDepthSortFrom=u?u.position:a.e.Zero()}e.depthSortedFacets=[];for(var p=0;pb.a?r.maximum.x-r.minimum.x:b.a,e.bbSize.y=r.maximum.y-r.minimum.y>b.a?r.maximum.y-r.minimum.y:b.a,e.bbSize.z=r.maximum.z-r.minimum.z>b.a?r.maximum.z-r.minimum.z:b.a;var d=e.bbSize.x>e.bbSize.y?e.bbSize.x:e.bbSize.y;if(d=d>e.bbSize.z?d:e.bbSize.z,e.subDiv.max=e.partitioningSubdivisions,e.subDiv.X=Math.floor(e.subDiv.max*e.bbSize.x/d),e.subDiv.Y=Math.floor(e.subDiv.max*e.bbSize.y/d),e.subDiv.Z=Math.floor(e.subDiv.max*e.bbSize.z/d),e.subDiv.X=e.subDiv.X<1?1:e.subDiv.X,e.subDiv.Y=e.subDiv.Y<1?1:e.subDiv.Y,e.subDiv.Z=e.subDiv.Z<1?1:e.subDiv.Z,e.facetParameters.facetNormals=this.getFacetLocalNormals(),e.facetParameters.facetPositions=this.getFacetLocalPositions(),e.facetParameters.facetPartitioning=this.getFacetLocalPartitioning(),e.facetParameters.bInfo=r,e.facetParameters.bbSize=e.bbSize,e.facetParameters.subDiv=e.subDiv,e.facetParameters.ratio=this.partitioningBBoxRatio,e.facetParameters.depthSort=e.facetDepthSort,e.facetDepthSort&&e.facetDepthSortEnabled&&(this.computeWorldMatrix(!0),this._worldMatrix.invertToRef(e.invertedMatrix),a.e.TransformCoordinatesToRef(e.facetDepthSortFrom,e.invertedMatrix,e.facetDepthSortOrigin),e.facetParameters.distanceTo=e.facetDepthSortOrigin),e.facetParameters.depthSortedFacets=e.depthSortedFacets,l.a.ComputeNormals(t,n,i,e.facetParameters),e.facetDepthSort&&e.facetDepthSortEnabled){e.depthSortedFacets.sort(e.facetDepthSortFunction);var f=e.depthSortedIndices.length/3|0;for(p=0;pr.subDiv.max||a<0||a>r.subDiv.max||s<0||s>r.subDiv.max?null:r.facetPartitioning[o+r.subDiv.max*a+r.subDiv.max*r.subDiv.max*s]},t.prototype.getClosestFacetAtCoordinates=function(e,t,n,i,r,o){void 0===r&&(r=!1),void 0===o&&(o=!0);var s=this.getWorldMatrix(),c=a.c.Matrix[5];s.invertToRef(c);var l=a.c.Vector3[8];a.e.TransformCoordinatesFromFloatsToRef(e,t,n,c,l);var u=this.getClosestFacetAtLocalCoordinates(l.x,l.y,l.z,i,r,o);return i&&a.e.TransformCoordinatesFromFloatsToRef(i.x,i.y,i.z,s,i),u},t.prototype.getClosestFacetAtLocalCoordinates=function(e,t,n,i,r,o){void 0===r&&(r=!1),void 0===o&&(o=!0);var a=null,s=0,c=0,l=0,u=0,p=0,h=0,d=0,f=0,_=this.getFacetLocalPositions(),m=this.getFacetLocalNormals(),b=this.getFacetsAtLocalCoordinates(e,t,n);if(!b)return null;for(var g,v,y,C=Number.MAX_VALUE,A=C,x=0;x=0||r&&!o&&u<=0)&&(u=v.x*y.x+v.y*y.y+v.z*y.z,p=-(v.x*e+v.y*t+v.z*n-u)/(v.x*v.x+v.y*v.y+v.z*v.z),(A=(s=(h=e+v.x*p)-e)*s+(c=(d=t+v.y*p)-t)*c+(l=(f=n+v.z*p)-n)*l)0,o.REFLECTIONOVERALPHA=this._useReflectionOverAlpha,o.INVERTCUBICMAP=this._reflectionTexture.coordinatesMode===f.a.INVCUBIC_MODE,o.REFLECTIONMAP_3D=this._reflectionTexture.isCube,this._reflectionTexture.coordinatesMode){case f.a.EXPLICIT_MODE:o.setReflectionMode("REFLECTIONMAP_EXPLICIT");break;case f.a.PLANAR_MODE:o.setReflectionMode("REFLECTIONMAP_PLANAR");break;case f.a.PROJECTION_MODE:o.setReflectionMode("REFLECTIONMAP_PROJECTION");break;case f.a.SKYBOX_MODE:o.setReflectionMode("REFLECTIONMAP_SKYBOX");break;case f.a.SPHERICAL_MODE:o.setReflectionMode("REFLECTIONMAP_SPHERICAL");break;case f.a.EQUIRECTANGULAR_MODE:o.setReflectionMode("REFLECTIONMAP_EQUIRECTANGULAR");break;case f.a.FIXED_EQUIRECTANGULAR_MODE:o.setReflectionMode("REFLECTIONMAP_EQUIRECTANGULAR_FIXED");break;case f.a.FIXED_EQUIRECTANGULAR_MIRRORED_MODE:o.setReflectionMode("REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED");break;case f.a.CUBIC_MODE:case f.a.INVCUBIC_MODE:default:o.setReflectionMode("REFLECTIONMAP_CUBIC")}o.USE_LOCAL_REFLECTIONMAP_CUBIC=!!this._reflectionTexture.boundingBoxSize}else o.REFLECTION=!1;if(this._emissiveTexture&&t.EmissiveTextureEnabled){if(!this._emissiveTexture.isReadyOrNotBlocking())return!1;d.a.PrepareDefinesForMergedUV(this._emissiveTexture,o,"EMISSIVE")}else o.EMISSIVE=!1;if(this._lightmapTexture&&t.LightmapTextureEnabled){if(!this._lightmapTexture.isReadyOrNotBlocking())return!1;d.a.PrepareDefinesForMergedUV(this._lightmapTexture,o,"LIGHTMAP"),o.USELIGHTMAPASSHADOWMAP=this._useLightmapAsShadowmap}else o.LIGHTMAP=!1;if(this._specularTexture&&t.SpecularTextureEnabled){if(!this._specularTexture.isReadyOrNotBlocking())return!1;d.a.PrepareDefinesForMergedUV(this._specularTexture,o,"SPECULAR"),o.GLOSSINESS=this._useGlossinessFromSpecularMapAlpha}else o.SPECULAR=!1;if(r.getEngine().getCaps().standardDerivatives&&this._bumpTexture&&t.BumpTextureEnabled){if(!this._bumpTexture.isReady())return!1;d.a.PrepareDefinesForMergedUV(this._bumpTexture,o,"BUMP"),o.PARALLAX=this._useParallax,o.PARALLAXOCCLUSION=this._useParallaxOcclusion,o.OBJECTSPACE_NORMALMAP=this._useObjectSpaceNormalMap}else o.BUMP=!1;if(this._refractionTexture&&t.RefractionTextureEnabled){if(!this._refractionTexture.isReadyOrNotBlocking())return!1;o._needUVs=!0,o.REFRACTION=!0,o.REFRACTIONMAP_3D=this._refractionTexture.isCube}else o.REFRACTION=!1;o.TWOSIDEDLIGHTING=!this._backFaceCulling&&this._twoSidedLighting}else o.DIFFUSE=!1,o.AMBIENT=!1,o.OPACITY=!1,o.REFLECTION=!1,o.EMISSIVE=!1,o.LIGHTMAP=!1,o.BUMP=!1,o.REFRACTION=!1;o.ALPHAFROMDIFFUSE=this._shouldUseAlphaFromDiffuseTexture(),o.EMISSIVEASILLUMINATION=this._useEmissiveAsIllumination,o.LINKEMISSIVEWITHDIFFUSE=this._linkEmissiveWithDiffuse,o.SPECULAROVERALPHA=this._useSpecularOverAlpha,o.PREMULTIPLYALPHA=7===this.alphaMode||8===this.alphaMode}if(o._areImageProcessingDirty&&this._imageProcessingConfiguration){if(!this._imageProcessingConfiguration.isReady())return!1;this._imageProcessingConfiguration.prepareDefines(o),o.IS_REFLECTION_LINEAR=null!=this.reflectionTexture&&!this.reflectionTexture.gammaSpace,o.IS_REFRACTION_LINEAR=null!=this.refractionTexture&&!this.refractionTexture.gammaSpace}if(o._areFresnelDirty&&(t.FresnelEnabled?(this._diffuseFresnelParameters||this._opacityFresnelParameters||this._emissiveFresnelParameters||this._refractionFresnelParameters||this._reflectionFresnelParameters)&&(o.DIFFUSEFRESNEL=this._diffuseFresnelParameters&&this._diffuseFresnelParameters.isEnabled,o.OPACITYFRESNEL=this._opacityFresnelParameters&&this._opacityFresnelParameters.isEnabled,o.REFLECTIONFRESNEL=this._reflectionFresnelParameters&&this._reflectionFresnelParameters.isEnabled,o.REFLECTIONFRESNELFROMSPECULAR=this._useReflectionFresnelFromSpecular,o.REFRACTIONFRESNEL=this._refractionFresnelParameters&&this._refractionFresnelParameters.isEnabled,o.EMISSIVEFRESNEL=this._emissiveFresnelParameters&&this._emissiveFresnelParameters.isEnabled,o._needNormals=!0,o.FRESNEL=!0):o.FRESNEL=!1),d.a.PrepareDefinesForMisc(e,r,this._useLogarithmicDepth,this.pointsCloud,this.fogEnabled,this._shouldTurnAlphaTestOn(e),o),d.a.PrepareDefinesForAttributes(e,o,!0,!0,!0),d.a.PrepareDefinesForFrameBoundValues(r,a,o,i),o.isDirty){var s=o._areLightsDisposed;o.markAsProcessed();var c=new S.a;o.REFLECTION&&c.addFallback(0,"REFLECTION"),o.SPECULAR&&c.addFallback(0,"SPECULAR"),o.BUMP&&c.addFallback(0,"BUMP"),o.PARALLAX&&c.addFallback(1,"PARALLAX"),o.PARALLAXOCCLUSION&&c.addFallback(0,"PARALLAXOCCLUSION"),o.SPECULAROVERALPHA&&c.addFallback(0,"SPECULAROVERALPHA"),o.FOG&&c.addFallback(1,"FOG"),o.POINTSIZE&&c.addFallback(0,"POINTSIZE"),o.LOGARITHMICDEPTH&&c.addFallback(0,"LOGARITHMICDEPTH"),d.a.HandleFallbacksForShadows(o,c,this._maxSimultaneousLights),o.SPECULARTERM&&c.addFallback(0,"SPECULARTERM"),o.DIFFUSEFRESNEL&&c.addFallback(1,"DIFFUSEFRESNEL"),o.OPACITYFRESNEL&&c.addFallback(2,"OPACITYFRESNEL"),o.REFLECTIONFRESNEL&&c.addFallback(3,"REFLECTIONFRESNEL"),o.EMISSIVEFRESNEL&&c.addFallback(4,"EMISSIVEFRESNEL"),o.FRESNEL&&c.addFallback(4,"FRESNEL"),o.MULTIVIEW&&c.addFallback(0,"MULTIVIEW");var p=[l.b.PositionKind];o.NORMAL&&p.push(l.b.NormalKind),o.UV1&&p.push(l.b.UVKind),o.UV2&&p.push(l.b.UV2Kind),o.VERTEXCOLOR&&p.push(l.b.ColorKind),d.a.PrepareAttributesForBones(p,e,o,c),d.a.PrepareAttributesForInstances(p,o),d.a.PrepareAttributesForMorphTargets(p,e,o);var h="default",_=["world","view","viewProjection","vEyePosition","vLightsType","vAmbientColor","vDiffuseColor","vSpecularColor","vEmissiveColor","visibility","vFogInfos","vFogColor","pointSize","vDiffuseInfos","vAmbientInfos","vOpacityInfos","vReflectionInfos","vEmissiveInfos","vSpecularInfos","vBumpInfos","vLightmapInfos","vRefractionInfos","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","diffuseMatrix","ambientMatrix","opacityMatrix","reflectionMatrix","emissiveMatrix","specularMatrix","bumpMatrix","normalMatrix","lightmapMatrix","refractionMatrix","diffuseLeftColor","diffuseRightColor","opacityParts","reflectionLeftColor","reflectionRightColor","emissiveLeftColor","emissiveRightColor","refractionLeftColor","refractionRightColor","vReflectionPosition","vReflectionSize","logarithmicDepthConstant","vTangentSpaceParams","alphaCutOff","boneTextureWidth"],m=["diffuseSampler","ambientSampler","opacitySampler","reflectionCubeSampler","reflection2DSampler","emissiveSampler","specularSampler","bumpSampler","lightmapSampler","refractionCubeSampler","refraction2DSampler","boneSampler"],b=["Material","Scene"];u.a&&(u.a.PrepareUniforms(_,o),u.a.PrepareSamplers(m,o)),d.a.PrepareUniformsAndSamplersList({uniformsNames:_,uniformBuffersNames:b,samplers:m,defines:o,maxSimultaneousLights:this._maxSimultaneousLights}),this.customShaderNameResolve&&(h=this.customShaderNameResolve(h,_,b,m,o));var g=o.toString(),v=n.effect,y=r.getEngine().createEffect(h,{attributes:p,uniformsNames:_,uniformBuffersNames:b,samplers:m,defines:g,fallbacks:c,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:this._maxSimultaneousLights,maxSimultaneousMorphTargets:o.NUM_MORPH_INFLUENCERS}},a);if(y)if(this.allowShaderHotSwapping&&v&&!y.isReady()){if(y=v,this._rebuildInParallel=!0,o.markAsUnprocessed(),s)return o._areLightsDisposed=!0,!1}else this._rebuildInParallel=!1,r.resetCachedMaterial(),n.setEffect(y,o),this.buildUniformLayout()}return!(!n.effect||!n.effect.isReady())&&(o._renderId=r.getRenderId(),n.effect._wasPreviouslyReady=!0,!0)},t.prototype.buildUniformLayout=function(){var e=this._uniformBuffer;e.addUniform("diffuseLeftColor",4),e.addUniform("diffuseRightColor",4),e.addUniform("opacityParts",4),e.addUniform("reflectionLeftColor",4),e.addUniform("reflectionRightColor",4),e.addUniform("refractionLeftColor",4),e.addUniform("refractionRightColor",4),e.addUniform("emissiveLeftColor",4),e.addUniform("emissiveRightColor",4),e.addUniform("vDiffuseInfos",2),e.addUniform("vAmbientInfos",2),e.addUniform("vOpacityInfos",2),e.addUniform("vReflectionInfos",2),e.addUniform("vReflectionPosition",3),e.addUniform("vReflectionSize",3),e.addUniform("vEmissiveInfos",2),e.addUniform("vLightmapInfos",2),e.addUniform("vSpecularInfos",2),e.addUniform("vBumpInfos",3),e.addUniform("diffuseMatrix",16),e.addUniform("ambientMatrix",16),e.addUniform("opacityMatrix",16),e.addUniform("reflectionMatrix",16),e.addUniform("emissiveMatrix",16),e.addUniform("lightmapMatrix",16),e.addUniform("specularMatrix",16),e.addUniform("bumpMatrix",16),e.addUniform("vTangentSpaceParams",2),e.addUniform("pointSize",1),e.addUniform("refractionMatrix",16),e.addUniform("vRefractionInfos",4),e.addUniform("vSpecularColor",4),e.addUniform("vEmissiveColor",3),e.addUniform("visibility",1),e.addUniform("vDiffuseColor",4),e.create()},t.prototype.unbind=function(){if(this._activeEffect){var t=!1;this._reflectionTexture&&this._reflectionTexture.isRenderTarget&&(this._activeEffect.setTexture("reflection2DSampler",null),t=!0),this._refractionTexture&&this._refractionTexture.isRenderTarget&&(this._activeEffect.setTexture("refraction2DSampler",null),t=!0),t&&this._markAllSubMeshesAsTexturesDirty()}e.prototype.unbind.call(this)},t.prototype.bindForSubMesh=function(e,n,i){var r=this.getScene(),o=i._materialDefines;if(o){var s=i.effect;if(s){this._activeEffect=s,o.INSTANCES||this.bindOnlyWorldMatrix(e),o.OBJECTSPACE_NORMALMAP&&(e.toNormalMatrix(this._normalMatrix),this.bindOnlyNormalMatrix(this._normalMatrix));var l=this._mustRebind(r,s,n.visibility);d.a.BindBonesParameters(n,s);var u=this._uniformBuffer;if(l){if(u.bindToEffect(s,"Material"),this.bindViewProjection(s),!u.useUbo||!this.isFrozen||!u.isSync){if(t.FresnelEnabled&&o.FRESNEL&&(this.diffuseFresnelParameters&&this.diffuseFresnelParameters.isEnabled&&(u.updateColor4("diffuseLeftColor",this.diffuseFresnelParameters.leftColor,this.diffuseFresnelParameters.power),u.updateColor4("diffuseRightColor",this.diffuseFresnelParameters.rightColor,this.diffuseFresnelParameters.bias)),this.opacityFresnelParameters&&this.opacityFresnelParameters.isEnabled&&u.updateColor4("opacityParts",new c.a(this.opacityFresnelParameters.leftColor.toLuminance(),this.opacityFresnelParameters.rightColor.toLuminance(),this.opacityFresnelParameters.bias),this.opacityFresnelParameters.power),this.reflectionFresnelParameters&&this.reflectionFresnelParameters.isEnabled&&(u.updateColor4("reflectionLeftColor",this.reflectionFresnelParameters.leftColor,this.reflectionFresnelParameters.power),u.updateColor4("reflectionRightColor",this.reflectionFresnelParameters.rightColor,this.reflectionFresnelParameters.bias)),this.refractionFresnelParameters&&this.refractionFresnelParameters.isEnabled&&(u.updateColor4("refractionLeftColor",this.refractionFresnelParameters.leftColor,this.refractionFresnelParameters.power),u.updateColor4("refractionRightColor",this.refractionFresnelParameters.rightColor,this.refractionFresnelParameters.bias)),this.emissiveFresnelParameters&&this.emissiveFresnelParameters.isEnabled&&(u.updateColor4("emissiveLeftColor",this.emissiveFresnelParameters.leftColor,this.emissiveFresnelParameters.power),u.updateColor4("emissiveRightColor",this.emissiveFresnelParameters.rightColor,this.emissiveFresnelParameters.bias))),r.texturesEnabled){if(this._diffuseTexture&&t.DiffuseTextureEnabled&&(u.updateFloat2("vDiffuseInfos",this._diffuseTexture.coordinatesIndex,this._diffuseTexture.level),d.a.BindTextureMatrix(this._diffuseTexture,u,"diffuse"),this._diffuseTexture.hasAlpha&&s.setFloat("alphaCutOff",this.alphaCutOff)),this._ambientTexture&&t.AmbientTextureEnabled&&(u.updateFloat2("vAmbientInfos",this._ambientTexture.coordinatesIndex,this._ambientTexture.level),d.a.BindTextureMatrix(this._ambientTexture,u,"ambient")),this._opacityTexture&&t.OpacityTextureEnabled&&(u.updateFloat2("vOpacityInfos",this._opacityTexture.coordinatesIndex,this._opacityTexture.level),d.a.BindTextureMatrix(this._opacityTexture,u,"opacity")),this._reflectionTexture&&t.ReflectionTextureEnabled&&(u.updateFloat2("vReflectionInfos",this._reflectionTexture.level,this.roughness),u.updateMatrix("reflectionMatrix",this._reflectionTexture.getReflectionTextureMatrix()),this._reflectionTexture.boundingBoxSize)){var p=this._reflectionTexture;u.updateVector3("vReflectionPosition",p.boundingBoxPosition),u.updateVector3("vReflectionSize",p.boundingBoxSize)}if(this._emissiveTexture&&t.EmissiveTextureEnabled&&(u.updateFloat2("vEmissiveInfos",this._emissiveTexture.coordinatesIndex,this._emissiveTexture.level),d.a.BindTextureMatrix(this._emissiveTexture,u,"emissive")),this._lightmapTexture&&t.LightmapTextureEnabled&&(u.updateFloat2("vLightmapInfos",this._lightmapTexture.coordinatesIndex,this._lightmapTexture.level),d.a.BindTextureMatrix(this._lightmapTexture,u,"lightmap")),this._specularTexture&&t.SpecularTextureEnabled&&(u.updateFloat2("vSpecularInfos",this._specularTexture.coordinatesIndex,this._specularTexture.level),d.a.BindTextureMatrix(this._specularTexture,u,"specular")),this._bumpTexture&&r.getEngine().getCaps().standardDerivatives&&t.BumpTextureEnabled&&(u.updateFloat3("vBumpInfos",this._bumpTexture.coordinatesIndex,1/this._bumpTexture.level,this.parallaxScaleBias),d.a.BindTextureMatrix(this._bumpTexture,u,"bump"),r._mirroredCameraPosition?u.updateFloat2("vTangentSpaceParams",this._invertNormalMapX?1:-1,this._invertNormalMapY?1:-1):u.updateFloat2("vTangentSpaceParams",this._invertNormalMapX?-1:1,this._invertNormalMapY?-1:1)),this._refractionTexture&&t.RefractionTextureEnabled){var h=1;this._refractionTexture.isCube||(u.updateMatrix("refractionMatrix",this._refractionTexture.getReflectionTextureMatrix()),this._refractionTexture.depth&&(h=this._refractionTexture.depth)),u.updateFloat4("vRefractionInfos",this._refractionTexture.level,this.indexOfRefraction,h,this.invertRefractionY?-1:1)}}this.pointsCloud&&u.updateFloat("pointSize",this.pointSize),o.SPECULARTERM&&u.updateColor4("vSpecularColor",this.specularColor,this.specularPower),u.updateColor3("vEmissiveColor",t.EmissiveTextureEnabled?this.emissiveColor:c.a.BlackReadOnly),u.updateFloat("visibility",n.visibility),u.updateColor4("vDiffuseColor",this.diffuseColor,this.alpha)}if(r.texturesEnabled&&(this._diffuseTexture&&t.DiffuseTextureEnabled&&s.setTexture("diffuseSampler",this._diffuseTexture),this._ambientTexture&&t.AmbientTextureEnabled&&s.setTexture("ambientSampler",this._ambientTexture),this._opacityTexture&&t.OpacityTextureEnabled&&s.setTexture("opacitySampler",this._opacityTexture),this._reflectionTexture&&t.ReflectionTextureEnabled&&(this._reflectionTexture.isCube?s.setTexture("reflectionCubeSampler",this._reflectionTexture):s.setTexture("reflection2DSampler",this._reflectionTexture)),this._emissiveTexture&&t.EmissiveTextureEnabled&&s.setTexture("emissiveSampler",this._emissiveTexture),this._lightmapTexture&&t.LightmapTextureEnabled&&s.setTexture("lightmapSampler",this._lightmapTexture),this._specularTexture&&t.SpecularTextureEnabled&&s.setTexture("specularSampler",this._specularTexture),this._bumpTexture&&r.getEngine().getCaps().standardDerivatives&&t.BumpTextureEnabled&&s.setTexture("bumpSampler",this._bumpTexture),this._refractionTexture&&t.RefractionTextureEnabled)){h=1;this._refractionTexture.isCube?s.setTexture("refractionCubeSampler",this._refractionTexture):s.setTexture("refraction2DSampler",this._refractionTexture)}d.a.BindClipPlane(s,r),r.ambientColor.multiplyToRef(this.ambientColor,this._globalAmbientColor),d.a.BindEyePosition(s,r),s.setColor3("vAmbientColor",this._globalAmbientColor)}!l&&this.isFrozen||(r.lightsEnabled&&!this._disableLighting&&d.a.BindLights(r,n,s,o,this._maxSimultaneousLights,this._rebuildInParallel),(r.fogEnabled&&n.applyFog&&r.fogMode!==a.a.FOGMODE_NONE||this._reflectionTexture||this._refractionTexture)&&this.bindView(s),d.a.BindFogParameters(r,n,s),o.NUM_MORPH_INFLUENCERS&&d.a.BindMorphTargetParameters(n,s),this.useLogarithmicDepth&&d.a.BindLogDepth(o,s,r),this._imageProcessingConfiguration&&!this._imageProcessingConfiguration.applyByPostProcess&&this._imageProcessingConfiguration.bind(this._activeEffect)),u.update(),this._afterBind(n,this._activeEffect)}}},t.prototype.getAnimatables=function(){var e=[];return this._diffuseTexture&&this._diffuseTexture.animations&&this._diffuseTexture.animations.length>0&&e.push(this._diffuseTexture),this._ambientTexture&&this._ambientTexture.animations&&this._ambientTexture.animations.length>0&&e.push(this._ambientTexture),this._opacityTexture&&this._opacityTexture.animations&&this._opacityTexture.animations.length>0&&e.push(this._opacityTexture),this._reflectionTexture&&this._reflectionTexture.animations&&this._reflectionTexture.animations.length>0&&e.push(this._reflectionTexture),this._emissiveTexture&&this._emissiveTexture.animations&&this._emissiveTexture.animations.length>0&&e.push(this._emissiveTexture),this._specularTexture&&this._specularTexture.animations&&this._specularTexture.animations.length>0&&e.push(this._specularTexture),this._bumpTexture&&this._bumpTexture.animations&&this._bumpTexture.animations.length>0&&e.push(this._bumpTexture),this._lightmapTexture&&this._lightmapTexture.animations&&this._lightmapTexture.animations.length>0&&e.push(this._lightmapTexture),this._refractionTexture&&this._refractionTexture.animations&&this._refractionTexture.animations.length>0&&e.push(this._refractionTexture),e},t.prototype.getActiveTextures=function(){var t=e.prototype.getActiveTextures.call(this);return this._diffuseTexture&&t.push(this._diffuseTexture),this._ambientTexture&&t.push(this._ambientTexture),this._opacityTexture&&t.push(this._opacityTexture),this._reflectionTexture&&t.push(this._reflectionTexture),this._emissiveTexture&&t.push(this._emissiveTexture),this._specularTexture&&t.push(this._specularTexture),this._bumpTexture&&t.push(this._bumpTexture),this._lightmapTexture&&t.push(this._lightmapTexture),this._refractionTexture&&t.push(this._refractionTexture),t},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)||(this._diffuseTexture===t||(this._ambientTexture===t||(this._opacityTexture===t||(this._reflectionTexture===t||(this._emissiveTexture===t||(this._specularTexture===t||(this._bumpTexture===t||(this._lightmapTexture===t||this._refractionTexture===t))))))))},t.prototype.dispose=function(t,n){n&&(this._diffuseTexture&&this._diffuseTexture.dispose(),this._ambientTexture&&this._ambientTexture.dispose(),this._opacityTexture&&this._opacityTexture.dispose(),this._reflectionTexture&&this._reflectionTexture.dispose(),this._emissiveTexture&&this._emissiveTexture.dispose(),this._specularTexture&&this._specularTexture.dispose(),this._bumpTexture&&this._bumpTexture.dispose(),this._lightmapTexture&&this._lightmapTexture.dispose(),this._refractionTexture&&this._refractionTexture.dispose()),this._imageProcessingConfiguration&&this._imageProcessingObserver&&this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver),e.prototype.dispose.call(this,t,n)},t.prototype.clone=function(e){var n=this,i=r.a.Clone((function(){return new t(e,n.getScene())}),this);return i.name=e,i.id=e,i},t.prototype.serialize=function(){return r.a.Serialize(this)},t.Parse=function(e,n,i){return r.a.Parse((function(){return new t(e.name,n)}),e,n,i)},Object.defineProperty(t,"DiffuseTextureEnabled",{get:function(){return m.a.DiffuseTextureEnabled},set:function(e){m.a.DiffuseTextureEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"AmbientTextureEnabled",{get:function(){return m.a.AmbientTextureEnabled},set:function(e){m.a.AmbientTextureEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"OpacityTextureEnabled",{get:function(){return m.a.OpacityTextureEnabled},set:function(e){m.a.OpacityTextureEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"ReflectionTextureEnabled",{get:function(){return m.a.ReflectionTextureEnabled},set:function(e){m.a.ReflectionTextureEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"EmissiveTextureEnabled",{get:function(){return m.a.EmissiveTextureEnabled},set:function(e){m.a.EmissiveTextureEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"SpecularTextureEnabled",{get:function(){return m.a.SpecularTextureEnabled},set:function(e){m.a.SpecularTextureEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"BumpTextureEnabled",{get:function(){return m.a.BumpTextureEnabled},set:function(e){m.a.BumpTextureEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"LightmapTextureEnabled",{get:function(){return m.a.LightmapTextureEnabled},set:function(e){m.a.LightmapTextureEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"RefractionTextureEnabled",{get:function(){return m.a.RefractionTextureEnabled},set:function(e){m.a.RefractionTextureEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"ColorGradingTextureEnabled",{get:function(){return m.a.ColorGradingTextureEnabled},set:function(e){m.a.ColorGradingTextureEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(t,"FresnelEnabled",{get:function(){return m.a.FresnelEnabled},set:function(e){m.a.FresnelEnabled=e},enumerable:!0,configurable:!0}),Object(i.c)([Object(r.m)("diffuseTexture")],t.prototype,"_diffuseTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesAndMiscDirty")],t.prototype,"diffuseTexture",void 0),Object(i.c)([Object(r.m)("ambientTexture")],t.prototype,"_ambientTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"ambientTexture",void 0),Object(i.c)([Object(r.m)("opacityTexture")],t.prototype,"_opacityTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesAndMiscDirty")],t.prototype,"opacityTexture",void 0),Object(i.c)([Object(r.m)("reflectionTexture")],t.prototype,"_reflectionTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"reflectionTexture",void 0),Object(i.c)([Object(r.m)("emissiveTexture")],t.prototype,"_emissiveTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"emissiveTexture",void 0),Object(i.c)([Object(r.m)("specularTexture")],t.prototype,"_specularTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"specularTexture",void 0),Object(i.c)([Object(r.m)("bumpTexture")],t.prototype,"_bumpTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"bumpTexture",void 0),Object(i.c)([Object(r.m)("lightmapTexture")],t.prototype,"_lightmapTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"lightmapTexture",void 0),Object(i.c)([Object(r.m)("refractionTexture")],t.prototype,"_refractionTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"refractionTexture",void 0),Object(i.c)([Object(r.e)("ambient")],t.prototype,"ambientColor",void 0),Object(i.c)([Object(r.e)("diffuse")],t.prototype,"diffuseColor",void 0),Object(i.c)([Object(r.e)("specular")],t.prototype,"specularColor",void 0),Object(i.c)([Object(r.e)("emissive")],t.prototype,"emissiveColor",void 0),Object(i.c)([Object(r.c)()],t.prototype,"specularPower",void 0),Object(i.c)([Object(r.c)("useAlphaFromDiffuseTexture")],t.prototype,"_useAlphaFromDiffuseTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"useAlphaFromDiffuseTexture",void 0),Object(i.c)([Object(r.c)("useEmissiveAsIllumination")],t.prototype,"_useEmissiveAsIllumination",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"useEmissiveAsIllumination",void 0),Object(i.c)([Object(r.c)("linkEmissiveWithDiffuse")],t.prototype,"_linkEmissiveWithDiffuse",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"linkEmissiveWithDiffuse",void 0),Object(i.c)([Object(r.c)("useSpecularOverAlpha")],t.prototype,"_useSpecularOverAlpha",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"useSpecularOverAlpha",void 0),Object(i.c)([Object(r.c)("useReflectionOverAlpha")],t.prototype,"_useReflectionOverAlpha",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"useReflectionOverAlpha",void 0),Object(i.c)([Object(r.c)("disableLighting")],t.prototype,"_disableLighting",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"disableLighting",void 0),Object(i.c)([Object(r.c)("useObjectSpaceNormalMap")],t.prototype,"_useObjectSpaceNormalMap",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"useObjectSpaceNormalMap",void 0),Object(i.c)([Object(r.c)("useParallax")],t.prototype,"_useParallax",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"useParallax",void 0),Object(i.c)([Object(r.c)("useParallaxOcclusion")],t.prototype,"_useParallaxOcclusion",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"useParallaxOcclusion",void 0),Object(i.c)([Object(r.c)()],t.prototype,"parallaxScaleBias",void 0),Object(i.c)([Object(r.c)("roughness")],t.prototype,"_roughness",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"roughness",void 0),Object(i.c)([Object(r.c)()],t.prototype,"indexOfRefraction",void 0),Object(i.c)([Object(r.c)()],t.prototype,"invertRefractionY",void 0),Object(i.c)([Object(r.c)()],t.prototype,"alphaCutOff",void 0),Object(i.c)([Object(r.c)("useLightmapAsShadowmap")],t.prototype,"_useLightmapAsShadowmap",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"useLightmapAsShadowmap",void 0),Object(i.c)([Object(r.h)("diffuseFresnelParameters")],t.prototype,"_diffuseFresnelParameters",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsFresnelDirty")],t.prototype,"diffuseFresnelParameters",void 0),Object(i.c)([Object(r.h)("opacityFresnelParameters")],t.prototype,"_opacityFresnelParameters",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsFresnelAndMiscDirty")],t.prototype,"opacityFresnelParameters",void 0),Object(i.c)([Object(r.h)("reflectionFresnelParameters")],t.prototype,"_reflectionFresnelParameters",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsFresnelDirty")],t.prototype,"reflectionFresnelParameters",void 0),Object(i.c)([Object(r.h)("refractionFresnelParameters")],t.prototype,"_refractionFresnelParameters",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsFresnelDirty")],t.prototype,"refractionFresnelParameters",void 0),Object(i.c)([Object(r.h)("emissiveFresnelParameters")],t.prototype,"_emissiveFresnelParameters",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsFresnelDirty")],t.prototype,"emissiveFresnelParameters",void 0),Object(i.c)([Object(r.c)("useReflectionFresnelFromSpecular")],t.prototype,"_useReflectionFresnelFromSpecular",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsFresnelDirty")],t.prototype,"useReflectionFresnelFromSpecular",void 0),Object(i.c)([Object(r.c)("useGlossinessFromSpecularMapAlpha")],t.prototype,"_useGlossinessFromSpecularMapAlpha",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"useGlossinessFromSpecularMapAlpha",void 0),Object(i.c)([Object(r.c)("maxSimultaneousLights")],t.prototype,"_maxSimultaneousLights",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"maxSimultaneousLights",void 0),Object(i.c)([Object(r.c)("invertNormalMapX")],t.prototype,"_invertNormalMapX",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"invertNormalMapX",void 0),Object(i.c)([Object(r.c)("invertNormalMapY")],t.prototype,"_invertNormalMapY",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"invertNormalMapY",void 0),Object(i.c)([Object(r.c)("twoSidedLighting")],t.prototype,"_twoSidedLighting",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"twoSidedLighting",void 0),Object(i.c)([Object(r.c)()],t.prototype,"useLogarithmicDepth",null),t}(h.a);_.a.RegisteredTypes["BABYLON.StandardMaterial"]=E,a.a.DefaultMaterialFactory=function(e){return new E("default material",e)}},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return o}));var i=1/2.2,r=2.2,o=.001},function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var i=n(1),r=n(0),o=n(2),a=n(5),s=n(25),c=n(21),l=function(){function e(e,t){void 0===t&&(t=null),this.state="",this.metadata=null,this.reservedDataStore=null,this._doNotSerialize=!1,this._isDisposed=!1,this.animations=new Array,this._ranges={},this.onReady=null,this._isEnabled=!0,this._isParentEnabled=!0,this._isReady=!0,this._currentRenderId=-1,this._parentUpdateId=-1,this._childUpdateId=-1,this._waitingParentId=null,this._cache={},this._parentNode=null,this._children=null,this._worldMatrix=r.a.Identity(),this._worldMatrixDeterminant=0,this._worldMatrixDeterminantIsDirty=!0,this._sceneRootNodesIndex=-1,this._animationPropertiesOverride=null,this._isNode=!0,this.onDisposeObservable=new a.c,this._onDisposeObserver=null,this._behaviors=new Array,this.name=e,this.id=e,this._scene=t||s.a.LastCreatedScene,this.uniqueId=this._scene.getUniqueId(),this._initCache()}return e.AddNodeConstructor=function(e,t){this._NodeConstructors[e]=t},e.Construct=function(e,t,n,i){var r=this._NodeConstructors[e];return r?r(t,n,i):null},Object.defineProperty(e.prototype,"doNotSerialize",{get:function(){return!!this._doNotSerialize||!!this._parentNode&&this._parentNode.doNotSerialize},set:function(e){this._doNotSerialize=e},enumerable:!0,configurable:!0}),e.prototype.isDisposed=function(){return this._isDisposed},Object.defineProperty(e.prototype,"parent",{get:function(){return this._parentNode},set:function(e){if(this._parentNode!==e){var t=this._parentNode;if(this._parentNode&&void 0!==this._parentNode._children&&null!==this._parentNode._children){var n=this._parentNode._children.indexOf(this);-1!==n&&this._parentNode._children.splice(n,1),e||this._isDisposed||this._addToSceneRootNodes()}this._parentNode=e,this._parentNode&&(void 0!==this._parentNode._children&&null!==this._parentNode._children||(this._parentNode._children=new Array),this._parentNode._children.push(this),t||this._removeFromSceneRootNodes()),this._syncParentEnabledState()}},enumerable:!0,configurable:!0}),e.prototype._addToSceneRootNodes=function(){-1===this._sceneRootNodesIndex&&(this._sceneRootNodesIndex=this._scene.rootNodes.length,this._scene.rootNodes.push(this))},e.prototype._removeFromSceneRootNodes=function(){if(-1!==this._sceneRootNodesIndex){var e=this._scene.rootNodes,t=e.length-1;e[this._sceneRootNodesIndex]=e[t],e[this._sceneRootNodesIndex]._sceneRootNodesIndex=this._sceneRootNodesIndex,this._scene.rootNodes.pop(),this._sceneRootNodesIndex=-1}},Object.defineProperty(e.prototype,"animationPropertiesOverride",{get:function(){return this._animationPropertiesOverride?this._animationPropertiesOverride:this._scene.animationPropertiesOverride},set:function(e){this._animationPropertiesOverride=e},enumerable:!0,configurable:!0}),e.prototype.getClassName=function(){return"Node"},Object.defineProperty(e.prototype,"onDispose",{set:function(e){this._onDisposeObserver&&this.onDisposeObservable.remove(this._onDisposeObserver),this._onDisposeObserver=this.onDisposeObservable.add(e)},enumerable:!0,configurable:!0}),e.prototype.getScene=function(){return this._scene},e.prototype.getEngine=function(){return this._scene.getEngine()},e.prototype.addBehavior=function(e,t){var n=this;return void 0===t&&(t=!1),-1!==this._behaviors.indexOf(e)||(e.init(),this._scene.isLoading&&!t?this._scene.onDataLoadedObservable.addOnce((function(){e.attach(n)})):e.attach(this),this._behaviors.push(e)),this},e.prototype.removeBehavior=function(e){var t=this._behaviors.indexOf(e);return-1===t||(this._behaviors[t].detach(),this._behaviors.splice(t,1)),this},Object.defineProperty(e.prototype,"behaviors",{get:function(){return this._behaviors},enumerable:!0,configurable:!0}),e.prototype.getBehaviorByName=function(e){for(var t=0,n=this._behaviors;t1&&s.renderbufferStorageMultisample?s.renderbufferStorageMultisample(s.RENDERBUFFER,n,r,e,t):s.renderbufferStorage(s.RENDERBUFFER,i,e,t),s.framebufferRenderbuffer(s.FRAMEBUFFER,a,s.RENDERBUFFER,c),s.bindRenderbuffer(s.RENDERBUFFER,null),c},this._boundUniforms={};var u=null;if(t){if(i=i||{},t.getContext){if(u=t,this._renderingCanvas=u,null!=n&&(i.antialias=n),void 0===i.deterministicLockstep&&(i.deterministicLockstep=!1),void 0===i.lockstepMaxSteps&&(i.lockstepMaxSteps=4),void 0===i.timeStep&&(i.timeStep=1/60),void 0===i.preserveDrawingBuffer&&(i.preserveDrawingBuffer=!1),void 0===i.audioEngine&&(i.audioEngine=!0),void 0===i.stencil&&(i.stencil=!0),!1===i.premultipliedAlpha&&(this.premultipliedAlpha=!1),this._doNotHandleContextLost=!!i.doNotHandleContextLost,navigator&&navigator.userAgent)for(var f=navigator.userAgent,_=0,m=e.ExceptionList;_0)if(parseInt(x[x.length-1])>=A)continue}for(var S=0,T=y;S1&&(this._shaderProcessor=new d.a),this._badOS=/iPad/i.test(navigator.userAgent)||/iPhone/i.test(navigator.userAgent),this._badDesktopOS=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),this._creationOptions=i,console.log("Babylon.js v"+e.Version+" - "+this.description)}}return Object.defineProperty(e,"NpmPackage",{get:function(){return"babylonjs@4.1.0"},enumerable:!0,configurable:!0}),Object.defineProperty(e,"Version",{get:function(){return"4.1.0"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"description",{get:function(){var e="WebGL"+this.webGLVersion;return this._caps.parallelShaderCompile&&(e+=" - Parallel shader compilation"),e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"ShadersRepository",{get:function(){return r.a.ShadersRepository},set:function(e){r.a.ShadersRepository=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"supportsUniformBuffers",{get:function(){return this.webGLVersion>1&&!this.disableUniformBuffers},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_shouldUseHighPrecisionShader",{get:function(){return!(!this._caps.highPrecisionShaderSupported||!this._highPrecisionShadersAllowed)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"needPOTTextures",{get:function(){return this._webGLVersion<2||this.forcePOTTextures},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"doNotHandleContextLost",{get:function(){return this._doNotHandleContextLost},set:function(e){this._doNotHandleContextLost=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_supportsHardwareTextureRescaling",{get:function(){return!1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"framebufferDimensionsObject",{set:function(e){this._framebufferDimensionsObject=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"texturesSupported",{get:function(){return this._texturesSupported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textureFormatInUse",{get:function(){return this._textureFormatInUse},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentViewport",{get:function(){return this._cachedViewport},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"emptyTexture",{get:function(){return this._emptyTexture||(this._emptyTexture=this.createRawTexture(new Uint8Array(4),1,1,5,!1,!1,1)),this._emptyTexture},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"emptyTexture3D",{get:function(){return this._emptyTexture3D||(this._emptyTexture3D=this.createRawTexture3D(new Uint8Array(4),1,1,1,5,!1,!1,1)),this._emptyTexture3D},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"emptyTexture2DArray",{get:function(){return this._emptyTexture2DArray||(this._emptyTexture2DArray=this.createRawTexture2DArray(new Uint8Array(4),1,1,1,5,!1,!1,1)),this._emptyTexture2DArray},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"emptyCubeTexture",{get:function(){if(!this._emptyCubeTexture){var e=new Uint8Array(4),t=[e,e,e,e,e,e];this._emptyCubeTexture=this.createRawCubeTexture(t,1,5,0,!1,!1,1)}return this._emptyCubeTexture},enumerable:!0,configurable:!0}),e.prototype._rebuildInternalTextures=function(){for(var e=0,t=this._internalTexturesCache.slice();e1?this._gl.getParameter(this._gl.MAX_SAMPLES):1,maxCubemapTextureSize:this._gl.getParameter(this._gl.MAX_CUBE_MAP_TEXTURE_SIZE),maxRenderTextureSize:this._gl.getParameter(this._gl.MAX_RENDERBUFFER_SIZE),maxVertexAttribs:this._gl.getParameter(this._gl.MAX_VERTEX_ATTRIBS),maxVaryingVectors:this._gl.getParameter(this._gl.MAX_VARYING_VECTORS),maxFragmentUniformVectors:this._gl.getParameter(this._gl.MAX_FRAGMENT_UNIFORM_VECTORS),maxVertexUniformVectors:this._gl.getParameter(this._gl.MAX_VERTEX_UNIFORM_VECTORS),parallelShaderCompile:this._gl.getExtension("KHR_parallel_shader_compile"),standardDerivatives:this._webGLVersion>1||null!==this._gl.getExtension("OES_standard_derivatives"),maxAnisotropy:1,astc:this._gl.getExtension("WEBGL_compressed_texture_astc")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_astc"),s3tc:this._gl.getExtension("WEBGL_compressed_texture_s3tc")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc"),pvrtc:this._gl.getExtension("WEBGL_compressed_texture_pvrtc")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),etc1:this._gl.getExtension("WEBGL_compressed_texture_etc1")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_etc1"),etc2:this._gl.getExtension("WEBGL_compressed_texture_etc")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_etc")||this._gl.getExtension("WEBGL_compressed_texture_es3_0"),textureAnisotropicFilterExtension:this._gl.getExtension("EXT_texture_filter_anisotropic")||this._gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic")||this._gl.getExtension("MOZ_EXT_texture_filter_anisotropic"),uintIndices:this._webGLVersion>1||null!==this._gl.getExtension("OES_element_index_uint"),fragmentDepthSupported:this._webGLVersion>1||null!==this._gl.getExtension("EXT_frag_depth"),highPrecisionShaderSupported:!1,timerQuery:this._gl.getExtension("EXT_disjoint_timer_query_webgl2")||this._gl.getExtension("EXT_disjoint_timer_query"),canUseTimestampForTimerQuery:!1,drawBuffersExtension:!1,maxMSAASamples:1,colorBufferFloat:this._webGLVersion>1&&this._gl.getExtension("EXT_color_buffer_float"),textureFloat:!!(this._webGLVersion>1||this._gl.getExtension("OES_texture_float")),textureHalfFloat:!!(this._webGLVersion>1||this._gl.getExtension("OES_texture_half_float")),textureHalfFloatRender:!1,textureFloatLinearFiltering:!1,textureFloatRender:!1,textureHalfFloatLinearFiltering:!1,vertexArrayObject:!1,instancedArrays:!1,textureLOD:!!(this._webGLVersion>1||this._gl.getExtension("EXT_shader_texture_lod")),blendMinMax:!1,multiview:this._gl.getExtension("OVR_multiview2"),oculusMultiview:this._gl.getExtension("OCULUS_multiview"),depthTextureExtension:!1},this._glVersion=this._gl.getParameter(this._gl.VERSION);var e=this._gl.getExtension("WEBGL_debug_renderer_info");if(null!=e&&(this._glRenderer=this._gl.getParameter(e.UNMASKED_RENDERER_WEBGL),this._glVendor=this._gl.getParameter(e.UNMASKED_VENDOR_WEBGL)),this._glVendor||(this._glVendor="Unknown vendor"),this._glRenderer||(this._glRenderer="Unknown renderer"),this._gl.HALF_FLOAT_OES=36193,34842!==this._gl.RGBA16F&&(this._gl.RGBA16F=34842),34836!==this._gl.RGBA32F&&(this._gl.RGBA32F=34836),35056!==this._gl.DEPTH24_STENCIL8&&(this._gl.DEPTH24_STENCIL8=35056),this._caps.timerQuery&&(1===this._webGLVersion&&(this._gl.getQuery=this._caps.timerQuery.getQueryEXT.bind(this._caps.timerQuery)),this._caps.canUseTimestampForTimerQuery=this._gl.getQuery(this._caps.timerQuery.TIMESTAMP_EXT,this._caps.timerQuery.QUERY_COUNTER_BITS_EXT)>0),this._caps.maxAnisotropy=this._caps.textureAnisotropicFilterExtension?this._gl.getParameter(this._caps.textureAnisotropicFilterExtension.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,this._caps.textureFloatLinearFiltering=!(!this._caps.textureFloat||!this._gl.getExtension("OES_texture_float_linear")),this._caps.textureFloatRender=!(!this._caps.textureFloat||!this._canRenderToFloatFramebuffer()),this._caps.textureHalfFloatLinearFiltering=!!(this._webGLVersion>1||this._caps.textureHalfFloat&&this._gl.getExtension("OES_texture_half_float_linear")),this._webGLVersion>1&&(this._gl.HALF_FLOAT_OES=5131),this._caps.textureHalfFloatRender=this._caps.textureHalfFloat&&this._canRenderToHalfFloatFramebuffer(),this._webGLVersion>1)this._caps.drawBuffersExtension=!0,this._caps.maxMSAASamples=this._gl.getParameter(this._gl.MAX_SAMPLES);else{var t=this._gl.getExtension("WEBGL_draw_buffers");if(null!==t){this._caps.drawBuffersExtension=!0,this._gl.drawBuffers=t.drawBuffersWEBGL.bind(t),this._gl.DRAW_FRAMEBUFFER=this._gl.FRAMEBUFFER;for(var n=0;n<16;n++)this._gl["COLOR_ATTACHMENT"+n+"_WEBGL"]=t["COLOR_ATTACHMENT"+n+"_WEBGL"]}}if(this._webGLVersion>1)this._caps.depthTextureExtension=!0;else{var i=this._gl.getExtension("WEBGL_depth_texture");null!=i&&(this._caps.depthTextureExtension=!0,this._gl.UNSIGNED_INT_24_8=i.UNSIGNED_INT_24_8_WEBGL)}if(this.disableVertexArrayObjects)this._caps.vertexArrayObject=!1;else if(this._webGLVersion>1)this._caps.vertexArrayObject=!0;else{var r=this._gl.getExtension("OES_vertex_array_object");null!=r&&(this._caps.vertexArrayObject=!0,this._gl.createVertexArray=r.createVertexArrayOES.bind(r),this._gl.bindVertexArray=r.bindVertexArrayOES.bind(r),this._gl.deleteVertexArray=r.deleteVertexArrayOES.bind(r))}if(this._webGLVersion>1)this._caps.instancedArrays=!0;else{var o=this._gl.getExtension("ANGLE_instanced_arrays");null!=o?(this._caps.instancedArrays=!0,this._gl.drawArraysInstanced=o.drawArraysInstancedANGLE.bind(o),this._gl.drawElementsInstanced=o.drawElementsInstancedANGLE.bind(o),this._gl.vertexAttribDivisor=o.vertexAttribDivisorANGLE.bind(o)):this._caps.instancedArrays=!1}if(this._caps.astc&&this.texturesSupported.push("-astc.ktx"),this._caps.s3tc&&this.texturesSupported.push("-dxt.ktx"),this._caps.pvrtc&&this.texturesSupported.push("-pvrtc.ktx"),this._caps.etc2&&this.texturesSupported.push("-etc2.ktx"),this._caps.etc1&&this.texturesSupported.push("-etc1.ktx"),this._gl.getShaderPrecisionFormat){var a=this._gl.getShaderPrecisionFormat(this._gl.VERTEX_SHADER,this._gl.HIGH_FLOAT),s=this._gl.getShaderPrecisionFormat(this._gl.FRAGMENT_SHADER,this._gl.HIGH_FLOAT);a&&s&&(this._caps.highPrecisionShaderSupported=0!==a.precision&&0!==s.precision)}if(this._webGLVersion>1)this._caps.blendMinMax=!0;else{var c=this._gl.getExtension("EXT_blend_minmax");null!=c&&(this._caps.blendMinMax=!0,this._gl.MAX=c.MAX_EXT,this._gl.MIN=c.MIN_EXT)}this._depthCullingState.depthTest=!0,this._depthCullingState.depthFunc=this._gl.LEQUAL,this._depthCullingState.depthMask=!0,this._maxSimultaneousTextures=this._caps.maxCombinedTexturesImageUnits;for(var l=0;l=0&&this._activeRenderLoops.splice(t,1)}else this._activeRenderLoops=[]},e.prototype._renderLoop=function(){if(!this._contextWasLost){var e=!0;if(!this.renderEvenInBackground&&this._windowIsBackground&&(e=!1),e){this.beginFrame();for(var t=0;t0?this._frameHandler=this._queueNewFrame(this._boundRenderFunction,this.getHostWindow()):this._renderingQueueLaunched=!1},e.prototype.getRenderingCanvas=function(){return this._renderingCanvas},e.prototype.getHostWindow=function(){return h.a.IsWindowObjectExist()?this._renderingCanvas&&this._renderingCanvas.ownerDocument&&this._renderingCanvas.ownerDocument.defaultView?this._renderingCanvas.ownerDocument.defaultView:window:null},e.prototype.getRenderWidth=function(e){return void 0===e&&(e=!1),!e&&this._currentRenderTarget?this._currentRenderTarget.width:this._framebufferDimensionsObject?this._framebufferDimensionsObject.framebufferWidth:this._gl.drawingBufferWidth},e.prototype.getRenderHeight=function(e){return void 0===e&&(e=!1),!e&&this._currentRenderTarget?this._currentRenderTarget.height:this._framebufferDimensionsObject?this._framebufferDimensionsObject.framebufferHeight:this._gl.drawingBufferHeight},e.prototype._queueNewFrame=function(t,n){return e.QueueNewFrame(t,n)},e.prototype.runRenderLoop=function(e){-1===this._activeRenderLoops.indexOf(e)&&(this._activeRenderLoops.push(e),this._renderingQueueLaunched||(this._renderingQueueLaunched=!0,this._boundRenderFunction=this._renderLoop.bind(this),this._frameHandler=this._queueNewFrame(this._boundRenderFunction,this.getHostWindow())))},e.prototype.clear=function(e,t,n,i){void 0===i&&(i=!1),this.applyStates();var r=0;t&&e&&(this._gl.clearColor(e.r,e.g,e.b,void 0!==e.a?e.a:1),r|=this._gl.COLOR_BUFFER_BIT),n&&(this.useReverseDepthBuffer?(this._depthCullingState.depthFunc=this._gl.GREATER,this._gl.clearDepth(0)):this._gl.clearDepth(1),r|=this._gl.DEPTH_BUFFER_BIT),i&&(this._gl.clearStencil(0),r|=this._gl.STENCIL_BUFFER_BIT),this._gl.clear(r)},e.prototype._viewport=function(e,t,n,i){e===this._viewportCached.x&&t===this._viewportCached.y&&n===this._viewportCached.z&&i===this._viewportCached.w||(this._viewportCached.x=e,this._viewportCached.y=t,this._viewportCached.z=n,this._viewportCached.w=i,this._gl.viewport(e,t,n,i))},e.prototype.setViewport=function(e,t,n){var i=t||this.getRenderWidth(),r=n||this.getRenderHeight(),o=e.x||0,a=e.y||0;this._cachedViewport=e,this._viewport(o*i,a*r,i*e.width,r*e.height)},e.prototype.beginFrame=function(){},e.prototype.endFrame=function(){this._badOS&&this.flushFramebuffer()},e.prototype.resize=function(){var e,t;h.a.IsWindowObjectExist()?(e=this._renderingCanvas?this._renderingCanvas.clientWidth:window.innerWidth,t=this._renderingCanvas?this._renderingCanvas.clientHeight:window.innerHeight):(e=this._renderingCanvas?this._renderingCanvas.width:100,t=this._renderingCanvas?this._renderingCanvas.height:100),this.setSize(e/this._hardwareScalingLevel,t/this._hardwareScalingLevel)},e.prototype.setSize=function(e,t){this._renderingCanvas&&(e|=0,t|=0,this._renderingCanvas.width===e&&this._renderingCanvas.height===t||(this._renderingCanvas.width=e,this._renderingCanvas.height=t))},e.prototype.bindFramebuffer=function(e,t,n,i,r,o,a){void 0===t&&(t=0),void 0===o&&(o=0),void 0===a&&(a=0),this._currentRenderTarget&&this.unBindFramebuffer(this._currentRenderTarget),this._currentRenderTarget=e,this._bindUnboundFramebuffer(e._MSAAFramebuffer?e._MSAAFramebuffer:e._framebuffer);var s=this._gl;e.is2DArray?s.framebufferTextureLayer(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0,e._webGLTexture,o,a):e.isCube&&s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0,s.TEXTURE_CUBE_MAP_POSITIVE_X+t,e._webGLTexture,o);var c=e._depthStencilTexture;if(c){var l=c._generateStencilBuffer?s.DEPTH_STENCIL_ATTACHMENT:s.DEPTH_ATTACHMENT;e.is2DArray?s.framebufferTextureLayer(s.FRAMEBUFFER,l,c._webGLTexture,o,a):e.isCube?s.framebufferTexture2D(s.FRAMEBUFFER,l,s.TEXTURE_CUBE_MAP_POSITIVE_X+t,c._webGLTexture,o):s.framebufferTexture2D(s.FRAMEBUFFER,l,s.TEXTURE_2D,c._webGLTexture,o)}this._cachedViewport&&!r?this.setViewport(this._cachedViewport,n,i):(n||(n=e.width,o&&(n/=Math.pow(2,o))),i||(i=e.height,o&&(i/=Math.pow(2,o))),this._viewport(0,0,n,i)),this.wipeCaches()},e.prototype._bindUnboundFramebuffer=function(e){this._currentFramebuffer!==e&&(this._gl.bindFramebuffer(this._gl.FRAMEBUFFER,e),this._currentFramebuffer=e)},e.prototype.unBindFramebuffer=function(e,t,n){void 0===t&&(t=!1),this._currentRenderTarget=null;var i=this._gl;e._MSAAFramebuffer&&(i.bindFramebuffer(i.READ_FRAMEBUFFER,e._MSAAFramebuffer),i.bindFramebuffer(i.DRAW_FRAMEBUFFER,e._framebuffer),i.blitFramebuffer(0,0,e.width,e.height,0,0,e.width,e.height,i.COLOR_BUFFER_BIT,i.NEAREST)),!e.generateMipMaps||t||e.isCube||(this._bindTextureDirectly(i.TEXTURE_2D,e,!0),i.generateMipmap(i.TEXTURE_2D),this._bindTextureDirectly(i.TEXTURE_2D,null)),n&&(e._MSAAFramebuffer&&this._bindUnboundFramebuffer(e._framebuffer),n()),this._bindUnboundFramebuffer(null)},e.prototype.flushFramebuffer=function(){this._gl.flush()},e.prototype.restoreDefaultFramebuffer=function(){this._currentRenderTarget?this.unBindFramebuffer(this._currentRenderTarget):this._bindUnboundFramebuffer(null),this._cachedViewport&&this.setViewport(this._cachedViewport),this.wipeCaches()},e.prototype._resetVertexBufferBinding=function(){this.bindArrayBuffer(null),this._cachedVertexBuffers=null},e.prototype.createVertexBuffer=function(e){return this._createVertexBuffer(e,this._gl.STATIC_DRAW)},e.prototype._createVertexBuffer=function(e,t){var n=this._gl.createBuffer();if(!n)throw new Error("Unable to create vertex buffer");var i=new f.a(n);return this.bindArrayBuffer(i),e instanceof Array?this._gl.bufferData(this._gl.ARRAY_BUFFER,new Float32Array(e),this._gl.STATIC_DRAW):this._gl.bufferData(this._gl.ARRAY_BUFFER,e,this._gl.STATIC_DRAW),this._resetVertexBufferBinding(),i.references=1,i},e.prototype.createDynamicVertexBuffer=function(e){return this._createVertexBuffer(e,this._gl.DYNAMIC_DRAW)},e.prototype._resetIndexBufferBinding=function(){this.bindIndexBuffer(null),this._cachedIndexBuffer=null},e.prototype.createIndexBuffer=function(e,t){var n=this._gl.createBuffer(),i=new f.a(n);if(!n)throw new Error("Unable to create index buffer");this.bindIndexBuffer(i);var r=this._normalizeIndexData(e);return this._gl.bufferData(this._gl.ELEMENT_ARRAY_BUFFER,r,t?this._gl.DYNAMIC_DRAW:this._gl.STATIC_DRAW),this._resetIndexBufferBinding(),i.references=1,i.is32Bits=4===r.BYTES_PER_ELEMENT,i},e.prototype._normalizeIndexData=function(e){if(e instanceof Uint16Array)return e;if(this._caps.uintIndices){if(e instanceof Uint32Array)return e;for(var t=0;t=65535)return new Uint32Array(e);return new Uint16Array(e)}return new Uint16Array(e)},e.prototype.bindArrayBuffer=function(e){this._vaoRecordInProgress||this._unbindVertexArrayObject(),this.bindBuffer(e,this._gl.ARRAY_BUFFER)},e.prototype.bindUniformBlock=function(e,t,n){var i=e.program,r=this._gl.getUniformBlockIndex(i,t);this._gl.uniformBlockBinding(i,r,n)},e.prototype.bindIndexBuffer=function(e){this._vaoRecordInProgress||this._unbindVertexArrayObject(),this.bindBuffer(e,this._gl.ELEMENT_ARRAY_BUFFER)},e.prototype.bindBuffer=function(e,t){(this._vaoRecordInProgress||this._currentBoundBuffer[t]!==e)&&(this._gl.bindBuffer(t,e?e.underlyingResource:null),this._currentBoundBuffer[t]=e)},e.prototype.updateArrayBuffer=function(e){this._gl.bufferSubData(this._gl.ARRAY_BUFFER,0,e)},e.prototype._vertexAttribPointer=function(e,t,n,i,r,o,a){var s=this._currentBufferPointers[t],c=!1;s.active?(s.buffer!==e&&(s.buffer=e,c=!0),s.size!==n&&(s.size=n,c=!0),s.type!==i&&(s.type=i,c=!0),s.normalized!==r&&(s.normalized=r,c=!0),s.stride!==o&&(s.stride=o,c=!0),s.offset!==a&&(s.offset=a,c=!0)):(c=!0,s.active=!0,s.index=t,s.size=n,s.type=i,s.normalized=r,s.stride=o,s.offset=a,s.buffer=e),(c||this._vaoRecordInProgress)&&(this.bindArrayBuffer(e),this._gl.vertexAttribPointer(t,n,i,r,o,a))},e.prototype._bindIndexBufferWithCache=function(e){null!=e&&this._cachedIndexBuffer!==e&&(this._cachedIndexBuffer=e,this.bindIndexBuffer(e),this._uintIndicesCurrentlySet=e.is32Bits)},e.prototype._bindVertexBuffersAttributes=function(e,t){var n=t.getAttributesNames();this._vaoRecordInProgress||this._unbindVertexArrayObject(),this.unbindAllAttributes();for(var i=0;i=0){var o=e[n[i]];if(!o)continue;this._gl.enableVertexAttribArray(r),this._vaoRecordInProgress||(this._vertexAttribArraysEnabled[r]=!0);var a=o.getBuffer();a&&(this._vertexAttribPointer(a,r,o.getSize(),o.type,o.normalized,o.byteStride,o.byteOffset),o.getIsInstanced()&&(this._gl.vertexAttribDivisor(r,o.getInstanceDivisor()),this._vaoRecordInProgress||(this._currentInstanceLocations.push(r),this._currentInstanceBuffers.push(a))))}}},e.prototype.recordVertexArrayObject=function(e,t,n){var i=this._gl.createVertexArray();return this._vaoRecordInProgress=!0,this._gl.bindVertexArray(i),this._mustWipeVertexAttributes=!0,this._bindVertexBuffersAttributes(e,n),this.bindIndexBuffer(t),this._vaoRecordInProgress=!1,this._gl.bindVertexArray(null),i},e.prototype.bindVertexArrayObject=function(e,t){this._cachedVertexArrayObject!==e&&(this._cachedVertexArrayObject=e,this._gl.bindVertexArray(e),this._cachedVertexBuffers=null,this._cachedIndexBuffer=null,this._uintIndicesCurrentlySet=null!=t&&t.is32Bits,this._mustWipeVertexAttributes=!0)},e.prototype.bindBuffersDirectly=function(e,t,n,i,r){if(this._cachedVertexBuffers!==e||this._cachedEffectForVertexBuffers!==r){this._cachedVertexBuffers=e,this._cachedEffectForVertexBuffers=r;var o=r.getAttributesCount();this._unbindVertexArrayObject(),this.unbindAllAttributes();for(var a=0,s=0;s=0&&(this._gl.enableVertexAttribArray(c),this._vertexAttribArraysEnabled[c]=!0,this._vertexAttribPointer(e,c,n[s],this._gl.FLOAT,!1,i,a)),a+=4*n[s]}}this._bindIndexBufferWithCache(t)},e.prototype._unbindVertexArrayObject=function(){this._cachedVertexArrayObject&&(this._cachedVertexArrayObject=null,this._gl.bindVertexArray(null))},e.prototype.bindBuffers=function(e,t,n){this._cachedVertexBuffers===e&&this._cachedEffectForVertexBuffers===n||(this._cachedVertexBuffers=e,this._cachedEffectForVertexBuffers=n,this._bindVertexBuffersAttributes(e,n)),this._bindIndexBufferWithCache(t)},e.prototype.unbindInstanceAttributes=function(){for(var e,t=0,n=this._currentInstanceLocations.length;t1?"#version 300 es\n#define WEBGL2 \n":"",s=this._compileShader(t,"vertex",i,a),c=this._compileShader(n,"fragment",i,a);return this._createShaderProgram(e,s,c,r,o)},e.prototype.createPipelineContext=function(){var e=new _.a;return e.engine=this,this._caps.parallelShaderCompile&&(e.isParallelCompiled=!0),e},e.prototype._createShaderProgram=function(e,t,n,i,r){void 0===r&&(r=null);var o=i.createProgram();if(e.program=o,!o)throw new Error("Unable to create program");return i.attachShader(o,t),i.attachShader(o,n),i.linkProgram(o),e.context=i,e.vertexShader=t,e.fragmentShader=n,e.isParallelCompiled||this._finalizePipelineContext(e),o},e.prototype._finalizePipelineContext=function(e){var t=e.context,n=e.vertexShader,i=e.fragmentShader,r=e.program;if(!t.getProgramParameter(r,t.LINK_STATUS)){var o,a;if(!this._gl.getShaderParameter(n,this._gl.COMPILE_STATUS))if(o=this._gl.getShaderInfoLog(n))throw e.vertexCompilationError=o,new Error("VERTEX SHADER "+o);if(!this._gl.getShaderParameter(i,this._gl.COMPILE_STATUS))if(o=this._gl.getShaderInfoLog(i))throw e.fragmentCompilationError=o,new Error("FRAGMENT SHADER "+o);if(a=t.getProgramInfoLog(r))throw e.programLinkError=a,new Error(a)}if(this.validateShaderPrograms&&(t.validateProgram(r),!t.getProgramParameter(r,t.VALIDATE_STATUS)&&(a=t.getProgramInfoLog(r))))throw e.programValidationError=a,new Error(a);t.deleteShader(n),t.deleteShader(i),e.vertexShader=void 0,e.fragmentShader=void 0,e.onCompiled&&(e.onCompiled(),e.onCompiled=void 0)},e.prototype._preparePipelineContext=function(e,t,n,i,r,o,a){var s=e;s.program=i?this.createRawShaderProgram(s,t,n,void 0,a):this.createShaderProgram(s,t,n,o,void 0,a),s.program.__SPECTOR_rebuildProgram=r},e.prototype._isRenderingStateCompiled=function(e){var t=e;return!!this._gl.getProgramParameter(t.program,this._caps.parallelShaderCompile.COMPLETION_STATUS_KHR)&&(this._finalizePipelineContext(t),!0)},e.prototype._executeWhenRenderingStateIsCompiled=function(e,t){var n=e;if(n.isParallelCompiled){var i=n.onCompiled;n.onCompiled=i?function(){i(),t()}:t}else t()},e.prototype.getUniforms=function(e,t){for(var n=new Array,i=e,r=0;r-1?m.substring(C).toLowerCase():""),x=null,S=0,T=e._TextureLoaders;Sc||e.height>c||!_._supportsHardwareTextureRescaling)return _._prepareWorkingCanvas(),!(!_._workingCanvas||!_._workingContext)&&(_._workingCanvas.width=t,_._workingCanvas.height=n,_._workingContext.drawImage(e,0,0,e.width,e.height,0,0,t,n),r.texImage2D(r.TEXTURE_2D,0,s,s,r.UNSIGNED_BYTE,_._workingCanvas),y.width=t,y.height=n,!1);var l=new u.a(_,u.b.Temp);return _._bindTextureDirectly(r.TEXTURE_2D,l,!0),r.texImage2D(r.TEXTURE_2D,0,s,s,r.UNSIGNED_BYTE,e),_._rescaleTexture(l,y,o,s,(function(){_._releaseTexture(l),_._bindTextureDirectly(r.TEXTURE_2D,y,!0),i()})),!0}),a)};!b||v?l&&(l.decoding||l.close)?R(l):e._FileToolsLoadImage(m,R,O,o?o.offlineProvider:null,f):"string"==typeof l||l instanceof ArrayBuffer||ArrayBuffer.isView(l)||l instanceof Blob?e._FileToolsLoadImage(l,R,O,o?o.offlineProvider:null,f):l&&R(l)}return y},e._FileToolsLoadImage=function(e,t,n,i,r){throw o.a.WarnImport("FileTools")},e.prototype._rescaleTexture=function(e,t,n,i,r){},e.prototype.createRawTexture=function(e,t,n,i,r,a,s,c,l){throw void 0===c&&(c=null),void 0===l&&(l=0),o.a.WarnImport("Engine.RawTexture")},e.prototype.createRawCubeTexture=function(e,t,n,i,r,a,s,c){throw void 0===c&&(c=null),o.a.WarnImport("Engine.RawTexture")},e.prototype.createRawTexture3D=function(e,t,n,i,r,a,s,c,l,u){throw void 0===l&&(l=null),void 0===u&&(u=0),o.a.WarnImport("Engine.RawTexture")},e.prototype.createRawTexture2DArray=function(e,t,n,i,r,a,s,c,l,u){throw void 0===l&&(l=null),void 0===u&&(u=0),o.a.WarnImport("Engine.RawTexture")},e.prototype._unpackFlipY=function(e){this._unpackFlipYCached!==e&&(this._gl.pixelStorei(this._gl.UNPACK_FLIP_Y_WEBGL,e?1:0),this.enableUnpackFlipYCached&&(this._unpackFlipYCached=e))},e.prototype._getUnpackAlignement=function(){return this._gl.getParameter(this._gl.UNPACK_ALIGNMENT)},e.prototype._getTextureTarget=function(e){return e.isCube?this._gl.TEXTURE_CUBE_MAP:e.is3D?this._gl.TEXTURE_3D:e.is2DArray||e.isMultiview?this._gl.TEXTURE_2D_ARRAY:this._gl.TEXTURE_2D},e.prototype.updateTextureSamplingMode=function(e,t,n){void 0===n&&(n=!1);var i=this._getTextureTarget(t),r=this._getSamplingParameters(e,t.generateMipMaps||n);this._setTextureParameterInteger(i,this._gl.TEXTURE_MAG_FILTER,r.mag,t),this._setTextureParameterInteger(i,this._gl.TEXTURE_MIN_FILTER,r.min),n&&(t.generateMipMaps=!0,this._gl.generateMipmap(i)),this._bindTextureDirectly(i,null),t.samplingMode=e},e.prototype.updateTextureWrappingMode=function(e,t,n,i){void 0===n&&(n=null),void 0===i&&(i=null);var r=this._getTextureTarget(e);null!==t&&(this._setTextureParameterInteger(r,this._gl.TEXTURE_WRAP_S,this._getTextureWrapMode(t),e),e._cachedWrapU=t),null!==n&&(this._setTextureParameterInteger(r,this._gl.TEXTURE_WRAP_T,this._getTextureWrapMode(n),e),e._cachedWrapV=n),(e.is2DArray||e.is3D)&&null!==i&&(this._setTextureParameterInteger(r,this._gl.TEXTURE_WRAP_R,this._getTextureWrapMode(i),e),e._cachedWrapR=i),this._bindTextureDirectly(r,null)},e.prototype._setupDepthStencilTexture=function(e,t,n,i,r){var o=t.width||t,a=t.height||t,s=t.layers||0;e.baseWidth=o,e.baseHeight=a,e.width=o,e.height=a,e.is2DArray=s>0,e.depth=s,e.isReady=!0,e.samples=1,e.generateMipMaps=!1,e._generateDepthBuffer=!0,e._generateStencilBuffer=n,e.samplingMode=i?2:1,e.type=0,e._comparisonFunction=r;var c=this._gl,l=this._getTextureTarget(e),u=this._getSamplingParameters(e.samplingMode,!1);c.texParameteri(l,c.TEXTURE_MAG_FILTER,u.mag),c.texParameteri(l,c.TEXTURE_MIN_FILTER,u.min),c.texParameteri(l,c.TEXTURE_WRAP_S,c.CLAMP_TO_EDGE),c.texParameteri(l,c.TEXTURE_WRAP_T,c.CLAMP_TO_EDGE),0===r?(c.texParameteri(l,c.TEXTURE_COMPARE_FUNC,515),c.texParameteri(l,c.TEXTURE_COMPARE_MODE,c.NONE)):(c.texParameteri(l,c.TEXTURE_COMPARE_FUNC,r),c.texParameteri(l,c.TEXTURE_COMPARE_MODE,c.COMPARE_REF_TO_TEXTURE))},e.prototype._uploadCompressedDataToTextureDirectly=function(e,t,n,i,r,o,a){void 0===o&&(o=0),void 0===a&&(a=0);var s=this._gl,c=s.TEXTURE_2D;e.isCube&&(c=s.TEXTURE_CUBE_MAP_POSITIVE_X+o),this._gl.compressedTexImage2D(c,a,t,n,i,0,r)},e.prototype._uploadDataToTextureDirectly=function(e,t,n,i,r,o){void 0===n&&(n=0),void 0===i&&(i=0),void 0===o&&(o=!1);var a=this._gl,s=this._getWebGLTextureType(e.type),c=this._getInternalFormat(e.format),l=void 0===r?this._getRGBABufferInternalSizedFormat(e.type,e.format):this._getInternalFormat(r);this._unpackFlipY(e.invertY);var u=a.TEXTURE_2D;e.isCube&&(u=a.TEXTURE_CUBE_MAP_POSITIVE_X+n);var p=Math.round(Math.log(e.width)*Math.LOG2E),h=Math.round(Math.log(e.height)*Math.LOG2E),d=o?e.width:Math.pow(2,Math.max(p-i,0)),f=o?e.height:Math.pow(2,Math.max(h-i,0));a.texImage2D(u,i,l,d,f,0,c,s,t)},e.prototype.updateTextureData=function(e,t,n,i,r,o,a,s){void 0===a&&(a=0),void 0===s&&(s=0);var c=this._gl,l=this._getWebGLTextureType(e.type),u=this._getInternalFormat(e.format);this._unpackFlipY(e.invertY);var p=c.TEXTURE_2D;e.isCube&&(p=c.TEXTURE_CUBE_MAP_POSITIVE_X+a),c.texSubImage2D(p,s,n,i,r,o,u,l,t)},e.prototype._uploadArrayBufferViewToTexture=function(e,t,n,i){void 0===n&&(n=0),void 0===i&&(i=0);var r=this._gl,o=e.isCube?r.TEXTURE_CUBE_MAP:r.TEXTURE_2D;this._bindTextureDirectly(o,e,!0),this._uploadDataToTextureDirectly(e,t,n,i),this._bindTextureDirectly(o,null,!0)},e.prototype._prepareWebGLTextureContinuation=function(e,t,n,i,r){var o=this._gl;if(o){var a=this._getSamplingParameters(r,!n);o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,a.mag),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,a.min),n||i||o.generateMipmap(o.TEXTURE_2D),this._bindTextureDirectly(o.TEXTURE_2D,null),t&&t._removePendingData(e),e.onLoadedObservable.notifyObservers(e),e.onLoadedObservable.clear()}},e.prototype._prepareWebGLTexture=function(t,n,i,r,o,a,s,c,l){var u=this;void 0===l&&(l=3);var p=this.getCaps().maxTextureSize,h=Math.min(p,this.needPOTTextures?e.GetExponentOfTwo(i,p):i),d=Math.min(p,this.needPOTTextures?e.GetExponentOfTwo(r,p):r),f=this._gl;f&&(t._webGLTexture?(this._bindTextureDirectly(f.TEXTURE_2D,t,!0),this._unpackFlipY(void 0===o||!!o),t.baseWidth=i,t.baseHeight=r,t.width=h,t.height=d,t.isReady=!0,c(h,d,(function(){u._prepareWebGLTextureContinuation(t,n,a,s,l)}))||this._prepareWebGLTextureContinuation(t,n,a,s,l)):n&&n._removePendingData(t))},e.prototype._setupFramebufferDepthAttachments=function(e,t,n,i,r){void 0===r&&(r=1);var o=this._gl;if(e&&t)return this._getDepthStencilBuffer(n,i,r,o.DEPTH_STENCIL,o.DEPTH24_STENCIL8,o.DEPTH_STENCIL_ATTACHMENT);if(t){var a=o.DEPTH_COMPONENT16;return this._webGLVersion>1&&(a=o.DEPTH_COMPONENT32F),this._getDepthStencilBuffer(n,i,r,a,a,o.DEPTH_ATTACHMENT)}return e?this._getDepthStencilBuffer(n,i,r,o.STENCIL_INDEX8,o.STENCIL_INDEX8,o.STENCIL_ATTACHMENT):null},e.prototype._releaseFramebufferObjects=function(e){var t=this._gl;e._framebuffer&&(t.deleteFramebuffer(e._framebuffer),e._framebuffer=null),e._depthStencilBuffer&&(t.deleteRenderbuffer(e._depthStencilBuffer),e._depthStencilBuffer=null),e._MSAAFramebuffer&&(t.deleteFramebuffer(e._MSAAFramebuffer),e._MSAAFramebuffer=null),e._MSAARenderBuffer&&(t.deleteRenderbuffer(e._MSAARenderBuffer),e._MSAARenderBuffer=null)},e.prototype._releaseTexture=function(e){this._releaseFramebufferObjects(e),this._deleteTexture(e._webGLTexture),this.unbindAllTextures();var t=this._internalTexturesCache.indexOf(e);-1!==t&&this._internalTexturesCache.splice(t,1),e._lodTextureHigh&&e._lodTextureHigh.dispose(),e._lodTextureMid&&e._lodTextureMid.dispose(),e._lodTextureLow&&e._lodTextureLow.dispose(),e._irradianceTexture&&e._irradianceTexture.dispose()},e.prototype._deleteTexture=function(e){this._gl.deleteTexture(e)},e.prototype._setProgram=function(e){this._currentProgram!==e&&(this._gl.useProgram(e),this._currentProgram=e)},e.prototype.bindSamplers=function(e){var t=e.getPipelineContext();this._setProgram(t.program);for(var n=e.getSamplers(),i=0;i-1;return n&&o&&(this._activeChannel=t._associatedChannel),this._boundTexturesCache[this._activeChannel]!==t||i?(this._activateCurrentTexture(),t&&t.isMultiview?this._gl.bindTexture(e,t?t._colorTextureArray:null):this._gl.bindTexture(e,t?t._webGLTexture:null),this._boundTexturesCache[this._activeChannel]=t,t&&(t._associatedChannel=this._activeChannel)):n&&(r=!0,this._activateCurrentTexture()),o&&!n&&this._bindSamplerUniformToChannel(t._associatedChannel,this._activeChannel),r},e.prototype._bindTexture=function(e,t){void 0!==e&&(t&&(t._associatedChannel=e),this._activeChannel=e,this._bindTextureDirectly(this._gl.TEXTURE_2D,t))},e.prototype.unbindAllTextures=function(){for(var e=0;e1&&(this._bindTextureDirectly(this._gl.TEXTURE_3D,null),this._bindTextureDirectly(this._gl.TEXTURE_2D_ARRAY,null))},e.prototype.setTexture=function(e,t,n){void 0!==e&&(t&&(this._boundUniforms[e]=t),this._setTexture(e,n))},e.prototype._bindSamplerUniformToChannel=function(e,t){var n=this._boundUniforms[e];n&&n._currentState!==t&&(this._gl.uniform1i(n,t),n._currentState=t)},e.prototype._getTextureWrapMode=function(e){switch(e){case 1:return this._gl.REPEAT;case 0:return this._gl.CLAMP_TO_EDGE;case 2:return this._gl.MIRRORED_REPEAT}return this._gl.REPEAT},e.prototype._setTexture=function(e,t,n,i){if(void 0===n&&(n=!1),void 0===i&&(i=!1),!t)return null!=this._boundTexturesCache[e]&&(this._activeChannel=e,this._bindTextureDirectly(this._gl.TEXTURE_2D,null),this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,null),this.webGLVersion>1&&(this._bindTextureDirectly(this._gl.TEXTURE_3D,null),this._bindTextureDirectly(this._gl.TEXTURE_2D_ARRAY,null))),!1;if(t.video)this._activeChannel=e,t.update();else if(4===t.delayLoadState)return t.delayLoad(),!1;var r;r=i?t.depthStencilTexture:t.isReady()?t.getInternalTexture():t.isCube?this.emptyCubeTexture:t.is3D?this.emptyTexture3D:t.is2DArray?this.emptyTexture2DArray:this.emptyTexture,!n&&r&&(r._associatedChannel=e);var o=!0;this._boundTexturesCache[e]===r&&(n||this._bindSamplerUniformToChannel(r._associatedChannel,e),o=!1),this._activeChannel=e;var a=this._getTextureTarget(r);if(o&&this._bindTextureDirectly(a,r,n),r&&!r.isMultiview){if(r.isCube&&r._cachedCoordinatesMode!==t.coordinatesMode){r._cachedCoordinatesMode=t.coordinatesMode;var s=3!==t.coordinatesMode&&5!==t.coordinatesMode?1:0;t.wrapU=s,t.wrapV=s}r._cachedWrapU!==t.wrapU&&(r._cachedWrapU=t.wrapU,this._setTextureParameterInteger(a,this._gl.TEXTURE_WRAP_S,this._getTextureWrapMode(t.wrapU),r)),r._cachedWrapV!==t.wrapV&&(r._cachedWrapV=t.wrapV,this._setTextureParameterInteger(a,this._gl.TEXTURE_WRAP_T,this._getTextureWrapMode(t.wrapV),r)),r.is3D&&r._cachedWrapR!==t.wrapR&&(r._cachedWrapR=t.wrapR,this._setTextureParameterInteger(a,this._gl.TEXTURE_WRAP_R,this._getTextureWrapMode(t.wrapR),r)),this._setAnisotropicLevel(a,r,t.anisotropicFilteringLevel)}return!0},e.prototype.setTextureArray=function(e,t,n){if(void 0!==e&&t){this._textureUnits&&this._textureUnits.length===n.length||(this._textureUnits=new Int32Array(n.length));for(var i=0;i=this._caps.maxVertexAttribs||!this._vertexAttribArraysEnabled[e]||this.disableAttributeByIndex(e)}},e.prototype.releaseEffects=function(){for(var e in this._compiledEffects){var t=this._compiledEffects[e].getPipelineContext();this._deletePipelineContext(t)}this._compiledEffects={}},e.prototype.dispose=function(){this.stopRenderLoop(),this.onBeforeTextureInitObservable&&this.onBeforeTextureInitObservable.clear(),this._emptyTexture&&(this._releaseTexture(this._emptyTexture),this._emptyTexture=null),this._emptyCubeTexture&&(this._releaseTexture(this._emptyCubeTexture),this._emptyCubeTexture=null),this.releaseEffects(),this.unbindAllAttributes(),this._boundUniforms=[],h.a.IsWindowObjectExist()&&this._renderingCanvas&&(this._doNotHandleContextLost||(this._renderingCanvas.removeEventListener("webglcontextlost",this._onContextLost),this._renderingCanvas.removeEventListener("webglcontextrestored",this._onContextRestored))),this._workingCanvas=null,this._workingContext=null,this._currentBufferPointers=[],this._renderingCanvas=null,this._currentProgram=null,this._boundRenderFunction=null,r.a.ResetCache();for(var e=0,t=this._activeRequests;e1?this._caps.colorBufferFloat:this._canRenderToFramebuffer(1)},e.prototype._canRenderToHalfFloatFramebuffer=function(){return this._webGLVersion>1?this._caps.colorBufferFloat:this._canRenderToFramebuffer(2)},e.prototype._canRenderToFramebuffer=function(e){for(var t=this._gl;t.getError()!==t.NO_ERROR;);var n=!0,i=t.createTexture();t.bindTexture(t.TEXTURE_2D,i),t.texImage2D(t.TEXTURE_2D,0,this._getRGBABufferInternalSizedFormat(e),1,1,0,t.RGBA,this._getWebGLTextureType(e),null),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST);var r=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,r),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,i,0);var o=t.checkFramebufferStatus(t.FRAMEBUFFER);if((n=(n=n&&o===t.FRAMEBUFFER_COMPLETE)&&t.getError()===t.NO_ERROR)&&(t.clear(t.COLOR_BUFFER_BIT),n=n&&t.getError()===t.NO_ERROR),n){t.bindFramebuffer(t.FRAMEBUFFER,null);var a=t.RGBA,s=t.UNSIGNED_BYTE,c=new Uint8Array(4);t.readPixels(0,0,1,1,a,s,c),n=n&&t.getError()===t.NO_ERROR}for(t.deleteTexture(i),t.deleteFramebuffer(r),t.bindFramebuffer(t.FRAMEBUFFER,null);!n&&t.getError()!==t.NO_ERROR;);return n},e.prototype._getWebGLTextureType=function(e){if(1===this._webGLVersion){switch(e){case 1:return this._gl.FLOAT;case 2:return this._gl.HALF_FLOAT_OES;case 0:return this._gl.UNSIGNED_BYTE;case 8:return this._gl.UNSIGNED_SHORT_4_4_4_4;case 9:return this._gl.UNSIGNED_SHORT_5_5_5_1;case 10:return this._gl.UNSIGNED_SHORT_5_6_5}return this._gl.UNSIGNED_BYTE}switch(e){case 3:return this._gl.BYTE;case 0:return this._gl.UNSIGNED_BYTE;case 4:return this._gl.SHORT;case 5:return this._gl.UNSIGNED_SHORT;case 6:return this._gl.INT;case 7:return this._gl.UNSIGNED_INT;case 1:return this._gl.FLOAT;case 2:return this._gl.HALF_FLOAT;case 8:return this._gl.UNSIGNED_SHORT_4_4_4_4;case 9:return this._gl.UNSIGNED_SHORT_5_5_5_1;case 10:return this._gl.UNSIGNED_SHORT_5_6_5;case 11:return this._gl.UNSIGNED_INT_2_10_10_10_REV;case 12:return this._gl.UNSIGNED_INT_24_8;case 13:return this._gl.UNSIGNED_INT_10F_11F_11F_REV;case 14:return this._gl.UNSIGNED_INT_5_9_9_9_REV;case 15:return this._gl.FLOAT_32_UNSIGNED_INT_24_8_REV}return this._gl.UNSIGNED_BYTE},e.prototype._getInternalFormat=function(e){var t=this._gl.RGBA;switch(e){case 0:t=this._gl.ALPHA;break;case 1:t=this._gl.LUMINANCE;break;case 2:t=this._gl.LUMINANCE_ALPHA;break;case 6:t=this._gl.RED;break;case 7:t=this._gl.RG;break;case 4:t=this._gl.RGB;break;case 5:t=this._gl.RGBA}if(this._webGLVersion>1)switch(e){case 8:t=this._gl.RED_INTEGER;break;case 9:t=this._gl.RG_INTEGER;break;case 10:t=this._gl.RGB_INTEGER;break;case 11:t=this._gl.RGBA_INTEGER}return t},e.prototype._getRGBABufferInternalSizedFormat=function(e,t){if(1===this._webGLVersion){if(void 0!==t)switch(t){case 0:return this._gl.ALPHA;case 1:return this._gl.LUMINANCE;case 2:return this._gl.LUMINANCE_ALPHA;case 4:return this._gl.RGB}return this._gl.RGBA}switch(e){case 3:switch(t){case 6:return this._gl.R8_SNORM;case 7:return this._gl.RG8_SNORM;case 4:return this._gl.RGB8_SNORM;case 8:return this._gl.R8I;case 9:return this._gl.RG8I;case 10:return this._gl.RGB8I;case 11:return this._gl.RGBA8I;default:return this._gl.RGBA8_SNORM}case 0:switch(t){case 6:return this._gl.R8;case 7:return this._gl.RG8;case 4:return this._gl.RGB8;case 5:return this._gl.RGBA8;case 8:return this._gl.R8UI;case 9:return this._gl.RG8UI;case 10:return this._gl.RGB8UI;case 11:return this._gl.RGBA8UI;case 0:return this._gl.ALPHA;case 1:return this._gl.LUMINANCE;case 2:return this._gl.LUMINANCE_ALPHA;default:return this._gl.RGBA8}case 4:switch(t){case 8:return this._gl.R16I;case 9:return this._gl.RG16I;case 10:return this._gl.RGB16I;case 11:default:return this._gl.RGBA16I}case 5:switch(t){case 8:return this._gl.R16UI;case 9:return this._gl.RG16UI;case 10:return this._gl.RGB16UI;case 11:default:return this._gl.RGBA16UI}case 6:switch(t){case 8:return this._gl.R32I;case 9:return this._gl.RG32I;case 10:return this._gl.RGB32I;case 11:default:return this._gl.RGBA32I}case 7:switch(t){case 8:return this._gl.R32UI;case 9:return this._gl.RG32UI;case 10:return this._gl.RGB32UI;case 11:default:return this._gl.RGBA32UI}case 1:switch(t){case 6:return this._gl.R32F;case 7:return this._gl.RG32F;case 4:return this._gl.RGB32F;case 5:default:return this._gl.RGBA32F}case 2:switch(t){case 6:return this._gl.R16F;case 7:return this._gl.RG16F;case 4:return this._gl.RGB16F;case 5:default:return this._gl.RGBA16F}case 10:return this._gl.RGB565;case 13:return this._gl.R11F_G11F_B10F;case 14:return this._gl.RGB9_E5;case 8:return this._gl.RGBA4;case 9:return this._gl.RGB5_A1;case 11:switch(t){case 5:return this._gl.RGB10_A2;case 11:return this._gl.RGB10_A2UI;default:return this._gl.RGB10_A2}}return this._gl.RGBA8},e.prototype._getRGBAMultiSampleBufferFormat=function(e){return 1===e?this._gl.RGBA32F:2===e?this._gl.RGBA16F:this._gl.RGBA8},e.prototype._loadFile=function(t,n,i,r,o,a){var s=this,c=e._FileToolsLoadFile(t,n,i,r,o,a);return this._activeRequests.push(c),c.onCompleteObservable.add((function(e){s._activeRequests.splice(s._activeRequests.indexOf(e),1)})),c},e._FileToolsLoadFile=function(e,t,n,i,r,a){throw o.a.WarnImport("FileTools")},e.prototype.readPixels=function(e,t,n,i,r){void 0===r&&(r=!0);var o=r?4:3,a=r?this._gl.RGBA:this._gl.RGB,s=new Uint8Array(i*n*o);return this._gl.readPixels(e,t,n,i,a,this._gl.UNSIGNED_BYTE,s),s},e.isSupported=function(){if(null===this._isSupported)try{var e=m.a.CreateCanvas(1,1),t=e.getContext("webgl")||e.getContext("experimental-webgl");this._isSupported=null!=t&&!!window.WebGLRenderingContext}catch(e){this._isSupported=!1}return this._isSupported},e.CeilingPOT=function(e){return e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},e.FloorPOT=function(e){return e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,(e|=e>>16)-(e>>1)},e.NearestPOT=function(t){var n=e.CeilingPOT(t),i=e.FloorPOT(t);return n-t>t-i?i:n},e.GetExponentOfTwo=function(t,n,i){var r;switch(void 0===i&&(i=2),i){case 1:r=e.FloorPOT(t);break;case 2:r=e.NearestPOT(t);break;case 3:default:r=e.CeilingPOT(t)}return Math.min(r,n)},e.QueueNewFrame=function(e,t){return h.a.IsWindowObjectExist()?(t||(t=window),t.requestAnimationFrame?t.requestAnimationFrame(e):t.msRequestAnimationFrame?t.msRequestAnimationFrame(e):t.webkitRequestAnimationFrame?t.webkitRequestAnimationFrame(e):t.mozRequestAnimationFrame?t.mozRequestAnimationFrame(e):t.oRequestAnimationFrame?t.oRequestAnimationFrame(e):window.setTimeout(e,16)):"undefined"!=typeof requestAnimationFrame?requestAnimationFrame(e):setTimeout(e,16)},e.prototype.getHostDocument=function(){return this._renderingCanvas&&this._renderingCanvas.ownerDocument?this._renderingCanvas.ownerDocument:document},e.ExceptionList=[{key:"Chrome/63.0",capture:"63\\.0\\.3239\\.(\\d+)",captureConstraint:108,targets:["uniformBuffer"]},{key:"Firefox/58",capture:null,captureConstraint:null,targets:["uniformBuffer"]},{key:"Firefox/59",capture:null,captureConstraint:null,targets:["uniformBuffer"]},{key:"Chrome/72.+?Mobile",capture:null,captureConstraint:null,targets:["vao"]},{key:"Chrome/73.+?Mobile",capture:null,captureConstraint:null,targets:["vao"]},{key:"Chrome/74.+?Mobile",capture:null,captureConstraint:null,targets:["vao"]},{key:"Mac OS.+Chrome/71",capture:null,captureConstraint:null,targets:["vao"]},{key:"Mac OS.+Chrome/72",capture:null,captureConstraint:null,targets:["vao"]}],e._TextureLoaders=[],e.CollisionsEpsilon=.001,e._isSupported=null,e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var i=n(1),r=n(2),o=n(5),a=n(0),s=n(33),c=n(23),l=function(e){function t(n,i,r){void 0===i&&(i=null),void 0===r&&(r=!0);var s=e.call(this,n,i)||this;return s._forward=new a.e(0,0,1),s._forwardInverted=new a.e(0,0,-1),s._up=new a.e(0,1,0),s._right=new a.e(1,0,0),s._rightInverted=new a.e(-1,0,0),s._position=a.e.Zero(),s._rotation=a.e.Zero(),s._rotationQuaternion=null,s._scaling=a.e.One(),s._isDirty=!1,s._transformToBoneReferal=null,s._isAbsoluteSynced=!1,s._billboardMode=t.BILLBOARDMODE_NONE,s._preserveParentRotationForBillboard=!1,s.scalingDeterminant=1,s._infiniteDistance=!1,s.ignoreNonUniformScaling=!1,s.reIntegrateRotationIntoRotationQuaternion=!1,s._poseMatrix=null,s._localMatrix=a.a.Zero(),s._usePivotMatrix=!1,s._absolutePosition=a.e.Zero(),s._absoluteScaling=a.e.Zero(),s._absoluteRotationQuaternion=a.b.Identity(),s._pivotMatrix=a.a.Identity(),s._postMultiplyPivotMatrix=!1,s._isWorldMatrixFrozen=!1,s._indexInSceneTransformNodesArray=-1,s.onAfterWorldMatrixUpdateObservable=new o.c,s._nonUniformScaling=!1,r&&s.getScene().addTransformNode(s),s}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"billboardMode",{get:function(){return this._billboardMode},set:function(e){this._billboardMode!==e&&(this._billboardMode=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"preserveParentRotationForBillboard",{get:function(){return this._preserveParentRotationForBillboard},set:function(e){e!==this._preserveParentRotationForBillboard&&(this._preserveParentRotationForBillboard=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"infiniteDistance",{get:function(){return this._infiniteDistance},set:function(e){this._infiniteDistance!==e&&(this._infiniteDistance=e)},enumerable:!0,configurable:!0}),t.prototype.getClassName=function(){return"TransformNode"},Object.defineProperty(t.prototype,"position",{get:function(){return this._position},set:function(e){this._position=e,this._isDirty=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rotation",{get:function(){return this._rotation},set:function(e){this._rotation=e,this._rotationQuaternion=null,this._isDirty=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scaling",{get:function(){return this._scaling},set:function(e){this._scaling=e,this._isDirty=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rotationQuaternion",{get:function(){return this._rotationQuaternion},set:function(e){this._rotationQuaternion=e,e&&this._rotation.setAll(0),this._isDirty=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"forward",{get:function(){return a.e.Normalize(a.e.TransformNormal(this.getScene().useRightHandedSystem?this._forwardInverted:this._forward,this.getWorldMatrix()))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"up",{get:function(){return a.e.Normalize(a.e.TransformNormal(this._up,this.getWorldMatrix()))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return a.e.Normalize(a.e.TransformNormal(this.getScene().useRightHandedSystem?this._rightInverted:this._right,this.getWorldMatrix()))},enumerable:!0,configurable:!0}),t.prototype.updatePoseMatrix=function(e){return this._poseMatrix?(this._poseMatrix.copyFrom(e),this):(this._poseMatrix=e.clone(),this)},t.prototype.getPoseMatrix=function(){return this._poseMatrix||(this._poseMatrix=a.a.Identity()),this._poseMatrix},t.prototype._isSynchronized=function(){var e=this._cache;if(this.billboardMode!==e.billboardMode||this.billboardMode!==t.BILLBOARDMODE_NONE)return!1;if(e.pivotMatrixUpdated)return!1;if(this.infiniteDistance)return!1;if(!e.position.equals(this._position))return!1;if(this._rotationQuaternion){if(!e.rotationQuaternion.equals(this._rotationQuaternion))return!1}else if(!e.rotation.equals(this._rotation))return!1;return!!e.scaling.equals(this._scaling)},t.prototype._initCache=function(){e.prototype._initCache.call(this);var t=this._cache;t.localMatrixUpdated=!1,t.position=a.e.Zero(),t.scaling=a.e.Zero(),t.rotation=a.e.Zero(),t.rotationQuaternion=new a.b(0,0,0,0),t.billboardMode=-1,t.infiniteDistance=!1},t.prototype.markAsDirty=function(e){return this._currentRenderId=Number.MAX_VALUE,this._isDirty=!0,this},Object.defineProperty(t.prototype,"absolutePosition",{get:function(){return this._absolutePosition},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"absoluteScaling",{get:function(){return this._syncAbsoluteScalingAndRotation(),this._absoluteScaling},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"absoluteRotationQuaternion",{get:function(){return this._syncAbsoluteScalingAndRotation(),this._absoluteRotationQuaternion},enumerable:!0,configurable:!0}),t.prototype.setPreTransformMatrix=function(e){return this.setPivotMatrix(e,!1)},t.prototype.setPivotMatrix=function(e,t){return void 0===t&&(t=!0),this._pivotMatrix.copyFrom(e),this._usePivotMatrix=!this._pivotMatrix.isIdentity(),this._cache.pivotMatrixUpdated=!0,this._postMultiplyPivotMatrix=t,this._postMultiplyPivotMatrix&&(this._pivotMatrixInverse?this._pivotMatrix.invertToRef(this._pivotMatrixInverse):this._pivotMatrixInverse=a.a.Invert(this._pivotMatrix)),this},t.prototype.getPivotMatrix=function(){return this._pivotMatrix},t.prototype.instantiateHierarchy=function(e,t,n){void 0===e&&(e=null);var i=this.clone("Clone of "+(this.name||this.id),e||this.parent,!0);i&&n&&n(this,i);for(var r=0,o=this.getChildTransformNodes(!0);rthis._maxRank&&(this._maxRank=e),this._defines[e]=new Array),this._defines[e].push(t)},e.prototype.addCPUSkinningFallback=function(e,t){this._mesh=t,ethis._maxRank&&(this._maxRank=e)},Object.defineProperty(e.prototype,"hasMoreFallbacks",{get:function(){return this._currentRank<=this._maxRank},enumerable:!0,configurable:!0}),e.prototype.reduce=function(e,t){if(this._mesh&&this._mesh.computeBonesUsingShaders&&this._mesh.numBoneInfluencers>0){this._mesh.computeBonesUsingShaders=!1,e=e.replace("#define NUM_BONE_INFLUENCERS "+this._mesh.numBoneInfluencers,"#define NUM_BONE_INFLUENCERS 0"),t._bonesComputationForcedToCPU=!0;for(var n=this._mesh.getScene(),i=0;i0&&(r.computeBonesUsingShaders=!1)}}else{var s=this._defines[this._currentRank];if(s)for(i=0;i0&&(this._postProcesses[0].autoClear=!1))}},t.prototype._shouldRender=function(){return-1===this._currentRefreshId||this.refreshRate===this._currentRefreshId?(this._currentRefreshId=1,!0):(this._currentRefreshId++,!1)},t.prototype.getRenderSize=function(){return this.getRenderWidth()},t.prototype.getRenderWidth=function(){return this._size.width?this._size.width:this._size},t.prototype.getRenderHeight=function(){return this._size.width?this._size.height:this._size},t.prototype.getRenderLayers=function(){var e=this._size.layers;return e||0},Object.defineProperty(t.prototype,"canRescale",{get:function(){return!0},enumerable:!0,configurable:!0}),t.prototype.scale=function(e){var t=Math.max(1,this.getRenderSize()*e);this.resize(t)},t.prototype.getReflectionTextureMatrix=function(){return this.isCube?this._textureMatrix:e.prototype.getReflectionTextureMatrix.call(this)},t.prototype.resize=function(e){var t=this.isCube;this.releaseInternalTexture();var n=this.getScene();n&&(this._processSizeParameter(e),this._texture=t?n.getEngine().createRenderTargetCubeTexture(this.getRenderSize(),this._renderTargetOptions):n.getEngine().createRenderTargetTexture(this._size,this._renderTargetOptions),this.onResizeObservable.hasObservers()&&this.onResizeObservable.notifyObservers(this))},t.prototype.render=function(e,t){if(void 0===e&&(e=!1),void 0===t&&(t=!1),s=this.getScene()){var n,i=s.getEngine();if(void 0!==this.useCameraPostProcesses&&(e=this.useCameraPostProcesses),this._waitingRenderList){this.renderList=[];for(var r=0;r1||this.activeCamera&&this.activeCamera!==s.activeCamera)&&s.setTransformMatrix(s.activeCamera.getViewMatrix(),s.activeCamera.getProjectionMatrix(!0)),i.setViewport(s.activeCamera.viewport)),s.resetCachedMaterial()}},t.prototype._bestReflectionRenderTargetDimension=function(e,t){var n=e*t,i=u.a.NearestPOT(n+16384/(128+n));return Math.min(u.a.FloorPOT(e),i)},t.prototype._prepareRenderingManager=function(e,t,n,i){var r=this.getScene();if(r){this._renderingManager.reset();for(var o=r.getRenderId(),a=0;a=0&&this._renderingManager.dispatchParticles(h))}}},t.prototype._bindFrameBuffer=function(e,t){void 0===e&&(e=0),void 0===t&&(t=0);var n=this.getScene();if(n){var i=n.getEngine();this._texture&&i.bindFramebuffer(this._texture,this.isCube?e:void 0,void 0,void 0,this.ignoreCameraViewport,0,t)}},t.prototype.unbindFrameBuffer=function(e,t){var n=this;this._texture&&e.unBindFramebuffer(this._texture,this.isCube,(function(){n.onAfterRenderObservable.notifyObservers(t)}))},t.prototype.renderToTarget=function(e,t,n,i,r){void 0===i&&(i=0),void 0===r&&(r=null);var a=this.getScene();if(a){var s=a.getEngine();if(this._texture){this._postProcessManager?this._postProcessManager._prepareFrame(this._texture,this._postProcesses):t&&a.postProcessManager._prepareFrame(this._texture)||this._bindFrameBuffer(e,i),this.is2DArray?this.onBeforeRenderObservable.notifyObservers(i):this.onBeforeRenderObservable.notifyObservers(e);var c=null,l=this.renderList?this.renderList:a.getActiveMeshes().data,u=this.renderList?this.renderList.length:a.getActiveMeshes().length;this.getCustomRenderList&&(c=this.getCustomRenderList(this.is2DArray?i:e,l,u)),c?this._prepareRenderingManager(c,c.length,r,!1):(this._defaultRenderListPrepared||(this._prepareRenderingManager(l,u,r,!this.renderList),this._defaultRenderListPrepared=!0),c=l),this.onClearObservable.hasObservers()?this.onClearObservable.notifyObservers(s):s.clear(this.clearColor||a.clearColor,!0,!0,!0),this._doNotChangeAspectRatio||a.updateTransformMatrix(!0);for(var p=0,h=a._beforeRenderTargetDrawStage;p=0&&t.customRenderTargets.splice(n,1);for(var i=0,r=t.cameras;i=0&&o.customRenderTargets.splice(n,1)}this.depthStencilTexture&&this.getScene().getEngine()._releaseTexture(this.depthStencilTexture),e.prototype.dispose.call(this)}},t.prototype._rebuild=function(){this.refreshRate===t.REFRESHRATE_RENDER_ONCE&&(this.refreshRate=t.REFRESHRATE_RENDER_ONCE),this._postProcessManager&&this._postProcessManager._rebuild()},t.prototype.freeRenderingGroups=function(){this._renderingManager&&this._renderingManager.freeRenderingGroups()},t.prototype.getViewCount=function(){return 1},t.REFRESHRATE_RENDER_ONCE=0,t.REFRESHRATE_RENDER_ONEVERYFRAME=1,t.REFRESHRATE_RENDER_ONEVERYTWOFRAMES=2,t}(s.a);s.a._CreateRenderTargetTexture=function(e,t,n,i){return new p(e,t,n,i)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var i=n(176),r=function(){function e(){}return e.EnableFor=function(t){t._tags=t._tags||{},t.hasTags=function(){return e.HasTags(t)},t.addTags=function(n){return e.AddTagsTo(t,n)},t.removeTags=function(n){return e.RemoveTagsFrom(t,n)},t.matchesTagsQuery=function(n){return e.MatchesQuery(t,n)}},e.DisableFor=function(e){delete e._tags,delete e.hasTags,delete e.addTags,delete e.removeTags,delete e.matchesTagsQuery},e.HasTags=function(e){if(!e._tags)return!1;var t=e._tags;for(var n in t)if(t.hasOwnProperty(n))return!0;return!1},e.GetTags=function(e,t){if(void 0===t&&(t=!0),!e._tags)return null;if(t){var n=[];for(var i in e._tags)e._tags.hasOwnProperty(i)&&!0===e._tags[i]&&n.push(i);return n.join(" ")}return e._tags},e.AddTagsTo=function(t,n){n&&("string"==typeof n&&n.split(" ").forEach((function(n,i,r){e._AddTagTo(t,n)})))},e._AddTagTo=function(t,n){""!==(n=n.trim())&&"true"!==n&&"false"!==n&&(n.match(/[\s]/)||n.match(/^([!]|([|]|[&]){2})/)||(e.EnableFor(t),t._tags[n]=!0))},e.RemoveTagsFrom=function(t,n){if(e.HasTags(t)){var i=n.split(" ");for(var r in i)e._RemoveTagFrom(t,i[r])}},e._RemoveTagFrom=function(e,t){delete e._tags[t]},e.MatchesQuery=function(t,n){return void 0===n||(""===n?e.HasTags(t):i.a.Eval(n,(function(n){return e.HasTags(t)&&t._tags[n]})))},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var i=n(1),r=n(0),o=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i._normalMatrix=new r.a,i.allowShaderHotSwapping=!0,i._storeEffectOnSubMeshes=!0,i}return Object(i.d)(t,e),t.prototype.getEffect=function(){return this._activeEffect},t.prototype.isReady=function(e,t){return!!e&&(!e.subMeshes||0===e.subMeshes.length||this.isReadyForSubMesh(e,e.subMeshes[0],t))},t.prototype.bindOnlyWorldMatrix=function(e){this._activeEffect.setMatrix("world",e)},t.prototype.bindOnlyNormalMatrix=function(e){this._activeEffect.setMatrix("normalMatrix",e)},t.prototype.bind=function(e,t){t&&this.bindForSubMesh(e,t,t.subMeshes[0])},t.prototype._afterBind=function(t,n){void 0===n&&(n=null),e.prototype._afterBind.call(this,t),this.getScene()._cachedEffect=n},t.prototype._mustRebind=function(e,t,n){return void 0===n&&(n=1),e.isCachedMaterialInvalid(this,t,n)},t}(n(28).a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o}));var i=n(1),r=function(){function e(t){this.length=0,this.data=new Array(t),this._id=e._GlobalId++}return e.prototype.push=function(e){this.data[this.length++]=e,this.length>this.data.length&&(this.data.length*=2)},e.prototype.forEach=function(e){for(var t=0;tthis.data.length&&(this.data.length=2*(this.length+e.length));for(var t=0;t=this.length?-1:t},e.prototype.contains=function(e){return-1!==this.indexOf(e)},e._GlobalId=0,e}(),o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._duplicateId=0,t}return Object(i.d)(t,e),t.prototype.push=function(t){e.prototype.push.call(this,t),t.__smartArrayFlags||(t.__smartArrayFlags={}),t.__smartArrayFlags[this._id]=this._duplicateId},t.prototype.pushNoDuplicate=function(e){return(!e.__smartArrayFlags||e.__smartArrayFlags[this._id]!==this._duplicateId)&&(this.push(e),!0)},t.prototype.reset=function(){e.prototype.reset.call(this),this._duplicateId++},t.prototype.concatWithNoDuplicate=function(e){if(0!==e.length){this.length+e.length>this.data.length&&(this.data.length=2*(this.length+e.length));for(var t=0;t0)if("object"==typeof s[0])for(var l=0;l>2,o=(3&t)<<4|(n=u>4,a=(15&n)<<2|(i=u>6,s=63&i,isNaN(n)?a=s=64:isNaN(i)&&(s=64),l+=c.charAt(r)+c.charAt(o)+c.charAt(a)+c.charAt(s);return l},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){this.rootNodes=new Array,this.cameras=new Array,this.lights=new Array,this.meshes=new Array,this.skeletons=new Array,this.particleSystems=new Array,this.animations=[],this.animationGroups=new Array,this.multiMaterials=new Array,this.materials=new Array,this.morphTargetManagers=new Array,this.geometries=new Array,this.transformNodes=new Array,this.actionManagers=new Array,this.textures=new Array,this.environmentTexture=null}return e.AddParser=function(e,t){this._BabylonFileParsers[e]=t},e.GetParser=function(e){return this._BabylonFileParsers[e]?this._BabylonFileParsers[e]:null},e.AddIndividualParser=function(e,t){this._IndividualBabylonFileParsers[e]=t},e.GetIndividualParser=function(e){return this._IndividualBabylonFileParsers[e]?this._IndividualBabylonFileParsers[e]:null},e.Parse=function(e,t,n,i){for(var r in this._BabylonFileParsers)this._BabylonFileParsers.hasOwnProperty(r)&&this._BabylonFileParsers[r](e,t,n,i)},e.prototype.getNodes=function(){var e=new Array;return e=(e=(e=(e=e.concat(this.meshes)).concat(this.lights)).concat(this.cameras)).concat(this.transformNodes),this.skeletons.forEach((function(t){return e=e.concat(t.bones)})),e},e._BabylonFileParsers={},e._IndividualBabylonFileParsers={},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var i=n(18),r=n(5),o=n(19),a=n(25),s=n(93),c=n(0),l=n(4),u=function(){function e(e,t){var n=this;void 0===t&&(t=!0),this.originalScene=e,this._pointerCaptures={},this._lastPointerEvents={},this._sharedGizmoLight=null,this._renderCamera=null,this.pickUtilitySceneFirst=!0,this.shouldRender=!0,this.onlyCheckPointerDownEvents=!0,this.processAllEvents=!1,this.onPointerOutObservable=new r.c,this.utilityLayerScene=new i.a(e.getEngine(),{virtual:!0}),this.utilityLayerScene.useRightHandedSystem=e.useRightHandedSystem,this.utilityLayerScene._allowPostProcessClearColor=!1,this.utilityLayerScene.detachControl(),t&&(this._originalPointerObserver=e.onPrePointerObservable.add((function(t,i){if(n.utilityLayerScene.activeCamera&&(n.processAllEvents||t.type===o.a.POINTERMOVE||t.type===o.a.POINTERUP||t.type===o.a.POINTERDOWN)){n.utilityLayerScene.pointerX=e.pointerX,n.utilityLayerScene.pointerY=e.pointerY;var r=t.event;if(e.isPointerCaptured(r.pointerId))n._pointerCaptures[r.pointerId]=!1;else{var a=t.ray?n.utilityLayerScene.pickWithRay(t.ray):n.utilityLayerScene.pick(e.pointerX,e.pointerY);if(!t.ray&&a&&(t.ray=a.ray),n.utilityLayerScene.onPrePointerObservable.notifyObservers(t),n.onlyCheckPointerDownEvents&&t.type!=o.a.POINTERDOWN)return t.skipOnPointerObservable||n.utilityLayerScene.onPointerObservable.notifyObservers(new o.b(t.type,t.event,a)),void(t.type===o.a.POINTERUP&&n._pointerCaptures[r.pointerId]&&(n._pointerCaptures[r.pointerId]=!1));if(n.utilityLayerScene.autoClearDepthAndStencil||n.pickUtilitySceneFirst)a&&a.hit&&(t.skipOnPointerObservable||n.utilityLayerScene.onPointerObservable.notifyObservers(new o.b(t.type,t.event,a)),t.skipOnPointerObservable=!0);else{var s=t.ray?e.pickWithRay(t.ray):e.pick(e.pointerX,e.pointerY),c=t.event;s&&a&&(0===a.distance&&s.pickedMesh?n.mainSceneTrackerPredicate&&n.mainSceneTrackerPredicate(s.pickedMesh)?(n._notifyObservers(t,s,c),t.skipOnPointerObservable=!0):t.type===o.a.POINTERDOWN?n._pointerCaptures[c.pointerId]=!0:n._lastPointerEvents[c.pointerId]&&(n.onPointerOutObservable.notifyObservers(c.pointerId),delete n._lastPointerEvents[c.pointerId]):!n._pointerCaptures[c.pointerId]&&(a.distance0)):!n._pointerCaptures[c.pointerId]&&a.distance>s.distance&&(n.mainSceneTrackerPredicate&&n.mainSceneTrackerPredicate(s.pickedMesh)?(n._notifyObservers(t,s,c),t.skipOnPointerObservable=!0):n._lastPointerEvents[c.pointerId]&&(n.onPointerOutObservable.notifyObservers(c.pointerId),delete n._lastPointerEvents[c.pointerId])),t.type===o.a.POINTERUP&&n._pointerCaptures[c.pointerId]&&(n._pointerCaptures[c.pointerId]=!1))}}}})),this._originalPointerObserver&&e.onPrePointerObservable.makeObserverTopPriority(this._originalPointerObserver)),this.utilityLayerScene.autoClear=!1,this._afterRenderObserver=this.originalScene.onAfterCameraRenderObservable.add((function(e){n.shouldRender&&e==n.getRenderCamera()&&n.render()})),this._sceneDisposeObserver=this.originalScene.onDisposeObservable.add((function(){n.dispose()})),this._updateCamera()}return e.prototype.getRenderCamera=function(e){if(this._renderCamera)return this._renderCamera;var t=void 0;return t=this.originalScene.activeCameras.length>1?this.originalScene.activeCameras[this.originalScene.activeCameras.length-1]:this.originalScene.activeCamera,e&&t&&t.isRigCamera?t.rigParent:t},e.prototype.setRenderCamera=function(e){this._renderCamera=e},e.prototype._getSharedGizmoLight=function(){return this._sharedGizmoLight||(this._sharedGizmoLight=new s.a("shared gizmo light",new c.e(0,1,0),this.utilityLayerScene),this._sharedGizmoLight.intensity=2,this._sharedGizmoLight.groundColor=l.a.Gray()),this._sharedGizmoLight},Object.defineProperty(e,"DefaultUtilityLayer",{get:function(){return null==e._DefaultUtilityLayer&&(e._DefaultUtilityLayer=new e(a.a.LastCreatedScene),e._DefaultUtilityLayer.originalScene.onDisposeObservable.addOnce((function(){e._DefaultUtilityLayer=null}))),e._DefaultUtilityLayer},enumerable:!0,configurable:!0}),Object.defineProperty(e,"DefaultKeepDepthUtilityLayer",{get:function(){return null==e._DefaultKeepDepthUtilityLayer&&(e._DefaultKeepDepthUtilityLayer=new e(a.a.LastCreatedScene),e._DefaultKeepDepthUtilityLayer.utilityLayerScene.autoClearDepthAndStencil=!1,e._DefaultKeepDepthUtilityLayer.originalScene.onDisposeObservable.addOnce((function(){e._DefaultKeepDepthUtilityLayer=null}))),e._DefaultKeepDepthUtilityLayer},enumerable:!0,configurable:!0}),e.prototype._notifyObservers=function(e,t,n){e.skipOnPointerObservable||(this.utilityLayerScene.onPointerObservable.notifyObservers(new o.b(e.type,e.event,t)),this._lastPointerEvents[n.pointerId]=!0)},e.prototype.render=function(){if(this._updateCamera(),this.utilityLayerScene.activeCamera){var e=this.utilityLayerScene.activeCamera.getScene(),t=this.utilityLayerScene.activeCamera;t._scene=this.utilityLayerScene,t.leftCamera&&(t.leftCamera._scene=this.utilityLayerScene),t.rightCamera&&(t.rightCamera._scene=this.utilityLayerScene),this.utilityLayerScene.render(!1),t._scene=e,t.leftCamera&&(t.leftCamera._scene=e),t.rightCamera&&(t.rightCamera._scene=e)}},e.prototype.dispose=function(){this.onPointerOutObservable.clear(),this._afterRenderObserver&&this.originalScene.onAfterCameraRenderObservable.remove(this._afterRenderObserver),this._sceneDisposeObserver&&this.originalScene.onDisposeObservable.remove(this._sceneDisposeObserver),this._originalPointerObserver&&this.originalScene.onPrePointerObservable.remove(this._originalPointerObserver),this.utilityLayerScene.dispose()},e.prototype._updateCamera=function(){this.utilityLayerScene.cameraToUseForPointers=this.getRenderCamera(),this.utilityLayerScene.activeCamera=this.getRenderCamera()},e._DefaultUtilityLayer=null,e._DefaultKeepDepthUtilityLayer=null,e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){}return e.IsWindowObjectExist=function(){return"undefined"!=typeof window},e.IsNavigatorAvailable=function(){return"undefined"!=typeof navigator},e.GetDOMTextContent=function(e){for(var t="",n=e.firstChild;n;)3===n.nodeType&&(t+=n.textContent),n=n.nextSibling;return t},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var i=n(1),r=n(2),o=n(0),a=n(4),s=n(33),c=n(123),l=n(13),u=function(e){function t(n,i){var r=e.call(this,n,i)||this;return r.diffuse=new a.a(1,1,1),r.specular=new a.a(1,1,1),r.falloffType=t.FALLOFF_DEFAULT,r.intensity=1,r._range=Number.MAX_VALUE,r._inverseSquaredRange=0,r._photometricScale=1,r._intensityMode=t.INTENSITYMODE_AUTOMATIC,r._radius=1e-5,r.renderPriority=0,r._shadowEnabled=!0,r._excludeWithLayerMask=0,r._includeOnlyWithLayerMask=0,r._lightmapMode=0,r._excludedMeshesIds=new Array,r._includedOnlyMeshesIds=new Array,r._isLight=!0,r.getScene().addLight(r),r._uniformBuffer=new c.a(r.getScene().getEngine()),r._buildUniformLayout(),r.includedOnlyMeshes=new Array,r.excludedMeshes=new Array,r._resyncMeshes(),r}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"range",{get:function(){return this._range},set:function(e){this._range=e,this._inverseSquaredRange=1/(this.range*this.range)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"intensityMode",{get:function(){return this._intensityMode},set:function(e){this._intensityMode=e,this._computePhotometricScale()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"radius",{get:function(){return this._radius},set:function(e){this._radius=e,this._computePhotometricScale()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"shadowEnabled",{get:function(){return this._shadowEnabled},set:function(e){this._shadowEnabled!==e&&(this._shadowEnabled=e,this._markMeshesAsLightDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"includedOnlyMeshes",{get:function(){return this._includedOnlyMeshes},set:function(e){this._includedOnlyMeshes=e,this._hookArrayForIncludedOnly(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"excludedMeshes",{get:function(){return this._excludedMeshes},set:function(e){this._excludedMeshes=e,this._hookArrayForExcluded(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"excludeWithLayerMask",{get:function(){return this._excludeWithLayerMask},set:function(e){this._excludeWithLayerMask=e,this._resyncMeshes()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"includeOnlyWithLayerMask",{get:function(){return this._includeOnlyWithLayerMask},set:function(e){this._includeOnlyWithLayerMask=e,this._resyncMeshes()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"lightmapMode",{get:function(){return this._lightmapMode},set:function(e){this._lightmapMode!==e&&(this._lightmapMode=e,this._markMeshesAsLightDirty())},enumerable:!0,configurable:!0}),t.prototype.transferTexturesToEffect=function(e,t){return this},t.prototype._bindLight=function(e,t,n,i,r){void 0===r&&(r=!1);var o=e.toString(),s=!1;if(!r||!this._uniformBuffer._alreadyBound){if(this._uniformBuffer.bindToEffect(n,"Light"+o),this._renderId!==t.getRenderId()||!this._uniformBuffer.useUbo){this._renderId=t.getRenderId();var c=this.getScaledIntensity();this.transferToEffect(n,o),this.diffuse.scaleToRef(c,a.c.Color3[0]),this._uniformBuffer.updateColor4("vLightDiffuse",a.c.Color3[0],this.range,o),i&&(this.specular.scaleToRef(c,a.c.Color3[1]),this._uniformBuffer.updateColor4("vLightSpecular",a.c.Color3[1],this.radius,o)),s=!0}if(this.transferTexturesToEffect(n,o),t.shadowsEnabled&&this.shadowEnabled){var l=this.getShadowGenerator();l&&(l.bindShadowLight(o,n),s=!0)}s&&this._uniformBuffer.update()}},t.prototype.getClassName=function(){return"Light"},t.prototype.toString=function(e){var t="Name: "+this.name;if(t+=", type: "+["Point","Directional","Spot","Hemispheric"][this.getTypeID()],this.animations)for(var n=0;n0&&-1===this.includedOnlyMeshes.indexOf(e))&&(!(this.excludedMeshes&&this.excludedMeshes.length>0&&-1!==this.excludedMeshes.indexOf(e))&&((0===this.includeOnlyWithLayerMask||0!=(this.includeOnlyWithLayerMask&e.layerMask))&&!(0!==this.excludeWithLayerMask&&this.excludeWithLayerMask&e.layerMask)))},t.CompareLightsPriority=function(e,t){return e.shadowEnabled!==t.shadowEnabled?(t.shadowEnabled?1:0)-(e.shadowEnabled?1:0):t.renderPriority-e.renderPriority},t.prototype.dispose=function(t,n){void 0===n&&(n=!1),this._shadowGenerator&&(this._shadowGenerator.dispose(),this._shadowGenerator=null),this.getScene().stopAnimation(this);for(var i=0,r=this.getScene().meshes;i0&&(e.excludedMeshesIds=[],this.excludedMeshes.forEach((function(t){e.excludedMeshesIds.push(t.id)}))),this.includedOnlyMeshes.length>0&&(e.includedOnlyMeshesIds=[],this.includedOnlyMeshes.forEach((function(t){e.includedOnlyMeshesIds.push(t.id)}))),r.a.AppendSerializedAnimations(this,e),e.ranges=this.serializeAnimationRanges(),e},t.GetConstructorFromName=function(e,t,n){var i=s.a.Construct("Light_Type_"+e,t,n);return i||null},t.Parse=function(e,n){var i=t.GetConstructorFromName(e.type,e.name,n);if(!i)return null;var o=r.a.Parse(i,e,n);if(e.excludedMeshesIds&&(o._excludedMeshesIds=e.excludedMeshesIds),e.includedOnlyMeshesIds&&(o._includedOnlyMeshesIds=e.includedOnlyMeshesIds),e.parentId&&(o._waitingParentId=e.parentId),void 0!==e.falloffType&&(o.falloffType=e.falloffType),void 0!==e.lightmapMode&&(o.lightmapMode=e.lightmapMode),e.animations){for(var a=0;ac.max||c.min>s.max)},p=function(){function e(e,t,n){this._isLocked=!1,this.boundingBox=new o.a(e,t,n),this.boundingSphere=new a.a(e,t,n)}return e.prototype.reConstruct=function(e,t,n){this.boundingBox.reConstruct(e,t,n),this.boundingSphere.reConstruct(e,t,n)},Object.defineProperty(e.prototype,"minimum",{get:function(){return this.boundingBox.minimum},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maximum",{get:function(){return this.boundingBox.maximum},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isLocked",{get:function(){return this._isLocked},set:function(e){this._isLocked=e},enumerable:!0,configurable:!0}),e.prototype.update=function(e){this._isLocked||(this.boundingBox._update(e),this.boundingSphere._update(e))},e.prototype.centerOn=function(t,n){var i=e.TmpVector3[0].copyFrom(t).subtractInPlace(n),r=e.TmpVector3[1].copyFrom(t).addInPlace(n);return this.boundingBox.reConstruct(i,r,this.boundingBox.getWorldMatrix()),this.boundingSphere.reConstruct(i,r,this.boundingBox.getWorldMatrix()),this},e.prototype.scale=function(e){return this.boundingBox.scale(e),this.boundingSphere.scale(e),this},e.prototype.isInFrustum=function(e,t){return void 0===t&&(t=0),!(2!==t&&3!==t||!this.boundingSphere.isCenterInFrustum(e))||!!this.boundingSphere.isInFrustum(e)&&(!(1!==t&&3!==t)||this.boundingBox.isInFrustum(e))},Object.defineProperty(e.prototype,"diagonalLength",{get:function(){var t=this.boundingBox;return t.maximumWorld.subtractToRef(t.minimumWorld,e.TmpVector3[0]).length()},enumerable:!0,configurable:!0}),e.prototype.isCompletelyInFrustum=function(e){return this.boundingBox.isCompletelyInFrustum(e)},e.prototype._checkCollision=function(e){return e._canDoCollision(this.boundingSphere.centerWorld,this.boundingSphere.radiusWorld,this.boundingBox.minimumWorld,this.boundingBox.maximumWorld)},e.prototype.intersectsPoint=function(e){return!!this.boundingSphere.centerWorld&&(!!this.boundingSphere.intersectsPoint(e)&&!!this.boundingBox.intersectsPoint(e))},e.prototype.intersects=function(e,t){if(!a.a.Intersects(this.boundingSphere,e.boundingSphere))return!1;if(!o.a.Intersects(this.boundingBox,e.boundingBox))return!1;if(!t)return!0;var n=this.boundingBox,i=e.boundingBox;return!!u(n.directions[0],n,i)&&(!!u(n.directions[1],n,i)&&(!!u(n.directions[2],n,i)&&(!!u(i.directions[0],n,i)&&(!!u(i.directions[1],n,i)&&(!!u(i.directions[2],n,i)&&(!!u(r.e.Cross(n.directions[0],i.directions[0]),n,i)&&(!!u(r.e.Cross(n.directions[0],i.directions[1]),n,i)&&(!!u(r.e.Cross(n.directions[0],i.directions[2]),n,i)&&(!!u(r.e.Cross(n.directions[1],i.directions[0]),n,i)&&(!!u(r.e.Cross(n.directions[1],i.directions[1]),n,i)&&(!!u(r.e.Cross(n.directions[1],i.directions[2]),n,i)&&(!!u(r.e.Cross(n.directions[2],i.directions[0]),n,i)&&(!!u(r.e.Cross(n.directions[2],i.directions[1]),n,i)&&!!u(r.e.Cross(n.directions[2],i.directions[2]),n,i))))))))))))))},e.TmpVector3=i.a.BuildArray(2,r.e.Zero),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(e,t,n,i,r,o){this.source=e,this.pointerX=t,this.pointerY=n,this.meshUnderPointer=i,this.sourceEvent=r,this.additionalData=o}return e.CreateNew=function(t,n,i){var r=t.getScene();return new e(t,r.pointerX,r.pointerY,r.meshUnderPointer||t,n,i)},e.CreateNewFromSprite=function(t,n,i,r){return new e(t,n.pointerX,n.pointerY,n.meshUnderPointer,i,r)},e.CreateNewFromScene=function(t,n){return new e(null,t.pointerX,t.pointerY,t.meshUnderPointer,n)},e.CreateNewFromPrimitive=function(t,n,i,r){return new e(t,n.x,n.y,null,i,r)},e}()},function(e,t,n){"use strict";n.d(t,"d",(function(){return u})),n.d(t,"e",(function(){return d})),n.d(t,"g",(function(){return C})),n.d(t,"h",(function(){return r.a})),n.d(t,"i",(function(){return s.a})),n.d(t,"k",(function(){return A})),n.d(t,"l",(function(){return v})),n.d(t,"m",(function(){return l.a})),n.d(t,"q",(function(){return b})),n.d(t,"p",(function(){return x})),n.d(t,"s",(function(){return T})),n.d(t,"v",(function(){return O})),n.d(t,"x",(function(){return M})),n.d(t,"G",(function(){return h.a})),n.d(t,"D",(function(){return w})),n.d(t,"f",(function(){return D})),n.d(t,"y",(function(){return L})),n.d(t,"F",(function(){return N})),n.d(t,"C",(function(){return F})),n.d(t,"B",(function(){return j})),n.d(t,"J",(function(){return c.b})),n.d(t,"I",(function(){return c.a})),n.d(t,"r",(function(){return U})),n.d(t,"M",(function(){return G})),n.d(t,"z",(function(){return a})),n.d(t,"j",(function(){return H})),n.d(t,"c",(function(){return R})),n.d(t,"E",(function(){return I})),n.d(t,"n",(function(){return W})),n.d(t,"A",(function(){return V})),n.d(t,"o",(function(){return z})),n.d(t,"O",(function(){return X})),n.d(t,"a",(function(){return Y.a})),n.d(t,"b",(function(){return K})),n.d(t,"L",(function(){return Z.b})),n.d(t,"t",(function(){return Z.a})),n.d(t,"u",(function(){return B.a})),n.d(t,"w",(function(){return P})),n.d(t,"H",(function(){return q.a})),n.d(t,"K",(function(){return m.a})),n.d(t,"N",(function(){return J}));var i=n(1),r=n(82),o=n(13),a=function(e){function t(t){var n=e.call(this,t)||this;return n.name=t,n._thickness=1,n._cornerRadius=0,n}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"thickness",{get:function(){return this._thickness},set:function(e){this._thickness!==e&&(this._thickness=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cornerRadius",{get:function(){return this._cornerRadius},set:function(e){e<0&&(e=0),this._cornerRadius!==e&&(this._cornerRadius=e,this._markAsDirty())},enumerable:!0,configurable:!0}),t.prototype._getTypeName=function(){return"Rectangle"},t.prototype._localDraw=function(e){e.save(),(this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowColor=this.shadowColor,e.shadowBlur=this.shadowBlur,e.shadowOffsetX=this.shadowOffsetX,e.shadowOffsetY=this.shadowOffsetY),this._background&&(e.fillStyle=this._background,this._cornerRadius?(this._drawRoundedRect(e,this._thickness/2),e.fill()):e.fillRect(this._currentMeasure.left,this._currentMeasure.top,this._currentMeasure.width,this._currentMeasure.height)),this._thickness&&((this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0),this.color&&(e.strokeStyle=this.color),e.lineWidth=this._thickness,this._cornerRadius?(this._drawRoundedRect(e,this._thickness/2),e.stroke()):e.strokeRect(this._currentMeasure.left+this._thickness/2,this._currentMeasure.top+this._thickness/2,this._currentMeasure.width-this._thickness,this._currentMeasure.height-this._thickness)),e.restore()},t.prototype._additionalProcessing=function(t,n){e.prototype._additionalProcessing.call(this,t,n),this._measureForChildren.width-=2*this._thickness,this._measureForChildren.height-=2*this._thickness,this._measureForChildren.left+=this._thickness,this._measureForChildren.top+=this._thickness},t.prototype._drawRoundedRect=function(e,t){void 0===t&&(t=0);var n=this._currentMeasure.left+t,i=this._currentMeasure.top+t,r=this._currentMeasure.width-2*t,o=this._currentMeasure.height-2*t,a=Math.min(o/2-2,Math.min(r/2-2,this._cornerRadius));e.beginPath(),e.moveTo(n+a,i),e.lineTo(n+r-a,i),e.quadraticCurveTo(n+r,i,n+r,i+a),e.lineTo(n+r,i+o-a),e.quadraticCurveTo(n+r,i+o,n+r-a,i+o),e.lineTo(n+a,i+o),e.quadraticCurveTo(n,i+o,n,i+o-a),e.lineTo(n,i+a),e.quadraticCurveTo(n,i,n+a,i),e.closePath()},t.prototype._clipForChildren=function(e){this._cornerRadius&&(this._drawRoundedRect(e,this._thickness),e.clip())},t}(r.a);o.a.RegisteredTypes["BABYLON.GUI.Rectangle"]=a;var s=n(22),c=n(74),l=n(117),u=function(e){function t(t){var n=e.call(this,t)||this;n.name=t,n.delegatePickingToChildren=!1,n.thickness=1,n.isPointerBlocker=!0;var i=null;return n.pointerEnterAnimation=function(){i=n.alpha,n.alpha-=.1},n.pointerOutAnimation=function(){null!==i&&(n.alpha=i)},n.pointerDownAnimation=function(){n.scaleX-=.05,n.scaleY-=.05},n.pointerUpAnimation=function(){n.scaleX+=.05,n.scaleY+=.05},n}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"image",{get:function(){return this._image},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"textBlock",{get:function(){return this._textBlock},enumerable:!0,configurable:!0}),t.prototype._getTypeName=function(){return"Button"},t.prototype._processPicking=function(t,n,i,r,o,a,s){if(!this._isEnabled||!this.isHitTestVisible||!this.isVisible||this.notRenderable)return!1;if(!e.prototype.contains.call(this,t,n))return!1;if(this.delegatePickingToChildren){for(var c=!1,l=this._children.length-1;l>=0;l--){var u=this._children[l];if(u.isEnabled&&u.isHitTestVisible&&u.isVisible&&!u.notRenderable&&u.contains(t,n)){c=!0;break}}if(!c)return!1}return this._processObservables(i,t,n,r,o,a,s),!0},t.prototype._onPointerEnter=function(t){return!!e.prototype._onPointerEnter.call(this,t)&&(this.pointerEnterAnimation&&this.pointerEnterAnimation(),!0)},t.prototype._onPointerOut=function(t,n){void 0===n&&(n=!1),this.pointerOutAnimation&&this.pointerOutAnimation(),e.prototype._onPointerOut.call(this,t,n)},t.prototype._onPointerDown=function(t,n,i,r){return!!e.prototype._onPointerDown.call(this,t,n,i,r)&&(this.pointerDownAnimation&&this.pointerDownAnimation(),!0)},t.prototype._onPointerUp=function(t,n,i,r,o){this.pointerUpAnimation&&this.pointerUpAnimation(),e.prototype._onPointerUp.call(this,t,n,i,r,o)},t.CreateImageButton=function(e,n,i){var r=new t(e),o=new c.a(e+"_button",n);o.textWrapping=!0,o.textHorizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_CENTER,o.paddingLeft="20%",r.addControl(o);var a=new l.a(e+"_icon",i);return a.width="20%",a.stretch=l.a.STRETCH_UNIFORM,a.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,r.addControl(a),r._image=a,r._textBlock=o,r},t.CreateImageOnlyButton=function(e,n){var i=new t(e),r=new l.a(e+"_icon",n);return r.stretch=l.a.STRETCH_FILL,r.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,i.addControl(r),i._image=r,i},t.CreateSimpleButton=function(e,n){var i=new t(e),r=new c.a(e+"_button",n);return r.textWrapping=!0,r.textHorizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_CENTER,i.addControl(r),i._textBlock=r,i},t.CreateImageWithCenterTextButton=function(e,n,i){var r=new t(e),o=new l.a(e+"_icon",i);o.stretch=l.a.STRETCH_FILL,r.addControl(o);var a=new c.a(e+"_button",n);return a.textWrapping=!0,a.textHorizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_CENTER,r.addControl(a),r._image=o,r._textBlock=a,r},t}(a);o.a.RegisteredTypes["BABYLON.GUI.Button"]=u;var p=n(5),h=n(94),d=function(e){function t(t){var n=e.call(this,t)||this;return n.name=t,n._isChecked=!1,n._background="black",n._checkSizeRatio=.8,n._thickness=1,n.onIsCheckedChangedObservable=new p.c,n.isPointerBlocker=!0,n}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"thickness",{get:function(){return this._thickness},set:function(e){this._thickness!==e&&(this._thickness=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"checkSizeRatio",{get:function(){return this._checkSizeRatio},set:function(e){e=Math.max(Math.min(1,e),0),this._checkSizeRatio!==e&&(this._checkSizeRatio=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"background",{get:function(){return this._background},set:function(e){this._background!==e&&(this._background=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isChecked",{get:function(){return this._isChecked},set:function(e){this._isChecked!==e&&(this._isChecked=e,this._markAsDirty(),this.onIsCheckedChangedObservable.notifyObservers(e))},enumerable:!0,configurable:!0}),t.prototype._getTypeName=function(){return"Checkbox"},t.prototype._draw=function(e,t){e.save(),this._applyStates(e);var n=this._currentMeasure.width-this._thickness,i=this._currentMeasure.height-this._thickness;if((this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowColor=this.shadowColor,e.shadowBlur=this.shadowBlur,e.shadowOffsetX=this.shadowOffsetX,e.shadowOffsetY=this.shadowOffsetY),e.fillStyle=this._isEnabled?this._background:this._disabledColor,e.fillRect(this._currentMeasure.left+this._thickness/2,this._currentMeasure.top+this._thickness/2,n,i),(this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0),this._isChecked){e.fillStyle=this._isEnabled?this.color:this._disabledColorItem;var r=n*this._checkSizeRatio,o=i*this._checkSizeRatio;e.fillRect(this._currentMeasure.left+this._thickness/2+(n-r)/2,this._currentMeasure.top+this._thickness/2+(i-o)/2,r,o)}e.strokeStyle=this.color,e.lineWidth=this._thickness,e.strokeRect(this._currentMeasure.left+this._thickness/2,this._currentMeasure.top+this._thickness/2,n,i),e.restore()},t.prototype._onPointerDown=function(t,n,i,r){return!!e.prototype._onPointerDown.call(this,t,n,i,r)&&(this.isChecked=!this.isChecked,!0)},t.AddCheckBoxWithHeader=function(e,n){var i=new h.a;i.isVertical=!1,i.height="30px";var r=new t;r.width="20px",r.height="20px",r.isChecked=!0,r.color="green",r.onIsCheckedChangedObservable.add(n),i.addControl(r);var o=new c.a;return o.text=e,o.width="180px",o.paddingLeft="5px",o.textHorizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,o.color="white",i.addControl(o),i},t}(s.a);o.a.RegisteredTypes["BABYLON.GUI.Checkbox"]=d;var f=n(111),_=n(19),m=n(34),b=function(e){function t(t,n){void 0===n&&(n="");var i=e.call(this,t)||this;return i.name=t,i._text="",i._placeholderText="",i._background="#222222",i._focusedBackground="#000000",i._focusedColor="white",i._placeholderColor="gray",i._thickness=1,i._margin=new m.a(10,m.a.UNITMODE_PIXEL),i._autoStretchWidth=!0,i._maxWidth=new m.a(1,m.a.UNITMODE_PERCENTAGE,!1),i._isFocused=!1,i._blinkIsEven=!1,i._cursorOffset=0,i._deadKey=!1,i._addKey=!0,i._currentKey="",i._isTextHighlightOn=!1,i._textHighlightColor="#d5e0ff",i._highligherOpacity=.4,i._highlightedText="",i._startHighlightIndex=0,i._endHighlightIndex=0,i._cursorIndex=-1,i._onFocusSelectAll=!1,i._isPointerDown=!1,i.promptMessage="Please enter text:",i.disableMobilePrompt=!1,i.onTextChangedObservable=new p.c,i.onBeforeKeyAddObservable=new p.c,i.onFocusObservable=new p.c,i.onBlurObservable=new p.c,i.onTextHighlightObservable=new p.c,i.onTextCopyObservable=new p.c,i.onTextCutObservable=new p.c,i.onTextPasteObservable=new p.c,i.onKeyboardEventProcessedObservable=new p.c,i.text=n,i.isPointerBlocker=!0,i}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"maxWidth",{get:function(){return this._maxWidth.toString(this._host)},set:function(e){this._maxWidth.toString(this._host)!==e&&this._maxWidth.fromString(e)&&this._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxWidthInPixels",{get:function(){return this._maxWidth.getValueInPixel(this._host,this._cachedParentMeasure.width)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"highligherOpacity",{get:function(){return this._highligherOpacity},set:function(e){this._highligherOpacity!==e&&(this._highligherOpacity=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onFocusSelectAll",{get:function(){return this._onFocusSelectAll},set:function(e){this._onFocusSelectAll!==e&&(this._onFocusSelectAll=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"textHighlightColor",{get:function(){return this._textHighlightColor},set:function(e){this._textHighlightColor!==e&&(this._textHighlightColor=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"margin",{get:function(){return this._margin.toString(this._host)},set:function(e){this._margin.toString(this._host)!==e&&this._margin.fromString(e)&&this._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"marginInPixels",{get:function(){return this._margin.getValueInPixel(this._host,this._cachedParentMeasure.width)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"autoStretchWidth",{get:function(){return this._autoStretchWidth},set:function(e){this._autoStretchWidth!==e&&(this._autoStretchWidth=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"thickness",{get:function(){return this._thickness},set:function(e){this._thickness!==e&&(this._thickness=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"focusedBackground",{get:function(){return this._focusedBackground},set:function(e){this._focusedBackground!==e&&(this._focusedBackground=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"focusedColor",{get:function(){return this._focusedColor},set:function(e){this._focusedColor!==e&&(this._focusedColor=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"background",{get:function(){return this._background},set:function(e){this._background!==e&&(this._background=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"placeholderColor",{get:function(){return this._placeholderColor},set:function(e){this._placeholderColor!==e&&(this._placeholderColor=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"placeholderText",{get:function(){return this._placeholderText},set:function(e){this._placeholderText!==e&&(this._placeholderText=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"deadKey",{get:function(){return this._deadKey},set:function(e){this._deadKey=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"highlightedText",{get:function(){return this._highlightedText},set:function(e){this._highlightedText!==e&&(this._highlightedText=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"addKey",{get:function(){return this._addKey},set:function(e){this._addKey=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"currentKey",{get:function(){return this._currentKey},set:function(e){this._currentKey=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"text",{get:function(){return this._text},set:function(e){var t=e.toString();this._text!==t&&(this._text=t,this._markAsDirty(),this.onTextChangedObservable.notifyObservers(this))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this._width.toString(this._host)},set:function(e){this._width.toString(this._host)!==e&&(this._width.fromString(e)&&this._markAsDirty(),this.autoStretchWidth=!1)},enumerable:!0,configurable:!0}),t.prototype.onBlur=function(){this._isFocused=!1,this._scrollLeft=null,this._cursorOffset=0,clearTimeout(this._blinkTimeout),this._markAsDirty(),this.onBlurObservable.notifyObservers(this),this._host.unRegisterClipboardEvents(),this._onClipboardObserver&&this._host.onClipboardObservable.remove(this._onClipboardObserver);var e=this._host.getScene();this._onPointerDblTapObserver&&e&&e.onPointerObservable.remove(this._onPointerDblTapObserver)},t.prototype.onFocus=function(){var e=this;if(this._isEnabled){if(this._scrollLeft=null,this._isFocused=!0,this._blinkIsEven=!1,this._cursorOffset=0,this._markAsDirty(),this.onFocusObservable.notifyObservers(this),-1!==navigator.userAgent.indexOf("Mobile")&&!this.disableMobilePrompt){var t=prompt(this.promptMessage);return null!==t&&(this.text=t),void(this._host.focusedControl=null)}this._host.registerClipboardEvents(),this._onClipboardObserver=this._host.onClipboardObservable.add((function(t){switch(t.type){case f.a.COPY:e._onCopyText(t.event),e.onTextCopyObservable.notifyObservers(e);break;case f.a.CUT:e._onCutText(t.event),e.onTextCutObservable.notifyObservers(e);break;case f.a.PASTE:e._onPasteText(t.event),e.onTextPasteObservable.notifyObservers(e);break;default:return}}));var n=this._host.getScene();n&&(this._onPointerDblTapObserver=n.onPointerObservable.add((function(t){e._isFocused&&t.type===_.a.POINTERDOUBLETAP&&e._processDblClick(t)}))),this._onFocusSelectAll&&this._selectAllText()}},t.prototype._getTypeName=function(){return"InputText"},t.prototype.keepsFocusWith=function(){return this._connectedVirtualKeyboard?[this._connectedVirtualKeyboard]:null},t.prototype.processKey=function(e,t,n){if(!n||!n.ctrlKey&&!n.metaKey||67!==e&&86!==e&&88!==e){if(n&&(n.ctrlKey||n.metaKey)&&65===e)return this._selectAllText(),void n.preventDefault();switch(e){case 32:t=" ";break;case 191:n&&n.preventDefault();break;case 8:if(this._text&&this._text.length>0){if(this._isTextHighlightOn)return this.text=this._text.slice(0,this._startHighlightIndex)+this._text.slice(this._endHighlightIndex),this._isTextHighlightOn=!1,this._cursorOffset=this.text.length-this._startHighlightIndex,this._blinkIsEven=!1,void(n&&n.preventDefault());if(0===this._cursorOffset)this.text=this._text.substr(0,this._text.length-1);else(r=this._text.length-this._cursorOffset)>0&&(this.text=this._text.slice(0,r-1)+this._text.slice(r))}return void(n&&n.preventDefault());case 46:if(this._isTextHighlightOn){this.text=this._text.slice(0,this._startHighlightIndex)+this._text.slice(this._endHighlightIndex);for(var i=this._endHighlightIndex-this._startHighlightIndex;i>0&&this._cursorOffset>0;)this._cursorOffset--;return this._isTextHighlightOn=!1,this._cursorOffset=this.text.length-this._startHighlightIndex,void(n&&n.preventDefault())}if(this._text&&this._text.length>0&&this._cursorOffset>0){var r=this._text.length-this._cursorOffset;this.text=this._text.slice(0,r)+this._text.slice(r+1),this._cursorOffset--}return void(n&&n.preventDefault());case 13:return this._host.focusedControl=null,void(this._isTextHighlightOn=!1);case 35:return this._cursorOffset=0,this._blinkIsEven=!1,this._isTextHighlightOn=!1,void this._markAsDirty();case 36:return this._cursorOffset=this._text.length,this._blinkIsEven=!1,this._isTextHighlightOn=!1,void this._markAsDirty();case 37:if(this._cursorOffset++,this._cursorOffset>this._text.length&&(this._cursorOffset=this._text.length),n&&n.shiftKey){if(this._blinkIsEven=!1,n.ctrlKey||n.metaKey){if(!this._isTextHighlightOn){if(this._text.length===this._cursorOffset)return;this._endHighlightIndex=this._text.length-this._cursorOffset+1}return this._startHighlightIndex=0,this._cursorIndex=this._text.length-this._endHighlightIndex,this._cursorOffset=this._text.length,this._isTextHighlightOn=!0,void this._markAsDirty()}return this._isTextHighlightOn?-1===this._cursorIndex&&(this._cursorIndex=this._text.length-this._endHighlightIndex,this._cursorOffset=0===this._startHighlightIndex?this._text.length:this._text.length-this._startHighlightIndex+1):(this._isTextHighlightOn=!0,this._cursorIndex=this._cursorOffset>=this._text.length?this._text.length:this._cursorOffset-1),this._cursorIndexthis._cursorOffset?(this._endHighlightIndex=this._text.length-this._cursorOffset,this._startHighlightIndex=this._text.length-this._cursorIndex):this._isTextHighlightOn=!1,void this._markAsDirty()}return this._isTextHighlightOn&&(this._cursorOffset=this._text.length-this._startHighlightIndex,this._isTextHighlightOn=!1),n&&(n.ctrlKey||n.metaKey)&&(this._cursorOffset=this.text.length,n.preventDefault()),this._blinkIsEven=!1,this._isTextHighlightOn=!1,this._cursorIndex=-1,void this._markAsDirty();case 39:if(this._cursorOffset--,this._cursorOffset<0&&(this._cursorOffset=0),n&&n.shiftKey){if(this._blinkIsEven=!1,n.ctrlKey||n.metaKey){if(!this._isTextHighlightOn){if(0===this._cursorOffset)return;this._startHighlightIndex=this._text.length-this._cursorOffset-1}return this._endHighlightIndex=this._text.length,this._isTextHighlightOn=!0,this._cursorIndex=this._text.length-this._startHighlightIndex,this._cursorOffset=0,void this._markAsDirty()}return this._isTextHighlightOn?-1===this._cursorIndex&&(this._cursorIndex=this._text.length-this._startHighlightIndex,this._cursorOffset=this._text.length===this._endHighlightIndex?0:this._text.length-this._endHighlightIndex-1):(this._isTextHighlightOn=!0,this._cursorIndex=this._cursorOffset<=0?0:this._cursorOffset+1),this._cursorIndexthis._cursorOffset?(this._endHighlightIndex=this._text.length-this._cursorOffset,this._startHighlightIndex=this._text.length-this._cursorIndex):this._isTextHighlightOn=!1,void this._markAsDirty()}return this._isTextHighlightOn&&(this._cursorOffset=this._text.length-this._endHighlightIndex,this._isTextHighlightOn=!1),n&&(n.ctrlKey||n.metaKey)&&(this._cursorOffset=0,n.preventDefault()),this._blinkIsEven=!1,this._isTextHighlightOn=!1,this._cursorIndex=-1,void this._markAsDirty();case 222:n&&n.preventDefault(),this._cursorIndex=-1,this.deadKey=!0}if(t&&(-1===e||32===e||e>47&&e<64||e>64&&e<91||e>159&&e<193||e>218&&e<223||e>95&&e<112)&&(this._currentKey=t,this.onBeforeKeyAddObservable.notifyObservers(this),t=this._currentKey,this._addKey))if(this._isTextHighlightOn)this.text=this._text.slice(0,this._startHighlightIndex)+t+this._text.slice(this._endHighlightIndex),this._cursorOffset=this.text.length-(this._startHighlightIndex+1),this._isTextHighlightOn=!1,this._blinkIsEven=!1,this._markAsDirty();else if(0===this._cursorOffset)this.text+=t;else{var o=this._text.length-this._cursorOffset;this.text=this._text.slice(0,o)+t+this._text.slice(o)}}},t.prototype._updateValueFromCursorIndex=function(e){if(this._blinkIsEven=!1,-1===this._cursorIndex)this._cursorIndex=e;else if(this._cursorIndexthis._cursorOffset))return this._isTextHighlightOn=!1,void this._markAsDirty();this._endHighlightIndex=this._text.length-this._cursorOffset,this._startHighlightIndex=this._text.length-this._cursorIndex}this._isTextHighlightOn=!0,this._markAsDirty()},t.prototype._processDblClick=function(e){this._startHighlightIndex=this._text.length-this._cursorOffset,this._endHighlightIndex=this._startHighlightIndex;var t,n,i=/\w+/g;do{n=this._endHighlightIndex0&&-1!==this._text[this._startHighlightIndex-1].search(i)?--this._startHighlightIndex:0}while(t||n);this._cursorOffset=this.text.length-this._startHighlightIndex,this.onTextHighlightObservable.notifyObservers(this),this._isTextHighlightOn=!0,this._clickedCoordinate=null,this._blinkIsEven=!0,this._cursorIndex=-1,this._markAsDirty()},t.prototype._selectAllText=function(){this._blinkIsEven=!0,this._isTextHighlightOn=!0,this._startHighlightIndex=0,this._endHighlightIndex=this._text.length,this._cursorOffset=this._text.length,this._cursorIndex=-1,this._markAsDirty()},t.prototype.processKeyboard=function(e){this.processKey(e.keyCode,e.key,e),this.onKeyboardEventProcessedObservable.notifyObservers(e)},t.prototype._onCopyText=function(e){this._isTextHighlightOn=!1;try{e.clipboardData&&e.clipboardData.setData("text/plain",this._highlightedText)}catch(e){}this._host.clipboardData=this._highlightedText},t.prototype._onCutText=function(e){if(this._highlightedText){this.text=this._text.slice(0,this._startHighlightIndex)+this._text.slice(this._endHighlightIndex),this._isTextHighlightOn=!1,this._cursorOffset=this.text.length-this._startHighlightIndex;try{e.clipboardData&&e.clipboardData.setData("text/plain",this._highlightedText)}catch(e){}this._host.clipboardData=this._highlightedText,this._highlightedText=""}},t.prototype._onPasteText=function(e){var t="";t=e.clipboardData&&-1!==e.clipboardData.types.indexOf("text/plain")?e.clipboardData.getData("text/plain"):this._host.clipboardData;var n=this._text.length-this._cursorOffset;this.text=this._text.slice(0,n)+t+this._text.slice(n)},t.prototype._draw=function(e,t){var n=this;e.save(),this._applyStates(e),(this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowColor=this.shadowColor,e.shadowBlur=this.shadowBlur,e.shadowOffsetX=this.shadowOffsetX,e.shadowOffsetY=this.shadowOffsetY),this._isFocused?this._focusedBackground&&(e.fillStyle=this._isEnabled?this._focusedBackground:this._disabledColor,e.fillRect(this._currentMeasure.left,this._currentMeasure.top,this._currentMeasure.width,this._currentMeasure.height)):this._background&&(e.fillStyle=this._isEnabled?this._background:this._disabledColor,e.fillRect(this._currentMeasure.left,this._currentMeasure.top,this._currentMeasure.width,this._currentMeasure.height)),(this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0),this._fontOffset||(this._fontOffset=s.a._GetFontOffset(e.font));var i=this._currentMeasure.left+this._margin.getValueInPixel(this._host,this._tempParentMeasure.width);this.color&&(e.fillStyle=this.color);var r=this._beforeRenderText(this._text);this._isFocused||this._text||!this._placeholderText||(r=this._placeholderText,this._placeholderColor&&(e.fillStyle=this._placeholderColor)),this._textWidth=e.measureText(r).width;var o=2*this._margin.getValueInPixel(this._host,this._tempParentMeasure.width);this._autoStretchWidth&&(this.width=Math.min(this._maxWidth.getValueInPixel(this._host,this._tempParentMeasure.width),this._textWidth+o)+"px");var a=this._fontOffset.ascent+(this._currentMeasure.height-this._fontOffset.height)/2,c=this._width.getValueInPixel(this._host,this._tempParentMeasure.width)-o;if(e.save(),e.beginPath(),e.rect(i,this._currentMeasure.top+(this._currentMeasure.height-this._fontOffset.height)/2,c+2,this._currentMeasure.height),e.clip(),this._isFocused&&this._textWidth>c){var l=i-this._textWidth+c;this._scrollLeft||(this._scrollLeft=l)}else this._scrollLeft=i;if(e.fillText(r,this._scrollLeft,this._currentMeasure.top+a),this._isFocused){if(this._clickedCoordinate){var u=this._scrollLeft+this._textWidth-this._clickedCoordinate,p=0;this._cursorOffset=0;var h=0;do{this._cursorOffset&&(h=Math.abs(u-p)),this._cursorOffset++,p=e.measureText(r.substr(r.length-this._cursorOffset,this._cursorOffset)).width}while(p=this._cursorOffset);Math.abs(u-p)>h&&this._cursorOffset--,this._blinkIsEven=!1,this._clickedCoordinate=null}if(!this._blinkIsEven){var d=this.text.substr(this._text.length-this._cursorOffset),f=e.measureText(d).width,_=this._scrollLeft+this._textWidth-f;_i+c&&(this._scrollLeft+=i+c-_,_=i+c,this._markAsDirty()),this._isTextHighlightOn||e.fillRect(_,this._currentMeasure.top+(this._currentMeasure.height-this._fontOffset.height)/2,2,this._fontOffset.height)}if(clearTimeout(this._blinkTimeout),this._blinkTimeout=setTimeout((function(){n._blinkIsEven=!n._blinkIsEven,n._markAsDirty()}),500),this._isTextHighlightOn){clearTimeout(this._blinkTimeout);var m=e.measureText(this.text.substring(this._startHighlightIndex)).width,b=this._scrollLeft+this._textWidth-m;this._highlightedText=this.text.substring(this._startHighlightIndex,this._endHighlightIndex);var g=e.measureText(this.text.substring(this._startHighlightIndex,this._endHighlightIndex)).width;b=this._rowDefinitions.length?null:this._rowDefinitions[e]},t.prototype.getColumnDefinition=function(e){return e<0||e>=this._columnDefinitions.length?null:this._columnDefinitions[e]},t.prototype.addRowDefinition=function(e,t){return void 0===t&&(t=!1),this._rowDefinitions.push(new m.a(e,t?m.a.UNITMODE_PIXEL:m.a.UNITMODE_PERCENTAGE)),this._markAsDirty(),this},t.prototype.addColumnDefinition=function(e,t){return void 0===t&&(t=!1),this._columnDefinitions.push(new m.a(e,t?m.a.UNITMODE_PIXEL:m.a.UNITMODE_PERCENTAGE)),this._markAsDirty(),this},t.prototype.setRowDefinition=function(e,t,n){if(void 0===n&&(n=!1),e<0||e>=this._rowDefinitions.length)return this;var i=this._rowDefinitions[e];return i&&i.isPixel===n&&i.internalValue===t||(this._rowDefinitions[e]=new m.a(t,n?m.a.UNITMODE_PIXEL:m.a.UNITMODE_PERCENTAGE),this._markAsDirty()),this},t.prototype.setColumnDefinition=function(e,t,n){if(void 0===n&&(n=!1),e<0||e>=this._columnDefinitions.length)return this;var i=this._columnDefinitions[e];return i&&i.isPixel===n&&i.internalValue===t||(this._columnDefinitions[e]=new m.a(t,n?m.a.UNITMODE_PIXEL:m.a.UNITMODE_PERCENTAGE),this._markAsDirty()),this},t.prototype.getChildrenAt=function(e,t){var n=this._cells[e+":"+t];return n?n.children:null},t.prototype.getChildCellInfo=function(e){return e._tag},t.prototype._removeCell=function(t,n){if(t){e.prototype.removeControl.call(this,t);for(var i=0,r=t.children;i=this._columnDefinitions.length)return this;for(var t=0;t=this._rowDefinitions.length)return this;for(var t=0;t=1-t._Epsilon&&(this._value.r=1),this._value.g>=1-t._Epsilon&&(this._value.g=1),this._value.b>=1-t._Epsilon&&(this._value.b=1),this.onValueChangedObservable.notifyObservers(this._value))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this._width.toString(this._host)},set:function(e){this._width.toString(this._host)!==e&&this._width.fromString(e)&&(this._height.fromString(e),this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height.toString(this._host)},set:function(e){this._height.toString(this._host)!==e&&this._height.fromString(e)&&(this._width.fromString(e),this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){return this.width},set:function(e){this.width=e},enumerable:!0,configurable:!0}),t.prototype._getTypeName=function(){return"ColorPicker"},t.prototype._preMeasure=function(e,t){e.widths||h150?.04:-.16*(e-50)/100+.2;var b=(d-c)/(e-c);o[_+3]=b1-m?255*(1-(b-(1-m))/m):255}}return i.putImageData(r,0,0),n},t.prototype._draw=function(e){e.save(),this._applyStates(e);var t=.5*Math.min(this._currentMeasure.width,this._currentMeasure.height),n=.2*t,i=this._currentMeasure.left,r=this._currentMeasure.top;this._colorWheelCanvas&&this._colorWheelCanvas.width==2*t||(this._colorWheelCanvas=this._createColorWheelCanvas(t,n)),this._updateSquareProps(),(this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowColor=this.shadowColor,e.shadowBlur=this.shadowBlur,e.shadowOffsetX=this.shadowOffsetX,e.shadowOffsetY=this.shadowOffsetY,e.fillRect(this._squareLeft,this._squareTop,this._squareSize,this._squareSize)),e.drawImage(this._colorWheelCanvas,i,r),(this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0),this._drawGradientSquare(this._h,this._squareLeft,this._squareTop,this._squareSize,this._squareSize,e);var o=this._squareLeft+this._squareSize*this._s,a=this._squareTop+this._squareSize*(1-this._v);this._drawCircle(o,a,.04*t,e);var s=t-.5*n;o=i+t+Math.cos((this._h-180)*Math.PI/180)*s,a=r+t+Math.sin((this._h-180)*Math.PI/180)*s,this._drawCircle(o,a,.35*n,e),e.restore()},t.prototype._updateValueFromPointer=function(e,n){if(this._pointerStartedOnWheel){var i=.5*Math.min(this._currentMeasure.width,this._currentMeasure.height),r=i+this._currentMeasure.left,o=i+this._currentMeasure.top;this._h=180*Math.atan2(n-o,e-r)/Math.PI+180}else this._pointerStartedOnSquare&&(this._updateSquareProps(),this._s=(e-this._squareLeft)/this._squareSize,this._v=1-(n-this._squareTop)/this._squareSize,this._s=Math.min(this._s,1),this._s=Math.max(this._s,t._Epsilon),this._v=Math.min(this._v,1),this._v=Math.max(this._v,t._Epsilon));y.a.HSVtoRGBToRef(this._h,this._s,this._v,this._tmpColor),this.value=this._tmpColor},t.prototype._isPointOnSquare=function(e,t){this._updateSquareProps();var n=this._squareLeft,i=this._squareTop,r=this._squareSize;return e>=n&&e<=n+r&&t>=i&&t<=i+r},t.prototype._isPointOnWheel=function(e,t){var n=.5*Math.min(this._currentMeasure.width,this._currentMeasure.height),i=n-.2*n,r=e-(n+this._currentMeasure.left),o=t-(n+this._currentMeasure.top),a=r*r+o*o;return a<=n*n&&a>=i*i},t.prototype._onPointerDown=function(t,n,i,r){if(!e.prototype._onPointerDown.call(this,t,n,i,r))return!1;this._pointerIsDown=!0,this._pointerStartedOnSquare=!1,this._pointerStartedOnWheel=!1,this._invertTransformMatrix.transformCoordinates(n.x,n.y,this._transformedPosition);var o=this._transformedPosition.x,a=this._transformedPosition.y;return this._isPointOnSquare(o,a)?this._pointerStartedOnSquare=!0:this._isPointOnWheel(o,a)&&(this._pointerStartedOnWheel=!0),this._updateValueFromPointer(o,a),this._host._capturingControl[i]=this,this._lastPointerDownID=i,!0},t.prototype._onPointerMove=function(t,n,i){if(i==this._lastPointerDownID){this._invertTransformMatrix.transformCoordinates(n.x,n.y,this._transformedPosition);var r=this._transformedPosition.x,o=this._transformedPosition.y;this._pointerIsDown&&this._updateValueFromPointer(r,o),e.prototype._onPointerMove.call(this,t,n,i)}},t.prototype._onPointerUp=function(t,n,i,r,o){this._pointerIsDown=!1,delete this._host._capturingControl[i],e.prototype._onPointerUp.call(this,t,n,i,r,o)},t.ShowPickerDialogAsync=function(e,n){return new Promise((function(i,r){n.pickerWidth=n.pickerWidth||"640px",n.pickerHeight=n.pickerHeight||"400px",n.headerHeight=n.headerHeight||"35px",n.lastColor=n.lastColor||"#000000",n.swatchLimit=n.swatchLimit||20,n.numSwatchesPerLine=n.numSwatchesPerLine||10;var o,l,p,h,d,f,_,m,g,C,A,x,S,T,E,P,O,M,R,I=n.swatchLimit/n.numSwatchesPerLine,w=parseFloat(n.pickerWidth)/n.numSwatchesPerLine,D=Math.floor(.25*w),L=D*(n.numSwatchesPerLine+1),N=Math.floor((parseFloat(n.pickerWidth)-L)/n.numSwatchesPerLine),F=N*I+D*(I+1),B=(parseInt(n.pickerHeight)+F+Math.floor(.25*N)).toString()+"px",k="#c0c0c0",V="#535353",z="#414141",j="515151",U=y.a.FromHexString("#dddddd"),G=U.r+U.g+U.b,H=["R","G","B"],W="#454545",X="#f0f0f0",Y=!1;function Q(e,t){R=t;var n=e.toHexString();if(O.background=n,C.name!=R&&(C.text=Math.floor(255*e.r).toString()),A.name!=R&&(A.text=Math.floor(255*e.g).toString()),x.name!=R&&(x.text=Math.floor(255*e.b).toString()),S.name!=R&&(S.text=e.r.toString()),T.name!=R&&(T.text=e.g.toString()),E.name!=R&&(E.text=e.b.toString()),P.name!=R){var i=n.split("#");P.text=i[1]}g.name!=R&&(g.value=e)}function K(e,t){var n=e.text;if(/[^0-9]/g.test(n))e.text=M;else if(""!=n&&(Math.floor(parseInt(n))<0?n="0":Math.floor(parseInt(n))>255?n="255":isNaN(parseInt(n))&&(n="0")),R==e.name&&(M=n),""!=n){n=parseInt(n).toString(),e.text=n;var i=y.a.FromHexString(O.background);R==e.name&&Q("r"==t?new y.a(parseInt(n)/255,i.g,i.b):"g"==t?new y.a(i.r,parseInt(n)/255,i.b):new y.a(i.r,i.g,parseInt(n)/255),e.name)}}function Z(e,t){var n=e.text;if(/[^0-9\.]/g.test(n))e.text=M;else{""!=n&&"."!=n&&0!=parseFloat(n)&&(parseFloat(n)<0?n="0.0":parseFloat(n)>1?n="1.0":isNaN(parseFloat(n))&&(n="0.0")),R==e.name&&(M=n),""!=n&&"."!=n&&0!=parseFloat(n)?(n=parseFloat(n).toString(),e.text=n):n="0.0";var i=y.a.FromHexString(O.background);R==e.name&&Q("r"==t?new y.a(parseFloat(n),i.g,i.b):"g"==t?new y.a(i.r,parseFloat(n),i.b):new y.a(i.r,i.g,parseFloat(n)),e.name)}}function q(){if(n.savedColors&&n.savedColors[_]){if(Y)var e="b";else e="";var t=u.CreateSimpleButton("Swatch_"+_,e);t.fontFamily="BabylonJSglyphs";var i=y.a.FromHexString(n.savedColors[_]),r=i.r+i.g+i.b;t.color=r>G?"#aaaaaa":"#ffffff",t.fontSize=Math.floor(.7*N),t.textBlock.verticalAlignment=s.a.VERTICAL_ALIGNMENT_CENTER,t.height=t.width=N.toString()+"px",t.background=n.savedColors[_],t.thickness=2;var o=_;return t.pointerDownAnimation=function(){t.thickness=4},t.pointerUpAnimation=function(){t.thickness=3},t.pointerEnterAnimation=function(){t.thickness=3},t.pointerOutAnimation=function(){t.thickness=2},t.onPointerClickObservable.add((function(){var e;Y?(e=o,n.savedColors&&n.savedColors.splice(e,1),n.savedColors&&0==n.savedColors.length&&(ee(!1),Y=!1),$("",Ne)):n.savedColors&&Q(y.a.FromHexString(n.savedColors[o]),t.name)})),t}return null}function J(e){if(void 0!==e&&(Y=e),Y){for(var t=0;tc*n.numSwatchesPerLine)var l=n.numSwatchesPerLine;else l=n.savedColors.length-(c-1)*n.numSwatchesPerLine;for(var u=Math.min(Math.max(l,0),n.numSwatchesPerLine),p=0,h=1;pn.numSwatchesPerLine)){var d=q();null!=d&&(m.addControl(d,s,h),h+=2,_++)}}n.savedColors.length>=n.swatchLimit?te(t,!0):te(t,!1)}}function ee(e){e?((p=u.CreateSimpleButton("butEdit","Edit")).width=h,p.height=d,p.left=Math.floor(.1*parseInt(h)).toString()+"px",p.top=(-1*parseFloat(p.left)).toString()+"px",p.verticalAlignment=s.a.VERTICAL_ALIGNMENT_BOTTOM,p.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,p.thickness=2,p.color=k,p.fontSize=l,p.background=V,p.onPointerEnterObservable.add((function(){p.background=z})),p.onPointerOutObservable.add((function(){p.background=V})),p.pointerDownAnimation=function(){p.background=j},p.pointerUpAnimation=function(){p.background=z},p.onPointerClickObservable.add((function(){Y=!Y,J()})),me.addControl(p,1,0)):me.removeControl(p)}function te(e,t){t?(e.color="#555555",e.background="#454545"):(e.color=k,e.background=V)}function ne(t){n.savedColors&&n.savedColors.length>0?i({savedColors:n.savedColors,pickedColor:t}):i({pickedColor:t}),e.removeControl(ie)}var ie=new v;if(ie.name="Dialog Container",ie.width=n.pickerWidth,n.savedColors){ie.height=B;var re=parseInt(n.pickerHeight)/parseInt(B);ie.addRowDefinition(re,!1),ie.addRowDefinition(1-re,!1)}else ie.height=n.pickerHeight,ie.addRowDefinition(1,!1);if(e.addControl(ie),n.savedColors){(m=new v).name="Swatch Drawer",m.verticalAlignment=s.a.VERTICAL_ALIGNMENT_TOP,m.background=V,m.width=n.pickerWidth;var oe=n.savedColors.length/n.numSwatchesPerLine;if(0==oe)var ae=0;else ae=oe+1;m.height=(N*oe+ae*D).toString()+"px",m.top=Math.floor(.25*N).toString()+"px";for(var se=0;se<2*Math.ceil(n.savedColors.length/n.numSwatchesPerLine)+1;se++)se%2!=0?m.addRowDefinition(N,!0):m.addRowDefinition(D,!0);for(se=0;se<2*n.numSwatchesPerLine+1;se++)se%2!=0?m.addColumnDefinition(N,!0):m.addColumnDefinition(D,!0);ie.addControl(m,1,0)}var ce=new v;ce.name="Picker Panel",ce.height=n.pickerHeight;var le=parseInt(n.headerHeight)/parseInt(n.pickerHeight),ue=[le,1-le];ce.addRowDefinition(ue[0],!1),ce.addRowDefinition(ue[1],!1),ie.addControl(ce,0,0);var pe=new a;pe.name="Dialogue Header Bar",pe.background="#cccccc",pe.thickness=0,ce.addControl(pe,0,0);var he=u.CreateSimpleButton("closeButton","a");he.fontFamily="BabylonJSglyphs";var de=y.a.FromHexString(pe.background);o=new y.a(1-de.r,1-de.g,1-de.b),he.color=o.toHexString(),he.fontSize=Math.floor(.6*parseInt(n.headerHeight)),he.textBlock.textVerticalAlignment=s.a.VERTICAL_ALIGNMENT_CENTER,he.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_RIGHT,he.height=he.width=n.headerHeight,he.background=pe.background,he.thickness=0,he.pointerDownAnimation=function(){},he.pointerUpAnimation=function(){he.background=pe.background},he.pointerEnterAnimation=function(){he.color=pe.background,he.background="red"},he.pointerOutAnimation=function(){he.color=o.toHexString(),he.background=pe.background},he.onPointerClickObservable.add((function(){ne(Oe.background)})),ce.addControl(he,0,0);var fe=new v;fe.name="Dialogue Body",fe.background=V;var _e=[.4375,.5625];fe.addRowDefinition(1,!1),fe.addColumnDefinition(_e[0],!1),fe.addColumnDefinition(_e[1],!1),ce.addControl(fe,1,0);var me=new v;me.name="Picker Grid",me.addRowDefinition(.85,!1),me.addRowDefinition(.15,!1),fe.addControl(me,0,0),(g=new t).name="GUI Color Picker",n.pickerHeightn.pickerHeight)var Ee=Te;else Ee=Se;var Pe=new c.a;Pe.text="new",Pe.name="New Color Label",Pe.color=k,Pe.fontSize=Ee,Ce.addControl(Pe,1,0),(O=new a).name="New Color Swatch",O.background=n.lastColor,O.thickness=0,xe.addControl(O,0,0);var Oe=u.CreateSimpleButton("currentSwatch","");Oe.background=n.lastColor,Oe.thickness=0,Oe.onPointerClickObservable.add((function(){Q(y.a.FromHexString(Oe.background),Oe.name),J(!1)})),Oe.pointerDownAnimation=function(){},Oe.pointerUpAnimation=function(){},Oe.pointerEnterAnimation=function(){},Oe.pointerOutAnimation=function(){},xe.addControl(Oe,1,0);var Me=new a;Me.name="Swatch Outline",Me.width=.67,Me.thickness=2,Me.color="#404040",Me.isHitTestVisible=!1,Ce.addControl(Me,2,0);var Re=new c.a;Re.name="Current Color Label",Re.text="current",Re.color=k,Re.fontSize=Ee,Ce.addControl(Re,3,0);var Ie=new v;Ie.name="Button Grid",Ie.height=.8;var we=1/3;Ie.addRowDefinition(we,!1),Ie.addRowDefinition(we,!1),Ie.addRowDefinition(we,!1),ve.addControl(Ie,0,1),h=Math.floor(parseInt(n.pickerWidth)*_e[1]*ye[1]*.67).toString()+"px",d=Math.floor(parseInt(n.pickerHeight)*ue[1]*ge[0]*(parseFloat(Ie.height.toString())/100)*we*.7).toString()+"px",l=parseFloat(h)>parseFloat(d)?Math.floor(.45*parseFloat(d)):Math.floor(.11*parseFloat(h));var De=u.CreateSimpleButton("butOK","OK");De.width=h,De.height=d,De.verticalAlignment=s.a.VERTICAL_ALIGNMENT_CENTER,De.thickness=2,De.color=k,De.fontSize=l,De.background=V,De.onPointerEnterObservable.add((function(){De.background=z})),De.onPointerOutObservable.add((function(){De.background=V})),De.pointerDownAnimation=function(){De.background=j},De.pointerUpAnimation=function(){De.background=z},De.onPointerClickObservable.add((function(){J(!1),ne(O.background)})),Ie.addControl(De,0,0);var Le=u.CreateSimpleButton("butCancel","Cancel");if(Le.width=h,Le.height=d,Le.verticalAlignment=s.a.VERTICAL_ALIGNMENT_CENTER,Le.thickness=2,Le.color=k,Le.fontSize=l,Le.background=V,Le.onPointerEnterObservable.add((function(){Le.background=z})),Le.onPointerOutObservable.add((function(){Le.background=V})),Le.pointerDownAnimation=function(){Le.background=j},Le.pointerUpAnimation=function(){Le.background=z},Le.onPointerClickObservable.add((function(){J(!1),ne(Oe.background)})),Ie.addControl(Le,1,0),n.savedColors){var Ne=u.CreateSimpleButton("butSave","Save");Ne.width=h,Ne.height=d,Ne.verticalAlignment=s.a.VERTICAL_ALIGNMENT_CENTER,Ne.thickness=2,Ne.fontSize=l,n.savedColors.length0&&ee(!0),Ie.addControl(Ne,2,0)}var Fe=new v;Fe.name="Dialog Lower Right",Fe.addRowDefinition(.02,!1),Fe.addRowDefinition(.63,!1),Fe.addRowDefinition(.21,!1),Fe.addRowDefinition(.14,!1),be.addControl(Fe,1,0),f=y.a.FromHexString(n.lastColor);var Be=new v;Be.name="RGB Values",Be.width=.82,Be.verticalAlignment=s.a.VERTICAL_ALIGNMENT_CENTER,Be.addRowDefinition(1/3,!1),Be.addRowDefinition(1/3,!1),Be.addRowDefinition(1/3,!1),Be.addColumnDefinition(.1,!1),Be.addColumnDefinition(.2,!1),Be.addColumnDefinition(.7,!1),Fe.addControl(Be,1,0);for(se=0;se6||t)&&R==P.name)P.text=M;else{if(P.text.length<6)for(var n=6-P.text.length,i=0;i0&&$("",Ne)}))},t._Epsilon=1e-6,t}(s.a);o.a.RegisteredTypes["BABYLON.GUI.ColorPicker"]=C;var A=function(e){function t(t){var n=e.call(this,t)||this;return n.name=t,n._thickness=1,n}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"thickness",{get:function(){return this._thickness},set:function(e){this._thickness!==e&&(this._thickness=e,this._markAsDirty())},enumerable:!0,configurable:!0}),t.prototype._getTypeName=function(){return"Ellipse"},t.prototype._localDraw=function(e){e.save(),(this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowColor=this.shadowColor,e.shadowBlur=this.shadowBlur,e.shadowOffsetX=this.shadowOffsetX,e.shadowOffsetY=this.shadowOffsetY),s.a.drawEllipse(this._currentMeasure.left+this._currentMeasure.width/2,this._currentMeasure.top+this._currentMeasure.height/2,this._currentMeasure.width/2-this._thickness/2,this._currentMeasure.height/2-this._thickness/2,e),this._background&&(e.fillStyle=this._background,e.fill()),(this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0),this._thickness&&(this.color&&(e.strokeStyle=this.color),e.lineWidth=this._thickness,e.stroke()),e.restore()},t.prototype._additionalProcessing=function(t,n){e.prototype._additionalProcessing.call(this,t,n),this._measureForChildren.width-=2*this._thickness,this._measureForChildren.height-=2*this._thickness,this._measureForChildren.left+=this._thickness,this._measureForChildren.top+=this._thickness},t.prototype._clipForChildren=function(e){s.a.drawEllipse(this._currentMeasure.left+this._currentMeasure.width/2,this._currentMeasure.top+this._currentMeasure.height/2,this._currentMeasure.width/2,this._currentMeasure.height/2,e),e.clip()},t}(r.a);o.a.RegisteredTypes["BABYLON.GUI.Ellipse"]=A;var x=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(i.d)(t,e),t.prototype._beforeRenderText=function(e){for(var t="",n=0;n1?this.notRenderable=!0:this.notRenderable=!1}else g.b.Error("Cannot move a control to a vector3 if the control is not at root level")},t.prototype._moveToProjectedPosition=function(e,t){void 0===t&&(t=!1);var n=e.x+this._linkOffsetX.getValue(this._host)+"px",i=e.y+this._linkOffsetY.getValue(this._host)+"px";t?(this.x2=n,this.y2=i,this._x2.ignoreAdaptiveScaling=!0,this._y2.ignoreAdaptiveScaling=!0):(this.x1=n,this.y1=i,this._x1.ignoreAdaptiveScaling=!0,this._y1.ignoreAdaptiveScaling=!0)},t}(s.a);o.a.RegisteredTypes["BABYLON.GUI.Line"]=T;var E=n(29),P=function(){function e(e){this._multiLine=e,this._x=new m.a(0),this._y=new m.a(0),this._point=new S.d(0,0)}return Object.defineProperty(e.prototype,"x",{get:function(){return this._x.toString(this._multiLine._host)},set:function(e){this._x.toString(this._multiLine._host)!==e&&this._x.fromString(e)&&this._multiLine._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"y",{get:function(){return this._y.toString(this._multiLine._host)},set:function(e){this._y.toString(this._multiLine._host)!==e&&this._y.fromString(e)&&this._multiLine._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this._control},set:function(e){this._control!==e&&(this._control&&this._controlObserver&&(this._control.onDirtyObservable.remove(this._controlObserver),this._controlObserver=null),this._control=e,this._control&&(this._controlObserver=this._control.onDirtyObservable.add(this._multiLine.onPointUpdate)),this._multiLine._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"mesh",{get:function(){return this._mesh},set:function(e){this._mesh!==e&&(this._mesh&&this._meshObserver&&this._mesh.getScene().onAfterCameraRenderObservable.remove(this._meshObserver),this._mesh=e,this._mesh&&(this._meshObserver=this._mesh.getScene().onAfterCameraRenderObservable.add(this._multiLine.onPointUpdate)),this._multiLine._markAsDirty())},enumerable:!0,configurable:!0}),e.prototype.resetLinks=function(){this.control=null,this.mesh=null},e.prototype.translate=function(){return this._point=this._translatePoint(),this._point},e.prototype._translatePoint=function(){if(null!=this._mesh)return this._multiLine._host.getProjectedPosition(this._mesh.getBoundingInfo().boundingSphere.center,this._mesh.getWorldMatrix());if(null!=this._control)return new S.d(this._control.centerX,this._control.centerY);var e=this._multiLine._host,t=this._x.getValueInPixel(e,Number(e._canvas.width)),n=this._y.getValueInPixel(e,Number(e._canvas.height));return new S.d(t,n)},e.prototype.dispose=function(){this.resetLinks()},e}(),O=function(e){function t(t){var n=e.call(this,t)||this;return n.name=t,n._lineWidth=1,n.onPointUpdate=function(){n._markAsDirty()},n._automaticSize=!0,n.isHitTestVisible=!1,n._horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,n._verticalAlignment=s.a.VERTICAL_ALIGNMENT_TOP,n._dash=[],n._points=[],n}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"dash",{get:function(){return this._dash},set:function(e){this._dash!==e&&(this._dash=e,this._markAsDirty())},enumerable:!0,configurable:!0}),t.prototype.getAt=function(e){return this._points[e]||(this._points[e]=new P(this)),this._points[e]},t.prototype.add=function(){for(var e=this,t=[],n=0;n0;)this.remove(this._points.length-1)},t.prototype.resetLinks=function(){this._points.forEach((function(e){null!=e&&e.resetLinks()}))},Object.defineProperty(t.prototype,"lineWidth",{get:function(){return this._lineWidth},set:function(e){this._lineWidth!==e&&(this._lineWidth=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"horizontalAlignment",{set:function(e){},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalAlignment",{set:function(e){},enumerable:!0,configurable:!0}),t.prototype._getTypeName=function(){return"MultiLine"},t.prototype._draw=function(e,t){e.save(),(this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowColor=this.shadowColor,e.shadowBlur=this.shadowBlur,e.shadowOffsetX=this.shadowOffsetX,e.shadowOffsetY=this.shadowOffsetY),this._applyStates(e),e.strokeStyle=this.color,e.lineWidth=this._lineWidth,e.setLineDash(this._dash),e.beginPath();var n=!0;this._points.forEach((function(t){t&&(n?(e.moveTo(t._point.x,t._point.y),n=!1):e.lineTo(t._point.x,t._point.y))})),e.stroke(),e.restore()},t.prototype._additionalProcessing=function(e,t){var n=this;this._minX=null,this._minY=null,this._maxX=null,this._maxY=null,this._points.forEach((function(e,t){e&&(e.translate(),(null==n._minX||e._point.xn._maxX)&&(n._maxX=e._point.x),(null==n._maxY||e._point.y>n._maxY)&&(n._maxY=e._point.y))})),null==this._minX&&(this._minX=0),null==this._minY&&(this._minY=0),null==this._maxX&&(this._maxX=0),null==this._maxY&&(this._maxY=0)},t.prototype._measure=function(){null!=this._minX&&null!=this._maxX&&null!=this._minY&&null!=this._maxY&&(this._currentMeasure.width=Math.abs(this._maxX-this._minX)+this._lineWidth,this._currentMeasure.height=Math.abs(this._maxY-this._minY)+this._lineWidth)},t.prototype._computeAlignment=function(e,t){null!=this._minX&&null!=this._minY&&(this._currentMeasure.left=this._minX-this._lineWidth/2,this._currentMeasure.top=this._minY-this._lineWidth/2)},t.prototype.dispose=function(){this.reset(),e.prototype.dispose.call(this)},t}(s.a);o.a.RegisteredTypes["BABYLON.GUI.MultiLine"]=O;var M=function(e){function t(t){var n=e.call(this,t)||this;return n.name=t,n._isChecked=!1,n._background="black",n._checkSizeRatio=.8,n._thickness=1,n.group="",n.onIsCheckedChangedObservable=new p.c,n.isPointerBlocker=!0,n}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"thickness",{get:function(){return this._thickness},set:function(e){this._thickness!==e&&(this._thickness=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"checkSizeRatio",{get:function(){return this._checkSizeRatio},set:function(e){e=Math.max(Math.min(1,e),0),this._checkSizeRatio!==e&&(this._checkSizeRatio=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"background",{get:function(){return this._background},set:function(e){this._background!==e&&(this._background=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isChecked",{get:function(){return this._isChecked},set:function(e){var t=this;this._isChecked!==e&&(this._isChecked=e,this._markAsDirty(),this.onIsCheckedChangedObservable.notifyObservers(e),this._isChecked&&this._host&&this._host.executeOnAllControls((function(e){if(e!==t&&void 0!==e.group){var n=e;n.group===t.group&&(n.isChecked=!1)}})))},enumerable:!0,configurable:!0}),t.prototype._getTypeName=function(){return"RadioButton"},t.prototype._draw=function(e){e.save(),this._applyStates(e);var t=this._currentMeasure.width-this._thickness,n=this._currentMeasure.height-this._thickness;if((this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowColor=this.shadowColor,e.shadowBlur=this.shadowBlur,e.shadowOffsetX=this.shadowOffsetX,e.shadowOffsetY=this.shadowOffsetY),s.a.drawEllipse(this._currentMeasure.left+this._currentMeasure.width/2,this._currentMeasure.top+this._currentMeasure.height/2,this._currentMeasure.width/2-this._thickness/2,this._currentMeasure.height/2-this._thickness/2,e),e.fillStyle=this._isEnabled?this._background:this._disabledColor,e.fill(),(this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0),e.strokeStyle=this.color,e.lineWidth=this._thickness,e.stroke(),this._isChecked){e.fillStyle=this._isEnabled?this.color:this._disabledColor;var i=t*this._checkSizeRatio,r=n*this._checkSizeRatio;s.a.drawEllipse(this._currentMeasure.left+this._currentMeasure.width/2,this._currentMeasure.top+this._currentMeasure.height/2,i/2-this._thickness/2,r/2-this._thickness/2,e),e.fill()}e.restore()},t.prototype._onPointerDown=function(t,n,i,r){return!!e.prototype._onPointerDown.call(this,t,n,i,r)&&(this.isChecked||(this.isChecked=!0),!0)},t.AddRadioButtonWithHeader=function(e,n,i,r){var o=new h.a;o.isVertical=!1,o.height="30px";var a=new t;a.width="20px",a.height="20px",a.isChecked=i,a.color="green",a.group=n,a.onIsCheckedChangedObservable.add((function(e){return r(a,e)})),o.addControl(a);var l=new c.a;return l.text=e,l.width="180px",l.paddingLeft="5px",l.textHorizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,l.color="white",o.addControl(l),o},t}(s.a);o.a.RegisteredTypes["BABYLON.GUI.RadioButton"]=M;var R=function(e){function t(t){var n=e.call(this,t)||this;return n.name=t,n._thumbWidth=new m.a(20,m.a.UNITMODE_PIXEL,!1),n._minimum=0,n._maximum=100,n._value=50,n._isVertical=!1,n._barOffset=new m.a(5,m.a.UNITMODE_PIXEL,!1),n._isThumbClamped=!1,n._displayThumb=!0,n._step=0,n._lastPointerDownID=-1,n._effectiveBarOffset=0,n.onValueChangedObservable=new p.c,n._pointerIsDown=!1,n.isPointerBlocker=!0,n}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"displayThumb",{get:function(){return this._displayThumb},set:function(e){this._displayThumb!==e&&(this._displayThumb=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"step",{get:function(){return this._step},set:function(e){this._step!==e&&(this._step=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"barOffset",{get:function(){return this._barOffset.toString(this._host)},set:function(e){this._barOffset.toString(this._host)!==e&&this._barOffset.fromString(e)&&this._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"barOffsetInPixels",{get:function(){return this._barOffset.getValueInPixel(this._host,this._cachedParentMeasure.width)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"thumbWidth",{get:function(){return this._thumbWidth.toString(this._host)},set:function(e){this._thumbWidth.toString(this._host)!==e&&this._thumbWidth.fromString(e)&&this._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"thumbWidthInPixels",{get:function(){return this._thumbWidth.getValueInPixel(this._host,this._cachedParentMeasure.width)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minimum",{get:function(){return this._minimum},set:function(e){this._minimum!==e&&(this._minimum=e,this._markAsDirty(),this.value=Math.max(Math.min(this.value,this._maximum),this._minimum))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maximum",{get:function(){return this._maximum},set:function(e){this._maximum!==e&&(this._maximum=e,this._markAsDirty(),this.value=Math.max(Math.min(this.value,this._maximum),this._minimum))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this._value},set:function(e){e=Math.max(Math.min(e,this._maximum),this._minimum),this._value!==e&&(this._value=e,this._markAsDirty(),this.onValueChangedObservable.notifyObservers(this._value))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isVertical",{get:function(){return this._isVertical},set:function(e){this._isVertical!==e&&(this._isVertical=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isThumbClamped",{get:function(){return this._isThumbClamped},set:function(e){this._isThumbClamped!==e&&(this._isThumbClamped=e,this._markAsDirty())},enumerable:!0,configurable:!0}),t.prototype._getTypeName=function(){return"BaseSlider"},t.prototype._getThumbPosition=function(){return this.isVertical?(this.maximum-this.value)/(this.maximum-this.minimum)*this._backgroundBoxLength:(this.value-this.minimum)/(this.maximum-this.minimum)*this._backgroundBoxLength},t.prototype._getThumbThickness=function(e){var t=0;switch(e){case"circle":t=this._thumbWidth.isPixel?Math.max(this._thumbWidth.getValue(this._host),this._backgroundBoxThickness):this._backgroundBoxThickness*this._thumbWidth.getValue(this._host);break;case"rectangle":t=this._thumbWidth.isPixel?Math.min(this._thumbWidth.getValue(this._host),this._backgroundBoxThickness):this._backgroundBoxThickness*this._thumbWidth.getValue(this._host)}return t},t.prototype._prepareRenderingData=function(e){this._effectiveBarOffset=0,this._renderLeft=this._currentMeasure.left,this._renderTop=this._currentMeasure.top,this._renderWidth=this._currentMeasure.width,this._renderHeight=this._currentMeasure.height,this._backgroundBoxLength=Math.max(this._currentMeasure.width,this._currentMeasure.height),this._backgroundBoxThickness=Math.min(this._currentMeasure.width,this._currentMeasure.height),this._effectiveThumbThickness=this._getThumbThickness(e),this.displayThumb&&(this._backgroundBoxLength-=this._effectiveThumbThickness),this.isVertical&&this._currentMeasure.height=this._selectors.length))return this._selectors[e]},e.prototype.removeSelector=function(e){e<0||e>=this._selectors.length||(this._groupPanel.removeControl(this._selectors[e]),this._selectors.splice(e,1))},e}(),D=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(i.d)(t,e),t.prototype.addCheckbox=function(e,t,n){void 0===t&&(t=function(e){}),void 0===n&&(n=!1);n=n||!1;var i=new d;i.width="20px",i.height="20px",i.color="#364249",i.background="#CCCCCC",i.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,i.onIsCheckedChangedObservable.add((function(e){t(e)}));var r=s.a.AddHeader(i,e,"200px",{isHorizontal:!0,controlFirst:!0});r.height="30px",r.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,r.left="4px",this.groupPanel.addControl(r),this.selectors.push(r),i.isChecked=n,this.groupPanel.parent&&this.groupPanel.parent.parent&&(i.color=this.groupPanel.parent.parent.buttonColor,i.background=this.groupPanel.parent.parent.buttonBackground)},t.prototype._setSelectorLabel=function(e,t){this.selectors[e].children[1].text=t},t.prototype._setSelectorLabelColor=function(e,t){this.selectors[e].children[1].color=t},t.prototype._setSelectorButtonColor=function(e,t){this.selectors[e].children[0].color=t},t.prototype._setSelectorButtonBackground=function(e,t){this.selectors[e].children[0].background=t},t}(w),L=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._selectNb=0,t}return Object(i.d)(t,e),t.prototype.addRadio=function(e,t,n){void 0===t&&(t=function(e){}),void 0===n&&(n=!1);var i=this._selectNb++,r=new M;r.name=e,r.width="20px",r.height="20px",r.color="#364249",r.background="#CCCCCC",r.group=this.name,r.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,r.onIsCheckedChangedObservable.add((function(e){e&&t(i)}));var o=s.a.AddHeader(r,e,"200px",{isHorizontal:!0,controlFirst:!0});o.height="30px",o.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,o.left="4px",this.groupPanel.addControl(o),this.selectors.push(o),r.isChecked=n,this.groupPanel.parent&&this.groupPanel.parent.parent&&(r.color=this.groupPanel.parent.parent.buttonColor,r.background=this.groupPanel.parent.parent.buttonBackground)},t.prototype._setSelectorLabel=function(e,t){this.selectors[e].children[1].text=t},t.prototype._setSelectorLabelColor=function(e,t){this.selectors[e].children[1].color=t},t.prototype._setSelectorButtonColor=function(e,t){this.selectors[e].children[0].color=t},t.prototype._setSelectorButtonBackground=function(e,t){this.selectors[e].children[0].background=t},t}(w),N=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(i.d)(t,e),t.prototype.addSlider=function(e,t,n,i,r,o,a){void 0===t&&(t=function(e){}),void 0===n&&(n="Units"),void 0===i&&(i=0),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=function(e){return 0|e});var c=new I;c.name=n,c.value=o,c.minimum=i,c.maximum=r,c.width=.9,c.height="20px",c.color="#364249",c.background="#CCCCCC",c.borderColor="black",c.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,c.left="4px",c.paddingBottom="4px",c.onValueChangedObservable.add((function(e){c.parent.children[0].text=c.parent.children[0].name+": "+a(e)+" "+c.name,t(e)}));var l=s.a.AddHeader(c,e+": "+a(o)+" "+n,"30px",{isHorizontal:!1,controlFirst:!1});l.height="60px",l.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,l.left="4px",l.children[0].name=e,this.groupPanel.addControl(l),this.selectors.push(l),this.groupPanel.parent&&this.groupPanel.parent.parent&&(c.color=this.groupPanel.parent.parent.buttonColor,c.background=this.groupPanel.parent.parent.buttonBackground)},t.prototype._setSelectorLabel=function(e,t){this.selectors[e].children[0].name=t,this.selectors[e].children[0].text=t+": "+this.selectors[e].children[1].value+" "+this.selectors[e].children[1].name},t.prototype._setSelectorLabelColor=function(e,t){this.selectors[e].children[0].color=t},t.prototype._setSelectorButtonColor=function(e,t){this.selectors[e].children[1].color=t},t.prototype._setSelectorButtonBackground=function(e,t){this.selectors[e].children[1].background=t},t}(w),F=function(e){function t(t,n){void 0===n&&(n=[]);var i=e.call(this,t)||this;if(i.name=t,i.groups=n,i._buttonColor="#364249",i._buttonBackground="#CCCCCC",i._headerColor="black",i._barColor="white",i._barHeight="2px",i._spacerHeight="20px",i._bars=new Array,i._groups=n,i.thickness=2,i._panel=new h.a,i._panel.verticalAlignment=s.a.VERTICAL_ALIGNMENT_TOP,i._panel.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,i._panel.top=5,i._panel.left=5,i._panel.width=.95,n.length>0){for(var r=0;r0&&this._addSpacer(),this._panel.addControl(e.groupPanel),this._groups.push(e),e.groupPanel.children[0].color=this._headerColor;for(var t=0;t=this._groups.length)){var t=this._groups[e];this._panel.removeControl(t.groupPanel),this._groups.splice(e,1),e=this._groups.length||(this._groups[t].groupPanel.children[0].text=e)},t.prototype.relabel=function(e,t,n){if(!(t<0||t>=this._groups.length)){var i=this._groups[t];n<0||n>=i.selectors.length||i._setSelectorLabel(n,e)}},t.prototype.removeFromGroupSelector=function(e,t){if(!(e<0||e>=this._groups.length)){var n=this._groups[e];t<0||t>=n.selectors.length||n.removeSelector(t)}},t.prototype.addToGroupCheckbox=function(e,t,n,i){(void 0===n&&(n=function(){}),void 0===i&&(i=!1),e<0||e>=this._groups.length)||this._groups[e].addCheckbox(t,n,i)},t.prototype.addToGroupRadio=function(e,t,n,i){(void 0===n&&(n=function(){}),void 0===i&&(i=!1),e<0||e>=this._groups.length)||this._groups[e].addRadio(t,n,i)},t.prototype.addToGroupSlider=function(e,t,n,i,r,o,a,s){(void 0===n&&(n=function(){}),void 0===i&&(i="Units"),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),void 0===s&&(s=function(e){return 0|e}),e<0||e>=this._groups.length)||this._groups[e].addSlider(t,n,i,r,o,a,s)},t}(a),B=n(64),k=function(e){function t(t){var n=e.call(this,t)||this;return n._freezeControls=!1,n._bucketWidth=0,n._bucketHeight=0,n._buckets={},n}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"freezeControls",{get:function(){return this._freezeControls},set:function(e){if(this._freezeControls!==e){this._freezeControls=!1;var t=this.host.getSize(),n=t.width,i=t.height,r=this.host.getContext(),o=new B.a(0,0,n,i);this.host._numLayoutCalls=0,this.host._rootContainer._layout(o,r),e&&(this._updateMeasures(),this._useBuckets()&&this._makeBuckets()),this._freezeControls=e,this.host.markAsDirty()}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bucketWidth",{get:function(){return this._bucketWidth},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bucketHeight",{get:function(){return this._bucketHeight},enumerable:!0,configurable:!0}),t.prototype.setBucketSizes=function(e,t){this._bucketWidth=e,this._bucketHeight=t,this._useBuckets()?this._freezeControls&&this._makeBuckets():this._buckets={}},t.prototype._useBuckets=function(){return this._bucketWidth>0&&this._bucketHeight>0},t.prototype._makeBuckets=function(){this._buckets={},this._bucketLen=Math.ceil(this.widthInPixels/this._bucketWidth),this._dispatchInBuckets(this._children)},t.prototype._dispatchInBuckets=function(e){for(var t=0;t0&&this._dispatchInBuckets(n._children)}},t.prototype._updateMeasures=function(){var e=0|this.leftInPixels,t=0|this.topInPixels;this._measureForChildren.left-=e,this._measureForChildren.top-=t,this._currentMeasure.left-=e,this._currentMeasure.top-=t,this._updateChildrenMeasures(this._children,e,t)},t.prototype._updateChildrenMeasures=function(e,t,n){for(var i=0;i0&&this._updateChildrenMeasures(o._children,t,n)}},t.prototype._getTypeName=function(){return"ScrollViewerWindow"},t.prototype._additionalProcessing=function(t,n){e.prototype._additionalProcessing.call(this,t,n),this._parentMeasure=t,this._measureForChildren.left=this._currentMeasure.left,this._measureForChildren.top=this._currentMeasure.top,this._measureForChildren.width=t.width,this._measureForChildren.height=t.height},t.prototype._layout=function(t,n){return this._freezeControls?(this.invalidateRect(),!1):e.prototype._layout.call(this,t,n)},t.prototype._scrollChildren=function(e,t,n){for(var i=0;i0&&this._scrollChildren(o._children,t,n)}},t.prototype._scrollChildrenWithBuckets=function(e,t,n,i){for(var r=Math.max(0,Math.floor(-e/this._bucketWidth)),o=Math.floor((-e+this._parentMeasure.width-1)/this._bucketWidth),a=Math.max(0,Math.floor(-t/this._bucketHeight)),s=Math.floor((-t+this._parentMeasure.height-1)/this._bucketHeight);a<=s;){for(var c=r;c<=o;++c){var l=a*this._bucketLen+c,u=this._buckets[l];if(u)for(var p=0;pthis._tempMeasure.left+this._tempMeasure.width||tthis._tempMeasure.top+this._tempMeasure.height)&&(this.isVertical?this.value=this.minimum+(1-(t-this._currentMeasure.top)/this._currentMeasure.height)*(this.maximum-this.minimum):this.value=this.minimum+(e-this._currentMeasure.left)/this._currentMeasure.width*(this.maximum-this.minimum)));var n=0;n=this.isVertical?-(t-this._originY)/(this._currentMeasure.height-this._effectiveThumbThickness):(e-this._originX)/(this._currentMeasure.width-this._effectiveThumbThickness),this.value+=n*(this.maximum-this.minimum),this._originX=e,this._originY=t},t.prototype._onPointerDown=function(t,n,i,r){return this._first=!0,e.prototype._onPointerDown.call(this,t,n,i,r)},t}(R),z=function(e){function t(t){var n=e.call(this,t)||this;return n.name=t,n._thumbLength=.5,n._thumbHeight=1,n._barImageHeight=1,n._tempMeasure=new B.a(0,0,0,0),n.num90RotationInVerticalMode=1,n}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"backgroundImage",{get:function(){return this._backgroundBaseImage},set:function(e){var t=this;this._backgroundBaseImage!==e&&(this._backgroundBaseImage=e,this.isVertical&&0!==this.num90RotationInVerticalMode?e.isLoaded?(this._backgroundImage=e._rotate90(this.num90RotationInVerticalMode,!0),this._markAsDirty()):e.onImageLoadedObservable.addOnce((function(){var n=e._rotate90(t.num90RotationInVerticalMode,!0);t._backgroundImage=n,n.isLoaded||n.onImageLoadedObservable.addOnce((function(){t._markAsDirty()})),t._markAsDirty()})):(this._backgroundImage=e,e&&!e.isLoaded&&e.onImageLoadedObservable.addOnce((function(){t._markAsDirty()})),this._markAsDirty()))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"thumbImage",{get:function(){return this._thumbBaseImage},set:function(e){var t=this;this._thumbBaseImage!==e&&(this._thumbBaseImage=e,this.isVertical&&0!==this.num90RotationInVerticalMode?e.isLoaded?(this._thumbImage=e._rotate90(-this.num90RotationInVerticalMode,!0),this._markAsDirty()):e.onImageLoadedObservable.addOnce((function(){var n=e._rotate90(-t.num90RotationInVerticalMode,!0);t._thumbImage=n,n.isLoaded||n.onImageLoadedObservable.addOnce((function(){t._markAsDirty()})),t._markAsDirty()})):(this._thumbImage=e,e&&!e.isLoaded&&e.onImageLoadedObservable.addOnce((function(){t._markAsDirty()})),this._markAsDirty()))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"thumbLength",{get:function(){return this._thumbLength},set:function(e){this._thumbLength!==e&&(this._thumbLength=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"thumbHeight",{get:function(){return this._thumbHeight},set:function(e){this._thumbLength!==e&&(this._thumbHeight=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"barImageHeight",{get:function(){return this._barImageHeight},set:function(e){this._barImageHeight!==e&&(this._barImageHeight=e,this._markAsDirty())},enumerable:!0,configurable:!0}),t.prototype._getTypeName=function(){return"ImageScrollBar"},t.prototype._getThumbThickness=function(){return this._thumbWidth.isPixel?this._thumbWidth.getValue(this._host):this._backgroundBoxThickness*this._thumbWidth.getValue(this._host)},t.prototype._draw=function(e){e.save(),this._applyStates(e),this._prepareRenderingData("rectangle");var t=this._getThumbPosition(),n=this._renderLeft,i=this._renderTop,r=this._renderWidth,o=this._renderHeight;this._backgroundImage&&(this._tempMeasure.copyFromFloats(n,i,r,o),this.isVertical?(this._tempMeasure.copyFromFloats(n+r*(1-this._barImageHeight)*.5,this._currentMeasure.top,r*this._barImageHeight,o),this._tempMeasure.height+=this._effectiveThumbThickness,this._backgroundImage._currentMeasure.copyFrom(this._tempMeasure)):(this._tempMeasure.copyFromFloats(this._currentMeasure.left,i+o*(1-this._barImageHeight)*.5,r,o*this._barImageHeight),this._tempMeasure.width+=this._effectiveThumbThickness,this._backgroundImage._currentMeasure.copyFrom(this._tempMeasure)),this._backgroundImage._draw(e)),this.isVertical?this._tempMeasure.copyFromFloats(n-this._effectiveBarOffset+this._currentMeasure.width*(1-this._thumbHeight)*.5,this._currentMeasure.top+t,this._currentMeasure.width*this._thumbHeight,this._effectiveThumbThickness):this._tempMeasure.copyFromFloats(this._currentMeasure.left+t,this._currentMeasure.top+this._currentMeasure.height*(1-this._thumbHeight)*.5,this._effectiveThumbThickness,this._currentMeasure.height*this._thumbHeight),this._thumbImage&&(this._thumbImage._currentMeasure.copyFrom(this._tempMeasure),this._thumbImage._draw(e)),e.restore()},t.prototype._updateValueFromPointer=function(e,t){0!=this.rotation&&(this._invertTransformMatrix.transformCoordinates(e,t,this._transformedPosition),e=this._transformedPosition.x,t=this._transformedPosition.y),this._first&&(this._first=!1,this._originX=e,this._originY=t,(ethis._tempMeasure.left+this._tempMeasure.width||tthis._tempMeasure.top+this._tempMeasure.height)&&(this.isVertical?this.value=this.minimum+(1-(t-this._currentMeasure.top)/this._currentMeasure.height)*(this.maximum-this.minimum):this.value=this.minimum+(e-this._currentMeasure.left)/this._currentMeasure.width*(this.maximum-this.minimum)));var n=0;n=this.isVertical?-(t-this._originY)/(this._currentMeasure.height-this._effectiveThumbThickness):(e-this._originX)/(this._currentMeasure.width-this._effectiveThumbThickness),this.value+=n*(this.maximum-this.minimum),this._originX=e,this._originY=t},t.prototype._onPointerDown=function(t,n,i,r){return this._first=!0,e.prototype._onPointerDown.call(this,t,n,i,r)},t}(R),j=function(e){function t(t,n){var i=e.call(this,t)||this;return i._barSize=20,i._pointerIsOver=!1,i._wheelPrecision=.05,i._thumbLength=.5,i._thumbHeight=1,i._barImageHeight=1,i._horizontalBarImageHeight=1,i._verticalBarImageHeight=1,i._forceHorizontalBar=!1,i._forceVerticalBar=!1,i._useImageBar=n||!1,i.onDirtyObservable.add((function(){i._horizontalBarSpace.color=i.color,i._verticalBarSpace.color=i.color,i._dragSpace.color=i.color})),i.onPointerEnterObservable.add((function(){i._pointerIsOver=!0})),i.onPointerOutObservable.add((function(){i._pointerIsOver=!1})),i._grid=new v,i._useImageBar?(i._horizontalBar=new z,i._verticalBar=new z):(i._horizontalBar=new V,i._verticalBar=new V),i._window=new k("scrollViewer_window"),i._window.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,i._window.verticalAlignment=s.a.VERTICAL_ALIGNMENT_TOP,i._grid.addColumnDefinition(1),i._grid.addColumnDefinition(0,!0),i._grid.addRowDefinition(1),i._grid.addRowDefinition(0,!0),e.prototype.addControl.call(i,i._grid),i._grid.addControl(i._window,0,0),i._verticalBarSpace=new a,i._verticalBarSpace.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,i._verticalBarSpace.verticalAlignment=s.a.VERTICAL_ALIGNMENT_TOP,i._verticalBarSpace.thickness=1,i._grid.addControl(i._verticalBarSpace,0,1),i._addBar(i._verticalBar,i._verticalBarSpace,!0,Math.PI),i._horizontalBarSpace=new a,i._horizontalBarSpace.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_LEFT,i._horizontalBarSpace.verticalAlignment=s.a.VERTICAL_ALIGNMENT_TOP,i._horizontalBarSpace.thickness=1,i._grid.addControl(i._horizontalBarSpace,1,0),i._addBar(i._horizontalBar,i._horizontalBarSpace,!1,0),i._dragSpace=new a,i._dragSpace.thickness=1,i._grid.addControl(i._dragSpace,1,1),i._useImageBar||(i.barColor="grey",i.barBackground="transparent"),i}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"horizontalBar",{get:function(){return this._horizontalBar},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalBar",{get:function(){return this._verticalBar},enumerable:!0,configurable:!0}),t.prototype.addControl=function(e){return e?(this._window.addControl(e),this):this},t.prototype.removeControl=function(e){return this._window.removeControl(e),this},Object.defineProperty(t.prototype,"children",{get:function(){return this._window.children},enumerable:!0,configurable:!0}),t.prototype._flagDescendantsAsMatrixDirty=function(){for(var e=0,t=this._children;e1&&(e=1),this._wheelPrecision=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollBackground",{get:function(){return this._horizontalBarSpace.background},set:function(e){this._horizontalBarSpace.background!==e&&(this._horizontalBarSpace.background=e,this._verticalBarSpace.background=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"barColor",{get:function(){return this._barColor},set:function(e){this._barColor!==e&&(this._barColor=e,this._horizontalBar.color=e,this._verticalBar.color=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"thumbImage",{get:function(){return this._barImage},set:function(e){if(this._barImage!==e){this._barImage=e;var t=this._horizontalBar,n=this._verticalBar;t.thumbImage=e,n.thumbImage=e}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"horizontalThumbImage",{get:function(){return this._horizontalBarImage},set:function(e){this._horizontalBarImage!==e&&(this._horizontalBarImage=e,this._horizontalBar.thumbImage=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalThumbImage",{get:function(){return this._verticalBarImage},set:function(e){this._verticalBarImage!==e&&(this._verticalBarImage=e,this._verticalBar.thumbImage=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"barSize",{get:function(){return this._barSize},set:function(e){this._barSize!==e&&(this._barSize=e,this._markAsDirty(),this._horizontalBar.isVisible&&this._grid.setRowDefinition(1,this._barSize,!0),this._verticalBar.isVisible&&this._grid.setColumnDefinition(1,this._barSize,!0))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"thumbLength",{get:function(){return this._thumbLength},set:function(e){if(this._thumbLength!==e){e<=0&&(e=.1),e>1&&(e=1),this._thumbLength=e;var t=this._horizontalBar,n=this._verticalBar;t.thumbLength=e,n.thumbLength=e,this._markAsDirty()}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"thumbHeight",{get:function(){return this._thumbHeight},set:function(e){if(this._thumbHeight!==e){e<=0&&(e=.1),e>1&&(e=1),this._thumbHeight=e;var t=this._horizontalBar,n=this._verticalBar;t.thumbHeight=e,n.thumbHeight=e,this._markAsDirty()}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"barImageHeight",{get:function(){return this._barImageHeight},set:function(e){if(this._barImageHeight!==e){e<=0&&(e=.1),e>1&&(e=1),this._barImageHeight=e;var t=this._horizontalBar,n=this._verticalBar;t.barImageHeight=e,n.barImageHeight=e,this._markAsDirty()}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"horizontalBarImageHeight",{get:function(){return this._horizontalBarImageHeight},set:function(e){this._horizontalBarImageHeight!==e&&(e<=0&&(e=.1),e>1&&(e=1),this._horizontalBarImageHeight=e,this._horizontalBar.barImageHeight=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalBarImageHeight",{get:function(){return this._verticalBarImageHeight},set:function(e){this._verticalBarImageHeight!==e&&(e<=0&&(e=.1),e>1&&(e=1),this._verticalBarImageHeight=e,this._verticalBar.barImageHeight=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"barBackground",{get:function(){return this._barBackground},set:function(e){if(this._barBackground!==e){this._barBackground=e;var t=this._horizontalBar,n=this._verticalBar;t.background=e,n.background=e,this._dragSpace.background=e}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"barImage",{get:function(){return this._barBackgroundImage},set:function(e){this._barBackgroundImage,this._barBackgroundImage=e;var t=this._horizontalBar,n=this._verticalBar;t.backgroundImage=e,n.backgroundImage=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"horizontalBarImage",{get:function(){return this._horizontalBarBackgroundImage},set:function(e){this._horizontalBarBackgroundImage,this._horizontalBarBackgroundImage=e,this._horizontalBar.backgroundImage=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"verticalBarImage",{get:function(){return this._verticalBarBackgroundImage},set:function(e){this._verticalBarBackgroundImage,this._verticalBarBackgroundImage=e,this._verticalBar.backgroundImage=e},enumerable:!0,configurable:!0}),t.prototype._setWindowPosition=function(){var e=this.host.idealRatio,t=this._window._currentMeasure.width,n=this._window._currentMeasure.height,i=this._clientWidth-t,r=this._clientHeight-n,o=this._horizontalBar.value/e*i+"px",a=this._verticalBar.value/e*r+"px";o!==this._window.left&&(this._window.left=o,this.freezeControls||(this._rebuildLayout=!0)),a!==this._window.top&&(this._window.top=a,this.freezeControls||(this._rebuildLayout=!0))},t.prototype._updateScroller=function(){var e=this._window._currentMeasure.width,t=this._window._currentMeasure.height;this._horizontalBar.isVisible&&e<=this._clientWidth&&!this.forceHorizontalBar?(this._grid.setRowDefinition(1,0,!0),this._horizontalBar.isVisible=!1,this._horizontalBar.value=0,this._rebuildLayout=!0):!this._horizontalBar.isVisible&&(e>this._clientWidth||this.forceHorizontalBar)&&(this._grid.setRowDefinition(1,this._barSize,!0),this._horizontalBar.isVisible=!0,this._rebuildLayout=!0),this._verticalBar.isVisible&&t<=this._clientHeight&&!this.forceVerticalBar?(this._grid.setColumnDefinition(1,0,!0),this._verticalBar.isVisible=!1,this._verticalBar.value=0,this._rebuildLayout=!0):!this._verticalBar.isVisible&&(t>this._clientHeight||this.forceVerticalBar)&&(this._grid.setColumnDefinition(1,this._barSize,!0),this._verticalBar.isVisible=!0,this._rebuildLayout=!0),this._buildClientSizes();var n=this.host.idealRatio;this._horizontalBar.thumbWidth=.9*this._thumbLength*(this._clientWidth/n)+"px",this._verticalBar.thumbWidth=.9*this._thumbLength*(this._clientHeight/n)+"px"},t.prototype._link=function(t){e.prototype._link.call(this,t),this._attachWheel()},t.prototype._addBar=function(e,t,n,i){var r=this;e.paddingLeft=0,e.width="100%",e.height="100%",e.barOffset=0,e.value=0,e.maximum=1,e.horizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_CENTER,e.verticalAlignment=s.a.VERTICAL_ALIGNMENT_CENTER,e.isVertical=n,e.rotation=i,e.isVisible=!1,t.addControl(e),e.onValueChangedObservable.add((function(e){r._setWindowPosition()}))},t.prototype._attachWheel=function(){var e=this;this._host&&!this._onWheelObserver&&(this._onWheelObserver=this.onWheelObservable.add((function(t){e._pointerIsOver&&(1==e._verticalBar.isVisible&&(t.y<0&&e._verticalBar.value>0?e._verticalBar.value-=e._wheelPrecision:t.y>0&&e._verticalBar.value0&&e._horizontalBar.value>0&&(e._horizontalBar.value-=e._wheelPrecision)))})))},t.prototype._renderHighlightSpecific=function(t){this.isHighlighted&&(e.prototype._renderHighlightSpecific.call(this,t),this._grid._renderHighlightSpecific(t),t.restore())},t.prototype.dispose=function(){this.onWheelObservable.remove(this._onWheelObserver),this._onWheelObserver=null,e.prototype.dispose.call(this)},t}(a);o.a.RegisteredTypes["BABYLON.GUI.ScrollViewer"]=j;var U=function(){},G=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.onKeyPressObservable=new p.c,t.defaultButtonWidth="40px",t.defaultButtonHeight="40px",t.defaultButtonPaddingLeft="2px",t.defaultButtonPaddingRight="2px",t.defaultButtonPaddingTop="2px",t.defaultButtonPaddingBottom="2px",t.defaultButtonColor="#DDD",t.defaultButtonBackground="#070707",t.shiftButtonColor="#7799FF",t.selectedShiftThickness=1,t.shiftState=0,t._currentlyConnectedInputText=null,t._connectedInputTexts=[],t._onKeyPressObserver=null,t}return Object(i.d)(t,e),t.prototype._getTypeName=function(){return"VirtualKeyboard"},t.prototype._createKey=function(e,t){var n=this,i=u.CreateSimpleButton(e,e);return i.width=t&&t.width?t.width:this.defaultButtonWidth,i.height=t&&t.height?t.height:this.defaultButtonHeight,i.color=t&&t.color?t.color:this.defaultButtonColor,i.background=t&&t.background?t.background:this.defaultButtonBackground,i.paddingLeft=t&&t.paddingLeft?t.paddingLeft:this.defaultButtonPaddingLeft,i.paddingRight=t&&t.paddingRight?t.paddingRight:this.defaultButtonPaddingRight,i.paddingTop=t&&t.paddingTop?t.paddingTop:this.defaultButtonPaddingTop,i.paddingBottom=t&&t.paddingBottom?t.paddingBottom:this.defaultButtonPaddingBottom,i.thickness=0,i.isFocusInvisible=!0,i.shadowColor=this.shadowColor,i.shadowBlur=this.shadowBlur,i.shadowOffsetX=this.shadowOffsetX,i.shadowOffsetY=this.shadowOffsetY,i.onPointerUpObservable.add((function(){n.onKeyPressObservable.notifyObservers(e)})),i},t.prototype.addKeysRow=function(e,t){var n=new h.a;n.isVertical=!1,n.isFocusInvisible=!0;for(var i=null,r=0;ri.heightInPixels)&&(i=a),n.addControl(a)}n.height=i?i.height:this.defaultButtonHeight,this.addControl(n)},t.prototype.applyShiftState=function(e){if(this.children)for(var t=0;t1?this.selectedShiftThickness:0),a.text=e>0?a.text.toUpperCase():a.text.toLowerCase()}}}},Object.defineProperty(t.prototype,"connectedInputText",{get:function(){return this._currentlyConnectedInputText},enumerable:!0,configurable:!0}),t.prototype.connect=function(e){var t=this;if(!this._connectedInputTexts.some((function(t){return t.input===e}))){null===this._onKeyPressObserver&&(this._onKeyPressObserver=this.onKeyPressObservable.add((function(e){if(t._currentlyConnectedInputText){switch(t._currentlyConnectedInputText._host.focusedControl=t._currentlyConnectedInputText,e){case"⇧":return t.shiftState++,t.shiftState>2&&(t.shiftState=0),void t.applyShiftState(t.shiftState);case"←":return void t._currentlyConnectedInputText.processKey(8);case"↵":return void t._currentlyConnectedInputText.processKey(13)}t._currentlyConnectedInputText.processKey(-1,t.shiftState?e.toUpperCase():e),1===t.shiftState&&(t.shiftState=0,t.applyShiftState(t.shiftState))}}))),this.isVisible=!1,this._currentlyConnectedInputText=e,e._connectedVirtualKeyboard=this;var n=e.onFocusObservable.add((function(){t._currentlyConnectedInputText=e,e._connectedVirtualKeyboard=t,t.isVisible=!0})),i=e.onBlurObservable.add((function(){e._connectedVirtualKeyboard=null,t._currentlyConnectedInputText=null,t.isVisible=!1}));this._connectedInputTexts.push({input:e,onBlurObserver:i,onFocusObserver:n})}},t.prototype.disconnect=function(e){var t=this;if(e){var n=this._connectedInputTexts.filter((function(t){return t.input===e}));1===n.length&&(this._removeConnectedInputObservables(n[0]),this._connectedInputTexts=this._connectedInputTexts.filter((function(t){return t.input!==e})),this._currentlyConnectedInputText===e&&(this._currentlyConnectedInputText=null))}else this._connectedInputTexts.forEach((function(e){t._removeConnectedInputObservables(e)})),this._connectedInputTexts=[];0===this._connectedInputTexts.length&&(this._currentlyConnectedInputText=null,this.onKeyPressObservable.remove(this._onKeyPressObserver),this._onKeyPressObserver=null)},t.prototype._removeConnectedInputObservables=function(e){e.input._connectedVirtualKeyboard=null,e.input.onFocusObservable.remove(e.onFocusObserver),e.input.onBlurObservable.remove(e.onBlurObserver)},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.disconnect()},t.CreateDefaultLayout=function(e){var n=new t(e);return n.addKeysRow(["1","2","3","4","5","6","7","8","9","0","←"]),n.addKeysRow(["q","w","e","r","t","y","u","i","o","p"]),n.addKeysRow(["a","s","d","f","g","h","j","k","l",";","'","↵"]),n.addKeysRow(["⇧","z","x","c","v","b","n","m",",",".","/"]),n.addKeysRow([" "],[{width:"200px"}]),n},t}(h.a);o.a.RegisteredTypes["BABYLON.GUI.VirtualKeyboard"]=G;var H=function(e){function t(t){var n=e.call(this,t)||this;return n.name=t,n._cellWidth=20,n._cellHeight=20,n._minorLineTickness=1,n._minorLineColor="DarkGray",n._majorLineTickness=2,n._majorLineColor="White",n._majorLineFrequency=5,n._background="Black",n._displayMajorLines=!0,n._displayMinorLines=!0,n}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"displayMinorLines",{get:function(){return this._displayMinorLines},set:function(e){this._displayMinorLines!==e&&(this._displayMinorLines=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"displayMajorLines",{get:function(){return this._displayMajorLines},set:function(e){this._displayMajorLines!==e&&(this._displayMajorLines=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"background",{get:function(){return this._background},set:function(e){this._background!==e&&(this._background=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cellWidth",{get:function(){return this._cellWidth},set:function(e){this._cellWidth=e,this._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cellHeight",{get:function(){return this._cellHeight},set:function(e){this._cellHeight=e,this._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minorLineTickness",{get:function(){return this._minorLineTickness},set:function(e){this._minorLineTickness=e,this._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minorLineColor",{get:function(){return this._minorLineColor},set:function(e){this._minorLineColor=e,this._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"majorLineTickness",{get:function(){return this._majorLineTickness},set:function(e){this._majorLineTickness=e,this._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"majorLineColor",{get:function(){return this._majorLineColor},set:function(e){this._majorLineColor=e,this._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"majorLineFrequency",{get:function(){return this._majorLineFrequency},set:function(e){this._majorLineFrequency=e,this._markAsDirty()},enumerable:!0,configurable:!0}),t.prototype._draw=function(e,t){if(e.save(),this._applyStates(e),this._isEnabled){this._background&&(e.fillStyle=this._background,e.fillRect(this._currentMeasure.left,this._currentMeasure.top,this._currentMeasure.width,this._currentMeasure.height));var n=this._currentMeasure.width/this._cellWidth,i=this._currentMeasure.height/this._cellHeight,r=this._currentMeasure.left+this._currentMeasure.width/2,o=this._currentMeasure.top+this._currentMeasure.height/2;if(this._displayMinorLines){e.strokeStyle=this._minorLineColor,e.lineWidth=this._minorLineTickness;for(var a=-n/2;a0&&p>h)throw"XmlLoader Exception : In the Grid element, the number of columns is defined in the first row, do not add more columns in the subsequent rows.";if(0==u){if(!o[f].attributes.getNamedItem("width"))throw"XmlLoader Exception : Width must be defined for all the grid columns in the first row";i=Number(o[f].attributes.getNamedItem("width").nodeValue),l=!!o[f].attributes.getNamedItem("isPixel")&&JSON.parse(o[f].attributes.getNamedItem("isPixel").nodeValue),t.addColumnDefinition(i,l)}a=o[f].children;for(var _=0;_a.a.CollisionsEpsilon&&(s.position.addInPlace(s._diffPosition),s.onCollide&&n&&s.onCollide(n))},s.inputs=new c.a(s),s.inputs.addKeyboard().addMouse(),s}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"angularSensibility",{get:function(){var e=this.inputs.attached.mouse;return e?e.angularSensibility:0},set:function(e){var t=this.inputs.attached.mouse;t&&(t.angularSensibility=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysUp",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysUp:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysUp=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysDown",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysDown:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysDown=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysLeft",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysLeft:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysLeft=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"keysRight",{get:function(){var e=this.inputs.attached.keyboard;return e?e.keysRight:[]},set:function(e){var t=this.inputs.attached.keyboard;t&&(t.keysRight=e)},enumerable:!0,configurable:!0}),t.prototype.attachControl=function(e,t){this.inputs.attachElement(e,t)},t.prototype.detachControl=function(e){this.inputs.detachElement(e),this.cameraDirection=new o.e(0,0,0),this.cameraRotation=new o.d(0,0)},Object.defineProperty(t.prototype,"collisionMask",{get:function(){return this._collisionMask},set:function(e){this._collisionMask=isNaN(e)?-1:e},enumerable:!0,configurable:!0}),t.prototype._collideWithWorld=function(e){(this.parent?o.e.TransformCoordinates(this.position,this.parent.getWorldMatrix()):this.position).subtractFromFloatsToRef(0,this.ellipsoid.y,0,this._oldPosition),this._oldPosition.addInPlace(this.ellipsoidOffset);var t=this.getScene().collisionCoordinator;this._collider||(this._collider=t.createCollider()),this._collider._radius=this.ellipsoid,this._collider.collisionMask=this._collisionMask;var n=e;this.applyGravity&&(n=e.add(this.getScene().gravity)),t.getNewPosition(this._oldPosition,n,this._collider,3,null,this._onCollisionPositionChange,this.uniqueId)},t.prototype._checkInputs=function(){this._localDirection||(this._localDirection=o.e.Zero(),this._transformedDirection=o.e.Zero()),this.inputs.checkInputs(),e.prototype._checkInputs.call(this)},t.prototype._decideIfNeedsToMove=function(){return this._needMoveForGravity||Math.abs(this.cameraDirection.x)>0||Math.abs(this.cameraDirection.y)>0||Math.abs(this.cameraDirection.z)>0},t.prototype._updatePosition=function(){this.checkCollisions&&this.getScene().collisionsEnabled?this._collideWithWorld(this.cameraDirection):e.prototype._updatePosition.call(this)},t.prototype.dispose=function(){this.inputs.clear(),e.prototype.dispose.call(this)},t.prototype.getClassName=function(){return"FreeCamera"},Object(i.c)([Object(r.o)()],t.prototype,"ellipsoid",void 0),Object(i.c)([Object(r.o)()],t.prototype,"ellipsoidOffset",void 0),Object(i.c)([Object(r.c)()],t.prototype,"checkCollisions",void 0),Object(i.c)([Object(r.c)()],t.prototype,"applyGravity",void 0),t}(s.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var i=n(1),r=n(2),o=n(5),a=n(0),s=n(25),c=n(202),l=n(106),u=(n(69),function(){function e(t){this.metadata=null,this.reservedDataStore=null,this._hasAlpha=!1,this.getAlphaFromRGB=!1,this.level=1,this.coordinatesIndex=0,this._coordinatesMode=0,this.wrapU=1,this.wrapV=1,this.wrapR=1,this.anisotropicFilteringLevel=e.DEFAULT_ANISOTROPIC_FILTERING_LEVEL,this.gammaSpace=!0,this.invertZ=!1,this.lodLevelInAlpha=!1,this.isRenderTarget=!1,this.animations=new Array,this.onDisposeObservable=new o.c,this._onDisposeObserver=null,this.delayLoadState=0,this._scene=null,this._texture=null,this._uid=null,this._cachedSize=l.a.Zero(),this._scene=t||s.a.LastCreatedScene,this._scene&&(this.uniqueId=this._scene.getUniqueId(),this._scene.addTexture(this)),this._uid=null}return Object.defineProperty(e.prototype,"hasAlpha",{get:function(){return this._hasAlpha},set:function(e){this._hasAlpha!==e&&(this._hasAlpha=e,this._scene&&this._scene.markAllMaterialsAsDirty(17))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"coordinatesMode",{get:function(){return this._coordinatesMode},set:function(e){this._coordinatesMode!==e&&(this._coordinatesMode=e,this._scene&&this._scene.markAllMaterialsAsDirty(1))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isCube",{get:function(){return!!this._texture&&this._texture.isCube},set:function(e){this._texture&&(this._texture.isCube=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"is3D",{get:function(){return!!this._texture&&this._texture.is3D},set:function(e){this._texture&&(this._texture.is3D=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"is2DArray",{get:function(){return!!this._texture&&this._texture.is2DArray},set:function(e){this._texture&&(this._texture.is2DArray=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isRGBD",{get:function(){return null!=this._texture&&this._texture._isRGBD},set:function(e){this._texture&&(this._texture._isRGBD=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"noMipmap",{get:function(){return!1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"lodGenerationOffset",{get:function(){return this._texture?this._texture._lodGenerationOffset:0},set:function(e){this._texture&&(this._texture._lodGenerationOffset=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"lodGenerationScale",{get:function(){return this._texture?this._texture._lodGenerationScale:0},set:function(e){this._texture&&(this._texture._lodGenerationScale=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"linearSpecularLOD",{get:function(){return!!this._texture&&this._texture._linearSpecularLOD},set:function(e){this._texture&&(this._texture._linearSpecularLOD=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"irradianceTexture",{get:function(){return this._texture?this._texture._irradianceTexture:null},set:function(e){this._texture&&(this._texture._irradianceTexture=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"uid",{get:function(){return this._uid||(this._uid=c.a.RandomId()),this._uid},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return this.name},e.prototype.getClassName=function(){return"BaseTexture"},Object.defineProperty(e.prototype,"onDispose",{set:function(e){this._onDisposeObserver&&this.onDisposeObservable.remove(this._onDisposeObserver),this._onDisposeObserver=this.onDisposeObservable.add(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isBlocking",{get:function(){return!0},enumerable:!0,configurable:!0}),e.prototype.getScene=function(){return this._scene},e.prototype.getTextureMatrix=function(){return a.a.IdentityReadOnly},e.prototype.getReflectionTextureMatrix=function(){return a.a.IdentityReadOnly},e.prototype.getInternalTexture=function(){return this._texture},e.prototype.isReadyOrNotBlocking=function(){return!this.isBlocking||this.isReady()},e.prototype.isReady=function(){return 4===this.delayLoadState?(this.delayLoad(),!1):!!this._texture&&this._texture.isReady},e.prototype.getSize=function(){if(this._texture){if(this._texture.width)return this._cachedSize.width=this._texture.width,this._cachedSize.height=this._texture.height,this._cachedSize;if(this._texture._size)return this._cachedSize.width=this._texture._size,this._cachedSize.height=this._texture._size,this._cachedSize}return this._cachedSize},e.prototype.getBaseSize=function(){return this.isReady()&&this._texture?this._texture._size?new l.a(this._texture._size,this._texture._size):new l.a(this._texture.baseWidth,this._texture.baseHeight):l.a.Zero()},e.prototype.updateSamplingMode=function(e){if(this._texture){var t=this.getScene();t&&t.getEngine().updateTextureSamplingMode(e,this._texture)}},e.prototype.scale=function(e){},Object.defineProperty(e.prototype,"canRescale",{get:function(){return!1},enumerable:!0,configurable:!0}),e.prototype._getFromCache=function(e,t,n,i){if(!this._scene)return null;for(var r=this._scene.getEngine().getLoadedTexturesCache(),o=0;o=0&&this._scene.textures.splice(e,1),this._scene.onTextureRemovedObservable.notifyObservers(this)}void 0!==this._texture&&(this.releaseInternalTexture(),this.onDisposeObservable.notifyObservers(this),this.onDisposeObservable.clear())},e.prototype.serialize=function(){if(!this.name)return null;var e=r.a.Serialize(this);return r.a.AppendSerializedAnimations(this,e),e},e.WhenAllReady=function(e,t){var n=e.length;if(0!==n)for(var i,r,o=function(){if((i=e[a]).isReady())0==--n&&t();else if(r=i.onLoadObservable){var o=function(){r.removeCallback(o),0==--n&&t()};r.add(o)}},a=0;a1e3&&(this._lastSecAverage=this._lastSecAccumulated/this._lastSecValueCount,this._lastSecTime=e,this._lastSecAccumulated=0,this._lastSecValueCount=0)},e.Enabled=!0,e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var i=n(0),r=[new i.d(0,0),new i.d(0,0),new i.d(0,0),new i.d(0,0)],o=[new i.d(0,0),new i.d(0,0),new i.d(0,0),new i.d(0,0)],a=new i.d(0,0),s=new i.d(0,0),c=function(){function e(e,t,n,i){this.left=e,this.top=t,this.width=n,this.height=i}return e.prototype.copyFrom=function(e){this.left=e.left,this.top=e.top,this.width=e.width,this.height=e.height},e.prototype.copyFromFloats=function(e,t,n,i){this.left=e,this.top=t,this.width=n,this.height=i},e.CombineToRef=function(e,t,n){var i=Math.min(e.left,t.left),r=Math.min(e.top,t.top),o=Math.max(e.left+e.width,t.left+t.width),a=Math.max(e.top+e.height,t.top+t.height);n.left=i,n.top=r,n.width=o-i,n.height=a-r},e.prototype.transformToRef=function(e,t){r[0].copyFromFloats(this.left,this.top),r[1].copyFromFloats(this.left+this.width,this.top),r[2].copyFromFloats(this.left+this.width,this.top+this.height),r[3].copyFromFloats(this.left,this.top+this.height),a.copyFromFloats(Number.MAX_VALUE,Number.MAX_VALUE),s.copyFromFloats(0,0);for(var n=0;n<4;n++)e.transformCoordinates(r[n].x,r[n].y,o[n]),a.x=Math.floor(Math.min(a.x,o[n].x)),a.y=Math.floor(Math.min(a.y,o[n].y)),s.x=Math.ceil(Math.max(s.x,o[n].x)),s.y=Math.ceil(Math.max(s.y,o[n].y));t.left=a.x,t.top=a.y,t.width=s.x-a.x,t.height=s.y-a.y},e.prototype.isEqualsTo=function(e){return this.left===e.left&&(this.top===e.top&&(this.width===e.width&&this.height===e.height))},e.Empty=function(){return new e(0,0,0,0)},e}()},function(e,t,n){"use strict";var i="bonesDeclaration",r="#if NUM_BONE_INFLUENCERS>0\n#ifdef BONETEXTURE\nuniform sampler2D boneSampler;\nuniform float boneTextureWidth;\n#else\nuniform mat4 mBones[BonesPerMesh];\n#endif\nattribute vec4 matricesIndices;\nattribute vec4 matricesWeights;\n#if NUM_BONE_INFLUENCERS>4\nattribute vec4 matricesIndicesExtra;\nattribute vec4 matricesWeightsExtra;\n#endif\n#ifdef BONETEXTURE\nmat4 readMatrixFromRawSampler(sampler2D smp,float index)\n{\nfloat offset=index*4.0;\nfloat dx=1.0/boneTextureWidth;\nvec4 m0=texture2D(smp,vec2(dx*(offset+0.5),0.));\nvec4 m1=texture2D(smp,vec2(dx*(offset+1.5),0.));\nvec4 m2=texture2D(smp,vec2(dx*(offset+2.5),0.));\nvec4 m3=texture2D(smp,vec2(dx*(offset+3.5),0.));\nreturn mat4(m0,m1,m2,m3);\n}\n#endif\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";var i="instancesDeclaration",r="#ifdef INSTANCES\nattribute vec4 world0;\nattribute vec4 world1;\nattribute vec4 world2;\nattribute vec4 world3;\n#else\nuniform mat4 world;\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";var i="instancesVertex",r="#ifdef INSTANCES\nmat4 finalWorld=mat4(world0,world1,world2,world3);\n#else\nmat4 finalWorld=world;\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";var i="bonesVertex",r="#if NUM_BONE_INFLUENCERS>0\nmat4 influence;\n#ifdef BONETEXTURE\ninfluence=readMatrixFromRawSampler(boneSampler,matricesIndices[0])*matricesWeights[0];\n#if NUM_BONE_INFLUENCERS>1\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[1])*matricesWeights[1];\n#endif\n#if NUM_BONE_INFLUENCERS>2\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[2])*matricesWeights[2];\n#endif\n#if NUM_BONE_INFLUENCERS>3\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[3])*matricesWeights[3];\n#endif\n#if NUM_BONE_INFLUENCERS>4\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[0])*matricesWeightsExtra[0];\n#endif\n#if NUM_BONE_INFLUENCERS>5\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[1])*matricesWeightsExtra[1];\n#endif\n#if NUM_BONE_INFLUENCERS>6\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[2])*matricesWeightsExtra[2];\n#endif\n#if NUM_BONE_INFLUENCERS>7\ninfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[3])*matricesWeightsExtra[3];\n#endif\n#else\ninfluence=mBones[int(matricesIndices[0])]*matricesWeights[0];\n#if NUM_BONE_INFLUENCERS>1\ninfluence+=mBones[int(matricesIndices[1])]*matricesWeights[1];\n#endif\n#if NUM_BONE_INFLUENCERS>2\ninfluence+=mBones[int(matricesIndices[2])]*matricesWeights[2];\n#endif\n#if NUM_BONE_INFLUENCERS>3\ninfluence+=mBones[int(matricesIndices[3])]*matricesWeights[3];\n#endif\n#if NUM_BONE_INFLUENCERS>4\ninfluence+=mBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\n#endif\n#if NUM_BONE_INFLUENCERS>5\ninfluence+=mBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\n#endif\n#if NUM_BONE_INFLUENCERS>6\ninfluence+=mBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\n#endif\n#if NUM_BONE_INFLUENCERS>7\ninfluence+=mBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\n#endif\n#endif\nfinalWorld=finalWorld*influence;\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";n.d(t,"b",(function(){return d})),n.d(t,"d",(function(){return f})),n.d(t,"c",(function(){return _})),n.d(t,"a",(function(){return m}));var i=n(1),r=n(95),o=n(52),a=n(5),s=n(116),c=n(178),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(i.d)(t,e),t._setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t}(Error),u=n(49),p=n(36),h=n(170),d=function(e){function t(n,i){var o=e.call(this,n)||this;return o.name="LoadFileError",l._setPrototypeOf(o,t.prototype),i instanceof r.a?o.request=i:o.file=i,o}return Object(i.d)(t,e),t}(l),f=function(e){function t(n,i){var r=e.call(this,n)||this;return r.request=i,r.name="RequestFileError",l._setPrototypeOf(r,t.prototype),r}return Object(i.d)(t,e),t}(l),_=function(e){function t(n,i){var r=e.call(this,n)||this;return r.file=i,r.name="ReadFileError",l._setPrototypeOf(r,t.prototype),r}return Object(i.d)(t,e),t}(l),m=function(){function e(){}return e._CleanUrl=function(e){return e=e.replace(/#/gm,"%23")},e.SetCorsBehavior=function(t,n){if((!t||0!==t.indexOf("data:"))&&e.CorsBehavior)if("string"==typeof e.CorsBehavior||this.CorsBehavior instanceof String)n.crossOrigin=e.CorsBehavior;else{var i=e.CorsBehavior(t);i&&(n.crossOrigin=i)}},e.LoadImage=function(t,n,i,r,o){var a;void 0===o&&(o="");var c=!1;if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)?"undefined"!=typeof Blob?(a=URL.createObjectURL(new Blob([t],{type:o})),c=!0):a="data:"+o+";base64,"+u.a.EncodeArrayBufferToBase64(t):t instanceof Blob?(a=URL.createObjectURL(t),c=!0):(a=e._CleanUrl(t),a=e.PreprocessUrl(t)),"undefined"==typeof Image)return e.LoadFile(a,(function(e){createImageBitmap(new Blob([e],{type:o})).then((function(e){n(e),c&&URL.revokeObjectURL(a)})).catch((function(e){i&&i("Error while trying to load image: "+t,e)}))}),void 0,r||void 0,!0,(function(e,n){i&&i("Error while trying to load image: "+t,n)})),null;var l=new Image;e.SetCorsBehavior(a,l);var p=function(){l.removeEventListener("load",p),l.removeEventListener("error",h),n(l),c&&l.src&&URL.revokeObjectURL(l.src)},h=function(e){l.removeEventListener("load",p),l.removeEventListener("error",h),i&&i("Error while trying to load image: "+t,e),c&&l.src&&URL.revokeObjectURL(l.src)};l.addEventListener("load",p),l.addEventListener("error",h);var d=function(){l.src=a};if("data:"!==a.substr(0,5)&&r&&r.enableTexturesOffline)r.open((function(){r&&r.loadImage(a,l)}),d);else{if(-1!==a.indexOf("file:")){var f=decodeURIComponent(a.substring(5).toLowerCase());if(s.a.FilesToLoad[f]){try{var _;try{_=URL.createObjectURL(s.a.FilesToLoad[f])}catch(e){_=URL.createObjectURL(s.a.FilesToLoad[f])}l.src=_,c=!0}catch(e){l.src=""}return l}}d()}return l},e.ReadFile=function(e,t,n,i,r){var o=new FileReader,s={onCompleteObservable:new a.c,abort:function(){return o.abort()}};return o.onloadend=function(e){return s.onCompleteObservable.notifyObservers(s)},r&&(o.onerror=function(t){r(new _("Unable to read "+e.name,e))}),o.onload=function(e){t(e.target.result)},n&&(o.onprogress=n),i?o.readAsArrayBuffer(e):o.readAsText(e),s},e.LoadFile=function(t,n,i,r,o,a){if(-1!==t.indexOf("file:")){var c=decodeURIComponent(t.substring(5).toLowerCase());0===c.indexOf("./")&&(c=c.substring(2));var l=s.a.FilesToLoad[c];if(l)return e.ReadFile(l,n,i,o,a?function(e){return a(void 0,new d(e.message,e.file))}:void 0)}return e.RequestFile(t,(function(e,t){n(e,t?t.responseURL:void 0)}),i,r,o,a?function(e){a(e.request,new d(e.message,e.request))}:void 0)},e.RequestFile=function(t,n,i,s,c,l,u){t=e._CleanUrl(t),t=e.PreprocessUrl(t);var p=e.BaseUrl+t,h=!1,d={onCompleteObservable:new a.c,abort:function(){return h=!0}},_=function(){var t=new r.a,a=null;d.abort=function(){h=!0,t.readyState!==(XMLHttpRequest.DONE||4)&&t.abort(),null!==a&&(clearTimeout(a),a=null)};var s=function(_){t.open("GET",p),u&&u(t),c&&(t.responseType="arraybuffer"),i&&t.addEventListener("progress",i);var m=function(){t.removeEventListener("loadend",m),d.onCompleteObservable.notifyObservers(d),d.onCompleteObservable.clear()};t.addEventListener("loadend",m);var b=function(){if(!h&&t.readyState===(XMLHttpRequest.DONE||4)){if(t.removeEventListener("readystatechange",b),t.status>=200&&t.status<300||0===t.status&&(!o.a.IsWindowObjectExist()||e.IsFileURL()))return void n(c?t.response:t.responseText,t);var i=e.DefaultRetryStrategy;if(i){var u=i(p,t,_);if(-1!==u)return t.removeEventListener("loadend",m),t=new r.a,void(a=setTimeout((function(){return s(_+1)}),u))}var d=new f("Error status: "+t.status+" "+t.statusText+" - Unable to load "+p,t);l&&l(d)}};t.addEventListener("readystatechange",b),t.send()};s(0)};if(s&&s.enableSceneOffline){var m=function(e){e&&e.status>400?l&&l(e):_()};s.open((function(){s&&s.loadFile(e.BaseUrl+t,(function(e){h||n(e),d.onCompleteObservable.notifyObservers(d)}),i?function(e){h||i(e)}:void 0,m,c)}),m)}else _();return d},e.IsFileURL=function(){return"file:"===location.protocol},e.DefaultRetryStrategy=c.a.ExponentialBackoff(),e.BaseUrl="",e.CorsBehavior="anonymous",e.PreprocessUrl=function(e){return e},e}();p.a._FileToolsLoadImage=m.LoadImage.bind(m),p.a._FileToolsLoadFile=m.LoadFile.bind(m),h.a._FileToolsLoadFile=m.LoadFile.bind(m)},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var i=n(1),r=n(10),o=n(7),a=(n(212),n(109)),s=function(e){function t(t,n,i,r,s,c){void 0===i&&(i=null),void 0===s&&(s=3),void 0===c&&(c=5);var l=e.call(this,null,i,!r,void 0,s,void 0,void 0,void 0,void 0,c)||this;l.name=t,l._engine=l.getScene().getEngine(),l.wrapU=o.a.CLAMP_ADDRESSMODE,l.wrapV=o.a.CLAMP_ADDRESSMODE,l._generateMipMaps=r,n.getContext?(l._canvas=n,l._texture=l._engine.createDynamicTexture(n.width,n.height,r,s)):(l._canvas=a.a.CreateCanvas(1,1),n.width||0===n.width?l._texture=l._engine.createDynamicTexture(n.width,n.height,r,s):l._texture=l._engine.createDynamicTexture(n,n,r,s));var u=l.getSize();return l._canvas.width=u.width,l._canvas.height=u.height,l._context=l._canvas.getContext("2d"),l}return Object(i.d)(t,e),t.prototype.getClassName=function(){return"DynamicTexture"},Object.defineProperty(t.prototype,"canRescale",{get:function(){return!0},enumerable:!0,configurable:!0}),t.prototype._recreate=function(e){this._canvas.width=e.width,this._canvas.height=e.height,this.releaseInternalTexture(),this._texture=this._engine.createDynamicTexture(e.width,e.height,this._generateMipMaps,this.samplingMode)},t.prototype.scale=function(e){var t=this.getSize();t.width*=e,t.height*=e,this._recreate(t)},t.prototype.scaleTo=function(e,t){var n=this.getSize();n.width=e,n.height=t,this._recreate(n)},t.prototype.getContext=function(){return this._context},t.prototype.clear=function(){var e=this.getSize();this._context.fillRect(0,0,e.width,e.height)},t.prototype.update=function(e,t){void 0===t&&(t=!1),this._engine.updateDynamicTexture(this._texture,this._canvas,void 0===e||e,t,this._format||void 0)},t.prototype.drawText=function(e,t,n,i,r,o,a,s){void 0===s&&(s=!0);var c=this.getSize();if(o&&(this._context.fillStyle=o,this._context.fillRect(0,0,c.width,c.height)),this._context.font=i,null==t){var l=this._context.measureText(e);t=(c.width-l.width)/2}if(null==n){var u=parseInt(i.replace(/\D/g,""));n=c.height/2+u/3.65}this._context.fillStyle=r,this._context.fillText(e,t,n),s&&this.update(a)},t.prototype.clone=function(){var e=this.getScene();if(!e)return this;var n=this.getSize(),i=new t(this.name,n,e,this._generateMipMaps);return i.hasAlpha=this.hasAlpha,i.level=this.level,i.wrapU=this.wrapU,i.wrapV=this.wrapV,i},t.prototype.serialize=function(){var t=this.getScene();t&&!t.isReady()&&r.a.Warn("The scene must be ready before serializing the dynamic texture");var n=e.prototype.serialize.call(this);return this._canvas.toDataURL&&(n.base64String=this._canvas.toDataURL()),n.invertY=this._invertY,n.samplingMode=this.samplingMode,n},t.prototype._rebuild=function(){this.update()},t}(o.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var i=n(52),r=function(){function e(){}return Object.defineProperty(e,"Now",{get:function(){return i.a.IsWindowObjectExist()&&window.performance&&window.performance.now?window.performance.now():Date.now()},enumerable:!0,configurable:!0}),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(e,t,n,i){this.x=e,this.y=t,this.width=n,this.height=i}return e.prototype.toGlobal=function(t,n){return new e(this.x*t,this.y*n,this.width*t,this.height*n)},e.prototype.toGlobalToRef=function(e,t,n){return n.x=this.x*e,n.y=this.y*t,n.width=this.width*e,n.height=this.height*t,this},e.prototype.clone=function(){return new e(this.x,this.y,this.width,this.height)},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return l}));var i=n(1),r=n(3),o=n(151),a=n(58),s=n(159),c=function(){function e(){this._materialDefines=null,this._materialEffect=null}return Object.defineProperty(e.prototype,"materialDefines",{get:function(){return this._materialDefines},set:function(e){this._materialDefines=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"effect",{get:function(){return this._materialEffect},enumerable:!0,configurable:!0}),e.prototype.setEffect=function(e,t){void 0===t&&(t=null),this._materialEffect!==e?(this._materialDefines=t,this._materialEffect=e):e||(this._materialDefines=null)},e}(),l=function(e){function t(t,n,i,r,o,a,s,c){void 0===c&&(c=!0);var l=e.call(this)||this;return l.materialIndex=t,l.verticesStart=n,l.verticesCount=i,l.indexStart=r,l.indexCount=o,l._linesIndexCount=0,l._linesIndexBuffer=null,l._lastColliderWorldVertices=null,l._lastColliderTransformMatrix=null,l._renderId=0,l._alphaIndex=0,l._distanceToCamera=0,l._currentMaterial=null,l._mesh=a,l._renderingMesh=s||a,a.subMeshes.push(l),l._trianglePlanes=[],l._id=a.subMeshes.length-1,c&&(l.refreshBoundingInfo(),a.computeWorldMatrix(!0)),l}return Object(i.d)(t,e),t.AddToMesh=function(e,n,i,r,o,a,s,c){return void 0===c&&(c=!0),new t(e,n,i,r,o,a,s,c)},Object.defineProperty(t.prototype,"IsGlobal",{get:function(){return 0===this.verticesStart&&this.verticesCount===this._mesh.getTotalVertices()},enumerable:!0,configurable:!0}),t.prototype.getBoundingInfo=function(){return this.IsGlobal?this._mesh.getBoundingInfo():this._boundingInfo},t.prototype.setBoundingInfo=function(e){return this._boundingInfo=e,this},t.prototype.getMesh=function(){return this._mesh},t.prototype.getRenderingMesh=function(){return this._renderingMesh},t.prototype.getMaterial=function(){var e=this._renderingMesh.material;if(null==e)return this._mesh.getScene().defaultMaterial;if(e.getSubMaterial){var t=e.getSubMaterial(this.materialIndex);return this._currentMaterial!==t&&(this._currentMaterial=t,this._materialDefines=null),t}return e},t.prototype.refreshBoundingInfo=function(e){if(void 0===e&&(e=null),this._lastColliderWorldVertices=null,this.IsGlobal||!this._renderingMesh||!this._renderingMesh.geometry)return this;if(e||(e=this._renderingMesh.getVerticesData(r.b.PositionKind)),!e)return this._boundingInfo=this._mesh.getBoundingInfo(),this;var t,n=this._renderingMesh.getIndices();if(0===this.indexStart&&this.indexCount===n.length){var i=this._renderingMesh.getBoundingInfo();t={minimum:i.minimum.clone(),maximum:i.maximum.clone()}}else t=Object(s.b)(e,n,this.indexStart,this.indexCount,this._renderingMesh.geometry.boundingBias);return this._boundingInfo?this._boundingInfo.reConstruct(t.minimum,t.maximum):this._boundingInfo=new a.a(t.minimum,t.maximum),this},t.prototype._checkCollision=function(e){return this.getBoundingInfo()._checkCollision(e)},t.prototype.updateBoundingInfo=function(e){var t=this.getBoundingInfo();return t||(this.refreshBoundingInfo(),t=this.getBoundingInfo()),t&&t.update(e),this},t.prototype.isInFrustum=function(e){var t=this.getBoundingInfo();return!!t&&t.isInFrustum(e,this._mesh.cullingStrategy)},t.prototype.isCompletelyInFrustum=function(e){var t=this.getBoundingInfo();return!!t&&t.isCompletelyInFrustum(e)},t.prototype.render=function(e){return this._renderingMesh.render(this,e,this._mesh._internalAbstractMeshDataInfo._actAsRegularMesh?this._mesh:void 0),this},t.prototype._getLinesIndexBuffer=function(e,t){if(!this._linesIndexBuffer){for(var n=[],i=this.indexStart;is&&(s=u)}return new t(e,a,s-a+1,n,i,r,o)},t}(c)},function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return l}));var i,r=n(1),o=n(5),a=n(34),s=n(22),c=n(13);!function(e){e[e.Clip=0]="Clip",e[e.WordWrap=1]="WordWrap",e[e.Ellipsis=2]="Ellipsis"}(i||(i={}));var l=function(e){function t(t,n){void 0===n&&(n="");var r=e.call(this,t)||this;return r.name=t,r._text="",r._textWrapping=i.Clip,r._textHorizontalAlignment=s.a.HORIZONTAL_ALIGNMENT_CENTER,r._textVerticalAlignment=s.a.VERTICAL_ALIGNMENT_CENTER,r._resizeToFit=!1,r._lineSpacing=new a.a(0),r._outlineWidth=0,r._outlineColor="white",r.onTextChangedObservable=new o.c,r.onLinesReadyObservable=new o.c,r.text=n,r}return Object(r.d)(t,e),Object.defineProperty(t.prototype,"lines",{get:function(){return this._lines},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"resizeToFit",{get:function(){return this._resizeToFit},set:function(e){this._resizeToFit!==e&&(this._resizeToFit=e,this._resizeToFit&&(this._width.ignoreAdaptiveScaling=!0,this._height.ignoreAdaptiveScaling=!0),this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"textWrapping",{get:function(){return this._textWrapping},set:function(e){this._textWrapping!==e&&(this._textWrapping=+e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"text",{get:function(){return this._text},set:function(e){this._text!==e&&(this._text=e,this._markAsDirty(),this.onTextChangedObservable.notifyObservers(this))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"textHorizontalAlignment",{get:function(){return this._textHorizontalAlignment},set:function(e){this._textHorizontalAlignment!==e&&(this._textHorizontalAlignment=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"textVerticalAlignment",{get:function(){return this._textVerticalAlignment},set:function(e){this._textVerticalAlignment!==e&&(this._textVerticalAlignment=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"lineSpacing",{get:function(){return this._lineSpacing.toString(this._host)},set:function(e){this._lineSpacing.fromString(e)&&this._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"outlineWidth",{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"outlineColor",{get:function(){return this._outlineColor},set:function(e){this._outlineColor!==e&&(this._outlineColor=e,this._markAsDirty())},enumerable:!0,configurable:!0}),t.prototype._getTypeName=function(){return"TextBlock"},t.prototype._processMeasures=function(t,n){this._fontOffset||(this._fontOffset=s.a._GetFontOffset(n.font)),e.prototype._processMeasures.call(this,t,n),this._lines=this._breakLines(this._currentMeasure.width,n),this.onLinesReadyObservable.notifyObservers(this);for(var r=0,o=0;or&&(r=c.width)}if(this._resizeToFit){if(this._textWrapping===i.Clip){var l=this.paddingLeftInPixels+this.paddingRightInPixels+r;l!==this._width.internalValue&&(this._width.updateInPlace(l,a.a.UNITMODE_PIXEL),this._rebuildLayout=!0)}var u=this.paddingTopInPixels+this.paddingBottomInPixels+this._fontOffset.height*this._lines.length;if(this._lines.length>0&&0!==this._lineSpacing.internalValue){var p=0;p=this._lineSpacing.isPixel?this._lineSpacing.getValue(this._host):this._lineSpacing.getValue(this._host)*this._height.getValueInPixel(this._host,this._cachedParentMeasure.height),u+=(this._lines.length-1)*p}u!==this._height.internalValue&&(this._height.updateInPlace(u,a.a.UNITMODE_PIXEL),this._rebuildLayout=!0)}},t.prototype._drawText=function(e,t,n,i){var r=this._currentMeasure.width,o=0;switch(this._textHorizontalAlignment){case s.a.HORIZONTAL_ALIGNMENT_LEFT:o=0;break;case s.a.HORIZONTAL_ALIGNMENT_RIGHT:o=r-t;break;case s.a.HORIZONTAL_ALIGNMENT_CENTER:o=(r-t)/2}(this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(i.shadowColor=this.shadowColor,i.shadowBlur=this.shadowBlur,i.shadowOffsetX=this.shadowOffsetX,i.shadowOffsetY=this.shadowOffsetY),this.outlineWidth&&i.strokeText(e,this._currentMeasure.left+o,n),i.fillText(e,this._currentMeasure.left+o,n)},t.prototype._draw=function(e,t){e.save(),this._applyStates(e),this._renderLines(e),e.restore()},t.prototype._applyStates=function(t){e.prototype._applyStates.call(this,t),this.outlineWidth&&(t.lineWidth=this.outlineWidth,t.strokeStyle=this.outlineColor)},t.prototype._breakLines=function(e,t){var n=[],r=this.text.split("\n");if(this._textWrapping===i.Ellipsis)for(var o=0,a=r;ot&&(e+="…");e.length>2&&i>t;)e=e.slice(0,-2)+"…",i=n.measureText(e).width;return{text:e,width:i}},t.prototype._parseLineWordWrap=function(e,t,n){void 0===e&&(e="");for(var i=[],r=e.split(" "),o=0,a=0;a0?e+" "+r[a]:r[0],c=n.measureText(s).width;c>t&&a>0?(i.push({text:e,width:o}),e=r[a],o=n.measureText(e).width):(o=c,e=s)}return i.push({text:e,width:o}),i},t.prototype._renderLines=function(e){var t=this._currentMeasure.height,n=0;switch(this._textVerticalAlignment){case s.a.VERTICAL_ALIGNMENT_TOP:n=this._fontOffset.ascent;break;case s.a.VERTICAL_ALIGNMENT_BOTTOM:n=t-this._fontOffset.height*(this._lines.length-1)-this._fontOffset.descent;break;case s.a.VERTICAL_ALIGNMENT_CENTER:n=this._fontOffset.ascent+(t-this._fontOffset.height*this._lines.length)/2}n+=this._currentMeasure.top;for(var i=0;i0&&0!==this._lineSpacing.internalValue){var i=0;i=this._lineSpacing.isPixel?this._lineSpacing.getValue(this._host):this._lineSpacing.getValue(this._host)*this._height.getValueInPixel(this._host,this._cachedParentMeasure.height),n+=(t.length-1)*i}return n}}return 0},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.onTextChangedObservable.clear()},t}(s.a);c.a.RegisteredTypes["BABYLON.GUI.TextBlock"]=l},function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var i=n(0),r=n(4),o=n(16),a=n(3),s=n(73),c=n(101),l=n(58),u=n(12),p=n(43),h=n(159),d=function(){function e(e,t,n,i,r){void 0===i&&(i=!1),void 0===r&&(r=null),this.delayLoadState=0,this._totalVertices=0,this._isDisposed=!1,this._indexBufferIsUpdatable=!1,this.id=e,this.uniqueId=t.getUniqueId(),this._engine=t.getEngine(),this._meshes=[],this._scene=t,this._vertexBuffers={},this._indices=[],this._updatable=i,n?this.setAllVerticesData(n,i):(this._totalVertices=0,this._indices=[]),this._engine.getCaps().vertexArrayObject&&(this._vertexArrayObjects={}),r&&(this.applyToMesh(r),r.computeWorldMatrix(!0))}return Object.defineProperty(e.prototype,"boundingBias",{get:function(){return this._boundingBias},set:function(e){this._boundingBias?this._boundingBias.copyFrom(e):this._boundingBias=e.clone(),this._updateBoundingInfo(!0,null)},enumerable:!0,configurable:!0}),e.CreateGeometryForMesh=function(t){var n=new e(e.RandomId(),t.getScene());return n.applyToMesh(t),n},Object.defineProperty(e.prototype,"extend",{get:function(){return this._extend},enumerable:!0,configurable:!0}),e.prototype.getScene=function(){return this._scene},e.prototype.getEngine=function(){return this._engine},e.prototype.isReady=function(){return 1===this.delayLoadState||0===this.delayLoadState},Object.defineProperty(e.prototype,"doNotSerialize",{get:function(){for(var e=0;e0&&(this._indexBuffer=this._engine.createIndexBuffer(this._indices)),this._indexBuffer&&(this._indexBuffer.references=t),e._syncGeometryWithMorphTargetManager(),e.synchronizeInstances()},e.prototype.notifyUpdate=function(e){this.onGeometryUpdated&&this.onGeometryUpdated(this,e);for(var t=0,n=this._meshes;t0){for(var t=0;t0){for(t=0;t0){for(t=0;t0){var u=new Float32Array(t,l.positionsAttrDesc.offset,l.positionsAttrDesc.count);n.setVerticesData(a.b.PositionKind,u,!1)}if(l.normalsAttrDesc&&l.normalsAttrDesc.count>0){var p=new Float32Array(t,l.normalsAttrDesc.offset,l.normalsAttrDesc.count);n.setVerticesData(a.b.NormalKind,p,!1)}if(l.tangetsAttrDesc&&l.tangetsAttrDesc.count>0){var h=new Float32Array(t,l.tangetsAttrDesc.offset,l.tangetsAttrDesc.count);n.setVerticesData(a.b.TangentKind,h,!1)}if(l.uvsAttrDesc&&l.uvsAttrDesc.count>0){var d=new Float32Array(t,l.uvsAttrDesc.offset,l.uvsAttrDesc.count);n.setVerticesData(a.b.UVKind,d,!1)}if(l.uvs2AttrDesc&&l.uvs2AttrDesc.count>0){var f=new Float32Array(t,l.uvs2AttrDesc.offset,l.uvs2AttrDesc.count);n.setVerticesData(a.b.UV2Kind,f,!1)}if(l.uvs3AttrDesc&&l.uvs3AttrDesc.count>0){var _=new Float32Array(t,l.uvs3AttrDesc.offset,l.uvs3AttrDesc.count);n.setVerticesData(a.b.UV3Kind,_,!1)}if(l.uvs4AttrDesc&&l.uvs4AttrDesc.count>0){var m=new Float32Array(t,l.uvs4AttrDesc.offset,l.uvs4AttrDesc.count);n.setVerticesData(a.b.UV4Kind,m,!1)}if(l.uvs5AttrDesc&&l.uvs5AttrDesc.count>0){var b=new Float32Array(t,l.uvs5AttrDesc.offset,l.uvs5AttrDesc.count);n.setVerticesData(a.b.UV5Kind,b,!1)}if(l.uvs6AttrDesc&&l.uvs6AttrDesc.count>0){var g=new Float32Array(t,l.uvs6AttrDesc.offset,l.uvs6AttrDesc.count);n.setVerticesData(a.b.UV6Kind,g,!1)}if(l.colorsAttrDesc&&l.colorsAttrDesc.count>0){var v=new Float32Array(t,l.colorsAttrDesc.offset,l.colorsAttrDesc.count);n.setVerticesData(a.b.ColorKind,v,!1,l.colorsAttrDesc.stride)}if(l.matricesIndicesAttrDesc&&l.matricesIndicesAttrDesc.count>0){for(var y=new Int32Array(t,l.matricesIndicesAttrDesc.offset,l.matricesIndicesAttrDesc.count),C=[],A=0;A>8),C.push((16711680&x)>>16),C.push(x>>24)}n.setVerticesData(a.b.MatricesIndicesKind,C,!1)}if(l.matricesWeightsAttrDesc&&l.matricesWeightsAttrDesc.count>0){var S=new Float32Array(t,l.matricesWeightsAttrDesc.offset,l.matricesWeightsAttrDesc.count);n.setVerticesData(a.b.MatricesWeightsKind,S,!1)}if(l.indicesAttrDesc&&l.indicesAttrDesc.count>0){var T=new Int32Array(t,l.indicesAttrDesc.offset,l.indicesAttrDesc.count);n.setIndices(T,null)}if(l.subMeshesAttrDesc&&l.subMeshesAttrDesc.count>0){var E=new Int32Array(t,l.subMeshesAttrDesc.offset,5*l.subMeshesAttrDesc.count);n.subMeshes=[];for(A=0;A>8),C.push((16711680&w)>>16),C.push(w>>24)}n.setVerticesData(a.b.MatricesIndicesKind,C,t.matricesIndices._updatable)}if(t.matricesIndicesExtra)if(t.matricesIndicesExtra._isExpanded)delete t.matricesIndices._isExpanded,n.setVerticesData(a.b.MatricesIndicesExtraKind,t.matricesIndicesExtra,t.matricesIndicesExtra._updatable);else{for(C=[],A=0;A>8),C.push((16711680&w)>>16),C.push(w>>24)}n.setVerticesData(a.b.MatricesIndicesExtraKind,C,t.matricesIndicesExtra._updatable)}t.matricesWeights&&(e._CleanMatricesWeights(t,n),n.setVerticesData(a.b.MatricesWeightsKind,t.matricesWeights,t.matricesWeights._updatable)),t.matricesWeightsExtra&&n.setVerticesData(a.b.MatricesWeightsExtraKind,t.matricesWeightsExtra,t.matricesWeights._updatable),n.setIndices(t.indices,null)}if(t.subMeshes){n.subMeshes=[];for(var D=0;D-1){var r=t.getScene().getLastSkeletonByID(e.skeletonId);if(r){i=r.bones.length;for(var o=t.getVerticesData(a.b.MatricesIndicesKind),s=t.getVerticesData(a.b.MatricesIndicesExtraKind),l=e.matricesWeights,u=e.matricesWeightsExtra,p=e.numBoneInfluencer,h=l.length,d=0;dp-1)&&(_=p-1),f>n){var g=1/f;for(m=0;m<4;m++)l[d+m]*=g;if(u)for(m=0;m<4;m++)u[d+m]*=g}else _>=4?(u[d+_-4]=1-f,s[d+_-4]=i):(l[d+_]=1-f,o[d+_]=i)}t.setVerticesData(a.b.MatricesIndicesKind,o),e.matricesWeightsExtra&&t.setVerticesData(a.b.MatricesIndicesExtraKind,s)}}}},e.Parse=function(t,n,r){if(n.getGeometryByID(t.id))return null;var s=new e(t.id,n,void 0,t.updatable);return p.a&&p.a.AddTagsTo(s,t.tags),t.delayLoadingFile?(s.delayLoadState=4,s.delayLoadingFile=r+t.delayLoadingFile,s._boundingInfo=new l.a(i.e.FromArray(t.boundingBoxMinimum),i.e.FromArray(t.boundingBoxMaximum)),s._delayInfo=[],t.hasUVs&&s._delayInfo.push(a.b.UVKind),t.hasUVs2&&s._delayInfo.push(a.b.UV2Kind),t.hasUVs3&&s._delayInfo.push(a.b.UV3Kind),t.hasUVs4&&s._delayInfo.push(a.b.UV4Kind),t.hasUVs5&&s._delayInfo.push(a.b.UV5Kind),t.hasUVs6&&s._delayInfo.push(a.b.UV6Kind),t.hasColors&&s._delayInfo.push(a.b.ColorKind),t.hasMatricesIndices&&s._delayInfo.push(a.b.MatricesIndicesKind),t.hasMatricesWeights&&s._delayInfo.push(a.b.MatricesWeightsKind),s._delayLoadingFunction=o.a.ImportVertexData):o.a.ImportVertexData(t,s),n.pushGeometry(s,!0),s},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){}return e.ALPHA_DISABLE=0,e.ALPHA_ADD=1,e.ALPHA_COMBINE=2,e.ALPHA_SUBTRACT=3,e.ALPHA_MULTIPLY=4,e.ALPHA_MAXIMIZED=5,e.ALPHA_ONEONE=6,e.ALPHA_PREMULTIPLIED=7,e.ALPHA_PREMULTIPLIED_PORTERDUFF=8,e.ALPHA_INTERPOLATE=9,e.ALPHA_SCREENMODE=10,e.ALPHA_ONEONE_ONEONE=11,e.ALPHA_ALPHATOCOLOR=12,e.ALPHA_REVERSEONEMINUS=13,e.ALPHA_SRC_DSTONEMINUSSRCALPHA=14,e.ALPHA_ONEONE_ONEZERO=15,e.ALPHA_EXCLUSION=16,e.ALPHA_EQUATION_ADD=0,e.ALPHA_EQUATION_SUBSTRACT=1,e.ALPHA_EQUATION_REVERSE_SUBTRACT=2,e.ALPHA_EQUATION_MAX=3,e.ALPHA_EQUATION_MIN=4,e.ALPHA_EQUATION_DARKEN=5,e.DELAYLOADSTATE_NONE=0,e.DELAYLOADSTATE_LOADED=1,e.DELAYLOADSTATE_LOADING=2,e.DELAYLOADSTATE_NOTLOADED=4,e.NEVER=512,e.ALWAYS=519,e.LESS=513,e.EQUAL=514,e.LEQUAL=515,e.GREATER=516,e.GEQUAL=518,e.NOTEQUAL=517,e.KEEP=7680,e.REPLACE=7681,e.INCR=7682,e.DECR=7683,e.INVERT=5386,e.INCR_WRAP=34055,e.DECR_WRAP=34056,e.TEXTURE_CLAMP_ADDRESSMODE=0,e.TEXTURE_WRAP_ADDRESSMODE=1,e.TEXTURE_MIRROR_ADDRESSMODE=2,e.TEXTUREFORMAT_ALPHA=0,e.TEXTUREFORMAT_LUMINANCE=1,e.TEXTUREFORMAT_LUMINANCE_ALPHA=2,e.TEXTUREFORMAT_RGB=4,e.TEXTUREFORMAT_RGBA=5,e.TEXTUREFORMAT_RED=6,e.TEXTUREFORMAT_R=6,e.TEXTUREFORMAT_RG=7,e.TEXTUREFORMAT_RED_INTEGER=8,e.TEXTUREFORMAT_R_INTEGER=8,e.TEXTUREFORMAT_RG_INTEGER=9,e.TEXTUREFORMAT_RGB_INTEGER=10,e.TEXTUREFORMAT_RGBA_INTEGER=11,e.TEXTURETYPE_UNSIGNED_BYTE=0,e.TEXTURETYPE_UNSIGNED_INT=0,e.TEXTURETYPE_FLOAT=1,e.TEXTURETYPE_HALF_FLOAT=2,e.TEXTURETYPE_BYTE=3,e.TEXTURETYPE_SHORT=4,e.TEXTURETYPE_UNSIGNED_SHORT=5,e.TEXTURETYPE_INT=6,e.TEXTURETYPE_UNSIGNED_INTEGER=7,e.TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4=8,e.TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1=9,e.TEXTURETYPE_UNSIGNED_SHORT_5_6_5=10,e.TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV=11,e.TEXTURETYPE_UNSIGNED_INT_24_8=12,e.TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV=13,e.TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV=14,e.TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV=15,e.TEXTURE_NEAREST_SAMPLINGMODE=1,e.TEXTURE_NEAREST_NEAREST=1,e.TEXTURE_BILINEAR_SAMPLINGMODE=2,e.TEXTURE_LINEAR_LINEAR=2,e.TEXTURE_TRILINEAR_SAMPLINGMODE=3,e.TEXTURE_LINEAR_LINEAR_MIPLINEAR=3,e.TEXTURE_NEAREST_NEAREST_MIPNEAREST=4,e.TEXTURE_NEAREST_LINEAR_MIPNEAREST=5,e.TEXTURE_NEAREST_LINEAR_MIPLINEAR=6,e.TEXTURE_NEAREST_LINEAR=7,e.TEXTURE_NEAREST_NEAREST_MIPLINEAR=8,e.TEXTURE_LINEAR_NEAREST_MIPNEAREST=9,e.TEXTURE_LINEAR_NEAREST_MIPLINEAR=10,e.TEXTURE_LINEAR_LINEAR_MIPNEAREST=11,e.TEXTURE_LINEAR_NEAREST=12,e.TEXTURE_EXPLICIT_MODE=0,e.TEXTURE_SPHERICAL_MODE=1,e.TEXTURE_PLANAR_MODE=2,e.TEXTURE_CUBIC_MODE=3,e.TEXTURE_PROJECTION_MODE=4,e.TEXTURE_SKYBOX_MODE=5,e.TEXTURE_INVCUBIC_MODE=6,e.TEXTURE_EQUIRECTANGULAR_MODE=7,e.TEXTURE_FIXED_EQUIRECTANGULAR_MODE=8,e.TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE=9,e.SCALEMODE_FLOOR=1,e.SCALEMODE_NEAREST=2,e.SCALEMODE_CEILING=3,e.MATERIAL_TextureDirtyFlag=1,e.MATERIAL_LightDirtyFlag=2,e.MATERIAL_FresnelDirtyFlag=4,e.MATERIAL_AttributesDirtyFlag=8,e.MATERIAL_MiscDirtyFlag=16,e.MATERIAL_AllDirtyFlag=31,e.MATERIAL_TriangleFillMode=0,e.MATERIAL_WireFrameFillMode=1,e.MATERIAL_PointFillMode=2,e.MATERIAL_PointListDrawMode=3,e.MATERIAL_LineListDrawMode=4,e.MATERIAL_LineLoopDrawMode=5,e.MATERIAL_LineStripDrawMode=6,e.MATERIAL_TriangleStripDrawMode=7,e.MATERIAL_TriangleFanDrawMode=8,e.MATERIAL_ClockWiseSideOrientation=0,e.MATERIAL_CounterClockWiseSideOrientation=1,e.ACTION_NothingTrigger=0,e.ACTION_OnPickTrigger=1,e.ACTION_OnLeftPickTrigger=2,e.ACTION_OnRightPickTrigger=3,e.ACTION_OnCenterPickTrigger=4,e.ACTION_OnPickDownTrigger=5,e.ACTION_OnDoublePickTrigger=6,e.ACTION_OnPickUpTrigger=7,e.ACTION_OnPickOutTrigger=16,e.ACTION_OnLongPressTrigger=8,e.ACTION_OnPointerOverTrigger=9,e.ACTION_OnPointerOutTrigger=10,e.ACTION_OnEveryFrameTrigger=11,e.ACTION_OnIntersectionEnterTrigger=12,e.ACTION_OnIntersectionExitTrigger=13,e.ACTION_OnKeyDownTrigger=14,e.ACTION_OnKeyUpTrigger=15,e.PARTICLES_BILLBOARDMODE_Y=2,e.PARTICLES_BILLBOARDMODE_ALL=7,e.PARTICLES_BILLBOARDMODE_STRETCHED=8,e.MESHES_CULLINGSTRATEGY_STANDARD=0,e.MESHES_CULLINGSTRATEGY_BOUNDINGSPHERE_ONLY=1,e.MESHES_CULLINGSTRATEGY_OPTIMISTIC_INCLUSION=2,e.MESHES_CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY=3,e.SCENELOADER_NO_LOGGING=0,e.SCENELOADER_MINIMAL_LOGGING=1,e.SCENELOADER_SUMMARY_LOGGING=2,e.SCENELOADER_DETAILED_LOGGING=3,e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var i=n(0),r=n(3),o=function(){function e(){this._pickingUnavailable=!1,this.hit=!1,this.distance=0,this.pickedPoint=null,this.pickedMesh=null,this.bu=0,this.bv=0,this.faceId=-1,this.subMeshId=0,this.pickedSprite=null,this.originMesh=null,this.ray=null}return e.prototype.getNormal=function(e,t){if(void 0===e&&(e=!1),void 0===t&&(t=!0),!this.pickedMesh||!this.pickedMesh.isVerticesDataPresent(r.b.NormalKind))return null;var n,o=this.pickedMesh.getIndices();if(!o)return null;if(t){var a=this.pickedMesh.getVerticesData(r.b.NormalKind),s=i.e.FromArray(a,3*o[3*this.faceId]),c=i.e.FromArray(a,3*o[3*this.faceId+1]),l=i.e.FromArray(a,3*o[3*this.faceId+2]);s=s.scale(this.bu),c=c.scale(this.bv),l=l.scale(1-this.bu-this.bv),n=new i.e(s.x+c.x+l.x,s.y+c.y+l.y,s.z+c.z+l.z)}else{var u=this.pickedMesh.getVerticesData(r.b.PositionKind),p=i.e.FromArray(u,3*o[3*this.faceId]),h=i.e.FromArray(u,3*o[3*this.faceId+1]),d=i.e.FromArray(u,3*o[3*this.faceId+2]),f=p.subtract(h),_=d.subtract(h);n=i.e.Cross(f,_)}if(e){var m=this.pickedMesh.getWorldMatrix();this.pickedMesh.nonUniformScaling&&(i.c.Matrix[0].copyFrom(m),(m=i.c.Matrix[0]).setTranslationFromFloats(0,0,0),m.invert(),m.transposeToRef(i.c.Matrix[1]),m=i.c.Matrix[1]),n=i.e.TransformNormal(n,m)}return n.normalize(),n},e.prototype.getTextureCoordinates=function(){if(!this.pickedMesh||!this.pickedMesh.isVerticesDataPresent(r.b.UVKind))return null;var e=this.pickedMesh.getIndices();if(!e)return null;var t=this.pickedMesh.getVerticesData(r.b.UVKind);if(!t)return null;var n=i.d.FromArray(t,2*e[3*this.faceId]),o=i.d.FromArray(t,2*e[3*this.faceId+1]),a=i.d.FromArray(t,2*e[3*this.faceId+2]);return n=n.scale(this.bu),o=o.scale(this.bv),a=a.scale(1-this.bu-this.bv),new i.d(n.x+o.x+a.x,n.y+o.y+a.y)},e}()},function(e,t,n){"use strict";var i="clipPlaneFragment",r="#ifdef CLIPPLANE\nif (fClipDistance>0.0)\n{\ndiscard;\n}\n#endif\n#ifdef CLIPPLANE2\nif (fClipDistance2>0.0)\n{\ndiscard;\n}\n#endif\n#ifdef CLIPPLANE3\nif (fClipDistance3>0.0)\n{\ndiscard;\n}\n#endif\n#ifdef CLIPPLANE4\nif (fClipDistance4>0.0)\n{\ndiscard;\n}\n#endif\n#ifdef CLIPPLANE5\nif (fClipDistance5>0.0)\n{\ndiscard;\n}\n#endif\n#ifdef CLIPPLANE6\nif (fClipDistance6>0.0)\n{\ndiscard;\n}\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";var i="clipPlaneVertex",r="#ifdef CLIPPLANE\nfClipDistance=dot(worldPos,vClipPlane);\n#endif\n#ifdef CLIPPLANE2\nfClipDistance2=dot(worldPos,vClipPlane2);\n#endif\n#ifdef CLIPPLANE3\nfClipDistance3=dot(worldPos,vClipPlane3);\n#endif\n#ifdef CLIPPLANE4\nfClipDistance4=dot(worldPos,vClipPlane4);\n#endif\n#ifdef CLIPPLANE5\nfClipDistance5=dot(worldPos,vClipPlane5);\n#endif\n#ifdef CLIPPLANE6\nfClipDistance6=dot(worldPos,vClipPlane6);\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var i=n(0),r=n(4),o=n(9),a=n(16);a.a.CreateBox=function(e){var t,n=[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23],o=[0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0],s=[],c=e.width||e.size||1,l=e.height||e.size||1,u=e.depth||e.size||1,p=e.wrap||!1,h=void 0===e.topBaseAt?1:e.topBaseAt,d=void 0===e.bottomBaseAt?0:e.bottomBaseAt,f=[2,0,3,1][h=(h+4)%4],_=[2,0,1,3][d=(d+4)%4],m=[1,-1,1,-1,-1,1,-1,1,1,1,1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,1,-1,1,-1,-1,1,-1,1,1,1,1,-1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,1,-1,1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,-1,-1,-1,1];if(p){n=[2,3,0,2,0,1,4,5,6,4,6,7,9,10,11,9,11,8,12,14,15,12,13,14],m=[-1,1,1,1,1,1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,1,1,1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,-1,-1,-1];for(var b=[[1,1,1],[-1,1,1],[-1,1,-1],[1,1,-1]],g=[[-1,-1,1],[1,-1,1],[1,-1,-1],[-1,-1,-1]],v=[17,18,19,16],y=[22,23,20,21];f>0;)b.unshift(b.pop()),v.unshift(v.pop()),f--;for(;_>0;)g.unshift(g.pop()),y.unshift(y.pop()),_--;b=b.flat(),g=g.flat(),m=m.concat(b).concat(g),n.push(v[0],v[2],v[3],v[0],v[1],v[2]),n.push(y[0],y[2],y[3],y[0],y[1],y[2])}var C=[c/2,l/2,u/2];t=m.reduce((function(e,t,n){return e.concat(t*C[n%3])}),[]);for(var A=0===e.sideOrientation?0:e.sideOrientation||a.a.DEFAULTSIDE,x=e.faceUV||new Array(6),S=e.faceColors,T=[],E=0;E<6;E++)void 0===x[E]&&(x[E]=new i.f(0,0,1,1)),S&&void 0===S[E]&&(S[E]=new r.b(1,1,1,1));for(var P=0;P<6;P++)if(s.push(x[P].z,x[P].w),s.push(x[P].x,x[P].w),s.push(x[P].x,x[P].y),s.push(x[P].z,x[P].y),S)for(var O=0;O<4;O++)T.push(S[P].r,S[P].g,S[P].b,S[P].a);a.a._ComputeSides(A,t,n,o,s,e.frontUVs,e.backUVs);var M=new a.a;if(M.indices=n,M.positions=t,M.normals=o,M.uvs=s,S){var R=A===a.a.DOUBLESIDE?T.concat(T):T;M.colors=R}return M},o.a.CreateBox=function(e,t,n,i,r){void 0===n&&(n=null);var o={size:t,sideOrientation:r,updatable:i};return s.CreateBox(e,o,n)};var s=function(){function e(){}return e.CreateBox=function(e,t,n){void 0===n&&(n=null);var i=new o.a(e,n);return t.sideOrientation=o.a._GetDefaultSideOrientation(t.sideOrientation),i._originalBuilderSideOrientation=t.sideOrientation,a.a.CreateBox(t).applyToMesh(i,t.updatable),i},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var i=n(0),r=function(){function e(e,t,n,r){this.normal=new i.e(e,t,n),this.d=r}return e.prototype.asArray=function(){return[this.normal.x,this.normal.y,this.normal.z,this.d]},e.prototype.clone=function(){return new e(this.normal.x,this.normal.y,this.normal.z,this.d)},e.prototype.getClassName=function(){return"Plane"},e.prototype.getHashCode=function(){var e=this.normal.getHashCode();return e=397*e^(0|this.d)},e.prototype.normalize=function(){var e=Math.sqrt(this.normal.x*this.normal.x+this.normal.y*this.normal.y+this.normal.z*this.normal.z),t=0;return 0!==e&&(t=1/e),this.normal.x*=t,this.normal.y*=t,this.normal.z*=t,this.d*=t,this},e.prototype.transform=function(t){var n=e._TmpMatrix;i.a.TransposeToRef(t,n);var r=n.m,o=this.normal.x,a=this.normal.y,s=this.normal.z,c=this.d;return new e(o*r[0]+a*r[1]+s*r[2]+c*r[3],o*r[4]+a*r[5]+s*r[6]+c*r[7],o*r[8]+a*r[9]+s*r[10]+c*r[11],o*r[12]+a*r[13]+s*r[14]+c*r[15])},e.prototype.dotCoordinate=function(e){return this.normal.x*e.x+this.normal.y*e.y+this.normal.z*e.z+this.d},e.prototype.copyFromPoints=function(e,t,n){var i,r=t.x-e.x,o=t.y-e.y,a=t.z-e.z,s=n.x-e.x,c=n.y-e.y,l=n.z-e.z,u=o*l-a*c,p=a*s-r*l,h=r*c-o*s,d=Math.sqrt(u*u+p*p+h*h);return i=0!==d?1/d:0,this.normal.x=u*i,this.normal.y=p*i,this.normal.z=h*i,this.d=-(this.normal.x*e.x+this.normal.y*e.y+this.normal.z*e.z),this},e.prototype.isFrontFacingTo=function(e,t){return i.e.Dot(this.normal,e)<=t},e.prototype.signedDistanceTo=function(e){return i.e.Dot(e,this.normal)+this.d},e.FromArray=function(t){return new e(t[0],t[1],t[2],t[3])},e.FromPoints=function(t,n,i){var r=new e(0,0,0,0);return r.copyFromPoints(t,n,i),r},e.FromPositionAndNormal=function(t,n){var i=new e(0,0,0,0);return n.normalize(),i.normal=n,i.d=-(n.x*t.x+n.y*t.y+n.z*t.z),i},e.SignedDistanceToPlaneFromPositionAndNormal=function(e,t,n){var r=-(t.x*e.x+t.y*e.y+t.z*e.z);return i.e.Dot(n,t)+r},e._TmpMatrix=i.a.Identity(),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var i=n(1),r=n(10),o=n(22),a=n(64),s=n(13),c=function(e){function t(t){var n=e.call(this,t)||this;return n.name=t,n._children=new Array,n._measureForChildren=a.a.Empty(),n._background="",n._adaptWidthToChildren=!1,n._adaptHeightToChildren=!1,n.logLayoutCycleErrors=!1,n.maxLayoutCycle=3,n}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"adaptHeightToChildren",{get:function(){return this._adaptHeightToChildren},set:function(e){this._adaptHeightToChildren!==e&&(this._adaptHeightToChildren=e,e&&(this.height="100%"),this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"adaptWidthToChildren",{get:function(){return this._adaptWidthToChildren},set:function(e){this._adaptWidthToChildren!==e&&(this._adaptWidthToChildren=e,e&&(this.width="100%"),this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"background",{get:function(){return this._background},set:function(e){this._background!==e&&(this._background=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._children},enumerable:!0,configurable:!0}),t.prototype._getTypeName=function(){return"Container"},t.prototype._flagDescendantsAsMatrixDirty=function(){for(var e=0,t=this.children;ee.zIndex){this._children.splice(n,0,e),t=!0;break}t||this._children.push(e),e.parent=this,this._markAsDirty()},t.prototype._offsetLeft=function(t){e.prototype._offsetLeft.call(this,t);for(var n=0,i=this._children;n=0&&this.width!==i+"px"&&(this.width=i+"px",this._rebuildLayout=!0),this.adaptHeightToChildren&&o>=0&&this.height!==o+"px"&&(this.height=o+"px",this._rebuildLayout=!0),this._postMeasure()}n++}while(this._rebuildLayout&&n=3&&this.logLayoutCycleErrors&&r.a.Error("Layout cycle detected in GUI (Container name="+this.name+", uniqueId="+this.uniqueId+")"),t.restore(),this._isDirty&&(this.invalidateRect(),this._isDirty=!1),!0},t.prototype._postMeasure=function(){},t.prototype._draw=function(e,t){this._localDraw(e),this.clipChildren&&this._clipForChildren(e);for(var n=0,i=this._children;n=0;c--){var l=this._children[c];if(l._processPicking(t,n,i,r,o,a,s))return l.hoverCursor&&this._host._changeCursor(l.hoverCursor),!0}return!!this.isHitTestVisible&&this._processObservables(i,t,n,r,o,a,s)},t.prototype._additionalProcessing=function(t,n){e.prototype._additionalProcessing.call(this,t,n),this._measureForChildren.copyFrom(this._currentMeasure)},t.prototype.dispose=function(){e.prototype.dispose.call(this);for(var t=this.children.length-1;t>=0;t--)this.children[t].dispose()},t}(o.a);s.a.RegisteredTypes["BABYLON.GUI.Container"]=c},function(e,t,n){"use strict";var i="clipPlaneFragmentDeclaration",r="#ifdef CLIPPLANE\nvarying float fClipDistance;\n#endif\n#ifdef CLIPPLANE2\nvarying float fClipDistance2;\n#endif\n#ifdef CLIPPLANE3\nvarying float fClipDistance3;\n#endif\n#ifdef CLIPPLANE4\nvarying float fClipDistance4;\n#endif\n#ifdef CLIPPLANE5\nvarying float fClipDistance5;\n#endif\n#ifdef CLIPPLANE6\nvarying float fClipDistance6;\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";var i="fogFragmentDeclaration",r="#ifdef FOG\n#define FOGMODE_NONE 0.\n#define FOGMODE_EXP 1.\n#define FOGMODE_EXP2 2.\n#define FOGMODE_LINEAR 3.\n#define E 2.71828\nuniform vec4 vFogInfos;\nuniform vec3 vFogColor;\nvarying vec3 vFogDistance;\nfloat CalcFogFactor()\n{\nfloat fogCoeff=1.0;\nfloat fogStart=vFogInfos.y;\nfloat fogEnd=vFogInfos.z;\nfloat fogDensity=vFogInfos.w;\nfloat fogDistance=length(vFogDistance);\nif (FOGMODE_LINEAR == vFogInfos.x)\n{\nfogCoeff=(fogEnd-fogDistance)/(fogEnd-fogStart);\n}\nelse if (FOGMODE_EXP == vFogInfos.x)\n{\nfogCoeff=1.0/pow(E,fogDistance*fogDensity);\n}\nelse if (FOGMODE_EXP2 == vFogInfos.x)\n{\nfogCoeff=1.0/pow(E,fogDistance*fogDistance*fogDensity*fogDensity);\n}\nreturn clamp(fogCoeff,0.0,1.0);\n}\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";var i="clipPlaneVertexDeclaration",r="#ifdef CLIPPLANE\nuniform vec4 vClipPlane;\nvarying float fClipDistance;\n#endif\n#ifdef CLIPPLANE2\nuniform vec4 vClipPlane2;\nvarying float fClipDistance2;\n#endif\n#ifdef CLIPPLANE3\nuniform vec4 vClipPlane3;\nvarying float fClipDistance3;\n#endif\n#ifdef CLIPPLANE4\nuniform vec4 vClipPlane4;\nvarying float fClipDistance4;\n#endif\n#ifdef CLIPPLANE5\nuniform vec4 vClipPlane5;\nvarying float fClipDistance5;\n#endif\n#ifdef CLIPPLANE6\nuniform vec4 vClipPlane6;\nvarying float fClipDistance6;\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return a}));var i=n(1),r=function(){function e(){}return e.KEYDOWN=1,e.KEYUP=2,e}(),o=function(e,t){this.type=e,this.event=t},a=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.type=t,i.event=n,i.skipOnPointerObservable=!1,i}return Object(i.d)(t,e),t}(o)},function(e,t,n){"use strict";var i="fogFragment",r="#ifdef FOG\nfloat fog=CalcFogFactor();\ncolor.rgb=fog*color.rgb+(1.0-fog)*vFogColor;\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";var i="fogVertexDeclaration",r="#ifdef FOG\nvarying vec3 vFogDistance;\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var i=n(1),r=n(7),o=(n(154),function(e){function t(t,n,i,o,a,s,c,l,u){void 0===s&&(s=!0),void 0===c&&(c=!1),void 0===l&&(l=3),void 0===u&&(u=0);var p=e.call(this,null,a,!s,c)||this;return p.format=o,p._engine=a.getEngine(),p._texture=a.getEngine().createRawTexture(t,n,i,o,s,c,l,null,u),p.wrapU=r.a.CLAMP_ADDRESSMODE,p.wrapV=r.a.CLAMP_ADDRESSMODE,p}return Object(i.d)(t,e),t.prototype.update=function(e){this._engine.updateRawTexture(this._texture,e,this._texture.format,this._texture.invertY,null,this._texture.type)},t.CreateLuminanceTexture=function(e,n,i,r,o,a,s){return void 0===o&&(o=!0),void 0===a&&(a=!1),void 0===s&&(s=3),new t(e,n,i,1,r,o,a,s)},t.CreateLuminanceAlphaTexture=function(e,n,i,r,o,a,s){return void 0===o&&(o=!0),void 0===a&&(a=!1),void 0===s&&(s=3),new t(e,n,i,2,r,o,a,s)},t.CreateAlphaTexture=function(e,n,i,r,o,a,s){return void 0===o&&(o=!0),void 0===a&&(a=!1),void 0===s&&(s=3),new t(e,n,i,0,r,o,a,s)},t.CreateRGBTexture=function(e,n,i,r,o,a,s,c){return void 0===o&&(o=!0),void 0===a&&(a=!1),void 0===s&&(s=3),void 0===c&&(c=0),new t(e,n,i,4,r,o,a,s,c)},t.CreateRGBATexture=function(e,n,i,r,o,a,s,c){return void 0===o&&(o=!0),void 0===a&&(a=!1),void 0===s&&(s=3),void 0===c&&(c=0),new t(e,n,i,5,r,o,a,s,c)},t.CreateRTexture=function(e,n,i,o,a,s,c,l){return void 0===a&&(a=!0),void 0===s&&(s=!1),void 0===c&&(c=r.a.TRILINEAR_SAMPLINGMODE),void 0===l&&(l=1),new t(e,n,i,6,o,a,s,c,l)},t}(r.a))},function(e,t,n){"use strict";var i="fogVertex",r="#ifdef FOG\nvFogDistance=(view*worldPos).xyz;\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var i=n(1),r=n(28),o=n(43),a=n(13),s=function(e){function t(t,n){var i=e.call(this,t,n,!0)||this;return n.multiMaterials.push(i),i.subMaterials=new Array,i._storeEffectOnSubMeshes=!0,i}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"subMaterials",{get:function(){return this._subMaterials},set:function(e){this._subMaterials=e,this._hookArray(e)},enumerable:!0,configurable:!0}),t.prototype.getChildren=function(){return this.subMaterials},t.prototype._hookArray=function(e){var t=this,n=e.push;e.push=function(){for(var i=[],r=0;r=this.subMaterials.length?this.getScene().defaultMaterial:this.subMaterials[e]},t.prototype.getActiveTextures=function(){var t;return(t=e.prototype.getActiveTextures.call(this)).concat.apply(t,this.subMaterials.map((function(e){return e?e.getActiveTextures():[]})))},t.prototype.getClassName=function(){return"MultiMaterial"},t.prototype.isReadyForSubMesh=function(e,t,n){for(var i=0;i=0&&r.multiMaterials.splice(o,1),e.prototype.dispose.call(this,t,n)}},t.ParseMultiMaterial=function(e,n){var i=new t(e.name,n);i.id=e.id,o.a&&o.a.AddTagsTo(i,e.tags);for(var r=0;r0&&e.push(this._texture),this._bumpTexture&&this._bumpTexture.animations&&this._bumpTexture.animations.length>0&&e.push(this._bumpTexture),this._tintTexture&&this._tintTexture.animations&&this._tintTexture.animations.length>0&&e.push(this._tintTexture)},e.prototype.dispose=function(e){e&&(this._texture&&this._texture.dispose(),this._bumpTexture&&this._bumpTexture.dispose(),this._tintTexture&&this._tintTexture.dispose())},e.prototype.getClassName=function(){return"PBRClearCoatConfiguration"},e.AddFallbacks=function(e,t,n){return e.CLEARCOAT_BUMP&&t.addFallback(n++,"CLEARCOAT_BUMP"),e.CLEARCOAT_TINT&&t.addFallback(n++,"CLEARCOAT_TINT"),e.CLEARCOAT&&t.addFallback(n++,"CLEARCOAT"),n},e.AddUniforms=function(e){e.push("vClearCoatTangentSpaceParams","vClearCoatParams","vClearCoatRefractionParams","vClearCoatTintParams","clearCoatColorAtDistance","clearCoatMatrix","clearCoatBumpMatrix","clearCoatTintMatrix","vClearCoatInfos","vClearCoatBumpInfos","vClearCoatTintInfos")},e.AddSamplers=function(e){e.push("clearCoatSampler","clearCoatBumpSampler","clearCoatTintSampler")},e.PrepareUniformBuffer=function(e){e.addUniform("vClearCoatParams",2),e.addUniform("vClearCoatRefractionParams",4),e.addUniform("vClearCoatInfos",2),e.addUniform("clearCoatMatrix",16),e.addUniform("vClearCoatBumpInfos",2),e.addUniform("vClearCoatTangentSpaceParams",2),e.addUniform("clearCoatBumpMatrix",16),e.addUniform("vClearCoatTintParams",4),e.addUniform("clearCoatColorAtDistance",1),e.addUniform("vClearCoatTintInfos",2),e.addUniform("clearCoatTintMatrix",16)},e.prototype.copyTo=function(e){r.a.Clone((function(){return e}),this)},e.prototype.serialize=function(){return r.a.Serialize(this)},e.prototype.parse=function(e,t,n){var i=this;r.a.Parse((function(){return i}),e,t,n)},e._DefaultIndexOfRefraction=1.5,Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"isEnabled",void 0),Object(i.c)([Object(r.c)()],e.prototype,"intensity",void 0),Object(i.c)([Object(r.c)()],e.prototype,"roughness",void 0),Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"indexOfRefraction",void 0),Object(i.c)([Object(r.m)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"texture",void 0),Object(i.c)([Object(r.m)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"bumpTexture",void 0),Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"isTintEnabled",void 0),Object(i.c)([Object(r.e)()],e.prototype,"tintColor",void 0),Object(i.c)([Object(r.c)()],e.prototype,"tintColorAtDistance",void 0),Object(i.c)([Object(r.c)()],e.prototype,"tintThickness",void 0),Object(i.c)([Object(r.m)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"tintTexture",void 0),e}(),_=function(){function e(e){this._isEnabled=!1,this.isEnabled=!1,this.intensity=1,this.direction=new l.d(1,0),this._texture=null,this.texture=null,this._internalMarkAllSubMeshesAsTexturesDirty=e}return e.prototype._markAllSubMeshesAsTexturesDirty=function(){this._internalMarkAllSubMeshesAsTexturesDirty()},e.prototype.isReadyForSubMesh=function(e,t){return!(e._areTexturesDirty&&t.texturesEnabled&&this._texture&&h.a.AnisotropicTextureEnabled&&!this._texture.isReadyOrNotBlocking())},e.prototype.prepareDefines=function(e,t,n){this._isEnabled?(e.ANISOTROPIC=this._isEnabled,this._isEnabled&&!t.isVerticesDataPresent(u.b.TangentKind)&&(e._needUVs=!0,e.MAINUV1=!0),e._areTexturesDirty&&n.texturesEnabled&&(this._texture&&h.a.AnisotropicTextureEnabled?d.a.PrepareDefinesForMergedUV(this._texture,e,"ANISOTROPIC_TEXTURE"):e.ANISOTROPIC_TEXTURE=!1)):(e.ANISOTROPIC=!1,e.ANISOTROPIC_TEXTURE=!1)},e.prototype.bindForSubMesh=function(e,t,n){e.useUbo&&n&&e.isSync||(this._texture&&h.a.AnisotropicTextureEnabled&&(e.updateFloat2("vAnisotropyInfos",this._texture.coordinatesIndex,this._texture.level),d.a.BindTextureMatrix(this._texture,e,"anisotropy")),e.updateFloat3("vAnisotropy",this.direction.x,this.direction.y,this.intensity)),t.texturesEnabled&&this._texture&&h.a.AnisotropicTextureEnabled&&e.setTexture("anisotropySampler",this._texture)},e.prototype.hasTexture=function(e){return this._texture===e},e.prototype.getActiveTextures=function(e){this._texture&&e.push(this._texture)},e.prototype.getAnimatables=function(e){this._texture&&this._texture.animations&&this._texture.animations.length>0&&e.push(this._texture)},e.prototype.dispose=function(e){e&&this._texture&&this._texture.dispose()},e.prototype.getClassName=function(){return"PBRAnisotropicConfiguration"},e.AddFallbacks=function(e,t,n){return e.ANISOTROPIC&&t.addFallback(n++,"ANISOTROPIC"),n},e.AddUniforms=function(e){e.push("vAnisotropy","vAnisotropyInfos","anisotropyMatrix")},e.PrepareUniformBuffer=function(e){e.addUniform("vAnisotropy",3),e.addUniform("vAnisotropyInfos",2),e.addUniform("anisotropyMatrix",16)},e.AddSamplers=function(e){e.push("anisotropySampler")},e.prototype.copyTo=function(e){r.a.Clone((function(){return e}),this)},e.prototype.serialize=function(){return r.a.Serialize(this)},e.prototype.parse=function(e,t,n){var i=this;r.a.Parse((function(){return i}),e,t,n)},Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"isEnabled",void 0),Object(i.c)([Object(r.c)()],e.prototype,"intensity",void 0),Object(i.c)([Object(r.n)()],e.prototype,"direction",void 0),Object(i.c)([Object(r.m)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"texture",void 0),e}(),m=function(){function e(t){this._useEnergyConservation=e.DEFAULT_USE_ENERGY_CONSERVATION,this.useEnergyConservation=e.DEFAULT_USE_ENERGY_CONSERVATION,this._useSmithVisibilityHeightCorrelated=e.DEFAULT_USE_SMITH_VISIBILITY_HEIGHT_CORRELATED,this.useSmithVisibilityHeightCorrelated=e.DEFAULT_USE_SMITH_VISIBILITY_HEIGHT_CORRELATED,this._useSphericalHarmonics=e.DEFAULT_USE_SPHERICAL_HARMONICS,this.useSphericalHarmonics=e.DEFAULT_USE_SPHERICAL_HARMONICS,this._useSpecularGlossinessInputEnergyConservation=e.DEFAULT_USE_SPECULAR_GLOSSINESS_INPUT_ENERGY_CONSERVATION,this.useSpecularGlossinessInputEnergyConservation=e.DEFAULT_USE_SPECULAR_GLOSSINESS_INPUT_ENERGY_CONSERVATION,this._internalMarkAllSubMeshesAsMiscDirty=t}return e.prototype._markAllSubMeshesAsMiscDirty=function(){this._internalMarkAllSubMeshesAsMiscDirty()},e.prototype.prepareDefines=function(e){e.BRDF_V_HEIGHT_CORRELATED=this._useSmithVisibilityHeightCorrelated,e.MS_BRDF_ENERGY_CONSERVATION=this._useEnergyConservation&&this._useSmithVisibilityHeightCorrelated,e.SPHERICAL_HARMONICS=this._useSphericalHarmonics,e.SPECULAR_GLOSSINESS_ENERGY_CONSERVATION=this._useSpecularGlossinessInputEnergyConservation},e.prototype.getClassName=function(){return"PBRBRDFConfiguration"},e.prototype.copyTo=function(e){r.a.Clone((function(){return e}),this)},e.prototype.serialize=function(){return r.a.Serialize(this)},e.prototype.parse=function(e,t,n){var i=this;r.a.Parse((function(){return i}),e,t,n)},e.DEFAULT_USE_ENERGY_CONSERVATION=!0,e.DEFAULT_USE_SMITH_VISIBILITY_HEIGHT_CORRELATED=!0,e.DEFAULT_USE_SPHERICAL_HARMONICS=!0,e.DEFAULT_USE_SPECULAR_GLOSSINESS_INPUT_ENERGY_CONSERVATION=!0,Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsMiscDirty")],e.prototype,"useEnergyConservation",void 0),Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsMiscDirty")],e.prototype,"useSmithVisibilityHeightCorrelated",void 0),Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsMiscDirty")],e.prototype,"useSphericalHarmonics",void 0),Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsMiscDirty")],e.prototype,"useSpecularGlossinessInputEnergyConservation",void 0),e}(),b=function(){function e(e){this._isEnabled=!1,this.isEnabled=!1,this._linkSheenWithAlbedo=!1,this.linkSheenWithAlbedo=!1,this.intensity=1,this.color=p.a.White(),this._texture=null,this.texture=null,this._internalMarkAllSubMeshesAsTexturesDirty=e}return e.prototype._markAllSubMeshesAsTexturesDirty=function(){this._internalMarkAllSubMeshesAsTexturesDirty()},e.prototype.isReadyForSubMesh=function(e,t){return!(e._areTexturesDirty&&t.texturesEnabled&&this._texture&&h.a.SheenTextureEnabled&&!this._texture.isReadyOrNotBlocking())},e.prototype.prepareDefines=function(e,t){this._isEnabled?(e.SHEEN=this._isEnabled,e.SHEEN_LINKWITHALBEDO=this._linkSheenWithAlbedo,e._areTexturesDirty&&t.texturesEnabled&&(this._texture&&h.a.SheenTextureEnabled?d.a.PrepareDefinesForMergedUV(this._texture,e,"SHEEN_TEXTURE"):e.SHEEN_TEXTURE=!1)):(e.SHEEN=!1,e.SHEEN_TEXTURE=!1,e.SHEEN_LINKWITHALBEDO=!1)},e.prototype.bindForSubMesh=function(e,t,n){e.useUbo&&n&&e.isSync||(this._texture&&h.a.SheenTextureEnabled&&(e.updateFloat2("vSheenInfos",this._texture.coordinatesIndex,this._texture.level),d.a.BindTextureMatrix(this._texture,e,"sheen")),e.updateFloat4("vSheenColor",this.color.r,this.color.g,this.color.b,this.intensity)),t.texturesEnabled&&this._texture&&h.a.SheenTextureEnabled&&e.setTexture("sheenSampler",this._texture)},e.prototype.hasTexture=function(e){return this._texture===e},e.prototype.getActiveTextures=function(e){this._texture&&e.push(this._texture)},e.prototype.getAnimatables=function(e){this._texture&&this._texture.animations&&this._texture.animations.length>0&&e.push(this._texture)},e.prototype.dispose=function(e){e&&this._texture&&this._texture.dispose()},e.prototype.getClassName=function(){return"PBRSheenConfiguration"},e.AddFallbacks=function(e,t,n){return e.SHEEN&&t.addFallback(n++,"SHEEN"),n},e.AddUniforms=function(e){e.push("vSheenColor","vSheenInfos","sheenMatrix")},e.PrepareUniformBuffer=function(e){e.addUniform("vSheenColor",4),e.addUniform("vSheenInfos",2),e.addUniform("sheenMatrix",16)},e.AddSamplers=function(e){e.push("sheenSampler")},e.prototype.copyTo=function(e){r.a.Clone((function(){return e}),this)},e.prototype.serialize=function(){return r.a.Serialize(this)},e.prototype.parse=function(e,t,n){var i=this;r.a.Parse((function(){return i}),e,t,n)},Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"isEnabled",void 0),Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"linkSheenWithAlbedo",void 0),Object(i.c)([Object(r.c)()],e.prototype,"intensity",void 0),Object(i.c)([Object(r.e)()],e.prototype,"color",void 0),Object(i.c)([Object(r.m)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"texture",void 0),e}(),g=function(){function e(e){this._isRefractionEnabled=!1,this.isRefractionEnabled=!1,this._isTranslucencyEnabled=!1,this.isTranslucencyEnabled=!1,this._isScatteringEnabled=!1,this.refractionIntensity=1,this.translucencyIntensity=1,this.scatteringIntensity=1,this._thicknessTexture=null,this.thicknessTexture=null,this._refractionTexture=null,this.refractionTexture=null,this._indexOfRefraction=1,this.indexOfRefraction=1,this._invertRefractionY=!1,this.invertRefractionY=!1,this._linkRefractionWithTransparency=!1,this.linkRefractionWithTransparency=!1,this.minimumThickness=0,this.maximumThickness=1,this.tintColor=p.a.White(),this.tintColorAtDistance=1,this.diffusionDistance=p.a.White(),this._useMaskFromThicknessTexture=!1,this.useMaskFromThicknessTexture=!1,this._internalMarkAllSubMeshesAsTexturesDirty=e}return e.prototype._markAllSubMeshesAsTexturesDirty=function(){this._internalMarkAllSubMeshesAsTexturesDirty()},e.prototype.isReadyForSubMesh=function(e,t){if(e._areTexturesDirty&&t.texturesEnabled){if(this._thicknessTexture&&h.a.ThicknessTextureEnabled&&!this._thicknessTexture.isReadyOrNotBlocking())return!1;var n=this._getRefractionTexture(t);if(n&&h.a.RefractionTextureEnabled&&!n.isReadyOrNotBlocking())return!1}return!0},e.prototype.prepareDefines=function(e,t){if(e._areTexturesDirty&&(e.SUBSURFACE=!1,e.SS_TRANSLUCENCY=this._isTranslucencyEnabled,e.SS_SCATERRING=this._isScatteringEnabled,e.SS_THICKNESSANDMASK_TEXTURE=!1,e.SS_MASK_FROM_THICKNESS_TEXTURE=!1,e.SS_REFRACTION=!1,e.SS_REFRACTIONMAP_3D=!1,e.SS_GAMMAREFRACTION=!1,e.SS_RGBDREFRACTION=!1,e.SS_LINEARSPECULARREFRACTION=!1,e.SS_REFRACTIONMAP_OPPOSITEZ=!1,e.SS_LODINREFRACTIONALPHA=!1,e.SS_LINKREFRACTIONTOTRANSPARENCY=!1,(this._isRefractionEnabled||this._isTranslucencyEnabled||this._isScatteringEnabled)&&(e.SUBSURFACE=!0,e._areTexturesDirty&&t.texturesEnabled&&this._thicknessTexture&&h.a.ThicknessTextureEnabled&&d.a.PrepareDefinesForMergedUV(this._thicknessTexture,e,"SS_THICKNESSANDMASK_TEXTURE"),e.SS_MASK_FROM_THICKNESS_TEXTURE=this._useMaskFromThicknessTexture),this._isRefractionEnabled&&t.texturesEnabled)){var n=this._getRefractionTexture(t);n&&h.a.RefractionTextureEnabled&&(e.SS_REFRACTION=!0,e.SS_REFRACTIONMAP_3D=n.isCube,e.SS_GAMMAREFRACTION=n.gammaSpace,e.SS_RGBDREFRACTION=n.isRGBD,e.SS_LINEARSPECULARREFRACTION=n.linearSpecularLOD,e.SS_REFRACTIONMAP_OPPOSITEZ=n.invertZ,e.SS_LODINREFRACTIONALPHA=n.lodLevelInAlpha,e.SS_LINKREFRACTIONTOTRANSPARENCY=this._linkRefractionWithTransparency)}},e.prototype.bindForSubMesh=function(e,t,n,i,r){var o=this._getRefractionTexture(t);if(!e.useUbo||!i||!e.isSync){if(this._thicknessTexture&&h.a.ThicknessTextureEnabled&&(e.updateFloat2("vThicknessInfos",this._thicknessTexture.coordinatesIndex,this._thicknessTexture.level),d.a.BindTextureMatrix(this._thicknessTexture,e,"thickness")),e.updateFloat2("vThicknessParam",this.minimumThickness,this.maximumThickness-this.minimumThickness),o&&h.a.RefractionTextureEnabled){e.updateMatrix("refractionMatrix",o.getReflectionTextureMatrix());var a=1;o.isCube||o.depth&&(a=o.depth),e.updateFloat4("vRefractionInfos",o.level,1/this._indexOfRefraction,a,this._invertRefractionY?-1:1),e.updateFloat3("vRefractionMicrosurfaceInfos",o.getSize().width,o.lodGenerationScale,o.lodGenerationOffset)}e.updateColor3("vDiffusionDistance",this.diffusionDistance),e.updateFloat4("vTintColor",this.tintColor.r,this.tintColor.g,this.tintColor.b,this.tintColorAtDistance),e.updateFloat3("vSubSurfaceIntensity",this.refractionIntensity,this.translucencyIntensity,this.scatteringIntensity)}t.texturesEnabled&&(this._thicknessTexture&&h.a.ThicknessTextureEnabled&&e.setTexture("thicknessSampler",this._thicknessTexture),o&&h.a.RefractionTextureEnabled&&(r?e.setTexture("refractionSampler",o):(e.setTexture("refractionSampler",o._lodTextureMid||o),e.setTexture("refractionSamplerLow",o._lodTextureLow||o),e.setTexture("refractionSamplerHigh",o._lodTextureHigh||o))))},e.prototype.unbind=function(e){return!(!this._refractionTexture||!this._refractionTexture.isRenderTarget)&&(e.setTexture("refractionSampler",null),!0)},e.prototype._getRefractionTexture=function(e){return this._refractionTexture?this._refractionTexture:this._isRefractionEnabled?e.environmentTexture:null},Object.defineProperty(e.prototype,"disableAlphaBlending",{get:function(){return this.isRefractionEnabled&&this._linkRefractionWithTransparency},enumerable:!0,configurable:!0}),e.prototype.fillRenderTargetTextures=function(e){h.a.RefractionTextureEnabled&&this._refractionTexture&&this._refractionTexture.isRenderTarget&&e.push(this._refractionTexture)},e.prototype.hasTexture=function(e){return this._thicknessTexture===e||this._refractionTexture===e},e.prototype.hasRenderTargetTextures=function(){return!!(h.a.RefractionTextureEnabled&&this._refractionTexture&&this._refractionTexture.isRenderTarget)},e.prototype.getActiveTextures=function(e){this._thicknessTexture&&e.push(this._thicknessTexture),this._refractionTexture&&e.push(this._refractionTexture)},e.prototype.getAnimatables=function(e){this._thicknessTexture&&this._thicknessTexture.animations&&this._thicknessTexture.animations.length>0&&e.push(this._thicknessTexture),this._refractionTexture&&this._refractionTexture.animations&&this._refractionTexture.animations.length>0&&e.push(this._refractionTexture)},e.prototype.dispose=function(e){e&&(this._thicknessTexture&&this._thicknessTexture.dispose(),this._refractionTexture&&this._refractionTexture.dispose())},e.prototype.getClassName=function(){return"PBRSubSurfaceConfiguration"},e.AddFallbacks=function(e,t,n){return e.SS_SCATERRING&&t.addFallback(n++,"SS_SCATERRING"),e.SS_TRANSLUCENCY&&t.addFallback(n++,"SS_TRANSLUCENCY"),n},e.AddUniforms=function(e){e.push("vDiffusionDistance","vTintColor","vSubSurfaceIntensity","vRefractionMicrosurfaceInfos","vRefractionInfos","vThicknessInfos","vThicknessParam","refractionMatrix","thicknessMatrix")},e.AddSamplers=function(e){e.push("thicknessSampler","refractionSampler","refractionSamplerLow","refractionSamplerHigh")},e.PrepareUniformBuffer=function(e){e.addUniform("vRefractionMicrosurfaceInfos",3),e.addUniform("vRefractionInfos",4),e.addUniform("refractionMatrix",16),e.addUniform("vThicknessInfos",2),e.addUniform("thicknessMatrix",16),e.addUniform("vThicknessParam",2),e.addUniform("vDiffusionDistance",3),e.addUniform("vTintColor",4),e.addUniform("vSubSurfaceIntensity",3)},e.prototype.copyTo=function(e){r.a.Clone((function(){return e}),this)},e.prototype.serialize=function(){return r.a.Serialize(this)},e.prototype.parse=function(e,t,n){var i=this;r.a.Parse((function(){return i}),e,t,n)},Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"isRefractionEnabled",void 0),Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"isTranslucencyEnabled",void 0),Object(i.c)([Object(r.c)()],e.prototype,"refractionIntensity",void 0),Object(i.c)([Object(r.c)()],e.prototype,"translucencyIntensity",void 0),Object(i.c)([Object(r.c)()],e.prototype,"scatteringIntensity",void 0),Object(i.c)([Object(r.m)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"thicknessTexture",void 0),Object(i.c)([Object(r.m)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"refractionTexture",void 0),Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"indexOfRefraction",void 0),Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"invertRefractionY",void 0),Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"linkRefractionWithTransparency",void 0),Object(i.c)([Object(r.c)()],e.prototype,"minimumThickness",void 0),Object(i.c)([Object(r.c)()],e.prototype,"maximumThickness",void 0),Object(i.c)([Object(r.e)()],e.prototype,"tintColor",void 0),Object(i.c)([Object(r.c)()],e.prototype,"tintColorAtDistance",void 0),Object(i.c)([Object(r.e)()],e.prototype,"diffusionDistance",void 0),Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],e.prototype,"useMaskFromThicknessTexture",void 0),e}(),v=n(47),y=n(39),C=n(44),A=n(7),x=(n(207),n(6)),S="uniform vec3 vReflectionColor;\nuniform vec4 vAlbedoColor;\n\nuniform vec4 vLightingIntensity;\nuniform vec4 vReflectivityColor;\nuniform vec3 vEmissiveColor;\nuniform float visibility;\n\n#ifdef ALBEDO\nuniform vec2 vAlbedoInfos;\n#endif\n#ifdef AMBIENT\nuniform vec4 vAmbientInfos;\n#endif\n#ifdef BUMP\nuniform vec3 vBumpInfos;\nuniform vec2 vTangentSpaceParams;\n#endif\n#ifdef OPACITY\nuniform vec2 vOpacityInfos;\n#endif\n#ifdef EMISSIVE\nuniform vec2 vEmissiveInfos;\n#endif\n#ifdef LIGHTMAP\nuniform vec2 vLightmapInfos;\n#endif\n#ifdef REFLECTIVITY\nuniform vec3 vReflectivityInfos;\n#endif\n#ifdef MICROSURFACEMAP\nuniform vec2 vMicroSurfaceSamplerInfos;\n#endif\n\n#if defined(REFLECTIONMAP_SPHERICAL) || defined(REFLECTIONMAP_PROJECTION) || defined(SS_REFRACTION)\nuniform mat4 view;\n#endif\n\n#ifdef REFLECTION\nuniform vec2 vReflectionInfos;\nuniform mat4 reflectionMatrix;\nuniform vec3 vReflectionMicrosurfaceInfos;\n#if defined(USE_LOCAL_REFLECTIONMAP_CUBIC) && defined(REFLECTIONMAP_CUBIC)\nuniform vec3 vReflectionPosition;\nuniform vec3 vReflectionSize;\n#endif\n#endif\n\n#ifdef CLEARCOAT\nuniform vec2 vClearCoatParams;\nuniform vec4 vClearCoatRefractionParams;\n#ifdef CLEARCOAT_TEXTURE\nuniform vec2 vClearCoatInfos;\nuniform mat4 clearCoatMatrix;\n#endif\n#ifdef CLEARCOAT_BUMP\nuniform vec2 vClearCoatBumpInfos;\nuniform vec2 vClearCoatTangentSpaceParams;\nuniform mat4 clearCoatBumpMatrix;\n#endif\n#ifdef CLEARCOAT_TINT\nuniform vec4 vClearCoatTintParams;\nuniform float clearCoatColorAtDistance;\n#ifdef CLEARCOAT_TINT_TEXTURE\nuniform vec2 vClearCoatTintInfos;\nuniform mat4 clearCoatTintMatrix;\n#endif\n#endif\n#endif\n\n#ifdef ANISOTROPIC\nuniform vec3 vAnisotropy;\n#ifdef ANISOTROPIC_TEXTURE\nuniform vec2 vAnisotropyInfos;\nuniform mat4 anisotropyMatrix;\n#endif\n#endif\n\n#ifdef SHEEN\nuniform vec4 vSheenColor;\n#ifdef SHEEN_TEXTURE\nuniform vec2 vSheenInfos;\nuniform mat4 sheenMatrix;\n#endif\n#endif\n\n#ifdef SUBSURFACE\n#ifdef SS_REFRACTION\nuniform vec3 vRefractionMicrosurfaceInfos;\nuniform vec4 vRefractionInfos;\nuniform mat4 refractionMatrix;\n#endif\n#ifdef SS_THICKNESSANDMASK_TEXTURE\nuniform vec2 vThicknessInfos;\nuniform mat4 thicknessMatrix;\n#endif\nuniform vec2 vThicknessParam;\nuniform vec3 vDiffusionDistance;\nuniform vec4 vTintColor;\nuniform vec3 vSubSurfaceIntensity;\n#endif";x.a.IncludesShadersStore.pbrFragmentDeclaration=S;var T="layout(std140,column_major) uniform;\nuniform Material\n{\nuniform vec2 vAlbedoInfos;\nuniform vec4 vAmbientInfos;\nuniform vec2 vOpacityInfos;\nuniform vec2 vEmissiveInfos;\nuniform vec2 vLightmapInfos;\nuniform vec3 vReflectivityInfos;\nuniform vec2 vMicroSurfaceSamplerInfos;\nuniform vec2 vReflectionInfos;\nuniform vec3 vReflectionPosition;\nuniform vec3 vReflectionSize;\nuniform vec3 vBumpInfos;\nuniform mat4 albedoMatrix;\nuniform mat4 ambientMatrix;\nuniform mat4 opacityMatrix;\nuniform mat4 emissiveMatrix;\nuniform mat4 lightmapMatrix;\nuniform mat4 reflectivityMatrix;\nuniform mat4 microSurfaceSamplerMatrix;\nuniform mat4 bumpMatrix;\nuniform vec2 vTangentSpaceParams;\nuniform mat4 reflectionMatrix;\nuniform vec3 vReflectionColor;\nuniform vec4 vAlbedoColor;\nuniform vec4 vLightingIntensity;\nuniform vec3 vReflectionMicrosurfaceInfos;\nuniform float pointSize;\nuniform vec4 vReflectivityColor;\nuniform vec3 vEmissiveColor;\nuniform float visibility;\nuniform vec2 vClearCoatParams;\nuniform vec4 vClearCoatRefractionParams;\nuniform vec2 vClearCoatInfos;\nuniform mat4 clearCoatMatrix;\nuniform vec2 vClearCoatBumpInfos;\nuniform vec2 vClearCoatTangentSpaceParams;\nuniform mat4 clearCoatBumpMatrix;\nuniform vec4 vClearCoatTintParams;\nuniform float clearCoatColorAtDistance;\nuniform vec2 vClearCoatTintInfos;\nuniform mat4 clearCoatTintMatrix;\nuniform vec3 vAnisotropy;\nuniform vec2 vAnisotropyInfos;\nuniform mat4 anisotropyMatrix;\nuniform vec4 vSheenColor;\nuniform vec2 vSheenInfos;\nuniform mat4 sheenMatrix;\nuniform vec3 vRefractionMicrosurfaceInfos;\nuniform vec4 vRefractionInfos;\nuniform mat4 refractionMatrix;\nuniform vec2 vThicknessInfos;\nuniform mat4 thicknessMatrix;\nuniform vec2 vThicknessParam;\nuniform vec3 vDiffusionDistance;\nuniform vec4 vTintColor;\nuniform vec3 vSubSurfaceIntensity;\n};\nuniform Scene {\nmat4 viewProjection;\n#ifdef MULTIVIEW\nmat4 viewProjectionR;\n#endif\nmat4 view;\n};";x.a.IncludesShadersStore.pbrUboDeclaration=T;var E="uniform vec4 vEyePosition;\nuniform vec3 vAmbientColor;\nuniform vec4 vCameraInfos;\n\nvarying vec3 vPositionW;\n#if DEBUGMODE>0\nuniform vec2 vDebugMode;\nvarying vec4 vClipSpacePosition;\n#endif\n#ifdef MAINUV1\nvarying vec2 vMainUV1;\n#endif\n#ifdef MAINUV2\nvarying vec2 vMainUV2;\n#endif\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)\nvarying vec3 vEnvironmentIrradiance;\n#endif\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif";x.a.IncludesShadersStore.pbrFragmentExtraDeclaration=E;n(56),n(57);var P="#ifdef ALBEDO\n#if ALBEDODIRECTUV == 1\n#define vAlbedoUV vMainUV1\n#elif ALBEDODIRECTUV == 2\n#define vAlbedoUV vMainUV2\n#else\nvarying vec2 vAlbedoUV;\n#endif\nuniform sampler2D albedoSampler;\n#endif\n#ifdef AMBIENT\n#if AMBIENTDIRECTUV == 1\n#define vAmbientUV vMainUV1\n#elif AMBIENTDIRECTUV == 2\n#define vAmbientUV vMainUV2\n#else\nvarying vec2 vAmbientUV;\n#endif\nuniform sampler2D ambientSampler;\n#endif\n#ifdef OPACITY\n#if OPACITYDIRECTUV == 1\n#define vOpacityUV vMainUV1\n#elif OPACITYDIRECTUV == 2\n#define vOpacityUV vMainUV2\n#else\nvarying vec2 vOpacityUV;\n#endif\nuniform sampler2D opacitySampler;\n#endif\n#ifdef EMISSIVE\n#if EMISSIVEDIRECTUV == 1\n#define vEmissiveUV vMainUV1\n#elif EMISSIVEDIRECTUV == 2\n#define vEmissiveUV vMainUV2\n#else\nvarying vec2 vEmissiveUV;\n#endif\nuniform sampler2D emissiveSampler;\n#endif\n#ifdef LIGHTMAP\n#if LIGHTMAPDIRECTUV == 1\n#define vLightmapUV vMainUV1\n#elif LIGHTMAPDIRECTUV == 2\n#define vLightmapUV vMainUV2\n#else\nvarying vec2 vLightmapUV;\n#endif\nuniform sampler2D lightmapSampler;\n#endif\n#ifdef REFLECTIVITY\n#if REFLECTIVITYDIRECTUV == 1\n#define vReflectivityUV vMainUV1\n#elif REFLECTIVITYDIRECTUV == 2\n#define vReflectivityUV vMainUV2\n#else\nvarying vec2 vReflectivityUV;\n#endif\nuniform sampler2D reflectivitySampler;\n#endif\n#ifdef MICROSURFACEMAP\n#if MICROSURFACEMAPDIRECTUV == 1\n#define vMicroSurfaceSamplerUV vMainUV1\n#elif MICROSURFACEMAPDIRECTUV == 2\n#define vMicroSurfaceSamplerUV vMainUV2\n#else\nvarying vec2 vMicroSurfaceSamplerUV;\n#endif\nuniform sampler2D microSurfaceSampler;\n#endif\n#ifdef CLEARCOAT\n#ifdef CLEARCOAT_TEXTURE\n#if CLEARCOAT_TEXTUREDIRECTUV == 1\n#define vClearCoatUV vMainUV1\n#elif CLEARCOAT_TEXTUREDIRECTUV == 2\n#define vClearCoatUV vMainUV2\n#else\nvarying vec2 vClearCoatUV;\n#endif\nuniform sampler2D clearCoatSampler;\n#endif\n#ifdef CLEARCOAT_BUMP\n#if CLEARCOAT_BUMPDIRECTUV == 1\n#define vClearCoatBumpUV vMainUV1\n#elif CLEARCOAT_BUMPDIRECTUV == 2\n#define vClearCoatBumpUV vMainUV2\n#else\nvarying vec2 vClearCoatBumpUV;\n#endif\nuniform sampler2D clearCoatBumpSampler;\n#endif\n#ifdef CLEARCOAT_TINT_TEXTURE\n#if CLEARCOAT_TINT_TEXTUREDIRECTUV == 1\n#define vClearCoatTintUV vMainUV1\n#elif CLEARCOAT_TINT_TEXTUREDIRECTUV == 2\n#define vClearCoatTintUV vMainUV2\n#else\nvarying vec2 vClearCoatTintUV;\n#endif\nuniform sampler2D clearCoatTintSampler;\n#endif\n#endif\n#ifdef SHEEN\n#ifdef SHEEN_TEXTURE\n#if SHEEN_TEXTUREDIRECTUV == 1\n#define vSheenUV vMainUV1\n#elif SHEEN_TEXTUREDIRECTUV == 2\n#define vSheenUV vMainUV2\n#else\nvarying vec2 vSheenUV;\n#endif\nuniform sampler2D sheenSampler;\n#endif\n#endif\n#ifdef ANISOTROPIC\n#ifdef ANISOTROPIC_TEXTURE\n#if ANISOTROPIC_TEXTUREDIRECTUV == 1\n#define vAnisotropyUV vMainUV1\n#elif ANISOTROPIC_TEXTUREDIRECTUV == 2\n#define vAnisotropyUV vMainUV2\n#else\nvarying vec2 vAnisotropyUV;\n#endif\nuniform sampler2D anisotropySampler;\n#endif\n#endif\n\n#ifdef REFLECTION\n#ifdef REFLECTIONMAP_3D\n#define sampleReflection(s,c) textureCube(s,c)\nuniform samplerCube reflectionSampler;\n#ifdef LODBASEDMICROSFURACE\n#define sampleReflectionLod(s,c,l) textureCubeLodEXT(s,c,l)\n#else\nuniform samplerCube reflectionSamplerLow;\nuniform samplerCube reflectionSamplerHigh;\n#endif\n#ifdef USEIRRADIANCEMAP\nuniform samplerCube irradianceSampler;\n#endif\n#else\n#define sampleReflection(s,c) texture2D(s,c)\nuniform sampler2D reflectionSampler;\n#ifdef LODBASEDMICROSFURACE\n#define sampleReflectionLod(s,c,l) texture2DLodEXT(s,c,l)\n#else\nuniform sampler2D reflectionSamplerLow;\nuniform sampler2D reflectionSamplerHigh;\n#endif\n#ifdef USEIRRADIANCEMAP\nuniform sampler2D irradianceSampler;\n#endif\n#endif\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vec3 vPositionUVW;\n#else\n#if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\nvarying vec3 vDirectionW;\n#endif\n#endif\n#endif\n#ifdef ENVIRONMENTBRDF\nuniform sampler2D environmentBrdfSampler;\n#endif\n\n#ifdef SUBSURFACE\n#ifdef SS_REFRACTION\n#ifdef SS_REFRACTIONMAP_3D\n#define sampleRefraction(s,c) textureCube(s,c)\nuniform samplerCube refractionSampler;\n#ifdef LODBASEDMICROSFURACE\n#define sampleRefractionLod(s,c,l) textureCubeLodEXT(s,c,l)\n#else\nuniform samplerCube refractionSamplerLow;\nuniform samplerCube refractionSamplerHigh;\n#endif\n#else\n#define sampleRefraction(s,c) texture2D(s,c)\nuniform sampler2D refractionSampler;\n#ifdef LODBASEDMICROSFURACE\n#define sampleRefractionLod(s,c,l) texture2DLodEXT(s,c,l)\n#else\nuniform samplerCube refractionSamplerLow;\nuniform samplerCube refractionSamplerHigh;\n#endif\n#endif\n#endif\n#ifdef SS_THICKNESSANDMASK_TEXTURE\n#if SS_THICKNESSANDMASK_TEXTUREDIRECTUV == 1\n#define vThicknessUV vMainUV1\n#elif SS_THICKNESSANDMASK_TEXTUREDIRECTUV == 2\n#define vThicknessUV vMainUV2\n#else\nvarying vec2 vThicknessUV;\n#endif\nuniform sampler2D thicknessSampler;\n#endif\n#endif";x.a.IncludesShadersStore.pbrFragmentSamplersDeclaration=P;n(138),n(83),n(140),n(84),n(55);var O="\n#define RECIPROCAL_PI2 0.15915494\n#define RECIPROCAL_PI 0.31830988618\n\n#define MINIMUMVARIANCE 0.0005\nfloat convertRoughnessToAverageSlope(float roughness)\n{\n\nreturn square(roughness)+MINIMUMVARIANCE;\n}\nfloat fresnelGrazingReflectance(float reflectance0) {\n\n\nfloat reflectance90=saturate(reflectance0*25.0);\nreturn reflectance90;\n}\nvec2 getAARoughnessFactors(vec3 normalVector) {\n#ifdef SPECULARAA\nvec3 nDfdx=dFdx(normalVector.xyz);\nvec3 nDfdy=dFdy(normalVector.xyz);\nfloat slopeSquare=max(dot(nDfdx,nDfdx),dot(nDfdy,nDfdy));\n\nfloat geometricRoughnessFactor=pow(saturate(slopeSquare),0.333);\n\nfloat geometricAlphaGFactor=sqrt(slopeSquare);\n\ngeometricAlphaGFactor*=0.75;\nreturn vec2(geometricRoughnessFactor,geometricAlphaGFactor);\n#else\nreturn vec2(0.);\n#endif\n}\n#ifdef ANISOTROPIC\n\n\nvec2 getAnisotropicRoughness(float alphaG,float anisotropy) {\nfloat alphaT=max(alphaG*(1.0+anisotropy),MINIMUMVARIANCE);\nfloat alphaB=max(alphaG*(1.0-anisotropy),MINIMUMVARIANCE);\nreturn vec2(alphaT,alphaB);\n}\n\n\nvec3 getAnisotropicBentNormals(const vec3 T,const vec3 B,const vec3 N,const vec3 V,float anisotropy) {\nvec3 anisotropicFrameDirection=anisotropy>=0.0 ? B : T;\nvec3 anisotropicFrameTangent=cross(normalize(anisotropicFrameDirection),V);\nvec3 anisotropicFrameNormal=cross(anisotropicFrameTangent,anisotropicFrameDirection);\nvec3 anisotropicNormal=normalize(mix(N,anisotropicFrameNormal,abs(anisotropy)));\nreturn anisotropicNormal;\n\n}\n#endif\n#if defined(CLEARCOAT) || defined(SS_REFRACTION)\n\n\n\nvec3 cocaLambert(vec3 alpha,float distance) {\nreturn exp(-alpha*distance);\n}\n\nvec3 cocaLambert(float NdotVRefract,float NdotLRefract,vec3 alpha,float thickness) {\nreturn cocaLambert(alpha,(thickness*((NdotLRefract+NdotVRefract)/(NdotLRefract*NdotVRefract))));\n}\n\nvec3 computeColorAtDistanceInMedia(vec3 color,float distance) {\nreturn -log(color)/distance;\n}\nvec3 computeClearCoatAbsorption(float NdotVRefract,float NdotLRefract,vec3 clearCoatColor,float clearCoatThickness,float clearCoatIntensity) {\nvec3 clearCoatAbsorption=mix(vec3(1.0),\ncocaLambert(NdotVRefract,NdotLRefract,clearCoatColor,clearCoatThickness),\nclearCoatIntensity);\nreturn clearCoatAbsorption;\n}\n#endif\n\n\n\n\n#ifdef MICROSURFACEAUTOMATIC\nfloat computeDefaultMicroSurface(float microSurface,vec3 reflectivityColor)\n{\nconst float kReflectivityNoAlphaWorkflow_SmoothnessMax=0.95;\nfloat reflectivityLuminance=getLuminance(reflectivityColor);\nfloat reflectivityLuma=sqrt(reflectivityLuminance);\nmicroSurface=reflectivityLuma*kReflectivityNoAlphaWorkflow_SmoothnessMax;\nreturn microSurface;\n}\n#endif";x.a.IncludesShadersStore.pbrHelperFunctions=O;n(139),n(97);var M="#ifdef USESPHERICALFROMREFLECTIONMAP\n#ifdef SPHERICAL_HARMONICS\nuniform vec3 vSphericalL00;\nuniform vec3 vSphericalL1_1;\nuniform vec3 vSphericalL10;\nuniform vec3 vSphericalL11;\nuniform vec3 vSphericalL2_2;\nuniform vec3 vSphericalL2_1;\nuniform vec3 vSphericalL20;\nuniform vec3 vSphericalL21;\nuniform vec3 vSphericalL22;\n\n\n\n\n\n\n\nvec3 computeEnvironmentIrradiance(vec3 normal) {\nreturn vSphericalL00\n+vSphericalL1_1*(normal.y)\n+vSphericalL10*(normal.z)\n+vSphericalL11*(normal.x)\n+vSphericalL2_2*(normal.y*normal.x)\n+vSphericalL2_1*(normal.y*normal.z)\n+vSphericalL20*((3.0*normal.z*normal.z)-1.0)\n+vSphericalL21*(normal.z*normal.x)\n+vSphericalL22*(normal.x*normal.x-(normal.y*normal.y));\n}\n#else\nuniform vec3 vSphericalX;\nuniform vec3 vSphericalY;\nuniform vec3 vSphericalZ;\nuniform vec3 vSphericalXX_ZZ;\nuniform vec3 vSphericalYY_ZZ;\nuniform vec3 vSphericalZZ;\nuniform vec3 vSphericalXY;\nuniform vec3 vSphericalYZ;\nuniform vec3 vSphericalZX;\n\nvec3 computeEnvironmentIrradiance(vec3 normal) {\n\n\n\n\n\n\n\n\n\nfloat Nx=normal.x;\nfloat Ny=normal.y;\nfloat Nz=normal.z;\nvec3 C1=vSphericalZZ.rgb;\nvec3 Cx=vSphericalX.rgb;\nvec3 Cy=vSphericalY.rgb;\nvec3 Cz=vSphericalZ.rgb;\nvec3 Cxx_zz=vSphericalXX_ZZ.rgb;\nvec3 Cyy_zz=vSphericalYY_ZZ.rgb;\nvec3 Cxy=vSphericalXY.rgb;\nvec3 Cyz=vSphericalYZ.rgb;\nvec3 Czx=vSphericalZX.rgb;\nvec3 a1=Cyy_zz*Ny+Cy;\nvec3 a2=Cyz*Nz+a1;\nvec3 b1=Czx*Nz+Cx;\nvec3 b2=Cxy*Ny+b1;\nvec3 b3=Cxx_zz*Nx+b2;\nvec3 t1=Cz*Nz+C1;\nvec3 t2=a2*Ny+t1;\nvec3 t3=b3*Nx+t2;\nreturn t3;\n}\n#endif\n#endif";x.a.IncludesShadersStore.harmonicsFunctions=M;var R="\nstruct preLightingInfo\n{\n\nvec3 lightOffset;\nfloat lightDistanceSquared;\nfloat lightDistance;\n\nfloat attenuation;\n\nvec3 L;\nvec3 H;\nfloat NdotV;\nfloat NdotLUnclamped;\nfloat NdotL;\nfloat VdotH;\nfloat roughness;\n};\npreLightingInfo computePointAndSpotPreLightingInfo(vec4 lightData,vec3 V,vec3 N) {\npreLightingInfo result;\n\nresult.lightOffset=lightData.xyz-vPositionW;\nresult.lightDistanceSquared=dot(result.lightOffset,result.lightOffset);\n\nresult.lightDistance=sqrt(result.lightDistanceSquared);\n\nresult.L=normalize(result.lightOffset);\nresult.H=normalize(V+result.L);\nresult.VdotH=saturate(dot(V,result.H));\nresult.NdotLUnclamped=dot(N,result.L);\nresult.NdotL=saturateEps(result.NdotLUnclamped);\nreturn result;\n}\npreLightingInfo computeDirectionalPreLightingInfo(vec4 lightData,vec3 V,vec3 N) {\npreLightingInfo result;\n\nresult.lightDistance=length(-lightData.xyz);\n\nresult.L=normalize(-lightData.xyz);\nresult.H=normalize(V+result.L);\nresult.VdotH=saturate(dot(V,result.H));\nresult.NdotLUnclamped=dot(N,result.L);\nresult.NdotL=saturateEps(result.NdotLUnclamped);\nreturn result;\n}\npreLightingInfo computeHemisphericPreLightingInfo(vec4 lightData,vec3 V,vec3 N) {\npreLightingInfo result;\n\n\nresult.NdotL=dot(N,lightData.xyz)*0.5+0.5;\nresult.NdotL=saturateEps(result.NdotL);\nresult.NdotLUnclamped=result.NdotL;\n#ifdef SPECULARTERM\nresult.L=normalize(lightData.xyz);\nresult.H=normalize(V+result.L);\nresult.VdotH=saturate(dot(V,result.H));\n#endif\nreturn result;\n}";x.a.IncludesShadersStore.pbrDirectLightingSetupFunctions=R;var I="float computeDistanceLightFalloff_Standard(vec3 lightOffset,float range)\n{\nreturn max(0.,1.0-length(lightOffset)/range);\n}\nfloat computeDistanceLightFalloff_Physical(float lightDistanceSquared)\n{\nreturn 1.0/maxEps(lightDistanceSquared);\n}\nfloat computeDistanceLightFalloff_GLTF(float lightDistanceSquared,float inverseSquaredRange)\n{\nfloat lightDistanceFalloff=1.0/maxEps(lightDistanceSquared);\nfloat factor=lightDistanceSquared*inverseSquaredRange;\nfloat attenuation=saturate(1.0-factor*factor);\nattenuation*=attenuation;\n\nlightDistanceFalloff*=attenuation;\nreturn lightDistanceFalloff;\n}\nfloat computeDistanceLightFalloff(vec3 lightOffset,float lightDistanceSquared,float range,float inverseSquaredRange)\n{\n#ifdef USEPHYSICALLIGHTFALLOFF\nreturn computeDistanceLightFalloff_Physical(lightDistanceSquared);\n#elif defined(USEGLTFLIGHTFALLOFF)\nreturn computeDistanceLightFalloff_GLTF(lightDistanceSquared,inverseSquaredRange);\n#else\nreturn computeDistanceLightFalloff_Standard(lightOffset,range);\n#endif\n}\nfloat computeDirectionalLightFalloff_Standard(vec3 lightDirection,vec3 directionToLightCenterW,float cosHalfAngle,float exponent)\n{\nfloat falloff=0.0;\nfloat cosAngle=maxEps(dot(-lightDirection,directionToLightCenterW));\nif (cosAngle>=cosHalfAngle)\n{\nfalloff=max(0.,pow(cosAngle,exponent));\n}\nreturn falloff;\n}\nfloat computeDirectionalLightFalloff_Physical(vec3 lightDirection,vec3 directionToLightCenterW,float cosHalfAngle)\n{\nconst float kMinusLog2ConeAngleIntensityRatio=6.64385618977;\n\n\n\n\n\nfloat concentrationKappa=kMinusLog2ConeAngleIntensityRatio/(1.0-cosHalfAngle);\n\n\nvec4 lightDirectionSpreadSG=vec4(-lightDirection*concentrationKappa,-concentrationKappa);\nfloat falloff=exp2(dot(vec4(directionToLightCenterW,1.0),lightDirectionSpreadSG));\nreturn falloff;\n}\nfloat computeDirectionalLightFalloff_GLTF(vec3 lightDirection,vec3 directionToLightCenterW,float lightAngleScale,float lightAngleOffset)\n{\n\n\n\nfloat cd=dot(-lightDirection,directionToLightCenterW);\nfloat falloff=saturate(cd*lightAngleScale+lightAngleOffset);\n\nfalloff*=falloff;\nreturn falloff;\n}\nfloat computeDirectionalLightFalloff(vec3 lightDirection,vec3 directionToLightCenterW,float cosHalfAngle,float exponent,float lightAngleScale,float lightAngleOffset)\n{\n#ifdef USEPHYSICALLIGHTFALLOFF\nreturn computeDirectionalLightFalloff_Physical(lightDirection,directionToLightCenterW,cosHalfAngle);\n#elif defined(USEGLTFLIGHTFALLOFF)\nreturn computeDirectionalLightFalloff_GLTF(lightDirection,directionToLightCenterW,lightAngleScale,lightAngleOffset);\n#else\nreturn computeDirectionalLightFalloff_Standard(lightDirection,directionToLightCenterW,cosHalfAngle,exponent);\n#endif\n}";x.a.IncludesShadersStore.pbrDirectLightingFalloffFunctions=I;var w="\n#define FRESNEL_MAXIMUM_ON_ROUGH 0.25\n\n\n\n\n#ifdef MS_BRDF_ENERGY_CONSERVATION\n\n\nvec3 getEnergyConservationFactor(const vec3 specularEnvironmentR0,const vec3 environmentBrdf) {\nreturn 1.0+specularEnvironmentR0*(1.0/environmentBrdf.y-1.0);\n}\n#endif\n#ifdef ENVIRONMENTBRDF\nvec3 getBRDFLookup(float NdotV,float perceptualRoughness) {\n\nvec2 UV=vec2(NdotV,perceptualRoughness);\n\nvec4 brdfLookup=texture2D(environmentBrdfSampler,UV);\n#ifdef ENVIRONMENTBRDF_RGBD\nbrdfLookup.rgb=fromRGBD(brdfLookup.rgba);\n#endif\nreturn brdfLookup.rgb;\n}\nvec3 getReflectanceFromBRDFLookup(const vec3 specularEnvironmentR0,const vec3 environmentBrdf) {\n#ifdef BRDF_V_HEIGHT_CORRELATED\nvec3 reflectance=mix(environmentBrdf.xxx,environmentBrdf.yyy,specularEnvironmentR0);\n#else\nvec3 reflectance=specularEnvironmentR0*environmentBrdf.x+environmentBrdf.y;\n#endif\nreturn reflectance;\n}\n#endif\n#if !defined(ENVIRONMENTBRDF) || defined(REFLECTIONMAP_SKYBOX) || defined(ALPHAFRESNEL)\nvec3 getReflectanceFromAnalyticalBRDFLookup_Jones(float VdotN,vec3 reflectance0,vec3 reflectance90,float smoothness)\n{\n\nfloat weight=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);\nreturn reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));\n}\n#endif\n#if defined(SHEEN) && defined(REFLECTION)\n\nvec3 getSheenReflectanceFromBRDFLookup(const vec3 reflectance0,const vec3 environmentBrdf) {\nvec3 sheenEnvironmentReflectance=reflectance0*environmentBrdf.b;\nreturn sheenEnvironmentReflectance;\n}\n#endif\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvec3 fresnelSchlickGGX(float VdotH,vec3 reflectance0,vec3 reflectance90)\n{\nreturn reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);\n}\nfloat fresnelSchlickGGX(float VdotH,float reflectance0,float reflectance90)\n{\nreturn reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);\n}\n#ifdef CLEARCOAT\n\n\n\n\n\nvec3 getR0RemappedForClearCoat(vec3 f0) {\n#ifdef CLEARCOAT_DEFAULTIOR\n#ifdef MOBILE\nreturn saturate(f0*(f0*0.526868+0.529324)-0.0482256);\n#else\nreturn saturate(f0*(f0*(0.941892-0.263008*f0)+0.346479)-0.0285998);\n#endif\n#else\nvec3 s=sqrt(f0);\nvec3 t=(vClearCoatRefractionParams.z+vClearCoatRefractionParams.w*s)/(vClearCoatRefractionParams.w+vClearCoatRefractionParams.z*s);\nreturn t*t;\n#endif\n}\n#endif\n\n\n\n\n\n\nfloat normalDistributionFunction_TrowbridgeReitzGGX(float NdotH,float alphaG)\n{\n\n\n\nfloat a2=square(alphaG);\nfloat d=NdotH*NdotH*(a2-1.0)+1.0;\nreturn a2/(PI*d*d);\n}\n#ifdef SHEEN\n\nfloat normalDistributionFunction_CharlieSheen(float NdotH,float alphaG)\n{\nfloat invR=1./alphaG;\nfloat cos2h=NdotH*NdotH;\nfloat sin2h=1.-cos2h;\nreturn (2.+invR)*pow(sin2h,invR*.5)/(2.*PI);\n}\n#endif\n#ifdef ANISOTROPIC\n\n\nfloat normalDistributionFunction_BurleyGGX_Anisotropic(float NdotH,float TdotH,float BdotH,const vec2 alphaTB) {\nfloat a2=alphaTB.x*alphaTB.y;\nvec3 v=vec3(alphaTB.y*TdotH,alphaTB.x*BdotH,a2*NdotH);\nfloat v2=dot(v,v);\nfloat w2=a2/v2;\nreturn a2*w2*w2*RECIPROCAL_PI;\n}\n#endif\n\n\n\n\n#ifdef BRDF_V_HEIGHT_CORRELATED\n\n\n\nfloat smithVisibility_GGXCorrelated(float NdotL,float NdotV,float alphaG) {\n#ifdef MOBILE\n\nfloat GGXV=NdotL*(NdotV*(1.0-alphaG)+alphaG);\nfloat GGXL=NdotV*(NdotL*(1.0-alphaG)+alphaG);\nreturn 0.5/(GGXV+GGXL);\n#else\nfloat a2=alphaG*alphaG;\nfloat GGXV=NdotL*sqrt(NdotV*(NdotV-a2*NdotV)+a2);\nfloat GGXL=NdotV*sqrt(NdotL*(NdotL-a2*NdotL)+a2);\nreturn 0.5/(GGXV+GGXL);\n#endif\n}\n#else\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfloat smithVisibilityG1_TrowbridgeReitzGGXFast(float dot,float alphaG)\n{\n#ifdef MOBILE\n\nreturn 1.0/(dot+alphaG+(1.0-alphaG)*dot ));\n#else\nfloat alphaSquared=alphaG*alphaG;\nreturn 1.0/(dot+sqrt(alphaSquared+(1.0-alphaSquared)*dot*dot));\n#endif\n}\nfloat smithVisibility_TrowbridgeReitzGGXFast(float NdotL,float NdotV,float alphaG)\n{\nfloat visibility=smithVisibilityG1_TrowbridgeReitzGGXFast(NdotL,alphaG)*smithVisibilityG1_TrowbridgeReitzGGXFast(NdotV,alphaG);\n\nreturn visibility;\n}\n#endif\n#ifdef ANISOTROPIC\n\n\nfloat smithVisibility_GGXCorrelated_Anisotropic(float NdotL,float NdotV,float TdotV,float BdotV,float TdotL,float BdotL,const vec2 alphaTB) {\nfloat lambdaV=NdotL*length(vec3(alphaTB.x*TdotV,alphaTB.y*BdotV,NdotV));\nfloat lambdaL=NdotV*length(vec3(alphaTB.x*TdotL,alphaTB.y*BdotL,NdotL));\nfloat v=0.5/(lambdaV+lambdaL);\nreturn v;\n}\n#endif\n#ifdef CLEARCOAT\nfloat visibility_Kelemen(float VdotH) {\n\n\n\nreturn 0.25/(VdotH*VdotH);\n}\n#endif\n#ifdef SHEEN\n\n\n\nfloat visibility_Ashikhmin(float NdotL,float NdotV)\n{\nreturn 1./(4.*(NdotL+NdotV-NdotL*NdotV));\n}\n#endif\n\n\n\n\n\n\n\nfloat diffuseBRDF_Burley(float NdotL,float NdotV,float VdotH,float roughness) {\n\n\nfloat diffuseFresnelNV=pow5(saturateEps(1.0-NdotL));\nfloat diffuseFresnelNL=pow5(saturateEps(1.0-NdotV));\nfloat diffuseFresnel90=0.5+2.0*VdotH*VdotH*roughness;\nfloat fresnel =\n(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNL) *\n(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNV);\nreturn fresnel/PI;\n}\n#ifdef SS_TRANSLUCENCY\n\n\nvec3 transmittanceBRDF_Burley(const vec3 tintColor,const vec3 diffusionDistance,float thickness) {\nvec3 S=1./maxEps(diffusionDistance);\nvec3 temp=exp((-0.333333333*thickness)*S);\nreturn tintColor.rgb*0.25*(temp*temp*temp+3.0*temp);\n}\n\n\nfloat computeWrappedDiffuseNdotL(float NdotL,float w) {\nfloat t=1.0+w;\nfloat invt2=1.0/square(t);\nreturn saturate((NdotL+w)*invt2);\n}\n#endif\n";x.a.IncludesShadersStore.pbrBRDFFunctions=w;var D="#define CLEARCOATREFLECTANCE90 1.0\n\nstruct lightingInfo\n{\nvec3 diffuse;\n#ifdef SPECULARTERM\nvec3 specular;\n#endif\n#ifdef CLEARCOAT\n\n\nvec4 clearCoat;\n#endif\n#ifdef SHEEN\nvec3 sheen;\n#endif\n};\n\nfloat adjustRoughnessFromLightProperties(float roughness,float lightRadius,float lightDistance) {\n#if defined(USEPHYSICALLIGHTFALLOFF) || defined(USEGLTFLIGHTFALLOFF)\n\nfloat lightRoughness=lightRadius/lightDistance;\n\nfloat totalRoughness=saturate(lightRoughness+roughness);\nreturn totalRoughness;\n#else\nreturn roughness;\n#endif\n}\nvec3 computeHemisphericDiffuseLighting(preLightingInfo info,vec3 lightColor,vec3 groundColor) {\nreturn mix(groundColor,lightColor,info.NdotL);\n}\nvec3 computeDiffuseLighting(preLightingInfo info,vec3 lightColor) {\nfloat diffuseTerm=diffuseBRDF_Burley(info.NdotL,info.NdotV,info.VdotH,info.roughness);\nreturn diffuseTerm*info.attenuation*info.NdotL*lightColor;\n}\nvec3 computeProjectionTextureDiffuseLighting(sampler2D projectionLightSampler,mat4 textureProjectionMatrix){\nvec4 strq=textureProjectionMatrix*vec4(vPositionW,1.0);\nstrq/=strq.w;\nvec3 textureColor=texture2D(projectionLightSampler,strq.xy).rgb;\nreturn toLinearSpace(textureColor);\n}\n#ifdef SS_TRANSLUCENCY\nvec3 computeDiffuseAndTransmittedLighting(preLightingInfo info,vec3 lightColor,vec3 transmittance) {\nfloat NdotL=absEps(info.NdotLUnclamped);\n\nfloat wrapNdotL=computeWrappedDiffuseNdotL(NdotL,0.02);\n\nfloat trAdapt=step(0.,info.NdotLUnclamped);\nvec3 transmittanceNdotL=mix(transmittance*wrapNdotL,vec3(wrapNdotL),trAdapt);\nfloat diffuseTerm=diffuseBRDF_Burley(NdotL,info.NdotV,info.VdotH,info.roughness);\nreturn diffuseTerm*transmittanceNdotL*info.attenuation*lightColor;\n}\n#endif\n#ifdef SPECULARTERM\nvec3 computeSpecularLighting(preLightingInfo info,vec3 N,vec3 reflectance0,vec3 reflectance90,float geometricRoughnessFactor,vec3 lightColor) {\nfloat NdotH=saturateEps(dot(N,info.H));\nfloat roughness=max(info.roughness,geometricRoughnessFactor);\nfloat alphaG=convertRoughnessToAverageSlope(roughness);\nvec3 fresnel=fresnelSchlickGGX(info.VdotH,reflectance0,reflectance90);\nfloat distribution=normalDistributionFunction_TrowbridgeReitzGGX(NdotH,alphaG);\n#ifdef BRDF_V_HEIGHT_CORRELATED\nfloat smithVisibility=smithVisibility_GGXCorrelated(info.NdotL,info.NdotV,alphaG);\n#else\nfloat smithVisibility=smithVisibility_TrowbridgeReitzGGXFast(info.NdotL,info.NdotV,alphaG);\n#endif\nvec3 specTerm=fresnel*distribution*smithVisibility;\nreturn specTerm*info.attenuation*info.NdotL*lightColor;\n}\n#endif\n#ifdef ANISOTROPIC\nvec3 computeAnisotropicSpecularLighting(preLightingInfo info,vec3 V,vec3 N,vec3 T,vec3 B,float anisotropy,vec3 reflectance0,vec3 reflectance90,float geometricRoughnessFactor,vec3 lightColor) {\nfloat NdotH=saturateEps(dot(N,info.H));\nfloat TdotH=dot(T,info.H);\nfloat BdotH=dot(B,info.H);\nfloat TdotV=dot(T,V);\nfloat BdotV=dot(B,V);\nfloat TdotL=dot(T,info.L);\nfloat BdotL=dot(B,info.L);\nfloat alphaG=convertRoughnessToAverageSlope(info.roughness);\nvec2 alphaTB=getAnisotropicRoughness(alphaG,anisotropy);\nalphaTB=max(alphaTB,square(geometricRoughnessFactor));\nvec3 fresnel=fresnelSchlickGGX(info.VdotH,reflectance0,reflectance90);\nfloat distribution=normalDistributionFunction_BurleyGGX_Anisotropic(NdotH,TdotH,BdotH,alphaTB);\nfloat smithVisibility=smithVisibility_GGXCorrelated_Anisotropic(info.NdotL,info.NdotV,TdotV,BdotV,TdotL,BdotL,alphaTB);\nvec3 specTerm=fresnel*distribution*smithVisibility;\nreturn specTerm*info.attenuation*info.NdotL*lightColor;\n}\n#endif\n#ifdef CLEARCOAT\nvec4 computeClearCoatLighting(preLightingInfo info,vec3 Ncc,float geometricRoughnessFactor,float clearCoatIntensity,vec3 lightColor) {\nfloat NccdotL=saturateEps(dot(Ncc,info.L));\nfloat NccdotH=saturateEps(dot(Ncc,info.H));\nfloat clearCoatRoughness=max(info.roughness,geometricRoughnessFactor);\nfloat alphaG=convertRoughnessToAverageSlope(clearCoatRoughness);\nfloat fresnel=fresnelSchlickGGX(info.VdotH,vClearCoatRefractionParams.x,CLEARCOATREFLECTANCE90);\nfresnel*=clearCoatIntensity;\nfloat distribution=normalDistributionFunction_TrowbridgeReitzGGX(NccdotH,alphaG);\nfloat kelemenVisibility=visibility_Kelemen(info.VdotH);\nfloat clearCoatTerm=fresnel*distribution*kelemenVisibility;\nreturn vec4(\nclearCoatTerm*info.attenuation*NccdotL*lightColor,\n1.0-fresnel\n);\n}\nvec3 computeClearCoatLightingAbsorption(float NdotVRefract,vec3 L,vec3 Ncc,vec3 clearCoatColor,float clearCoatThickness,float clearCoatIntensity) {\nvec3 LRefract=-refract(L,Ncc,vClearCoatRefractionParams.y);\nfloat NdotLRefract=saturateEps(dot(Ncc,LRefract));\nvec3 absorption=computeClearCoatAbsorption(NdotVRefract,NdotLRefract,clearCoatColor,clearCoatThickness,clearCoatIntensity);\nreturn absorption;\n}\n#endif\n#ifdef SHEEN\nvec3 computeSheenLighting(preLightingInfo info,vec3 N,vec3 reflectance0,vec3 reflectance90,float geometricRoughnessFactor,vec3 lightColor) {\nfloat NdotH=saturateEps(dot(N,info.H));\nfloat roughness=max(info.roughness,geometricRoughnessFactor);\nfloat alphaG=convertRoughnessToAverageSlope(roughness);\n\n\nfloat fresnel=1.;\nfloat distribution=normalDistributionFunction_CharlieSheen(NdotH,alphaG);\nfloat ashikhminvisibility=visibility_Ashikhmin(info.NdotL,info.NdotV);\nfloat sheenTerm=fresnel*distribution*ashikhminvisibility;\nreturn sheenTerm*info.attenuation*info.NdotL*lightColor;\n}\n#endif\n";x.a.IncludesShadersStore.pbrDirectLightingFunctions=D;var L="#if defined(REFLECTION) || defined(SS_REFRACTION)\nfloat getLodFromAlphaG(float cubeMapDimensionPixels,float microsurfaceAverageSlope) {\nfloat microsurfaceAverageSlopeTexels=cubeMapDimensionPixels*microsurfaceAverageSlope;\nfloat lod=log2(microsurfaceAverageSlopeTexels);\nreturn lod;\n}\nfloat getLinearLodFromRoughness(float cubeMapDimensionPixels,float roughness) {\nfloat lod=log2(cubeMapDimensionPixels)*roughness;\nreturn lod;\n}\n#endif\n#if defined(ENVIRONMENTBRDF) && defined(RADIANCEOCCLUSION)\nfloat environmentRadianceOcclusion(float ambientOcclusion,float NdotVUnclamped) {\n\n\nfloat temp=NdotVUnclamped+ambientOcclusion;\nreturn saturate(square(temp)-1.0+ambientOcclusion);\n}\n#endif\n#if defined(ENVIRONMENTBRDF) && defined(HORIZONOCCLUSION)\nfloat environmentHorizonOcclusion(vec3 view,vec3 normal) {\n\nvec3 reflection=reflect(view,normal);\nfloat temp=saturate(1.0+1.1*dot(reflection,normal));\nreturn square(temp);\n}\n#endif\n\n\n\n\n#if defined(LODINREFLECTIONALPHA) || defined(SS_LODINREFRACTIONALPHA)\n\n\n#define UNPACK_LOD(x) (1.0-x)*255.0\nfloat getLodFromAlphaG(float cubeMapDimensionPixels,float alphaG,float NdotV) {\nfloat microsurfaceAverageSlope=alphaG;\n\n\n\n\n\n\nmicrosurfaceAverageSlope*=sqrt(abs(NdotV));\nreturn getLodFromAlphaG(cubeMapDimensionPixels,microsurfaceAverageSlope);\n}\n#endif";x.a.IncludesShadersStore.pbrIBLFunctions=L;n(172),n(171),n(78),n(173),n(112),n(98),n(174),n(87);var N="#if DEBUGMODE>0\nif (vClipSpacePosition.x/vClipSpacePosition.w=1)&&e.prototype.needAlphaBlendingForMesh.call(this,t)},t.prototype.needAlphaTesting=function(){return!!this._forceAlphaTest||!this.subSurface.disableAlphaBlending&&(null!=this._albedoTexture&&this._albedoTexture.hasAlpha&&(null==this._transparencyMode||this._transparencyMode===t.PBRMATERIAL_ALPHATEST))},t.prototype._shouldUseAlphaFromAlbedoTexture=function(){return null!=this._albedoTexture&&this._albedoTexture.hasAlpha&&this._useAlphaFromAlbedoTexture&&this._transparencyMode!==t.PBRMATERIAL_OPAQUE},t.prototype.getAlphaTestTexture=function(){return this._albedoTexture},t.prototype.isReadyForSubMesh=function(e,t,n){if(t.effect&&this.isFrozen&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new z);var i=t._materialDefines;if(!this.checkReadyOnEveryCall&&t.effect&&i._renderId===this.getScene().getRenderId())return!0;var r=this.getScene(),a=r.getEngine();if(i._areTexturesDirty&&r.texturesEnabled){if(this._albedoTexture&&h.a.DiffuseTextureEnabled&&!this._albedoTexture.isReadyOrNotBlocking())return!1;if(this._ambientTexture&&h.a.AmbientTextureEnabled&&!this._ambientTexture.isReadyOrNotBlocking())return!1;if(this._opacityTexture&&h.a.OpacityTextureEnabled&&!this._opacityTexture.isReadyOrNotBlocking())return!1;var s=this._getReflectionTexture();if(s&&h.a.ReflectionTextureEnabled){if(!s.isReadyOrNotBlocking())return!1;if(s.irradianceTexture&&!s.irradianceTexture.isReadyOrNotBlocking())return!1}if(this._lightmapTexture&&h.a.LightmapTextureEnabled&&!this._lightmapTexture.isReadyOrNotBlocking())return!1;if(this._emissiveTexture&&h.a.EmissiveTextureEnabled&&!this._emissiveTexture.isReadyOrNotBlocking())return!1;if(h.a.SpecularTextureEnabled){if(this._metallicTexture){if(!this._metallicTexture.isReadyOrNotBlocking())return!1}else if(this._reflectivityTexture&&!this._reflectivityTexture.isReadyOrNotBlocking())return!1;if(this._microSurfaceTexture&&!this._microSurfaceTexture.isReadyOrNotBlocking())return!1}if(a.getCaps().standardDerivatives&&this._bumpTexture&&h.a.BumpTextureEnabled&&!this._disableBumpMap&&!this._bumpTexture.isReady())return!1;if(this._environmentBRDFTexture&&h.a.ReflectionTextureEnabled&&!this._environmentBRDFTexture.isReady())return!1}if(!(this.subSurface.isReadyForSubMesh(i,r)&&this.clearCoat.isReadyForSubMesh(i,r,a,this._disableBumpMap)&&this.sheen.isReadyForSubMesh(i,r)&&this.anisotropy.isReadyForSubMesh(i,r)))return!1;if(i._areImageProcessingDirty&&this._imageProcessingConfiguration&&!this._imageProcessingConfiguration.isReady())return!1;a.getCaps().standardDerivatives||e.isVerticesDataPresent(u.b.NormalKind)||(e.createNormals(!0),o.a.Warn("PBRMaterial: Normals have been created for the mesh: "+e.name));var c=t.effect,l=i._areLightsDisposed,p=this._prepareEffect(e,i,this.onCompiled,this.onError,n);if(p)if(this.allowShaderHotSwapping&&c&&!p.isReady()){if(p=c,this._rebuildInParallel=!0,i.markAsUnprocessed(),l)return i._areLightsDisposed=!0,!1}else this._rebuildInParallel=!1,r.resetCachedMaterial(),t.setEffect(p,i),this.buildUniformLayout();return!(!t.effect||!t.effect.isReady())&&(i._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.isMetallicWorkflow=function(){return!(null==this._metallic&&null==this._roughness&&!this._metallicTexture)},t.prototype._prepareEffect=function(e,t,n,i,r,o){if(void 0===n&&(n=null),void 0===i&&(i=null),void 0===r&&(r=null),void 0===o&&(o=null),this._prepareDefines(e,t,r,o),!t.isDirty)return null;t.markAsProcessed();var a=this.getScene().getEngine(),s=new V.a,c=0;t.USESPHERICALINVERTEX&&s.addFallback(c++,"USESPHERICALINVERTEX"),t.FOG&&s.addFallback(c,"FOG"),t.SPECULARAA&&s.addFallback(c,"SPECULARAA"),t.POINTSIZE&&s.addFallback(c,"POINTSIZE"),t.LOGARITHMICDEPTH&&s.addFallback(c,"LOGARITHMICDEPTH"),t.PARALLAX&&s.addFallback(c,"PARALLAX"),t.PARALLAXOCCLUSION&&s.addFallback(c++,"PARALLAXOCCLUSION"),c=_.AddFallbacks(t,s,c),c=_.AddFallbacks(t,s,c),c=g.AddFallbacks(t,s,c),c=b.AddFallbacks(t,s,c),t.ENVIRONMENTBRDF&&s.addFallback(c++,"ENVIRONMENTBRDF"),t.TANGENT&&s.addFallback(c++,"TANGENT"),t.BUMP&&s.addFallback(c++,"BUMP"),c=d.a.HandleFallbacksForShadows(t,s,this._maxSimultaneousLights,c++),t.SPECULARTERM&&s.addFallback(c++,"SPECULARTERM"),t.USESPHERICALFROMREFLECTIONMAP&&s.addFallback(c++,"USESPHERICALFROMREFLECTIONMAP"),t.USEIRRADIANCEMAP&&s.addFallback(c++,"USEIRRADIANCEMAP"),t.LIGHTMAP&&s.addFallback(c++,"LIGHTMAP"),t.NORMAL&&s.addFallback(c++,"NORMAL"),t.AMBIENT&&s.addFallback(c++,"AMBIENT"),t.EMISSIVE&&s.addFallback(c++,"EMISSIVE"),t.VERTEXCOLOR&&s.addFallback(c++,"VERTEXCOLOR"),t.MORPHTARGETS&&s.addFallback(c++,"MORPHTARGETS"),t.MULTIVIEW&&s.addFallback(0,"MULTIVIEW");var l=[u.b.PositionKind];t.NORMAL&&l.push(u.b.NormalKind),t.TANGENT&&l.push(u.b.TangentKind),t.UV1&&l.push(u.b.UVKind),t.UV2&&l.push(u.b.UV2Kind),t.VERTEXCOLOR&&l.push(u.b.ColorKind),d.a.PrepareAttributesForBones(l,e,t,s),d.a.PrepareAttributesForInstances(l,t),d.a.PrepareAttributesForMorphTargets(l,e,t);var p="pbr",h=["world","view","viewProjection","vEyePosition","vLightsType","vAmbientColor","vAlbedoColor","vReflectivityColor","vEmissiveColor","visibility","vReflectionColor","vFogInfos","vFogColor","pointSize","vAlbedoInfos","vAmbientInfos","vOpacityInfos","vReflectionInfos","vReflectionPosition","vReflectionSize","vEmissiveInfos","vReflectivityInfos","vMicroSurfaceSamplerInfos","vBumpInfos","vLightmapInfos","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","albedoMatrix","ambientMatrix","opacityMatrix","reflectionMatrix","emissiveMatrix","reflectivityMatrix","normalMatrix","microSurfaceSamplerMatrix","bumpMatrix","lightmapMatrix","vLightingIntensity","logarithmicDepthConstant","vSphericalX","vSphericalY","vSphericalZ","vSphericalXX_ZZ","vSphericalYY_ZZ","vSphericalZZ","vSphericalXY","vSphericalYZ","vSphericalZX","vSphericalL00","vSphericalL1_1","vSphericalL10","vSphericalL11","vSphericalL2_2","vSphericalL2_1","vSphericalL20","vSphericalL21","vSphericalL22","vReflectionMicrosurfaceInfos","vTangentSpaceParams","boneTextureWidth","vDebugMode"],m=["albedoSampler","reflectivitySampler","ambientSampler","emissiveSampler","bumpSampler","lightmapSampler","opacitySampler","reflectionSampler","reflectionSamplerLow","reflectionSamplerHigh","irradianceSampler","microSurfaceSampler","environmentBrdfSampler","boneSampler"],y=["Material","Scene"];g.AddUniforms(h),g.AddSamplers(m),f.AddUniforms(h),f.AddSamplers(m),_.AddUniforms(h),_.AddSamplers(m),b.AddUniforms(h),b.AddSamplers(m),v.a&&(v.a.PrepareUniforms(h,t),v.a.PrepareSamplers(m,t)),d.a.PrepareUniformsAndSamplersList({uniformsNames:h,uniformBuffersNames:y,samplers:m,defines:t,maxSimultaneousLights:this._maxSimultaneousLights}),this.customShaderNameResolve&&(p=this.customShaderNameResolve(p,h,y,m,t));var C=t.toString();return a.createEffect(p,{attributes:l,uniformsNames:h,uniformBuffersNames:y,samplers:m,defines:C,fallbacks:s,onCompiled:n,onError:i,indexParameters:{maxSimultaneousLights:this._maxSimultaneousLights,maxSimultaneousMorphTargets:t.NUM_MORPH_INFLUENCERS}},a)},t.prototype._prepareDefines=function(e,n,i,r){void 0===i&&(i=null),void 0===r&&(r=null);var o=this.getScene(),a=o.getEngine();if(d.a.PrepareDefinesForLights(o,e,n,!0,this._maxSimultaneousLights,this._disableLighting),n._needNormals=!0,d.a.PrepareDefinesForMultiview(o,n),n.METALLICWORKFLOW=this.isMetallicWorkflow(),n._areTexturesDirty){if(n._needUVs=!1,o.texturesEnabled){o.getEngine().getCaps().textureLOD&&(n.LODBASEDMICROSFURACE=!0),this._albedoTexture&&h.a.DiffuseTextureEnabled?(d.a.PrepareDefinesForMergedUV(this._albedoTexture,n,"ALBEDO"),n.GAMMAALBEDO=this._albedoTexture.gammaSpace):n.ALBEDO=!1,this._ambientTexture&&h.a.AmbientTextureEnabled?(d.a.PrepareDefinesForMergedUV(this._ambientTexture,n,"AMBIENT"),n.AMBIENTINGRAYSCALE=this._useAmbientInGrayScale):n.AMBIENT=!1,this._opacityTexture&&h.a.OpacityTextureEnabled?(d.a.PrepareDefinesForMergedUV(this._opacityTexture,n,"OPACITY"),n.OPACITYRGB=this._opacityTexture.getAlphaFromRGB):n.OPACITY=!1;var s=this._getReflectionTexture();if(s&&h.a.ReflectionTextureEnabled){switch(n.REFLECTION=!0,n.GAMMAREFLECTION=s.gammaSpace,n.RGBDREFLECTION=s.isRGBD,n.REFLECTIONMAP_OPPOSITEZ=this.getScene().useRightHandedSystem?!s.invertZ:s.invertZ,n.LODINREFLECTIONALPHA=s.lodLevelInAlpha,n.LINEARSPECULARREFLECTION=s.linearSpecularLOD,s.coordinatesMode===A.a.INVCUBIC_MODE&&(n.INVERTCUBICMAP=!0),n.REFLECTIONMAP_3D=s.isCube,n.REFLECTIONMAP_CUBIC=!1,n.REFLECTIONMAP_EXPLICIT=!1,n.REFLECTIONMAP_PLANAR=!1,n.REFLECTIONMAP_PROJECTION=!1,n.REFLECTIONMAP_SKYBOX=!1,n.REFLECTIONMAP_SPHERICAL=!1,n.REFLECTIONMAP_EQUIRECTANGULAR=!1,n.REFLECTIONMAP_EQUIRECTANGULAR_FIXED=!1,n.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED=!1,s.coordinatesMode){case A.a.EXPLICIT_MODE:n.REFLECTIONMAP_EXPLICIT=!0;break;case A.a.PLANAR_MODE:n.REFLECTIONMAP_PLANAR=!0;break;case A.a.PROJECTION_MODE:n.REFLECTIONMAP_PROJECTION=!0;break;case A.a.SKYBOX_MODE:n.REFLECTIONMAP_SKYBOX=!0;break;case A.a.SPHERICAL_MODE:n.REFLECTIONMAP_SPHERICAL=!0;break;case A.a.EQUIRECTANGULAR_MODE:n.REFLECTIONMAP_EQUIRECTANGULAR=!0;break;case A.a.FIXED_EQUIRECTANGULAR_MODE:n.REFLECTIONMAP_EQUIRECTANGULAR_FIXED=!0;break;case A.a.FIXED_EQUIRECTANGULAR_MIRRORED_MODE:n.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED=!0;break;case A.a.CUBIC_MODE:case A.a.INVCUBIC_MODE:default:n.REFLECTIONMAP_CUBIC=!0,n.USE_LOCAL_REFLECTIONMAP_CUBIC=!!s.boundingBoxSize}s.coordinatesMode!==A.a.SKYBOX_MODE&&(s.irradianceTexture?(n.USEIRRADIANCEMAP=!0,n.USESPHERICALFROMREFLECTIONMAP=!1):s.isCube&&(n.USESPHERICALFROMREFLECTIONMAP=!0,n.USEIRRADIANCEMAP=!1,this._forceIrradianceInFragment||o.getEngine().getCaps().maxVaryingVectors<=8?n.USESPHERICALINVERTEX=!1:n.USESPHERICALINVERTEX=!0))}else n.REFLECTION=!1,n.REFLECTIONMAP_3D=!1,n.REFLECTIONMAP_SPHERICAL=!1,n.REFLECTIONMAP_PLANAR=!1,n.REFLECTIONMAP_CUBIC=!1,n.USE_LOCAL_REFLECTIONMAP_CUBIC=!1,n.REFLECTIONMAP_PROJECTION=!1,n.REFLECTIONMAP_SKYBOX=!1,n.REFLECTIONMAP_EXPLICIT=!1,n.REFLECTIONMAP_EQUIRECTANGULAR=!1,n.REFLECTIONMAP_EQUIRECTANGULAR_FIXED=!1,n.REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED=!1,n.INVERTCUBICMAP=!1,n.USESPHERICALFROMREFLECTIONMAP=!1,n.USEIRRADIANCEMAP=!1,n.USESPHERICALINVERTEX=!1,n.REFLECTIONMAP_OPPOSITEZ=!1,n.LODINREFLECTIONALPHA=!1,n.GAMMAREFLECTION=!1,n.RGBDREFLECTION=!1,n.LINEARSPECULARREFLECTION=!1;this._lightmapTexture&&h.a.LightmapTextureEnabled?(d.a.PrepareDefinesForMergedUV(this._lightmapTexture,n,"LIGHTMAP"),n.USELIGHTMAPASSHADOWMAP=this._useLightmapAsShadowmap,n.GAMMALIGHTMAP=this._lightmapTexture.gammaSpace,n.RGBDLIGHTMAP=this._lightmapTexture.isRGBD):n.LIGHTMAP=!1,this._emissiveTexture&&h.a.EmissiveTextureEnabled?d.a.PrepareDefinesForMergedUV(this._emissiveTexture,n,"EMISSIVE"):n.EMISSIVE=!1,h.a.SpecularTextureEnabled?(this._metallicTexture?(d.a.PrepareDefinesForMergedUV(this._metallicTexture,n,"REFLECTIVITY"),n.ROUGHNESSSTOREINMETALMAPALPHA=this._useRoughnessFromMetallicTextureAlpha,n.ROUGHNESSSTOREINMETALMAPGREEN=!this._useRoughnessFromMetallicTextureAlpha&&this._useRoughnessFromMetallicTextureGreen,n.METALLNESSSTOREINMETALMAPBLUE=this._useMetallnessFromMetallicTextureBlue,n.AOSTOREINMETALMAPRED=this._useAmbientOcclusionFromMetallicTextureRed,n.METALLICF0FACTORFROMMETALLICMAP=this._useMetallicF0FactorFromMetallicTexture):this._reflectivityTexture?(d.a.PrepareDefinesForMergedUV(this._reflectivityTexture,n,"REFLECTIVITY"),n.MICROSURFACEFROMREFLECTIVITYMAP=this._useMicroSurfaceFromReflectivityMapAlpha,n.MICROSURFACEAUTOMATIC=this._useAutoMicroSurfaceFromReflectivityMap):n.REFLECTIVITY=!1,this._microSurfaceTexture?d.a.PrepareDefinesForMergedUV(this._microSurfaceTexture,n,"MICROSURFACEMAP"):n.MICROSURFACEMAP=!1):(n.REFLECTIVITY=!1,n.MICROSURFACEMAP=!1),o.getEngine().getCaps().standardDerivatives&&this._bumpTexture&&h.a.BumpTextureEnabled&&!this._disableBumpMap?(d.a.PrepareDefinesForMergedUV(this._bumpTexture,n,"BUMP"),this._useParallax&&this._albedoTexture&&h.a.DiffuseTextureEnabled?(n.PARALLAX=!0,n.PARALLAXOCCLUSION=!!this._useParallaxOcclusion):n.PARALLAX=!1,n.OBJECTSPACE_NORMALMAP=this._useObjectSpaceNormalMap):n.BUMP=!1,this._environmentBRDFTexture&&h.a.ReflectionTextureEnabled?(n.ENVIRONMENTBRDF=!0,n.ENVIRONMENTBRDF_RGBD=this._environmentBRDFTexture.isRGBD):(n.ENVIRONMENTBRDF=!1,n.ENVIRONMENTBRDF_RGBD=!1),this._shouldUseAlphaFromAlbedoTexture()?n.ALPHAFROMALBEDO=!0:n.ALPHAFROMALBEDO=!1}n.SPECULAROVERALPHA=this._useSpecularOverAlpha,this._lightFalloff===t.LIGHTFALLOFF_STANDARD?(n.USEPHYSICALLIGHTFALLOFF=!1,n.USEGLTFLIGHTFALLOFF=!1):this._lightFalloff===t.LIGHTFALLOFF_GLTF?(n.USEPHYSICALLIGHTFALLOFF=!1,n.USEGLTFLIGHTFALLOFF=!0):(n.USEPHYSICALLIGHTFALLOFF=!0,n.USEGLTFLIGHTFALLOFF=!1),n.RADIANCEOVERALPHA=this._useRadianceOverAlpha,!this.backFaceCulling&&this._twoSidedLighting?n.TWOSIDEDLIGHTING=!0:n.TWOSIDEDLIGHTING=!1,n.SPECULARAA=o.getEngine().getCaps().standardDerivatives&&this._enableSpecularAntiAliasing}(n._areTexturesDirty||n._areMiscDirty)&&(n.ALPHATESTVALUE=this._alphaCutOff+(this._alphaCutOff%1==0?".":""),n.PREMULTIPLYALPHA=7===this.alphaMode||8===this.alphaMode,n.ALPHABLEND=this.needAlphaBlendingForMesh(e),n.ALPHAFRESNEL=this._useAlphaFresnel||this._useLinearAlphaFresnel,n.LINEARALPHAFRESNEL=this._useLinearAlphaFresnel),n._areImageProcessingDirty&&this._imageProcessingConfiguration&&this._imageProcessingConfiguration.prepareDefines(n),n.FORCENORMALFORWARD=this._forceNormalForward,n.RADIANCEOCCLUSION=this._useRadianceOcclusion,n.HORIZONOCCLUSION=this._useHorizonOcclusion,n._areMiscDirty&&(d.a.PrepareDefinesForMisc(e,o,this._useLogarithmicDepth,this.pointsCloud,this.fogEnabled,this._shouldTurnAlphaTestOn(e)||this._forceAlphaTest,n),n.UNLIT=this._unlit||(this.pointsCloud||this.wireframe)&&!e.isVerticesDataPresent(u.b.NormalKind),n.DEBUGMODE=this._debugMode),this.subSurface.prepareDefines(n,o),this.clearCoat.prepareDefines(n,o),this.anisotropy.prepareDefines(n,e,o),this.brdf.prepareDefines(n),this.sheen.prepareDefines(n,o),d.a.PrepareDefinesForFrameBoundValues(o,a,n,!!i,r),d.a.PrepareDefinesForAttributes(e,n,!0,!0,!0,this._transparencyMode!==t.PBRMATERIAL_OPAQUE)},t.prototype.forceCompilation=function(e,t,n){var r=this,o=Object(i.a)({clipPlane:!1,useInstances:!1},n),a=new z,s=this._prepareEffect(e,a,void 0,void 0,o.useInstances,o.clipPlane);s.isReady()?t&&t(this):s.onCompileObservable.add((function(){t&&t(r)}))},t.prototype.buildUniformLayout=function(){var e=this._uniformBuffer;e.addUniform("vAlbedoInfos",2),e.addUniform("vAmbientInfos",4),e.addUniform("vOpacityInfos",2),e.addUniform("vEmissiveInfos",2),e.addUniform("vLightmapInfos",2),e.addUniform("vReflectivityInfos",3),e.addUniform("vMicroSurfaceSamplerInfos",2),e.addUniform("vReflectionInfos",2),e.addUniform("vReflectionPosition",3),e.addUniform("vReflectionSize",3),e.addUniform("vBumpInfos",3),e.addUniform("albedoMatrix",16),e.addUniform("ambientMatrix",16),e.addUniform("opacityMatrix",16),e.addUniform("emissiveMatrix",16),e.addUniform("lightmapMatrix",16),e.addUniform("reflectivityMatrix",16),e.addUniform("microSurfaceSamplerMatrix",16),e.addUniform("bumpMatrix",16),e.addUniform("vTangentSpaceParams",2),e.addUniform("reflectionMatrix",16),e.addUniform("vReflectionColor",3),e.addUniform("vAlbedoColor",4),e.addUniform("vLightingIntensity",4),e.addUniform("vReflectionMicrosurfaceInfos",3),e.addUniform("pointSize",1),e.addUniform("vReflectivityColor",4),e.addUniform("vEmissiveColor",3),e.addUniform("visibility",1),f.PrepareUniformBuffer(e),_.PrepareUniformBuffer(e),b.PrepareUniformBuffer(e),g.PrepareUniformBuffer(e),e.create()},t.prototype.unbind=function(){if(this._activeEffect){var t=!1;this._reflectionTexture&&this._reflectionTexture.isRenderTarget&&(this._activeEffect.setTexture("reflection2DSampler",null),t=!0),this.subSurface.unbind(this._activeEffect)&&(t=!0),t&&this._markAllSubMeshesAsTexturesDirty()}e.prototype.unbind.call(this)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;if(o){this._activeEffect=o,r.INSTANCES||this.bindOnlyWorldMatrix(e),r.OBJECTSPACE_NORMALMAP&&(e.toNormalMatrix(this._normalMatrix),this.bindOnlyNormalMatrix(this._normalMatrix));var a=this._mustRebind(i,o,t.visibility);d.a.BindBonesParameters(t,this._activeEffect);var s=null,l=this._uniformBuffer;if(a){var u=i.getEngine();if(l.bindToEffect(o,"Material"),this.bindViewProjection(o),s=this._getReflectionTexture(),!l.useUbo||!this.isFrozen||!l.isSync){if(i.texturesEnabled){if(this._albedoTexture&&h.a.DiffuseTextureEnabled&&(l.updateFloat2("vAlbedoInfos",this._albedoTexture.coordinatesIndex,this._albedoTexture.level),d.a.BindTextureMatrix(this._albedoTexture,l,"albedo")),this._ambientTexture&&h.a.AmbientTextureEnabled&&(l.updateFloat4("vAmbientInfos",this._ambientTexture.coordinatesIndex,this._ambientTexture.level,this._ambientTextureStrength,this._ambientTextureImpactOnAnalyticalLights),d.a.BindTextureMatrix(this._ambientTexture,l,"ambient")),this._opacityTexture&&h.a.OpacityTextureEnabled&&(l.updateFloat2("vOpacityInfos",this._opacityTexture.coordinatesIndex,this._opacityTexture.level),d.a.BindTextureMatrix(this._opacityTexture,l,"opacity")),s&&h.a.ReflectionTextureEnabled){if(l.updateMatrix("reflectionMatrix",s.getReflectionTextureMatrix()),l.updateFloat2("vReflectionInfos",s.level,0),s.boundingBoxSize){var f=s;l.updateVector3("vReflectionPosition",f.boundingBoxPosition),l.updateVector3("vReflectionSize",f.boundingBoxSize)}if(!r.USEIRRADIANCEMAP){var _=s.sphericalPolynomial;if(r.USESPHERICALFROMREFLECTIONMAP&&_)if(r.SPHERICAL_HARMONICS){var m=_.preScaledHarmonics;this._activeEffect.setVector3("vSphericalL00",m.l00),this._activeEffect.setVector3("vSphericalL1_1",m.l1_1),this._activeEffect.setVector3("vSphericalL10",m.l10),this._activeEffect.setVector3("vSphericalL11",m.l11),this._activeEffect.setVector3("vSphericalL2_2",m.l2_2),this._activeEffect.setVector3("vSphericalL2_1",m.l2_1),this._activeEffect.setVector3("vSphericalL20",m.l20),this._activeEffect.setVector3("vSphericalL21",m.l21),this._activeEffect.setVector3("vSphericalL22",m.l22)}else this._activeEffect.setFloat3("vSphericalX",_.x.x,_.x.y,_.x.z),this._activeEffect.setFloat3("vSphericalY",_.y.x,_.y.y,_.y.z),this._activeEffect.setFloat3("vSphericalZ",_.z.x,_.z.y,_.z.z),this._activeEffect.setFloat3("vSphericalXX_ZZ",_.xx.x-_.zz.x,_.xx.y-_.zz.y,_.xx.z-_.zz.z),this._activeEffect.setFloat3("vSphericalYY_ZZ",_.yy.x-_.zz.x,_.yy.y-_.zz.y,_.yy.z-_.zz.z),this._activeEffect.setFloat3("vSphericalZZ",_.zz.x,_.zz.y,_.zz.z),this._activeEffect.setFloat3("vSphericalXY",_.xy.x,_.xy.y,_.xy.z),this._activeEffect.setFloat3("vSphericalYZ",_.yz.x,_.yz.y,_.yz.z),this._activeEffect.setFloat3("vSphericalZX",_.zx.x,_.zx.y,_.zx.z)}l.updateFloat3("vReflectionMicrosurfaceInfos",s.getSize().width,s.lodGenerationScale,s.lodGenerationOffset)}this._emissiveTexture&&h.a.EmissiveTextureEnabled&&(l.updateFloat2("vEmissiveInfos",this._emissiveTexture.coordinatesIndex,this._emissiveTexture.level),d.a.BindTextureMatrix(this._emissiveTexture,l,"emissive")),this._lightmapTexture&&h.a.LightmapTextureEnabled&&(l.updateFloat2("vLightmapInfos",this._lightmapTexture.coordinatesIndex,this._lightmapTexture.level),d.a.BindTextureMatrix(this._lightmapTexture,l,"lightmap")),h.a.SpecularTextureEnabled&&(this._metallicTexture?(l.updateFloat3("vReflectivityInfos",this._metallicTexture.coordinatesIndex,this._metallicTexture.level,this._ambientTextureStrength),d.a.BindTextureMatrix(this._metallicTexture,l,"reflectivity")):this._reflectivityTexture&&(l.updateFloat3("vReflectivityInfos",this._reflectivityTexture.coordinatesIndex,this._reflectivityTexture.level,1),d.a.BindTextureMatrix(this._reflectivityTexture,l,"reflectivity")),this._microSurfaceTexture&&(l.updateFloat2("vMicroSurfaceSamplerInfos",this._microSurfaceTexture.coordinatesIndex,this._microSurfaceTexture.level),d.a.BindTextureMatrix(this._microSurfaceTexture,l,"microSurfaceSampler"))),this._bumpTexture&&u.getCaps().standardDerivatives&&h.a.BumpTextureEnabled&&!this._disableBumpMap&&(l.updateFloat3("vBumpInfos",this._bumpTexture.coordinatesIndex,this._bumpTexture.level,this._parallaxScaleBias),d.a.BindTextureMatrix(this._bumpTexture,l,"bump"),i._mirroredCameraPosition?l.updateFloat2("vTangentSpaceParams",this._invertNormalMapX?1:-1,this._invertNormalMapY?1:-1):l.updateFloat2("vTangentSpaceParams",this._invertNormalMapX?-1:1,this._invertNormalMapY?-1:1))}if(this.pointsCloud&&l.updateFloat("pointSize",this.pointSize),r.METALLICWORKFLOW){p.c.Color3[0].r=void 0===this._metallic||null===this._metallic?1:this._metallic,p.c.Color3[0].g=void 0===this._roughness||null===this._roughness?1:this._roughness;var b=.08*this._metallicF0Factor;l.updateColor4("vReflectivityColor",p.c.Color3[0],b)}else l.updateColor4("vReflectivityColor",this._reflectivityColor,this._microSurface);l.updateColor3("vEmissiveColor",h.a.EmissiveTextureEnabled?this._emissiveColor:p.a.BlackReadOnly),l.updateColor3("vReflectionColor",this._reflectionColor),!r.SS_REFRACTION&&this.subSurface.linkRefractionWithTransparency?l.updateColor4("vAlbedoColor",this._albedoColor,1):l.updateColor4("vAlbedoColor",this._albedoColor,this.alpha),l.updateFloat("visibility",t.visibility),this._lightingInfos.x=this._directIntensity,this._lightingInfos.y=this._emissiveIntensity,this._lightingInfos.z=this._environmentIntensity*i.environmentIntensity,this._lightingInfos.w=this._specularIntensity,l.updateVector4("vLightingIntensity",this._lightingInfos)}i.texturesEnabled&&(this._albedoTexture&&h.a.DiffuseTextureEnabled&&l.setTexture("albedoSampler",this._albedoTexture),this._ambientTexture&&h.a.AmbientTextureEnabled&&l.setTexture("ambientSampler",this._ambientTexture),this._opacityTexture&&h.a.OpacityTextureEnabled&&l.setTexture("opacitySampler",this._opacityTexture),s&&h.a.ReflectionTextureEnabled&&(r.LODBASEDMICROSFURACE?l.setTexture("reflectionSampler",s):(l.setTexture("reflectionSampler",s._lodTextureMid||s),l.setTexture("reflectionSamplerLow",s._lodTextureLow||s),l.setTexture("reflectionSamplerHigh",s._lodTextureHigh||s)),r.USEIRRADIANCEMAP&&l.setTexture("irradianceSampler",s.irradianceTexture)),r.ENVIRONMENTBRDF&&l.setTexture("environmentBrdfSampler",this._environmentBRDFTexture),this._emissiveTexture&&h.a.EmissiveTextureEnabled&&l.setTexture("emissiveSampler",this._emissiveTexture),this._lightmapTexture&&h.a.LightmapTextureEnabled&&l.setTexture("lightmapSampler",this._lightmapTexture),h.a.SpecularTextureEnabled&&(this._metallicTexture?l.setTexture("reflectivitySampler",this._metallicTexture):this._reflectivityTexture&&l.setTexture("reflectivitySampler",this._reflectivityTexture),this._microSurfaceTexture&&l.setTexture("microSurfaceSampler",this._microSurfaceTexture)),this._bumpTexture&&u.getCaps().standardDerivatives&&h.a.BumpTextureEnabled&&!this._disableBumpMap&&l.setTexture("bumpSampler",this._bumpTexture)),this.subSurface.bindForSubMesh(l,i,u,this.isFrozen,r.LODBASEDMICROSFURACE),this.clearCoat.bindForSubMesh(l,i,u,this._disableBumpMap,this.isFrozen,this._invertNormalMapX,this._invertNormalMapY),this.anisotropy.bindForSubMesh(l,i,this.isFrozen),this.sheen.bindForSubMesh(l,i,this.isFrozen),d.a.BindClipPlane(this._activeEffect,i),i.ambientColor.multiplyToRef(this._ambientColor,this._globalAmbientColor);var g=i._forcedViewPosition?i._forcedViewPosition:i._mirroredCameraPosition?i._mirroredCameraPosition:i.activeCamera.globalPosition,v=i.useRightHandedSystem===(null!=i._mirroredCameraPosition);o.setFloat4("vEyePosition",g.x,g.y,g.z,v?-1:1),o.setColor3("vAmbientColor",this._globalAmbientColor),o.setFloat2("vDebugMode",this.debugLimit,this.debugFactor)}!a&&this.isFrozen||(i.lightsEnabled&&!this._disableLighting&&d.a.BindLights(i,t,this._activeEffect,r,this._maxSimultaneousLights,this._rebuildInParallel),(i.fogEnabled&&t.applyFog&&i.fogMode!==c.a.FOGMODE_NONE||s)&&this.bindView(o),d.a.BindFogParameters(i,t,this._activeEffect,!0),r.NUM_MORPH_INFLUENCERS&&d.a.BindMorphTargetParameters(t,this._activeEffect),this._imageProcessingConfiguration.bind(this._activeEffect),d.a.BindLogDepth(r,this._activeEffect,i)),l.update(),this._afterBind(t,this._activeEffect)}}},t.prototype.getAnimatables=function(){var e=[];return this._albedoTexture&&this._albedoTexture.animations&&this._albedoTexture.animations.length>0&&e.push(this._albedoTexture),this._ambientTexture&&this._ambientTexture.animations&&this._ambientTexture.animations.length>0&&e.push(this._ambientTexture),this._opacityTexture&&this._opacityTexture.animations&&this._opacityTexture.animations.length>0&&e.push(this._opacityTexture),this._reflectionTexture&&this._reflectionTexture.animations&&this._reflectionTexture.animations.length>0&&e.push(this._reflectionTexture),this._emissiveTexture&&this._emissiveTexture.animations&&this._emissiveTexture.animations.length>0&&e.push(this._emissiveTexture),this._metallicTexture&&this._metallicTexture.animations&&this._metallicTexture.animations.length>0?e.push(this._metallicTexture):this._reflectivityTexture&&this._reflectivityTexture.animations&&this._reflectivityTexture.animations.length>0&&e.push(this._reflectivityTexture),this._bumpTexture&&this._bumpTexture.animations&&this._bumpTexture.animations.length>0&&e.push(this._bumpTexture),this._lightmapTexture&&this._lightmapTexture.animations&&this._lightmapTexture.animations.length>0&&e.push(this._lightmapTexture),this.subSurface.getAnimatables(e),this.clearCoat.getAnimatables(e),this.sheen.getAnimatables(e),this.anisotropy.getAnimatables(e),e},t.prototype._getReflectionTexture=function(){return this._reflectionTexture?this._reflectionTexture:this.getScene().environmentTexture},t.prototype.getActiveTextures=function(){var t=e.prototype.getActiveTextures.call(this);return this._albedoTexture&&t.push(this._albedoTexture),this._ambientTexture&&t.push(this._ambientTexture),this._opacityTexture&&t.push(this._opacityTexture),this._reflectionTexture&&t.push(this._reflectionTexture),this._emissiveTexture&&t.push(this._emissiveTexture),this._reflectivityTexture&&t.push(this._reflectivityTexture),this._metallicTexture&&t.push(this._metallicTexture),this._microSurfaceTexture&&t.push(this._microSurfaceTexture),this._bumpTexture&&t.push(this._bumpTexture),this._lightmapTexture&&t.push(this._lightmapTexture),this.subSurface.getActiveTextures(t),this.clearCoat.getActiveTextures(t),this.sheen.getActiveTextures(t),this.anisotropy.getActiveTextures(t),t},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)||(this._albedoTexture===t||(this._ambientTexture===t||(this._opacityTexture===t||(this._reflectionTexture===t||(this._reflectivityTexture===t||(this._metallicTexture===t||(this._microSurfaceTexture===t||(this._bumpTexture===t||(this._lightmapTexture===t||(this.subSurface.hasTexture(t)||this.clearCoat.hasTexture(t)||this.sheen.hasTexture(t)||this.anisotropy.hasTexture(t)))))))))))},t.prototype.dispose=function(t,n){n&&(this._albedoTexture&&this._albedoTexture.dispose(),this._ambientTexture&&this._ambientTexture.dispose(),this._opacityTexture&&this._opacityTexture.dispose(),this._reflectionTexture&&this._reflectionTexture.dispose(),this._environmentBRDFTexture&&this.getScene().environmentBRDFTexture!==this._environmentBRDFTexture&&this._environmentBRDFTexture.dispose(),this._emissiveTexture&&this._emissiveTexture.dispose(),this._metallicTexture&&this._metallicTexture.dispose(),this._reflectivityTexture&&this._reflectivityTexture.dispose(),this._bumpTexture&&this._bumpTexture.dispose(),this._lightmapTexture&&this._lightmapTexture.dispose()),this.subSurface.dispose(n),this.clearCoat.dispose(n),this.sheen.dispose(n),this.anisotropy.dispose(n),this._renderTargets.dispose(),this._imageProcessingConfiguration&&this._imageProcessingObserver&&this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver),e.prototype.dispose.call(this,t,n)},t.PBRMATERIAL_OPAQUE=0,t.PBRMATERIAL_ALPHATEST=1,t.PBRMATERIAL_ALPHABLEND=2,t.PBRMATERIAL_ALPHATESTANDBLEND=3,t.DEFAULT_AO_ON_ANALYTICAL_LIGHTS=0,t.LIGHTFALLOFF_PHYSICAL=0,t.LIGHTFALLOFF_GLTF=1,t.LIGHTFALLOFF_STANDARD=2,Object(i.c)([Object(r.i)()],t.prototype,"_imageProcessingConfiguration",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsMiscDirty")],t.prototype,"debugMode",void 0),Object(i.c)([Object(r.c)()],t.prototype,"useLogarithmicDepth",null),Object(i.c)([Object(r.c)()],t.prototype,"transparencyMode",null),t}(C.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var i=n(1),r=n(2),o=n(0),a=n(4),s=n(33),c=n(53);s.a.AddNodeConstructor("Light_Type_3",(function(e,t){return function(){return new l(e,o.e.Zero(),t)}}));var l=function(e){function t(t,n,i){var r=e.call(this,t,i)||this;return r.groundColor=new a.a(0,0,0),r.direction=n||o.e.Up(),r}return Object(i.d)(t,e),t.prototype._buildUniformLayout=function(){this._uniformBuffer.addUniform("vLightData",4),this._uniformBuffer.addUniform("vLightDiffuse",4),this._uniformBuffer.addUniform("vLightSpecular",4),this._uniformBuffer.addUniform("vLightGround",3),this._uniformBuffer.addUniform("shadowsInfo",3),this._uniformBuffer.addUniform("depthValues",2),this._uniformBuffer.create()},t.prototype.getClassName=function(){return"HemisphericLight"},t.prototype.setDirectionToTarget=function(e){return this.direction=o.e.Normalize(e.subtract(o.e.Zero())),this.direction},t.prototype.getShadowGenerator=function(){return null},t.prototype.transferToEffect=function(e,t){var n=o.e.Normalize(this.direction);return this._uniformBuffer.updateFloat4("vLightData",n.x,n.y,n.z,0,t),this._uniformBuffer.updateColor3("vLightGround",this.groundColor.scale(this.intensity),t),this},t.prototype.transferToNodeMaterialEffect=function(e,t){var n=o.e.Normalize(this.direction);return e.setFloat3(t,n.x,n.y,n.z),this},t.prototype.computeWorldMatrix=function(){return this._worldMatrix||(this._worldMatrix=o.a.Identity()),this._worldMatrix},t.prototype.getTypeID=function(){return c.a.LIGHTTYPEID_HEMISPHERICLIGHT},t.prototype.prepareLightSpecificDefines=function(e,t){e["HEMILIGHT"+t]=!0},Object(i.c)([Object(r.e)()],t.prototype,"groundColor",void 0),Object(i.c)([Object(r.o)()],t.prototype,"direction",void 0),t}(c.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var i=n(1),r=n(12),o=n(82),a=n(22),s=n(13),c=function(e){function t(t){var n=e.call(this,t)||this;return n.name=t,n._isVertical=!0,n._manualWidth=!1,n._manualHeight=!1,n._doNotTrackManualChanges=!1,n.ignoreLayoutWarnings=!1,n}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"isVertical",{get:function(){return this._isVertical},set:function(e){this._isVertical!==e&&(this._isVertical=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this._width.toString(this._host)},set:function(e){this._doNotTrackManualChanges||(this._manualWidth=!0),this._width.toString(this._host)!==e&&this._width.fromString(e)&&this._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height.toString(this._host)},set:function(e){this._doNotTrackManualChanges||(this._manualHeight=!0),this._height.toString(this._host)!==e&&this._height.fromString(e)&&this._markAsDirty()},enumerable:!0,configurable:!0}),t.prototype._getTypeName=function(){return"StackPanel"},t.prototype._preMeasure=function(t,n){for(var i=0,r=this._children;i-1?t.substring(y).toLowerCase():""),A=".dds"===C,x=".env"===C;if(x?(v.gammaSpace=!1,v._prefiltered=!1,v.anisotropicFilteringLevel=1):(v._prefiltered=d,d&&(v.gammaSpace=!1,v.anisotropicFilteringLevel=1)),v._texture=v._getFromCache(t,r),!s&&(x||A||i||(i=["_px.jpg","_py.jpg","_pz.jpg","_nx.jpg","_ny.jpg","_nz.jpg"]),s=[],i))for(var S=0;S=0?this.rotation.y=-Math.atan(t.z/t.x)+Math.PI/2:this.rotation.y=-Math.atan(t.z/t.x)-Math.PI/2,this.rotation.z=0,isNaN(this.rotation.x)&&(this.rotation.x=0),isNaN(this.rotation.y)&&(this.rotation.y=0),isNaN(this.rotation.z)&&(this.rotation.z=0),this.rotationQuaternion&&a.b.RotationYawPitchRollToRef(this.rotation.y,this.rotation.x,this.rotation.z,this.rotationQuaternion)},t.prototype.getTarget=function(){return this._currentTarget},t.prototype._decideIfNeedsToMove=function(){return Math.abs(this.cameraDirection.x)>0||Math.abs(this.cameraDirection.y)>0||Math.abs(this.cameraDirection.z)>0},t.prototype._updatePosition=function(){if(this.parent)return this.parent.getWorldMatrix().invertToRef(a.c.Matrix[0]),a.e.TransformNormalToRef(this.cameraDirection,a.c.Matrix[0],a.c.Vector3[0]),void this.position.addInPlace(a.c.Vector3[0]);this.position.addInPlace(this.cameraDirection)},t.prototype._checkInputs=function(){var t=this._decideIfNeedsToMove(),n=Math.abs(this.cameraRotation.x)>0||Math.abs(this.cameraRotation.y)>0;if(t&&this._updatePosition(),n){if(this.rotation.x+=this.cameraRotation.x,this.rotation.y+=this.cameraRotation.y,this.rotationQuaternion)this.rotation.lengthSquared()&&a.b.RotationYawPitchRollToRef(this.rotation.y,this.rotation.x,this.rotation.z,this.rotationQuaternion);if(!this.noRotationConstraint){var i=1.570796;this.rotation.x>i&&(this.rotation.x=i),this.rotation.x<-i&&(this.rotation.x=-i)}}t&&(Math.abs(this.cameraDirection.x)1&&(this._multiview=!0,r.push("#define MULTIVIEW"),-1!==this._options.uniforms.indexOf("viewProjection")&&-1===this._options.uniforms.push("viewProjectionR")&&this._options.uniforms.push("viewProjectionR"));for(var l=0;l4&&(o.push(a.b.MatricesIndicesExtraKind),o.push(a.b.MatricesWeightsExtraKind));var u=e.skeleton;r.push("#define NUM_BONE_INFLUENCERS "+e.numBoneInfluencers),s.addCPUSkinningFallback(0,e),u.isUsingTextureForMatrices?(r.push("#define BONETEXTURE"),-1===this._options.uniforms.indexOf("boneTextureWidth")&&this._options.uniforms.push("boneTextureWidth"),-1===this._options.samplers.indexOf("boneSampler")&&this._options.samplers.push("boneSampler")):(r.push("#define BonesPerMesh "+(u.bones.length+1)),-1===this._options.uniforms.indexOf("mBones")&&this._options.uniforms.push("mBones"))}else r.push("#define NUM_BONE_INFLUENCERS 0");for(var p in this._textures)if(!this._textures[p].isReady())return!1;e&&this._shouldTurnAlphaTestOn(e)&&r.push("#define ALPHATEST");var d=this._effect,f=r.join("\n");return this._effect=i.createEffect(this._shaderPath,{attributes:o,uniformsNames:this._options.uniforms,uniformBuffersNames:this._options.uniformBuffers,samplers:this._options.samplers,defines:f,fallbacks:s,onCompiled:this.onCompiled,onError:this.onError},i),!!this._effect.isReady()&&(d!==this._effect&&n.resetCachedMaterial(),this._renderId=n.getRenderId(),this._effect._wasPreviouslyReady=!0,!0)},t.prototype.bindOnlyWorldMatrix=function(e){var t=this.getScene();this._effect&&(-1!==this._options.uniforms.indexOf("world")&&this._effect.setMatrix("world",e),-1!==this._options.uniforms.indexOf("worldView")&&(e.multiplyToRef(t.getViewMatrix(),this._cachedWorldViewMatrix),this._effect.setMatrix("worldView",this._cachedWorldViewMatrix)),-1!==this._options.uniforms.indexOf("worldViewProjection")&&(e.multiplyToRef(t.getTransformMatrix(),this._cachedWorldViewProjectionMatrix),this._effect.setMatrix("worldViewProjection",this._cachedWorldViewProjectionMatrix)))},t.prototype.bind=function(e,t){if(this.bindOnlyWorldMatrix(e),this._effect&&this.getScene().getCachedMaterial()!==this){var n;for(n in-1!==this._options.uniforms.indexOf("view")&&this._effect.setMatrix("view",this.getScene().getViewMatrix()),-1!==this._options.uniforms.indexOf("projection")&&this._effect.setMatrix("projection",this.getScene().getProjectionMatrix()),-1!==this._options.uniforms.indexOf("viewProjection")&&(this._effect.setMatrix("viewProjection",this.getScene().getTransformMatrix()),this._multiview&&this._effect.setMatrix("viewProjectionR",this.getScene()._transformMatrixR)),this.getScene().activeCamera&&-1!==this._options.uniforms.indexOf("cameraPosition")&&this._effect.setVector3("cameraPosition",this.getScene().activeCamera.globalPosition),c.a.BindBonesParameters(t,this._effect),this._textures)this._effect.setTexture(n,this._textures[n]);for(n in this._textureArrays)this._effect.setTextureArray(n,this._textureArrays[n]);for(n in this._ints)this._effect.setInt(n,this._ints[n]);for(n in this._floats)this._effect.setFloat(n,this._floats[n]);for(n in this._floatsArrays)this._effect.setArray(n,this._floatsArrays[n]);for(n in this._colors3)this._effect.setColor3(n,this._colors3[n]);for(n in this._colors3Arrays)this._effect.setArray3(n,this._colors3Arrays[n]);for(n in this._colors4){var i=this._colors4[n];this._effect.setFloat4(n,i.r,i.g,i.b,i.a)}for(n in this._colors4Arrays)this._effect.setArray4(n,this._colors4Arrays[n]);for(n in this._vectors2)this._effect.setVector2(n,this._vectors2[n]);for(n in this._vectors3)this._effect.setVector3(n,this._vectors3[n]);for(n in this._vectors4)this._effect.setVector4(n,this._vectors4[n]);for(n in this._matrices)this._effect.setMatrix(n,this._matrices[n]);for(n in this._matrixArrays)this._effect.setMatrices(n,this._matrixArrays[n]);for(n in this._matrices3x3)this._effect.setMatrix3x3(n,this._matrices3x3[n]);for(n in this._matrices2x2)this._effect.setMatrix2x2(n,this._matrices2x2[n]);for(n in this._vectors2Arrays)this._effect.setArray2(n,this._vectors2Arrays[n]);for(n in this._vectors3Arrays)this._effect.setArray3(n,this._vectors3Arrays[n]);for(n in this._vectors4Arrays)this._effect.setArray4(n,this._vectors4Arrays[n])}this._afterBind(t)},t.prototype.getActiveTextures=function(){var t=e.prototype.getActiveTextures.call(this);for(var n in this._textures)t.push(this._textures[n]);for(var n in this._textureArrays)for(var i=this._textureArrays[n],r=0;r5))switch(this._face=e,this._face){case 0:this.updateEffect("#define POSITIVEX");break;case 1:this.updateEffect("#define NEGATIVEX");break;case 2:this.updateEffect("#define POSITIVEY");break;case 3:this.updateEffect("#define NEGATIVEY");break;case 4:this.updateEffect("#define POSITIVEZ");break;case 5:this.updateEffect("#define NEGATIVEZ")}},enumerable:!0,configurable:!0}),t}(r.a);o.a._RescalePostProcessFactory=function(e){return new l("rescale",1,null,2,e,!1,0)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return l}));var i=n(0),r=[Math.sqrt(1/(4*Math.PI)),-Math.sqrt(3/(4*Math.PI)),Math.sqrt(3/(4*Math.PI)),-Math.sqrt(3/(4*Math.PI)),Math.sqrt(15/(4*Math.PI)),-Math.sqrt(15/(4*Math.PI)),Math.sqrt(5/(16*Math.PI)),-Math.sqrt(15/(4*Math.PI)),Math.sqrt(15/(16*Math.PI))],o=[function(e){return 1},function(e){return e.y},function(e){return e.z},function(e){return e.x},function(e){return e.x*e.y},function(e){return e.y*e.z},function(e){return 3*e.z*e.z-1},function(e){return e.x*e.z},function(e){return e.x*e.x-e.y*e.y}],a=function(e,t){return r[e]*o[e](t)},s=[Math.PI,2*Math.PI/3,2*Math.PI/3,2*Math.PI/3,Math.PI/4,Math.PI/4,Math.PI/4,Math.PI/4,Math.PI/4],c=function(){function e(){this.preScaled=!1,this.l00=i.e.Zero(),this.l1_1=i.e.Zero(),this.l10=i.e.Zero(),this.l11=i.e.Zero(),this.l2_2=i.e.Zero(),this.l2_1=i.e.Zero(),this.l20=i.e.Zero(),this.l21=i.e.Zero(),this.l22=i.e.Zero()}return e.prototype.addLight=function(e,t,n){var r=new i.e(t.r,t.g,t.b).scale(n);this.l00=this.l00.add(r.scale(a(0,e))),this.l1_1=this.l1_1.add(r.scale(a(1,e))),this.l10=this.l10.add(r.scale(a(2,e))),this.l11=this.l11.add(r.scale(a(3,e))),this.l2_2=this.l2_2.add(r.scale(a(4,e))),this.l2_1=this.l2_1.add(r.scale(a(5,e))),this.l20=this.l20.add(r.scale(a(6,e))),this.l21=this.l21.add(r.scale(a(7,e))),this.l22=this.l22.add(r.scale(a(8,e)))},e.prototype.scaleInPlace=function(e){this.l00.scaleInPlace(e),this.l1_1.scaleInPlace(e),this.l10.scaleInPlace(e),this.l11.scaleInPlace(e),this.l2_2.scaleInPlace(e),this.l2_1.scaleInPlace(e),this.l20.scaleInPlace(e),this.l21.scaleInPlace(e),this.l22.scaleInPlace(e)},e.prototype.convertIncidentRadianceToIrradiance=function(){this.l00.scaleInPlace(s[0]),this.l1_1.scaleInPlace(s[1]),this.l10.scaleInPlace(s[2]),this.l11.scaleInPlace(s[3]),this.l2_2.scaleInPlace(s[4]),this.l2_1.scaleInPlace(s[5]),this.l20.scaleInPlace(s[6]),this.l21.scaleInPlace(s[7]),this.l22.scaleInPlace(s[8])},e.prototype.convertIrradianceToLambertianRadiance=function(){this.scaleInPlace(1/Math.PI)},e.prototype.preScaleForRendering=function(){this.preScaled=!0,this.l00.scaleInPlace(r[0]),this.l1_1.scaleInPlace(r[1]),this.l10.scaleInPlace(r[2]),this.l11.scaleInPlace(r[3]),this.l2_2.scaleInPlace(r[4]),this.l2_1.scaleInPlace(r[5]),this.l20.scaleInPlace(r[6]),this.l21.scaleInPlace(r[7]),this.l22.scaleInPlace(r[8])},e.FromArray=function(t){var n=new e;return i.e.FromArrayToRef(t[0],0,n.l00),i.e.FromArrayToRef(t[1],0,n.l1_1),i.e.FromArrayToRef(t[2],0,n.l10),i.e.FromArrayToRef(t[3],0,n.l11),i.e.FromArrayToRef(t[4],0,n.l2_2),i.e.FromArrayToRef(t[5],0,n.l2_1),i.e.FromArrayToRef(t[6],0,n.l20),i.e.FromArrayToRef(t[7],0,n.l21),i.e.FromArrayToRef(t[8],0,n.l22),n},e.FromPolynomial=function(t){var n=new e;return n.l00=t.xx.scale(.376127).add(t.yy.scale(.376127)).add(t.zz.scale(.376126)),n.l1_1=t.y.scale(.977204),n.l10=t.z.scale(.977204),n.l11=t.x.scale(.977204),n.l2_2=t.xy.scale(1.16538),n.l2_1=t.yz.scale(1.16538),n.l20=t.zz.scale(1.34567).subtract(t.xx.scale(.672834)).subtract(t.yy.scale(.672834)),n.l21=t.zx.scale(1.16538),n.l22=t.xx.scale(1.16538).subtract(t.yy.scale(1.16538)),n.l1_1.scaleInPlace(-1),n.l11.scaleInPlace(-1),n.l2_1.scaleInPlace(-1),n.l21.scaleInPlace(-1),n.scaleInPlace(Math.PI),n},e}(),l=function(){function e(){this.x=i.e.Zero(),this.y=i.e.Zero(),this.z=i.e.Zero(),this.xx=i.e.Zero(),this.yy=i.e.Zero(),this.zz=i.e.Zero(),this.xy=i.e.Zero(),this.yz=i.e.Zero(),this.zx=i.e.Zero()}return Object.defineProperty(e.prototype,"preScaledHarmonics",{get:function(){return this._harmonics||(this._harmonics=c.FromPolynomial(this)),this._harmonics.preScaled||this._harmonics.preScaleForRendering(),this._harmonics},enumerable:!0,configurable:!0}),e.prototype.addAmbient=function(e){var t=new i.e(e.r,e.g,e.b);this.xx=this.xx.add(t),this.yy=this.yy.add(t),this.zz=this.zz.add(t)},e.prototype.scaleInPlace=function(e){this.x.scaleInPlace(e),this.y.scaleInPlace(e),this.z.scaleInPlace(e),this.xx.scaleInPlace(e),this.yy.scaleInPlace(e),this.zz.scaleInPlace(e),this.yz.scaleInPlace(e),this.zx.scaleInPlace(e),this.xy.scaleInPlace(e)},e.FromHarmonics=function(t){var n=new e;return n._harmonics=t,n.x=t.l11.scale(1.02333).scale(-1),n.y=t.l1_1.scale(1.02333).scale(-1),n.z=t.l10.scale(1.02333),n.xx=t.l00.scale(.886277).subtract(t.l20.scale(.247708)).add(t.l22.scale(.429043)),n.yy=t.l00.scale(.886277).subtract(t.l20.scale(.247708)).subtract(t.l22.scale(.429043)),n.zz=t.l00.scale(.886277).add(t.l20.scale(.495417)),n.yz=t.l2_1.scale(.858086).scale(-1),n.zx=t.l21.scale(.858086).scale(-1),n.xy=t.l2_2.scale(.858086),n.scaleInPlace(1/Math.PI),n},e.FromArray=function(t){var n=new e;return i.e.FromArrayToRef(t[0],0,n.x),i.e.FromArrayToRef(t[1],0,n.y),i.e.FromArrayToRef(t[2],0,n.z),i.e.FromArrayToRef(t[3],0,n.xx),i.e.FromArrayToRef(t[4],0,n.yy),i.e.FromArrayToRef(t[5],0,n.zz),i.e.FromArrayToRef(t[6],0,n.yz),i.e.FromArrayToRef(t[7],0,n.zx),i.e.FromArrayToRef(t[8],0,n.xy),n},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(e,t){this.width=e,this.height=t}return e.prototype.toString=function(){return"{W: "+this.width+", H: "+this.height+"}"},e.prototype.getClassName=function(){return"Size"},e.prototype.getHashCode=function(){var e=0|this.width;return e=397*e^(0|this.height)},e.prototype.copyFrom=function(e){this.width=e.width,this.height=e.height},e.prototype.copyFromFloats=function(e,t){return this.width=e,this.height=t,this},e.prototype.set=function(e,t){return this.copyFromFloats(e,t)},e.prototype.multiplyByFloats=function(t,n){return new e(this.width*t,this.height*n)},e.prototype.clone=function(){return new e(this.width,this.height)},e.prototype.equals=function(e){return!!e&&(this.width===e.width&&this.height===e.height)},Object.defineProperty(e.prototype,"surface",{get:function(){return this.width*this.height},enumerable:!0,configurable:!0}),e.Zero=function(){return new e(0,0)},e.prototype.add=function(t){return new e(this.width+t.width,this.height+t.height)},e.prototype.subtract=function(t){return new e(this.width-t.width,this.height-t.height)},e.Lerp=function(t,n,i){return new e(t.width+(n.width-t.width)*i,t.height+(n.height-t.height)*i)},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var i=n(1),r=n(0),o=n(54),a=n(33),s=n(23),c=function(e){function t(t,n,i,o,a,s,c){void 0===i&&(i=null),void 0===o&&(o=null),void 0===a&&(a=null),void 0===s&&(s=null),void 0===c&&(c=null);var l=e.call(this,t,n.getScene())||this;return l.name=t,l.children=new Array,l.animations=new Array,l._index=null,l._absoluteTransform=new r.a,l._invertedAbsoluteTransform=new r.a,l._scalingDeterminant=1,l._worldTransform=new r.a,l._needToDecompose=!0,l._needToCompose=!1,l._linkedTransformNode=null,l._waitingTransformNodeId=null,l._skeleton=n,l._localMatrix=o?o.clone():r.a.Identity(),l._restPose=a||l._localMatrix.clone(),l._baseMatrix=s||l._localMatrix.clone(),l._index=c,n.bones.push(l),l.setParent(i,!1),(s||o)&&l._updateDifferenceMatrix(),l}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"_matrix",{get:function(){return this._compose(),this._localMatrix},set:function(e){this._localMatrix.copyFrom(e),this._needToDecompose=!0},enumerable:!0,configurable:!0}),t.prototype.getClassName=function(){return"Bone"},t.prototype.getSkeleton=function(){return this._skeleton},t.prototype.getParent=function(){return this._parent},t.prototype.getChildren=function(){return this.children},t.prototype.getIndex=function(){return null===this._index?this.getSkeleton().bones.indexOf(this):this._index},t.prototype.setParent=function(e,t){if(void 0===t&&(t=!0),this._parent!==e){if(this._parent){var n=this._parent.children.indexOf(this);-1!==n&&this._parent.children.splice(n,1)}this._parent=e,this._parent&&this._parent.children.push(this),t&&this._updateDifferenceMatrix(),this.markAsDirty()}},t.prototype.getLocalMatrix=function(){return this._compose(),this._localMatrix},t.prototype.getBaseMatrix=function(){return this._baseMatrix},t.prototype.getRestPose=function(){return this._restPose},t.prototype.getWorldMatrix=function(){return this._worldTransform},t.prototype.returnToRest=function(){this.updateMatrix(this._restPose.clone())},t.prototype.getInvertedAbsoluteTransform=function(){return this._invertedAbsoluteTransform},t.prototype.getAbsoluteTransform=function(){return this._absoluteTransform},t.prototype.linkTransformNode=function(e){this._linkedTransformNode&&this._skeleton._numBonesWithLinkedTransformNode--,this._linkedTransformNode=e,this._linkedTransformNode&&this._skeleton._numBonesWithLinkedTransformNode++},t.prototype.getTransformNode=function(){return this._linkedTransformNode},Object.defineProperty(t.prototype,"position",{get:function(){return this._decompose(),this._localPosition},set:function(e){this._decompose(),this._localPosition.copyFrom(e),this._markAsDirtyAndCompose()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rotation",{get:function(){return this.getRotation()},set:function(e){this.setRotation(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rotationQuaternion",{get:function(){return this._decompose(),this._localRotation},set:function(e){this.setRotationQuaternion(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scaling",{get:function(){return this.getScale()},set:function(e){this.setScale(e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"animationPropertiesOverride",{get:function(){return this._skeleton.animationPropertiesOverride},enumerable:!0,configurable:!0}),t.prototype._decompose=function(){this._needToDecompose&&(this._needToDecompose=!1,this._localScaling||(this._localScaling=r.e.Zero(),this._localRotation=r.b.Zero(),this._localPosition=r.e.Zero()),this._localMatrix.decompose(this._localScaling,this._localRotation,this._localPosition))},t.prototype._compose=function(){this._needToCompose&&(this._localScaling?(this._needToCompose=!1,r.a.ComposeToRef(this._localScaling,this._localRotation,this._localPosition,this._localMatrix)):this._needToCompose=!1)},t.prototype.updateMatrix=function(e,t,n){void 0===t&&(t=!0),void 0===n&&(n=!0),this._baseMatrix.copyFrom(e),t&&this._updateDifferenceMatrix(),n?(this._localMatrix.copyFrom(e),this._markAsDirtyAndDecompose()):this.markAsDirty()},t.prototype._updateDifferenceMatrix=function(e,t){if(void 0===t&&(t=!0),e||(e=this._baseMatrix),this._parent?e.multiplyToRef(this._parent._absoluteTransform,this._absoluteTransform):this._absoluteTransform.copyFrom(e),this._absoluteTransform.invertToRef(this._invertedAbsoluteTransform),t)for(var n=0;n180&&(p-=360),p-u<-180&&(p+=360),h-p>180&&(h-=360),h-p<-180&&(h+=360),this.orientation=p-u<0?i.CW:i.CCW,this.angle=c.FromDegrees(this.orientation===i.CW?u-h:h-u)},u=function(){function e(e,t){this._points=new Array,this._length=0,this.closed=!1,this._points.push(new o.d(e,t))}return e.prototype.addLineTo=function(e,t){if(this.closed)return this;var n=new o.d(e,t),i=this._points[this._points.length-1];return this._points.push(n),this._length+=n.subtract(i).length(),this},e.prototype.addArcTo=function(e,t,n,r,a){if(void 0===a&&(a=36),this.closed)return this;var s=this._points[this._points.length-1],c=new o.d(e,t),u=new o.d(n,r),p=new l(s,c,u),h=p.angle.radians()/a;p.orientation===i.CW&&(h*=-1);for(var d=p.startAngle.radians()+h,f=0;f1)return o.d.Zero();for(var t=e*this.length(),n=0,i=0;i=n&&t<=c){var l=s.normalize(),u=t-n;return new o.d(a.x+l.x*u,a.y+l.y*u)}n=c}return o.d.Zero()},e.StartingAt=function(t,n){return new e(t,n)},e}(),p=function(){function e(e,t,n,i){void 0===t&&(t=null),void 0===i&&(i=!1),this.path=e,this._curve=new Array,this._distances=new Array,this._tangents=new Array,this._normals=new Array,this._binormals=new Array,this._pointAtData={id:0,point:o.e.Zero(),previousPointArrayIndex:0,position:0,subPosition:0,interpolateReady:!1,interpolationMatrix:o.a.Identity()};for(var r=0;rn){var i=t;t=n,n=i}var r=this.getCurve(),o=this.getPointAt(t),a=this.getPreviousPointIndexAt(t),s=this.getPointAt(n),c=this.getPreviousPointIndexAt(n)+1,l=[];return 0!==t&&(a++,l.push(o)),l.push.apply(l,r.slice(a,c)),1===n&&1!==t||l.push(s),new e(l,this.getNormalAt(t),this._raw,this._alignTangentsWithPath)},e.prototype.update=function(e,t,n){void 0===t&&(t=null),void 0===n&&(n=!1);for(var i=0;it+1;)t++,n=this._curve[e].subtract(this._curve[e-t]);return n},e.prototype._normalVector=function(e,t){var n,i,s=e.length();(0===s&&(s=1),null==t)?(i=r.a.WithinEpsilon(Math.abs(e.y)/s,1,a.a)?r.a.WithinEpsilon(Math.abs(e.x)/s,1,a.a)?r.a.WithinEpsilon(Math.abs(e.z)/s,1,a.a)?o.e.Zero():new o.e(0,0,1):new o.e(1,0,0):new o.e(0,-1,0),n=o.e.Cross(e,i)):(n=o.e.Cross(e,t),o.e.CrossToRef(n,e,n));return n.normalize(),n},e.prototype._updatePointAtData=function(e,t){if(void 0===t&&(t=!1),this._pointAtData.id===e)return this._pointAtData.interpolateReady||this._updateInterpolationMatrix(),this._pointAtData;this._pointAtData.id=e;var n=this.getPoints();if(e<=0)return this._setPointAtData(0,0,n[0],0,t);if(e>=1)return this._setPointAtData(1,1,n[n.length-1],n.length-1,t);for(var i,r=n[0],a=0,s=e*this.length(),c=1;cs){var u=(a-s)/l,p=r.subtract(i),h=i.add(p.scaleInPlace(u));return this._setPointAtData(e,1-u,h,c-1,t)}r=i}return this._pointAtData},e.prototype._setPointAtData=function(e,t,n,i,r){return this._pointAtData.point=n,this._pointAtData.position=e,this._pointAtData.subPosition=t,this._pointAtData.previousPointArrayIndex=i,this._pointAtData.interpolateReady=r,r&&this._updateInterpolationMatrix(),this._pointAtData},e.prototype._updateInterpolationMatrix=function(){this._pointAtData.interpolationMatrix=o.a.Identity();var e=this._pointAtData.previousPointArrayIndex;if(e!==this._tangents.length-1){var t=e+1,n=this._tangents[e].clone(),i=this._normals[e].clone(),r=this._binormals[e].clone(),a=this._tangents[t].clone(),s=this._normals[t].clone(),c=this._binormals[t].clone(),l=o.b.RotationQuaternionFromAxis(i,r,n),u=o.b.RotationQuaternionFromAxis(s,c,a);o.b.Slerp(l,u,this._pointAtData.subPosition).toRotationMatrix(this._pointAtData.interpolationMatrix)}},e}(),h=function(){function e(e){this._length=0,this._points=e,this._length=this._computeLength(e)}return e.CreateQuadraticBezier=function(t,n,i,r){r=r>2?r:3;for(var a=new Array,s=function(e,t,n,i){return(1-e)*(1-e)*t+2*e*(1-e)*n+e*e*i},c=0;c<=r;c++)a.push(new o.e(s(c/r,t.x,n.x,i.x),s(c/r,t.y,n.y,i.y),s(c/r,t.z,n.z,i.z)));return new e(a)},e.CreateCubicBezier=function(t,n,i,r,a){a=a>3?a:4;for(var s=new Array,c=function(e,t,n,i,r){return(1-e)*(1-e)*(1-e)*t+3*e*(1-e)*(1-e)*n+3*e*e*(1-e)*i+e*e*e*r},l=0;l<=a;l++)s.push(new o.e(c(l/a,t.x,n.x,i.x,r.x),c(l/a,t.y,n.y,i.y,r.y),c(l/a,t.z,n.z,i.z,r.z)));return new e(s)},e.CreateHermiteSpline=function(t,n,i,r,a){for(var s=new Array,c=1/a,l=0;l<=a;l++)s.push(o.e.Hermite(t,n,i,r,l*c));return new e(s)},e.CreateCatmullRomSpline=function(t,n,i){var r=new Array,a=1/n,s=0;if(i){for(var c=t.length,l=0;l0?this._setDefaultFixedFrustumShadowProjectionMatrix(e):this._setDefaultAutoExtendShadowProjectionMatrix(e,t,n)},t.prototype._setDefaultFixedFrustumShadowProjectionMatrix=function(e){var t=this.getScene().activeCamera;t&&o.a.OrthoLHToRef(this.shadowFrustumSize,this.shadowFrustumSize,void 0!==this.shadowMinZ?this.shadowMinZ:t.minZ,void 0!==this.shadowMaxZ?this.shadowMaxZ:t.maxZ,e)},t.prototype._setDefaultAutoExtendShadowProjectionMatrix=function(e,t,n){var i=this.getScene().activeCamera;if(i){if(this.autoUpdateExtends||this._orthoLeft===Number.MAX_VALUE){var r=o.e.Zero();this._orthoLeft=Number.MAX_VALUE,this._orthoRight=Number.MIN_VALUE,this._orthoTop=Number.MIN_VALUE,this._orthoBottom=Number.MAX_VALUE;for(var a=Number.MAX_VALUE,s=Number.MIN_VALUE,c=0;cthis._orthoRight&&(this._orthoRight=r.x),r.y>this._orthoTop&&(this._orthoTop=r.y),this.autoCalcShadowZBounds&&(r.zs&&(s=r.z))}this.autoCalcShadowZBounds&&(this._shadowMinZ=a,this._shadowMaxZ=s)}var h=this._orthoRight-this._orthoLeft,d=this._orthoTop-this._orthoBottom;o.a.OrthoOffCenterLHToRef(this._orthoLeft-h*this.shadowOrthoScale,this._orthoRight+h*this.shadowOrthoScale,this._orthoBottom-d*this.shadowOrthoScale,this._orthoTop+d*this.shadowOrthoScale,void 0!==this.shadowMinZ?this.shadowMinZ:i.minZ,void 0!==this.shadowMaxZ?this.shadowMaxZ:i.maxZ,e)}},t.prototype._buildUniformLayout=function(){this._uniformBuffer.addUniform("vLightData",4),this._uniformBuffer.addUniform("vLightDiffuse",4),this._uniformBuffer.addUniform("vLightSpecular",4),this._uniformBuffer.addUniform("shadowsInfo",3),this._uniformBuffer.addUniform("depthValues",2),this._uniformBuffer.create()},t.prototype.transferToEffect=function(e,t){return this.computeTransformedInformation()?(this._uniformBuffer.updateFloat4("vLightData",this.transformedDirection.x,this.transformedDirection.y,this.transformedDirection.z,1,t),this):(this._uniformBuffer.updateFloat4("vLightData",this.direction.x,this.direction.y,this.direction.z,1,t),this)},t.prototype.transferToNodeMaterialEffect=function(e,t){return this.computeTransformedInformation()?(e.setFloat3(t,this.transformedDirection.x,this.transformedDirection.y,this.transformedDirection.z),this):(e.setFloat3(t,this.direction.x,this.direction.y,this.direction.z),this)},t.prototype.getDepthMinZ=function(e){return 1},t.prototype.getDepthMaxZ=function(e){return 1},t.prototype.prepareLightSpecificDefines=function(e,t){e["DIRLIGHT"+t]=!0},Object(i.c)([Object(r.c)()],t.prototype,"shadowFrustumSize",null),Object(i.c)([Object(r.c)()],t.prototype,"shadowOrthoScale",null),Object(i.c)([Object(r.c)()],t.prototype,"autoUpdateExtends",void 0),Object(i.c)([Object(r.c)()],t.prototype,"autoCalcShadowZBounds",void 0),t}(c.a)},function(e,t,n){"use strict";n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return h}));var i=n(1),r=n(4),o=n(3),a=n(9),s=n(148),c=n(28),l=n(103),u=n(11),p=(n(213),n(214),function(e){function t(t,n,i,a,s,c,u){void 0===n&&(n=null),void 0===i&&(i=null),void 0===a&&(a=null);var p=e.call(this,t,n,i,a,s)||this;p.useVertexColor=c,p.useVertexAlpha=u,p.color=new r.a(1,1,1),p.alpha=1,a&&(p.color=a.color.clone(),p.alpha=a.alpha,p.useVertexColor=a.useVertexColor,p.useVertexAlpha=a.useVertexAlpha),p.intersectionThreshold=.1;var h={attributes:[o.b.PositionKind,"world0","world1","world2","world3"],uniforms:["vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","world","viewProjection"],needAlphaBlending:!0,defines:[]};return!1===u&&(h.needAlphaBlending=!1),c?(h.defines.push("#define VERTEXCOLOR"),h.attributes.push(o.b.ColorKind)):(h.uniforms.push("color"),p.color4=new r.b),p._colorShader=new l.a("colorShader",p.getScene(),"color",h),p}return Object(i.d)(t,e),t.prototype._addClipPlaneDefine=function(e){var t="#define "+e;-1===this._colorShader.options.defines.indexOf(t)&&this._colorShader.options.defines.push(t)},t.prototype._removeClipPlaneDefine=function(e){var t="#define "+e,n=this._colorShader.options.defines.indexOf(t);-1!==n&&this._colorShader.options.defines.splice(n,1)},t.prototype.isReady=function(){var t=this.getScene();return t.clipPlane?this._addClipPlaneDefine("CLIPPLANE"):this._removeClipPlaneDefine("CLIPPLANE"),t.clipPlane2?this._addClipPlaneDefine("CLIPPLANE2"):this._removeClipPlaneDefine("CLIPPLANE2"),t.clipPlane3?this._addClipPlaneDefine("CLIPPLANE3"):this._removeClipPlaneDefine("CLIPPLANE3"),t.clipPlane4?this._addClipPlaneDefine("CLIPPLANE4"):this._removeClipPlaneDefine("CLIPPLANE4"),t.clipPlane5?this._addClipPlaneDefine("CLIPPLANE5"):this._removeClipPlaneDefine("CLIPPLANE5"),t.clipPlane6?this._addClipPlaneDefine("CLIPPLANE6"):this._removeClipPlaneDefine("CLIPPLANE6"),!!this._colorShader.isReady()&&e.prototype.isReady.call(this)},t.prototype.getClassName=function(){return"LinesMesh"},Object.defineProperty(t.prototype,"material",{get:function(){return this._colorShader},set:function(e){},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"checkCollisions",{get:function(){return!1},enumerable:!0,configurable:!0}),t.prototype._bind=function(e,t,n){if(!this._geometry)return this;var i=this._colorShader.getEffect(),r=this.isUnIndexed?null:this._geometry.getIndexBuffer();if(this._geometry._bind(i,r),!this.useVertexColor){var o=this.color,a=o.r,s=o.g,c=o.b;this.color4.set(a,s,c,this.alpha),this._colorShader.setColor4("color",this.color4)}return u.a.BindClipPlane(i,this.getScene()),this},t.prototype._draw=function(e,t,n){if(!this._geometry||!this._geometry.getVertexBuffers()||!this._unIndexed&&!this._geometry.getIndexBuffer())return this;var i=this.getScene().getEngine();return this._unIndexed?i.drawArraysType(c.a.LineListDrawMode,e.verticesStart,e.verticesCount,n):i.drawElementsType(c.a.LineListDrawMode,e.indexStart,e.indexCount,n),this},t.prototype.dispose=function(t){this._colorShader.dispose(!1,!1,!0),e.prototype.dispose.call(this,t)},t.prototype.clone=function(e,n,i){return void 0===n&&(n=null),new t(e,this.getScene(),n,this,i)},t.prototype.createInstance=function(e){return new h(e,this)},t}(a.a)),h=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.intersectionThreshold=n.intersectionThreshold,i}return Object(i.d)(t,e),t.prototype.getClassName=function(){return"InstancedLinesMesh"},t}(s.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));var i=n(12),r=n(0),o=n(15),a=n(105),s=n(30),c=n(62),l=n(18),u=n(24),p=n(10),h=(n(205),n(207),n(6)),d=(n(55),"\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\n#include\nvoid main(void)\n{\ngl_FragColor=toRGBD(texture2D(textureSampler,vUV).rgb);\n}");h.a.ShadersStore.rgbdEncodePixelShader=d;n(216);var f=function(){function e(){}return e.GetEnvInfo=function(t){for(var n=new DataView(t.buffer,t.byteOffset,t.byteLength),i=0,r=0;r127&&-1===this._sliceLeft)this._sliceLeft=o;else if(s<127&&this._sliceLeft>-1){this._sliceRight=o;break}}this._sliceTop=-1,this._sliceBottom=-1;for(var a=0;a127&&-1===this._sliceTop)this._sliceTop=a;else if(s<127&&this._sliceTop>-1){this._sliceBottom=a;break}}},Object.defineProperty(t.prototype,"source",{set:function(e){var t=this;this._source!==e&&(this._loaded=!1,this._source=e,e&&(e=this._svgCheck(e)),this._domImage=document.createElement("img"),this._domImage.onload=function(){t._onImageLoaded()},e&&(o.b.SetCorsBehavior(e,this._domImage),this._domImage.src=e))},enumerable:!0,configurable:!0}),t.prototype._svgCheck=function(e){var t=this;if(window.SVGSVGElement&&-1!==e.search(/.svg#/gi)&&e.indexOf("#")===e.lastIndexOf("#")){this._isSVG=!0;var n=e.split("#")[0],i=e.split("#")[1],r=document.body.querySelector('object[data="'+n+'"]');if(r){var o=r.contentDocument;if(o&&o.documentElement){var a=o.documentElement.getAttribute("viewBox"),s=Number(o.documentElement.getAttribute("width")),c=Number(o.documentElement.getAttribute("height"));if(o.getElementById(i)&&a&&s&&c)return this._getSVGAttribs(r,i),e}r.addEventListener("load",(function(){t._getSVGAttribs(r,i)}))}else{var l=document.createElement("object");l.data=n,l.type="image/svg+xml",l.width="0%",l.height="0%",document.body.appendChild(l),l.onload=function(){var e=document.body.querySelector('object[data="'+n+'"]');e&&t._getSVGAttribs(e,i)}}return n}return e},t.prototype._getSVGAttribs=function(e,t){var n=e.contentDocument;if(n&&n.documentElement){var i=n.documentElement.getAttribute("viewBox"),r=Number(n.documentElement.getAttribute("width")),o=Number(n.documentElement.getAttribute("height")),a=n.getElementById(t);if(i&&r&&o&&a){var s=Number(i.split(" ")[2]),c=Number(i.split(" ")[3]),l=a.getBBox(),u=1,p=1,h=0,d=0;a.transform&&a.transform.baseVal.consolidate()&&(u=a.transform.baseVal.consolidate().matrix.a,p=a.transform.baseVal.consolidate().matrix.d,h=a.transform.baseVal.consolidate().matrix.e,d=a.transform.baseVal.consolidate().matrix.f),this.sourceLeft=(u*l.x+h)*r/s,this.sourceTop=(p*l.y+d)*o/c,this.sourceWidth=l.width*u*(r/s),this.sourceHeight=l.height*p*(o/c),this._svgAttributesComputationCompleted=!0,this.onSVGAttributesComputedObservable.notifyObservers(this)}}},Object.defineProperty(t.prototype,"cellWidth",{get:function(){return this._cellWidth},set:function(e){this._cellWidth!==e&&(this._cellWidth=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cellHeight",{get:function(){return this._cellHeight},set:function(e){this._cellHeight!==e&&(this._cellHeight=e,this._markAsDirty())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"cellId",{get:function(){return this._cellId},set:function(e){this._cellId!==e&&(this._cellId=e,this._markAsDirty())},enumerable:!0,configurable:!0}),t.prototype.contains=function(t,n){if(!e.prototype.contains.call(this,t,n))return!1;if(!this._detectPointerOnOpaqueOnly||!this._workingCanvas)return!0;var i=this._workingCanvas.getContext("2d"),r=0|this._currentMeasure.width,o=0|this._currentMeasure.height;return i.getImageData(0,0,r,o).data[4*((t=t-this._currentMeasure.left|0)+(n=n-this._currentMeasure.top|0)*this._currentMeasure.width)+3]>0},t.prototype._getTypeName=function(){return"Image"},t.prototype.synchronizeSizeWithContent=function(){this._loaded&&(this.width=this._domImage.width+"px",this.height=this._domImage.height+"px")},t.prototype._processMeasures=function(n,i){if(this._loaded)switch(this._stretch){case t.STRETCH_NONE:case t.STRETCH_FILL:case t.STRETCH_UNIFORM:case t.STRETCH_NINE_PATCH:break;case t.STRETCH_EXTEND:this._autoScale&&this.synchronizeSizeWithContent(),this.parent&&this.parent.parent&&(this.parent.adaptWidthToChildren=!0,this.parent.adaptHeightToChildren=!0)}e.prototype._processMeasures.call(this,n,i)},t.prototype._prepareWorkingCanvasForOpaqueDetection=function(){if(this._detectPointerOnOpaqueOnly){this._workingCanvas||(this._workingCanvas=document.createElement("canvas"));var e=this._workingCanvas,t=this._currentMeasure.width,n=this._currentMeasure.height,i=e.getContext("2d");e.width=t,e.height=n,i.clearRect(0,0,t,n)}},t.prototype._drawImage=function(e,t,n,i,r,o,a,s,c){(e.drawImage(this._domImage,t,n,i,r,o,a,s,c),this._detectPointerOnOpaqueOnly)&&(e=this._workingCanvas.getContext("2d")).drawImage(this._domImage,t,n,i,r,o-this._currentMeasure.left,a-this._currentMeasure.top,s,c)},t.prototype._draw=function(e){var n,i,r,o;if(e.save(),(this.shadowBlur||this.shadowOffsetX||this.shadowOffsetY)&&(e.shadowColor=this.shadowColor,e.shadowBlur=this.shadowBlur,e.shadowOffsetX=this.shadowOffsetX,e.shadowOffsetY=this.shadowOffsetY),-1==this.cellId)n=this._sourceLeft,i=this._sourceTop,r=this._sourceWidth?this._sourceWidth:this._imageWidth,o=this._sourceHeight?this._sourceHeight:this._imageHeight;else{var a=this._domImage.naturalWidth/this.cellWidth,s=this.cellId/a>>0,c=this.cellId%a;n=this.cellWidth*c,i=this.cellHeight*s,r=this.cellWidth,o=this.cellHeight}if(this._prepareWorkingCanvasForOpaqueDetection(),this._applyStates(e),this._loaded)switch(this._stretch){case t.STRETCH_NONE:case t.STRETCH_FILL:this._drawImage(e,n,i,r,o,this._currentMeasure.left,this._currentMeasure.top,this._currentMeasure.width,this._currentMeasure.height);break;case t.STRETCH_UNIFORM:var l=this._currentMeasure.width/r,u=this._currentMeasure.height/o,p=Math.min(l,u),h=(this._currentMeasure.width-r*p)/2,d=(this._currentMeasure.height-o*p)/2;this._drawImage(e,n,i,r,o,this._currentMeasure.left+h,this._currentMeasure.top+d,r*p,o*p);break;case t.STRETCH_EXTEND:this._drawImage(e,n,i,r,o,this._currentMeasure.left,this._currentMeasure.top,this._currentMeasure.width,this._currentMeasure.height);break;case t.STRETCH_NINE_PATCH:this._renderNinePatch(e)}e.restore()},t.prototype._renderCornerPatch=function(e,t,n,i,r,o,a){this._drawImage(e,t,n,i,r,this._currentMeasure.left+o,this._currentMeasure.top+a,i,r)},t.prototype._renderNinePatch=function(e){var t=this._imageHeight,n=this._sliceLeft,i=this._sliceTop,r=this._imageHeight-this._sliceBottom,o=this._imageWidth-this._sliceRight,a=0,s=0;this._populateNinePatchSlicesFromImage&&(a=1,s=1,t-=2,n-=1,i-=1,r-=1,o-=1);var c=this._sliceRight-this._sliceLeft,l=this._currentMeasure.width-o-this.sliceLeft,u=this._currentMeasure.height-t+this._sliceBottom;this._renderCornerPatch(e,a,s,n,i,0,0),this._renderCornerPatch(e,a,this._sliceBottom,n,t-this._sliceBottom,0,u),this._renderCornerPatch(e,this._sliceRight,s,o,i,this._currentMeasure.width-o,0),this._renderCornerPatch(e,this._sliceRight,this._sliceBottom,o,t-this._sliceBottom,this._currentMeasure.width-o,u),this._drawImage(e,this._sliceLeft,this._sliceTop,c,this._sliceBottom-this._sliceTop,this._currentMeasure.left+n,this._currentMeasure.top+i,l,u-i),this._drawImage(e,a,this._sliceTop,n,this._sliceBottom-this._sliceTop,this._currentMeasure.left,this._currentMeasure.top+i,n,u-i),this._drawImage(e,this._sliceRight,this._sliceTop,n,this._sliceBottom-this._sliceTop,this._currentMeasure.left+this._currentMeasure.width-o,this._currentMeasure.top+i,n,u-i),this._drawImage(e,this._sliceLeft,s,c,i,this._currentMeasure.left+n,this._currentMeasure.top,l,i),this._drawImage(e,this._sliceLeft,this._sliceBottom,c,r,this._currentMeasure.left+n,this._currentMeasure.top+u,l,r)},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.onImageLoadedObservable.clear(),this.onSVGAttributesComputedObservable.clear()},t.STRETCH_NONE=0,t.STRETCH_FILL=1,t.STRETCH_UNIFORM=2,t.STRETCH_EXTEND=3,t.STRETCH_NINE_PATCH=4,t}(a.a);s.a.RegisteredTypes["BABYLON.GUI.Image"]=c},function(e,t,n){"use strict";n.d(t,"c",(function(){return c})),n.d(t,"b",(function(){return l})),n.d(t,"a",(function(){return u}));var i=n(1),r=n(50),o=n(9),a=n(10),s=n(25),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(i.d)(t,e),t}(r.a),l=function(){this.rootNodes=[],this.skeletons=[],this.animationGroups=[]},u=function(e){function t(t){var n=e.call(this)||this;return n._wasAddedToScene=!1,n.scene=t,n.sounds=[],n.effectLayers=[],n.layers=[],n.lensFlareSystems=[],n.proceduralTextures=[],n.reflectionProbes=[],t.onDisposeObservable.add((function(){n._wasAddedToScene||n.dispose()})),n}return Object(i.d)(t,e),t.prototype.instantiateModelsToScene=function(e,t){var n=this;void 0===t&&(t=!1);var i={},r={},a=new l,s=[],c=[],u={doNotInstantiate:!0},p=function(t,n){if(i[t.uniqueId]=n.uniqueId,r[n.uniqueId]=n,e&&(n.name=e(t.name)),n instanceof o.a){var a=n;if(a.morphTargetManager){var s=t.morphTargetManager;a.morphTargetManager=s.clone();for(var c=0;c-1&&t.animations.splice(o,1)}},r=0,o=e.animations;r=0&&t.proceduralTextures.splice(n,1);var i=this._vertexBuffers[a.b.PositionKind];i&&(i.dispose(),this._vertexBuffers[a.b.PositionKind]=null),this._indexBuffer&&this._engine._releaseBuffer(this._indexBuffer)&&(this._indexBuffer=null),e.prototype.dispose.call(this)}},Object(i.c)([Object(r.c)()],t.prototype,"isEnabled",void 0),Object(i.c)([Object(r.c)()],t.prototype,"autoClear",void 0),Object(i.c)([Object(r.c)()],t.prototype,"_generateMipMaps",void 0),Object(i.c)([Object(r.c)()],t.prototype,"_size",void 0),Object(i.c)([Object(r.c)()],t.prototype,"refreshRate",null),t}(l.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var i=n(1),r=function(e){function t(t){var n=e.call(this)||this;return n._buffer=t,n}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"underlyingResource",{get:function(){return this._buffer},enumerable:!0,configurable:!0}),t}(n(126).a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){this.references=0,this.capacity=0,this.is32Bits=!1}return Object.defineProperty(e.prototype,"underlyingResource",{get:function(){return null},enumerable:!0,configurable:!0}),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var i=n(81),r=function(){function e(){}return e.GetPlanes=function(t){for(var n=[],r=0;r<6;r++)n.push(new i.a(0,0,0,0));return e.GetPlanesToRef(t,n),n},e.GetNearPlaneToRef=function(e,t){var n=e.m;t.normal.x=n[3]+n[2],t.normal.y=n[7]+n[6],t.normal.z=n[11]+n[10],t.d=n[15]+n[14],t.normalize()},e.GetFarPlaneToRef=function(e,t){var n=e.m;t.normal.x=n[3]-n[2],t.normal.y=n[7]-n[6],t.normal.z=n[11]-n[10],t.d=n[15]-n[14],t.normalize()},e.GetLeftPlaneToRef=function(e,t){var n=e.m;t.normal.x=n[3]+n[0],t.normal.y=n[7]+n[4],t.normal.z=n[11]+n[8],t.d=n[15]+n[12],t.normalize()},e.GetRightPlaneToRef=function(e,t){var n=e.m;t.normal.x=n[3]-n[0],t.normal.y=n[7]-n[4],t.normal.z=n[11]-n[8],t.d=n[15]-n[12],t.normalize()},e.GetTopPlaneToRef=function(e,t){var n=e.m;t.normal.x=n[3]-n[1],t.normal.y=n[7]-n[5],t.normal.z=n[11]-n[9],t.d=n[15]-n[13],t.normalize()},e.GetBottomPlaneToRef=function(e,t){var n=e.m;t.normal.x=n[3]+n[1],t.normal.y=n[7]+n[5],t.normal.z=n[11]+n[9],t.d=n[15]+n[13],t.normalize()},e.GetPlanesToRef=function(t,n){e.GetNearPlaneToRef(t,n[0]),e.GetFarPlaneToRef(t,n[1]),e.GetLeftPlaneToRef(t,n[2]),e.GetRightPlaneToRef(t,n[3]),e.GetTopPlaneToRef(t,n[4]),e.GetBottomPlaneToRef(t,n[5])},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return h}));var i=n(107),r=n(5),o=n(0),a=n(89),s=n(27),c=n(145),l=n(25),u=n(10),p=n(48),h=function(){function e(e,t,n){this.name=e,this.id=t,this.bones=new Array,this.needInitialSkinMatrix=!1,this.overrideMesh=null,this._isDirty=!0,this._meshesWithPoseMatrix=new Array,this._identity=o.a.Identity(),this._ranges={},this._lastAbsoluteTransformsUpdateId=-1,this._canUseTextureForBones=!1,this._uniqueId=0,this._numBonesWithLinkedTransformNode=0,this._hasWaitingData=null,this.doNotSerialize=!1,this._useTextureToStoreBoneMatrices=!0,this._animationPropertiesOverride=null,this.onBeforeComputeObservable=new r.c,this.bones=[],this._scene=n||l.a.LastCreatedScene,this._uniqueId=this._scene.getUniqueId(),this._scene.addSkeleton(this),this._isDirty=!0;var i=this._scene.getEngine().getCaps();this._canUseTextureForBones=i.textureFloat&&i.maxVertexTextureImageUnits>0}return Object.defineProperty(e.prototype,"useTextureToStoreBoneMatrices",{get:function(){return this._useTextureToStoreBoneMatrices},set:function(e){this._useTextureToStoreBoneMatrices=e,this._markAsDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"animationPropertiesOverride",{get:function(){return this._animationPropertiesOverride?this._animationPropertiesOverride:this._scene.animationPropertiesOverride},set:function(e){this._animationPropertiesOverride=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isUsingTextureForMatrices",{get:function(){return this.useTextureToStoreBoneMatrices&&this._canUseTextureForBones},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"uniqueId",{get:function(){return this._uniqueId},enumerable:!0,configurable:!0}),e.prototype.getClassName=function(){return"Skeleton"},e.prototype.getChildren=function(){return this.bones.filter((function(e){return!e.getParent()}))},e.prototype.getTransformMatrices=function(e){return this.needInitialSkinMatrix&&e._bonesTransformMatrices?e._bonesTransformMatrices:(this._transformMatrices||this.prepare(),this._transformMatrices)},e.prototype.getTransformMatrixTexture=function(e){return this.needInitialSkinMatrix&&e._transformMatrixTexture?e._transformMatrixTexture:this._transformMatrixTexture},e.prototype.getScene=function(){return this._scene},e.prototype.toString=function(e){var t="Name: "+this.name+", nBones: "+this.bones.length;if(t+=", nAnimationRanges: "+(this._ranges?Object.keys(this._ranges).length:"none"),e){t+=", Ranges: {";var n=!0;for(var i in this._ranges)n&&(t+=", ",n=!1),t+=i;t+="}"}return t},e.prototype.getBoneIndexByName=function(e){for(var t=0,n=this.bones.length;t-1&&this._meshesWithPoseMatrix.splice(t,1)},e.prototype._computeTransformMatrices=function(e,t){this.onBeforeComputeObservable.notifyObservers(this);for(var n=0;n0)for(var e=0,t=this.bones;e0&&(r.animation=n.animations[0].serialize()),e.ranges=[],this._ranges){var a=this._ranges[o];if(a){var s={};s.name=o,s.from=a.from,s.to=a.to,e.ranges.push(s)}}}return e},e.Parse=function(t,n){var r,a=new e(t.name,t.id,n);for(t.dimensionsAtRest&&(a.dimensionsAtRest=o.e.FromArray(t.dimensionsAtRest)),a.needInitialSkinMatrix=t.needInitialSkinMatrix,r=0;r-1&&(l=a.bones[c.parentBoneIndex]);var u=c.rest?o.a.FromArray(c.rest):null,p=new i.a(c.name,a,l,o.a.FromArray(c.matrix),u);void 0!==c.id&&null!==c.id&&(p.id=c.id),c.length&&(p.length=c.length),c.metadata&&(p.metadata=c.metadata),c.animation&&p.animations.push(s.a.Parse(c.animation)),void 0!==c.linkedTransformNodeId&&null!==c.linkedTransformNodeId&&(a._hasWaitingData=!0,p._waitingTransformNodeId=c.linkedTransformNodeId)}if(t.ranges)for(r=0;r0&&(e=this._meshesWithPoseMatrix[0].getPoseMatrix()),e},e.prototype.sortBones=function(){for(var e=new Array,t=new Array(this.bones.length),n=0;n=1&&n<=7)return!0}return!1},enumerable:!0,configurable:!0}),e.HasSpecificTrigger=function(t){for(var n in e.Triggers){if(e.Triggers.hasOwnProperty(n))if(parseInt(n)===t)return!0}return!1},e.Triggers={},e}()},function(e,t,n){"use strict";var i="morphTargetsVertexGlobalDeclaration",r="#ifdef MORPHTARGETS\nuniform float morphTargetInfluences[NUM_MORPH_INFLUENCERS];\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";var i="morphTargetsVertexDeclaration",r="#ifdef MORPHTARGETS\nattribute vec3 position{X};\n#ifdef MORPHTARGETS_NORMAL\nattribute vec3 normal{X};\n#endif\n#ifdef MORPHTARGETS_TANGENT\nattribute vec3 tangent{X};\n#endif\n#ifdef MORPHTARGETS_UV\nattribute vec2 uv_{X};\n#endif\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";var i;n.d(t,"a",(function(){return i})),function(e){e[e.STEP=1]="STEP"}(i||(i={}))},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var i=n(28),r=n(3),o=function(){function e(e){this._vertexBuffers={},this._scene=e}return e.prototype._prepareBuffers=function(){if(!this._vertexBuffers[r.b.PositionKind]){var e=[];e.push(1,1),e.push(-1,1),e.push(-1,-1),e.push(1,-1),this._vertexBuffers[r.b.PositionKind]=new r.b(this._scene.getEngine(),e,r.b.PositionKind,!1,!1,2),this._buildIndexBuffer()}},e.prototype._buildIndexBuffer=function(){var e=[];e.push(0),e.push(1),e.push(2),e.push(0),e.push(2),e.push(3),this._indexBuffer=this._scene.getEngine().createIndexBuffer(e)},e.prototype._rebuild=function(){var e=this._vertexBuffers[r.b.PositionKind];e&&(e._rebuild(),this._buildIndexBuffer())},e.prototype._prepareFrame=function(e,t){void 0===e&&(e=null),void 0===t&&(t=null);var n=this._scene.activeCamera;return!!n&&(!(!(t=t||n._postProcesses.filter((function(e){return null!=e})))||0===t.length||!this._scene.postProcessesEnabled)&&(t[0].activate(n,e,null!=t),!0))},e.prototype.directRender=function(e,t,n,r,o){void 0===t&&(t=null),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0);for(var a=this._scene.getEngine(),s=0;s0&&(f=!0,this._soundLoaded(n));break;case"String":d.push(n);case"Array":0===d.length&&(d=n);for(var _=0;_0&&(this._htmlAudioElement.currentTime=0)):this._streamingSource.disconnect(),this.isPlaying=!1;else if(a.a.audioEngine.audioContext&&this._soundSource){var n=e?a.a.audioEngine.audioContext.currentTime+e:a.a.audioEngine.audioContext.currentTime;this._soundSource.stop(n),this._soundSource.onended=function(){t.isPlaying=!1},this.isPaused||(this._startOffset=0)}},e.prototype.pause=function(){this.isPlaying&&(this.isPaused=!0,this._streaming?this._htmlAudioElement?this._htmlAudioElement.pause():this._streamingSource.disconnect():a.a.audioEngine.audioContext&&(this.stop(0),this._startOffset+=a.a.audioEngine.audioContext.currentTime-this._startTime))},e.prototype.setVolume=function(e,t){a.a.audioEngine.canUseWebAudio&&this._soundGain&&(t&&a.a.audioEngine.audioContext?(this._soundGain.gain.cancelScheduledValues(a.a.audioEngine.audioContext.currentTime),this._soundGain.gain.setValueAtTime(this._soundGain.gain.value,a.a.audioEngine.audioContext.currentTime),this._soundGain.gain.linearRampToValueAtTime(e,a.a.audioEngine.audioContext.currentTime+t)):this._soundGain.gain.value=e),this._volume=e},e.prototype.setPlaybackRate=function(e){this._playbackRate=e,this.isPlaying&&(this._streaming&&this._htmlAudioElement?this._htmlAudioElement.playbackRate=this._playbackRate:this._soundSource&&(this._soundSource.playbackRate.value=this._playbackRate))},e.prototype.getVolume=function(){return this._volume},e.prototype.attachToMesh=function(e){var t=this;this._connectedTransformNode&&this._registerFunc&&(this._connectedTransformNode.unregisterAfterWorldMatrixUpdate(this._registerFunc),this._registerFunc=null),this._connectedTransformNode=e,this.spatialSound||(this.spatialSound=!0,this._createSpatialParameters(),this.isPlaying&&this.loop&&(this.stop(),this.play(0,this._offset,this._length))),this._onRegisterAfterWorldMatrixUpdate(this._connectedTransformNode),this._registerFunc=function(e){return t._onRegisterAfterWorldMatrixUpdate(e)},this._connectedTransformNode.registerAfterWorldMatrixUpdate(this._registerFunc)},e.prototype.detachFromMesh=function(){this._connectedTransformNode&&this._registerFunc&&(this._connectedTransformNode.unregisterAfterWorldMatrixUpdate(this._registerFunc),this._registerFunc=null,this._connectedTransformNode=null)},e.prototype._onRegisterAfterWorldMatrixUpdate=function(e){if(e.getBoundingInfo){var t=e;if(this._positionInEmitterSpace)t.worldMatrixFromCache.invertToRef(o.c.Matrix[0]),this.setPosition(o.c.Matrix[0].getTranslation());else{var n=t.getBoundingInfo();this.setPosition(n.boundingSphere.centerWorld)}a.a.audioEngine.canUseWebAudio&&this._isDirectional&&this.isPlaying&&this._updateDirection()}},e.prototype.clone=function(){var t=this;if(this._streaming)return null;var n=function(){t._isReadyToPlay?(r._audioBuffer=t.getAudioBuffer(),r._isReadyToPlay=!0,r.autoplay&&r.play(0,t._offset,t._length)):window.setTimeout(n,300)},i={autoplay:this.autoplay,loop:this.loop,volume:this._volume,spatialSound:this.spatialSound,maxDistance:this.maxDistance,useCustomAttenuation:this.useCustomAttenuation,rolloffFactor:this.rolloffFactor,refDistance:this.refDistance,distanceModel:this.distanceModel},r=new e(this.name+"_cloned",new ArrayBuffer(0),this._scene,null,i);return this.useCustomAttenuation&&r.setAttenuationFunction(this._customAttenuationFunction),r.setPosition(this._position),r.setPlaybackRate(this._playbackRate),n(),r},e.prototype.getAudioBuffer=function(){return this._audioBuffer},e.prototype.serialize=function(){var e={name:this.name,url:this.name,autoplay:this.autoplay,loop:this.loop,volume:this._volume,spatialSound:this.spatialSound,maxDistance:this.maxDistance,rolloffFactor:this.rolloffFactor,refDistance:this.refDistance,distanceModel:this.distanceModel,playbackRate:this._playbackRate,panningModel:this._panningModel,soundTrackId:this.soundTrackId};return this.spatialSound&&(this._connectedTransformNode&&(e.connectedMeshId=this._connectedTransformNode.id),e.position=this._position.asArray(),e.refDistance=this.refDistance,e.distanceModel=this.distanceModel,e.isDirectional=this._isDirectional,e.localDirectionToMesh=this._localDirection.asArray(),e.coneInnerAngle=this._coneInnerAngle,e.coneOuterAngle=this._coneOuterAngle,e.coneOuterGain=this._coneOuterGain),e},e.Parse=function(t,n,i,r){var a,s=t.name;a=t.url?i+t.url:i+s;var c,l={autoplay:t.autoplay,loop:t.loop,volume:t.volume,spatialSound:t.spatialSound,maxDistance:t.maxDistance,rolloffFactor:t.rolloffFactor,refDistance:t.refDistance,distanceModel:t.distanceModel,playbackRate:t.playbackRate};if(r){var u=function(){r._isReadyToPlay?(c._audioBuffer=r.getAudioBuffer(),c._isReadyToPlay=!0,c.autoplay&&c.play(0,c._offset,c._length)):window.setTimeout(u,300)};c=new e(s,new ArrayBuffer(0),n,null,l),u()}else c=new e(s,a,n,(function(){n._removePendingData(c)}),l),n._addPendingData(c);if(t.position){var p=o.e.FromArray(t.position);c.setPosition(p)}if(t.isDirectional&&(c.setDirectionalCone(t.coneInnerAngle||360,t.coneOuterAngle||360,t.coneOuterGain||0),t.localDirectionToMesh)){var h=o.e.FromArray(t.localDirectionToMesh);c.setLocalDirectionToMesh(h)}if(t.connectedMeshId){var d=n.getMeshByID(t.connectedMeshId);d&&c.attachToMesh(d)}return c},e._SceneComponentInitialization=function(e){throw c.a.WarnImport("AudioSceneComponent")},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){var e=this;this.promise=new Promise((function(t,n){e._resolve=t,e._reject=n}))}return Object.defineProperty(e.prototype,"resolve",{get:function(){return this._resolve},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reject",{get:function(){return this._reject},enumerable:!0,configurable:!0}),e}()},function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return s}));var i=n(1),r=n(0),o=n(32),a=function(e){function t(t,n){void 0===n&&(n=0);var i=e.call(this,t.x,t.y)||this;return i.buttonIndex=n,i}return Object(i.d)(t,e),t}(r.d),s=function(){function e(e,t,n,i,r,o){this.m=new Float32Array(6),this.fromValues(e,t,n,i,r,o)}return e.prototype.fromValues=function(e,t,n,i,r,o){return this.m[0]=e,this.m[1]=t,this.m[2]=n,this.m[3]=i,this.m[4]=r,this.m[5]=o,this},e.prototype.determinant=function(){return this.m[0]*this.m[3]-this.m[1]*this.m[2]},e.prototype.invertToRef=function(e){var t=this.m[0],n=this.m[1],i=this.m[2],r=this.m[3],a=this.m[4],s=this.m[5],c=this.determinant();if(ci[0].frame&&(this._from=i[0].frame),this._toe){var a={frame:e,value:r.value,inTangent:r.inTangent,outTangent:r.outTangent,interpolation:r.interpolation};i.splice(0,0,a)}if(o.framei&&this._speedRatio>0&&(this._speedRatio=-t);return this._isStarted=!0,this._isPaused=!1,this.onAnimationGroupPlayObservable.notifyObservers(this),this},e.prototype.pause=function(){if(!this._isStarted)return this;this._isPaused=!0;for(var e=0;e-1&&this._scene.animationGroups.splice(e,1),this.onAnimationEndObservable.clear(),this.onAnimationGroupEndObservable.clear(),this.onAnimationGroupPauseObservable.clear(),this.onAnimationGroupPlayObservable.clear(),this.onAnimationLoopObservable.clear(),this.onAnimationGroupLoopObservable.clear()},e.prototype._checkAnimationGroupEnded=function(e){var t=this._animatables.indexOf(e);t>-1&&this._animatables.splice(t,1),0===this._animatables.length&&(this._isStarted=!1,this.onAnimationGroupEndObservable.notifyObservers(this))},e.prototype.clone=function(t,n){for(var i=new e(t||this.name,this._scene),r=0,o=this._targetedAnimations;r1?s.notRenderable=!0:(s.notRenderable=!1,u.scaleInPlace(this.renderScale),s._moveToProjectedPosition(u))}else a.b.SetImmediate((function(){s.linkWithMesh(null)}))}}}(this._isDirty||this._rootContainer.isDirty)&&(this._isDirty=!1,this._render(),this.update(!0,this.premulAlpha))}},t.prototype._render=function(){var e=this.getSize(),t=e.width,n=e.height,i=this.getContext();i.font="18px Arial",i.strokeStyle="white",this.onBeginLayoutObservable.notifyObservers(this);var r=new m.a(0,0,t,n);this._numLayoutCalls=0,this._rootContainer._layout(r,i),this.onEndLayoutObservable.notifyObservers(this),this._isDirty=!1,this._invalidatedRectangle?this._clearMeasure.copyFrom(this._invalidatedRectangle):this._clearMeasure.copyFromFloats(0,0,t,n),i.clearRect(this._clearMeasure.left,this._clearMeasure.top,this._clearMeasure.width,this._clearMeasure.height),this._background&&(i.save(),i.fillStyle=this._background,i.fillRect(this._clearMeasure.left,this._clearMeasure.top,this._clearMeasure.width,this._clearMeasure.height),i.restore()),this.onBeginRenderObservable.notifyObservers(this),this._numRenderCalls=0,this._rootContainer._render(i,this._invalidatedRectangle),this.onEndRenderObservable.notifyObservers(this),this._invalidatedRectangle=null},t.prototype._changeCursor=function(e){this._rootElement&&(this._rootElement.style.cursor=e,this._cursorChanged=!0)},t.prototype._registerLastControlDown=function(e,t){this._lastControlDown[t]=e,this.onControlPickedObservable.notifyObservers(e)},t.prototype._doPicking=function(e,t,n,i,r,o,a){var c=this.getScene();if(c){var l=c.getEngine(),u=this.getSize();if(this._isFullscreen){var p=(c.cameraToUseForPointers||c.activeCamera).viewport;e*=u.width/(l.getRenderWidth()*p.width),t*=u.height/(l.getRenderHeight()*p.height)}this._capturingControl[i]?this._capturingControl[i]._processObservables(n,e,t,i,r):(this._cursorChanged=!1,this._rootContainer._processPicking(e,t,n,i,r,o,a)||(this._changeCursor(""),n===s.a.POINTERMOVE&&this._lastControlOver[i]&&(this._lastControlOver[i]._onPointerOut(this._lastControlOver[i]),delete this._lastControlOver[i])),this._cursorChanged||this._changeCursor(""),this._manageFocus())}},t.prototype._cleanControlAfterRemovalFromList=function(e,t){for(var n in e){if(e.hasOwnProperty(n))e[n]===t&&delete e[n]}},t.prototype._cleanControlAfterRemoval=function(e){this._cleanControlAfterRemovalFromList(this._lastControlDown,e),this._cleanControlAfterRemovalFromList(this._lastControlOver,e)},t.prototype.attach=function(){var e=this,t=this.getScene();if(t){var n=new g.a(0,0,0,0);this._pointerMoveObserver=t.onPrePointerObservable.add((function(i,r){if(!t.isPointerCaptured(i.event.pointerId)&&(i.type===s.a.POINTERMOVE||i.type===s.a.POINTERUP||i.type===s.a.POINTERDOWN||i.type===s.a.POINTERWHEEL)&&t){i.type===s.a.POINTERMOVE&&i.event.pointerId&&(e._defaultMousePointerId=i.event.pointerId);var o=t.cameraToUseForPointers||t.activeCamera,a=t.getEngine();o?o.viewport.toGlobalToRef(a.getRenderWidth(),a.getRenderHeight(),n):(n.x=0,n.y=0,n.width=a.getRenderWidth(),n.height=a.getRenderHeight());var c=t.pointerX/a.getHardwareScalingLevel()-n.x,l=t.pointerY/a.getHardwareScalingLevel()-(a.getRenderHeight()-n.y-n.height);e._shouldBlockPointer=!1;var u=i.event.pointerId||e._defaultMousePointerId;e._doPicking(c,l,i.type,u,i.event.button,i.event.deltaX,i.event.deltaY),e._shouldBlockPointer&&(i.skipOnPointerObservable=e._shouldBlockPointer)}})),this._attachToOnPointerOut(t)}},t.prototype.registerClipboardEvents=function(){self.addEventListener("copy",this.onClipboardCopy,!1),self.addEventListener("cut",this.onClipboardCut,!1),self.addEventListener("paste",this.onClipboardPaste,!1)},t.prototype.unRegisterClipboardEvents=function(){self.removeEventListener("copy",this.onClipboardCopy),self.removeEventListener("cut",this.onClipboardCut),self.removeEventListener("paste",this.onClipboardPaste)},t.prototype.attachToMesh=function(e,t){var n=this;void 0===t&&(t=!0);var i=this.getScene();i&&(this._pointerObserver=i.onPointerObservable.add((function(t,i){if(t.type===s.a.POINTERMOVE||t.type===s.a.POINTERUP||t.type===s.a.POINTERDOWN){var r=t.event.pointerId||n._defaultMousePointerId;if(t.pickInfo&&t.pickInfo.hit&&t.pickInfo.pickedMesh===e){var o=t.pickInfo.getTextureCoordinates();if(o){var a=n.getSize();n._doPicking(o.x*a.width,(1-o.y)*a.height,t.type,r,t.event.button)}}else if(t.type===s.a.POINTERUP){if(n._lastControlDown[r]&&n._lastControlDown[r]._forcePointerUp(r),delete n._lastControlDown[r],n.focusedControl){var c=n.focusedControl.keepsFocusWith(),l=!0;if(c)for(var u=0,p=c;uu-i)&&(!(c-pp-r)&&!(l-hh-a))},e.prototype.intersectsSphere=function(t){return e.IntersectsSphere(this.minimumWorld,this.maximumWorld,t.centerWorld,t.radiusWorld)},e.prototype.intersectsMinMax=function(e,t){var n=this.minimumWorld,i=this.maximumWorld,r=n.x,o=n.y,a=n.z,s=i.x,c=i.y,l=i.z,u=e.x,p=e.y,h=e.z,d=t.x,f=t.y,_=t.z;return!(sd)&&(!(cf)&&!(l_))},e.Intersects=function(e,t){return e.intersectsMinMax(t.minimumWorld,t.maximumWorld)},e.IntersectsSphere=function(t,n,i,o){var a=e.TmpVector3[0];return r.e.ClampToRef(i,t,n,a),r.e.DistanceSquared(i,a)<=o*o},e.IsCompletelyInFrustum=function(e,t){for(var n=0;n<6;++n)for(var i=t[n],r=0;r<8;++r)if(i.dotCoordinate(e[r])<0)return!1;return!0},e.IsInFrustum=function(e,t){for(var n=0;n<6;++n){for(var i=!0,r=t[n],o=0;o<8;++o)if(r.dotCoordinate(e[o])>=0){i=!1;break}if(i)return!1}return!0},e.TmpVector3=i.a.BuildArray(3,r.e.Zero),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return p}));var i=n(1),r=n(0),o=n(10),a=n(29),s=n(9),c=n(48),l=n(37),u=n(3);s.a._instancedMeshFactory=function(e,t){var n=new p(e,t);if(t.instancedBuffers)for(var i in n.instancedBuffers={},t.instancedBuffers)n.instancedBuffers[i]=t.instancedBuffers[i];return n};var p=function(e){function t(t,n){var i=e.call(this,t,n.getScene())||this;i._indexInSourceMeshInstanceArray=-1,n.addInstance(i),i._sourceMesh=n,i._unIndexed=n._unIndexed,i.position.copyFrom(n.position),i.rotation.copyFrom(n.rotation),i.scaling.copyFrom(n.scaling),n.rotationQuaternion&&(i.rotationQuaternion=n.rotationQuaternion.clone()),i.animations=n.animations;for(var r=0,o=n.getAnimationRanges();r0!=this._getWorldMatrixDeterminant()>0)return this._internalAbstractMeshDataInfo._actAsRegularMesh=!0,!0;if(this._internalAbstractMeshDataInfo._actAsRegularMesh=!1,this._currentLOD._registerInstanceForRenderId(this,e),t){if(!this._currentLOD._internalAbstractMeshDataInfo._isActiveIntermediate)return this._currentLOD._internalAbstractMeshDataInfo._onlyForInstancesIntermediate=!0,!0}else if(!this._currentLOD._internalAbstractMeshDataInfo._isActive)return this._currentLOD._internalAbstractMeshDataInfo._onlyForInstances=!0,!0}return!1},t.prototype._postActivate=function(){this._edgesRenderer&&this._edgesRenderer.isEnabled&&this._sourceMesh._renderingGroup&&this._sourceMesh._renderingGroup._edgesRenderers.push(this._edgesRenderer)},t.prototype.getWorldMatrix=function(){if(this._currentLOD&&this._currentLOD.billboardMode!==l.a.BILLBOARDMODE_NONE&&this._currentLOD._masterMesh!==this){var t=this._currentLOD._masterMesh;return this._currentLOD._masterMesh=this,r.c.Vector3[7].copyFrom(this._currentLOD.position),this._currentLOD.position.set(0,0,0),r.c.Matrix[0].copyFrom(this._currentLOD.computeWorldMatrix(!0)),this._currentLOD.position.copyFrom(r.c.Vector3[7]),this._currentLOD._masterMesh=t,r.c.Matrix[0]}return e.prototype.getWorldMatrix.call(this)},Object.defineProperty(t.prototype,"isAnInstance",{get:function(){return!0},enumerable:!0,configurable:!0}),t.prototype.getLOD=function(e){if(!e)return this;var t=this.getBoundingInfo();return this._currentLOD=this.sourceMesh.getLOD(e,t.boundingSphere),this._currentLOD===this.sourceMesh?this.sourceMesh:this._currentLOD},t.prototype._preActivateForIntermediateRendering=function(e){return this.sourceMesh._preActivateForIntermediateRendering(e)},t.prototype._syncSubMeshes=function(){if(this.releaseSubMeshes(),this._sourceMesh.subMeshes)for(var e=0;e=0&&(this._targets.splice(t,1),e.onInfluenceChanged.remove(this._targetInfluenceChangedObservers.splice(t,1)[0]),e._onDataLayoutChanged.remove(this._targetDataLayoutChangedObservers.splice(t,1)[0]),this._syncActiveTargets(!0))},e.prototype.clone=function(){for(var t=new e(this._scene),n=0,i=this._targets;n0)&&(-1===this._enterCount&&(this._enterCount=0),this._enterCount++,this.onPointerEnterObservable.notifyObservers(this,-1,e,this),this.pointerEnterAnimation&&this.pointerEnterAnimation(),!0)},e.prototype._onPointerOut=function(e){this._enterCount=0,this.onPointerOutObservable.notifyObservers(this,-1,e,this),this.pointerOutAnimation&&this.pointerOutAnimation()},e.prototype._onPointerDown=function(e,t,n,i){return 0!==this._downCount?(this._downCount++,!1):(this._downCount++,this._downPointerIds[n]=!0,this.onPointerDownObservable.notifyObservers(new u(t,i),-1,e,this),this.pointerDownAnimation&&this.pointerDownAnimation(),!0)},e.prototype._onPointerUp=function(e,t,n,i,r){this._downCount--,delete this._downPointerIds[n],this._downCount<0?this._downCount=0:0==this._downCount&&(r&&(this._enterCount>0||-1===this._enterCount)&&this.onPointerClickObservable.notifyObservers(new u(t,i),-1,e,this),this.onPointerUpObservable.notifyObservers(new u(t,i),-1,e,this),this.pointerUpAnimation&&this.pointerUpAnimation())},e.prototype.forcePointerUp=function(e){if(void 0===e&&(e=null),null!==e)this._onPointerUp(this,s.e.Zero(),e,0,!0);else{for(var t in this._downPointerIds)this._onPointerUp(this,s.e.Zero(),+t,0,!0);this._downCount>0&&(this._downCount=1,this._onPointerUp(this,s.e.Zero(),0,0,!0))}},e.prototype._processObservables=function(e,t,n,i){if(e===c.a.POINTERMOVE){this._onPointerMove(this,t);var r=this._host._lastControlOver[n];return r&&r!==this&&r._onPointerOut(this),r!==this&&this._onPointerEnter(this),this._host._lastControlOver[n]=this,!0}return e===c.a.POINTERDOWN?(this._onPointerDown(this,t,n,i),this._host._lastControlDown[n]=this,this._host._lastPickedControl=this,!0):e===c.a.POINTERUP&&(this._host._lastControlDown[n]&&this._host._lastControlDown[n]._onPointerUp(this,t,n,i,!0),delete this._host._lastControlDown[n],!0)},e.prototype._disposeNode=function(){this._node&&(this._node.dispose(),this._node=null)},e.prototype.dispose=function(){this.onPointerDownObservable.clear(),this.onPointerEnterObservable.clear(),this.onPointerMoveObservable.clear(),this.onPointerOutObservable.clear(),this.onPointerUpObservable.clear(),this.onPointerClickObservable.clear(),this._disposeNode();for(var e=0,t=this._behaviors;en));_++);else for(_=0;_n));f++);d=0;for(var m=0,b=this._children;mareaXZ && areaYZ>areaXY)\n{\nscaledBorderWidth*=minOverMiddleScale;\n}\n}\nelse if (abs(normal.y) == 1.0)\n{\nscale.x=scale.z;\nif (areaXZ>areaXY && areaXZ>areaYZ)\n{\nscaledBorderWidth*=minOverMiddleScale;\n}\n}\nelse\n{\nif (areaXY>areaYZ && areaXY>areaXZ)\n{\nscaledBorderWidth*=minOverMiddleScale;\n}\n}\nfloat scaleRatio=min(scale.x,scale.y)/max(scale.x,scale.y);\nif (scale.x>scale.y)\n{\nscaleInfo.x=1.0-(scaledBorderWidth*scaleRatio);\nscaleInfo.y=1.0-scaledBorderWidth;\n}\nelse\n{\nscaleInfo.x=1.0-scaledBorderWidth;\nscaleInfo.y=1.0-(scaledBorderWidth*scaleRatio);\n}\n#endif\nvec4 worldPos=world*vec4(position,1.0);\n#ifdef HOVERLIGHT\nworldPosition=worldPos.xyz;\n#endif\ngl_Position=viewProjection*worldPos;\n}\n";D.a.ShadersStore.fluentVertexShader=L;var N="precision highp float;\nvarying vec2 vUV;\nuniform vec4 albedoColor;\n#ifdef INNERGLOW\nuniform vec4 innerGlowColor;\n#endif\n#ifdef BORDER\nvarying vec2 scaleInfo;\nuniform float edgeSmoothingValue;\nuniform float borderMinValue;\n#endif\n#ifdef HOVERLIGHT\nvarying vec3 worldPosition;\nuniform vec3 hoverPosition;\nuniform vec4 hoverColor;\nuniform float hoverRadius;\n#endif\n#ifdef TEXTURE\nuniform sampler2D albedoSampler;\n#endif\nvoid main(void) {\nvec3 albedo=albedoColor.rgb;\nfloat alpha=albedoColor.a;\n#ifdef TEXTURE\nalbedo=texture2D(albedoSampler,vUV).rgb;\n#endif\n#ifdef HOVERLIGHT\nfloat pointToHover=(1.0-clamp(length(hoverPosition-worldPosition)/hoverRadius,0.,1.))*hoverColor.a;\nalbedo=clamp(albedo+hoverColor.rgb*pointToHover,0.,1.);\n#else\nfloat pointToHover=1.0;\n#endif\n#ifdef BORDER\nfloat borderPower=10.0;\nfloat inverseBorderPower=1.0/borderPower;\nvec3 borderColor=albedo*borderPower;\nvec2 distanceToEdge;\ndistanceToEdge.x=abs(vUV.x-0.5)*2.0;\ndistanceToEdge.y=abs(vUV.y-0.5)*2.0;\nfloat borderValue=max(smoothstep(scaleInfo.x-edgeSmoothingValue,scaleInfo.x+edgeSmoothingValue,distanceToEdge.x),\nsmoothstep(scaleInfo.y-edgeSmoothingValue,scaleInfo.y+edgeSmoothingValue,distanceToEdge.y));\nborderColor=borderColor*borderValue*max(borderMinValue*inverseBorderPower,pointToHover);\nalbedo+=borderColor;\nalpha=max(alpha,borderValue);\n#endif\n#ifdef INNERGLOW\n\nvec2 uvGlow=(vUV-vec2(0.5,0.5))*(innerGlowColor.a*2.0);\nuvGlow=uvGlow*uvGlow;\nuvGlow=uvGlow*uvGlow;\nalbedo+=mix(vec3(0.0,0.0,0.0),innerGlowColor.rgb,uvGlow.x+uvGlow.y);\n#endif\ngl_FragColor=vec4(albedo,alpha);\n}";D.a.ShadersStore.fluentPixelShader=N;var F=function(e){function t(){var t=e.call(this)||this;return t.INNERGLOW=!1,t.BORDER=!1,t.HOVERLIGHT=!1,t.TEXTURE=!1,t.rebuild(),t}return Object(r.d)(t,e),t}(O.a),B=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.innerGlowColorIntensity=.5,i.innerGlowColor=new b.a(1,1,1),i.alpha=1,i.albedoColor=new b.a(.3,.35,.4),i.renderBorders=!1,i.borderWidth=.5,i.edgeSmoothingValue=.02,i.borderMinValue=.1,i.renderHoverLight=!1,i.hoverRadius=1,i.hoverColor=new b.b(.3,.3,.3,1),i.hoverPosition=s.e.Zero(),i}return Object(r.d)(t,e),t.prototype.needAlphaBlending=function(){return 1!==this.alpha},t.prototype.needAlphaTesting=function(){return!1},t.prototype.getAlphaTestTexture=function(){return null},t.prototype.isReadyForSubMesh=function(e,t,n){if(this.isFrozen&&t.effect&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new F);var i=this.getScene(),r=t._materialDefines;if(!this.checkReadyOnEveryCall&&t.effect&&r._renderId===i.getRenderId())return!0;if(r._areTexturesDirty)if(r.INNERGLOW=this.innerGlowColorIntensity>0,r.BORDER=this.renderBorders,r.HOVERLIGHT=this.renderHoverLight,this._albedoTexture){if(!this._albedoTexture.isReadyOrNotBlocking())return!1;r.TEXTURE=!0}else r.TEXTURE=!1;var o=i.getEngine();if(r.isDirty){r.markAsProcessed(),i.resetCachedMaterial();var a=[I.b.PositionKind];a.push(I.b.NormalKind),a.push(I.b.UVKind);var s=["world","viewProjection","innerGlowColor","albedoColor","borderWidth","edgeSmoothingValue","scaleFactor","borderMinValue","hoverColor","hoverPosition","hoverRadius"],c=["albedoSampler"],l=new Array;M.a.PrepareUniformsAndSamplersList({uniformsNames:s,uniformBuffersNames:l,samplers:c,defines:r,maxSimultaneousLights:4});var u=r.toString();t.setEffect(i.getEngine().createEffect("fluent",{attributes:a,uniformsNames:s,uniformBuffersNames:l,samplers:c,defines:u,fallbacks:null,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:4}},o))}return!(!t.effect||!t.effect.isReady())&&(r._renderId=i.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;o&&(this._activeEffect=o,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),this._mustRebind(i,o)&&(this._activeEffect.setColor4("albedoColor",this.albedoColor,this.alpha),r.INNERGLOW&&this._activeEffect.setColor4("innerGlowColor",this.innerGlowColor,this.innerGlowColorIntensity),r.BORDER&&(this._activeEffect.setFloat("borderWidth",this.borderWidth),this._activeEffect.setFloat("edgeSmoothingValue",this.edgeSmoothingValue),this._activeEffect.setFloat("borderMinValue",this.borderMinValue),t.getBoundingInfo().boundingBox.extendSize.multiplyToRef(t.scaling,s.c.Vector3[0]),this._activeEffect.setVector3("scaleFactor",s.c.Vector3[0])),r.HOVERLIGHT&&(this._activeEffect.setDirectColor4("hoverColor",this.hoverColor),this._activeEffect.setFloat("hoverRadius",this.hoverRadius),this._activeEffect.setVector3("hoverPosition",this.hoverPosition)),r.TEXTURE&&this._activeEffect.setTexture("albedoSampler",this._albedoTexture)),this._afterBind(t,this._activeEffect))}},t.prototype.getActiveTextures=function(){return e.prototype.getActiveTextures.call(this)},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)},t.prototype.dispose=function(t){e.prototype.dispose.call(this,t)},t.prototype.clone=function(e){var n=this;return P.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=P.a.Serialize(this);return e.customType="BABYLON.GUI.FluentMaterial",e},t.prototype.getClassName=function(){return"FluentMaterial"},t.Parse=function(e,n,i){return P.a.Parse((function(){return new t(e.name,n)}),e,n,i)},Object(r.c)([Object(P.c)(),Object(P.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"innerGlowColorIntensity",void 0),Object(r.c)([Object(P.e)()],t.prototype,"innerGlowColor",void 0),Object(r.c)([Object(P.c)()],t.prototype,"alpha",void 0),Object(r.c)([Object(P.e)()],t.prototype,"albedoColor",void 0),Object(r.c)([Object(P.c)(),Object(P.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"renderBorders",void 0),Object(r.c)([Object(P.c)()],t.prototype,"borderWidth",void 0),Object(r.c)([Object(P.c)()],t.prototype,"edgeSmoothingValue",void 0),Object(r.c)([Object(P.c)()],t.prototype,"borderMinValue",void 0),Object(r.c)([Object(P.c)(),Object(P.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"renderHoverLight",void 0),Object(r.c)([Object(P.c)()],t.prototype,"hoverRadius",void 0),Object(r.c)([Object(P.f)()],t.prototype,"hoverColor",void 0),Object(r.c)([Object(P.o)()],t.prototype,"hoverPosition",void 0),Object(r.c)([Object(P.m)("albedoTexture")],t.prototype,"_albedoTexture",void 0),Object(r.c)([Object(P.b)("_markAllSubMeshesAsTexturesAndMiscDirty")],t.prototype,"albedoTexture",void 0),t}(R.a);w.a.RegisteredTypes["BABYLON.GUI.FluentMaterial"]=B;var k=n(94),V=n(117),z=n(74),j=function(e){function t(t,n){void 0===n&&(n=!0);var i=e.call(this,t)||this;return i._shareMaterials=!0,i._shareMaterials=n,i.pointerEnterAnimation=function(){i.mesh&&i._frontPlate.setEnabled(!0)},i.pointerOutAnimation=function(){i.mesh&&i._frontPlate.setEnabled(!1)},i}return Object(r.d)(t,e),t.prototype._disposeTooltip=function(){this._tooltipFade=null,this._tooltipTextBlock&&this._tooltipTextBlock.dispose(),this._tooltipTexture&&this._tooltipTexture.dispose(),this._tooltipMesh&&this._tooltipMesh.dispose(),this.onPointerEnterObservable.remove(this._tooltipHoverObserver),this.onPointerOutObservable.remove(this._tooltipOutObserver)},Object.defineProperty(t.prototype,"renderingGroupId",{get:function(){return this._backPlate.renderingGroupId},set:function(e){this._backPlate.renderingGroupId=e,this._textPlate.renderingGroupId=e,this._frontPlate.renderingGroupId=e,this._tooltipMesh&&(this._tooltipMesh.renderingGroupId=e)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tooltipText",{get:function(){return this._tooltipTextBlock?this._tooltipTextBlock.text:null},set:function(e){var t=this;if(e){if(!this._tooltipFade){this._tooltipMesh=T.a.CreatePlane("",{size:1},this._backPlate._scene);var n=T.a.CreatePlane("",{size:1,sideOrientation:S.a.DOUBLESIDE},this._backPlate._scene),i=new f.a("",this._backPlate._scene);i.diffuseColor=b.a.FromHexString("#212121"),n.material=i,n.isPickable=!1,this._tooltipMesh.addChild(n),n.position.z=.05,this._tooltipMesh.scaling.y=1/3,this._tooltipMesh.position.y=.7,this._tooltipMesh.position.z=-.15,this._tooltipMesh.isPickable=!1,this._tooltipMesh.parent=this._backPlate,this._tooltipTexture=m.a.CreateForMesh(this._tooltipMesh),this._tooltipTextBlock=new z.a,this._tooltipTextBlock.scaleY=3,this._tooltipTextBlock.color="white",this._tooltipTextBlock.fontSize=130,this._tooltipTexture.addControl(this._tooltipTextBlock),this._tooltipFade=new E.a,this._tooltipFade.delay=500,this._tooltipMesh.addBehavior(this._tooltipFade),this._tooltipHoverObserver=this.onPointerEnterObservable.add((function(){t._tooltipFade&&t._tooltipFade.fadeIn(!0)})),this._tooltipOutObserver=this.onPointerOutObservable.add((function(){t._tooltipFade&&t._tooltipFade.fadeIn(!1)}))}this._tooltipTextBlock&&(this._tooltipTextBlock.text=e)}else this._disposeTooltip()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"text",{get:function(){return this._text},set:function(e){this._text!==e&&(this._text=e,this._rebuildContent())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"imageUrl",{get:function(){return this._imageUrl},set:function(e){this._imageUrl!==e&&(this._imageUrl=e,this._rebuildContent())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"backMaterial",{get:function(){return this._backMaterial},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"frontMaterial",{get:function(){return this._frontMaterial},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"plateMaterial",{get:function(){return this._plateMaterial},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"shareMaterials",{get:function(){return this._shareMaterials},enumerable:!0,configurable:!0}),t.prototype._getTypeName=function(){return"HolographicButton"},t.prototype._rebuildContent=function(){this._disposeFacadeTexture();var e=new k.a;if(e.isVertical=!0,this._imageUrl){var t=new V.a;t.source=this._imageUrl,t.paddingTop="40px",t.height="180px",t.width="100px",t.paddingBottom="40px",e.addControl(t)}if(this._text){var n=new z.a;n.text=this._text,n.color="white",n.height="30px",n.fontSize=24,e.addControl(n)}this._frontPlate&&(this.content=e)},t.prototype._createNode=function(t){return this._backPlate=d.a.CreateBox(this.name+"BackMesh",{width:1,height:1,depth:.08},t),this._frontPlate=d.a.CreateBox(this.name+"FrontMesh",{width:1,height:1,depth:.08},t),this._frontPlate.parent=this._backPlate,this._frontPlate.position.z=-.08,this._frontPlate.isPickable=!1,this._frontPlate.setEnabled(!1),this._textPlate=e.prototype._createNode.call(this,t),this._textPlate.parent=this._backPlate,this._textPlate.position.z=-.08,this._textPlate.isPickable=!1,this._backPlate},t.prototype._applyFacade=function(e){this._plateMaterial.emissiveTexture=e,this._plateMaterial.opacityTexture=e},t.prototype._createBackMaterial=function(e){var t=this;this._backMaterial=new B(this.name+"Back Material",e.getScene()),this._backMaterial.renderHoverLight=!0,this._pickedPointObserver=this._host.onPickedPointChangedObservable.add((function(e){e?(t._backMaterial.hoverPosition=e,t._backMaterial.hoverColor.a=1):t._backMaterial.hoverColor.a=0}))},t.prototype._createFrontMaterial=function(e){this._frontMaterial=new B(this.name+"Front Material",e.getScene()),this._frontMaterial.innerGlowColorIntensity=0,this._frontMaterial.alpha=.5,this._frontMaterial.renderBorders=!0},t.prototype._createPlateMaterial=function(e){this._plateMaterial=new f.a(this.name+"Plate Material",e.getScene()),this._plateMaterial.specularColor=b.a.Black()},t.prototype._affectMaterial=function(e){this._shareMaterials?(this._host._sharedMaterials.backFluentMaterial?this._backMaterial=this._host._sharedMaterials.backFluentMaterial:(this._createBackMaterial(e),this._host._sharedMaterials.backFluentMaterial=this._backMaterial),this._host._sharedMaterials.frontFluentMaterial?this._frontMaterial=this._host._sharedMaterials.frontFluentMaterial:(this._createFrontMaterial(e),this._host._sharedMaterials.frontFluentMaterial=this._frontMaterial)):(this._createBackMaterial(e),this._createFrontMaterial(e)),this._createPlateMaterial(e),this._backPlate.material=this._backMaterial,this._frontPlate.material=this._frontMaterial,this._textPlate.material=this._plateMaterial,this._rebuildContent()},t.prototype.dispose=function(){e.prototype.dispose.call(this),this._disposeTooltip(),this.shareMaterials||(this._backMaterial.dispose(),this._frontMaterial.dispose(),this._plateMaterial.dispose(),this._pickedPointObserver&&(this._host.onPickedPointChangedObservable.remove(this._pickedPointObserver),this._pickedPointObserver=null))},t}(g),U=function(e){function t(t,n){var i=e.call(this,n)||this;return i._currentMesh=t,i.pointerEnterAnimation=function(){i.mesh&&i.mesh.scaling.scaleInPlace(1.1)},i.pointerOutAnimation=function(){i.mesh&&i.mesh.scaling.scaleInPlace(1/1.1)},i.pointerDownAnimation=function(){i.mesh&&i.mesh.scaling.scaleInPlace(.95)},i.pointerUpAnimation=function(){i.mesh&&i.mesh.scaling.scaleInPlace(1/.95)},i}return Object(r.d)(t,e),t.prototype._getTypeName=function(){return"MeshButton3D"},t.prototype._createNode=function(e){var t=this;return this._currentMesh.getChildMeshes().forEach((function(e){e.metadata=t})),this._currentMesh},t.prototype._affectMaterial=function(e){},t}(g),G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.d)(t,e),t.prototype._mapGridNode=function(e,t){var n=e.mesh;if(n){e.position=t.clone();var i=s.c.Vector3[0];switch(i.copyFrom(t),this.orientation){case v.FACEORIGIN_ORIENTATION:case v.FACEFORWARD_ORIENTATION:i.addInPlace(new s.e(0,0,1)),n.lookAt(i);break;case v.FACEFORWARDREVERSED_ORIENTATION:case v.FACEORIGINREVERSED_ORIENTATION:i.addInPlace(new s.e(0,0,-1)),n.lookAt(i)}}},t}(C),H=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._iteration=100,t}return Object(r.d)(t,e),Object.defineProperty(t.prototype,"iteration",{get:function(){return this._iteration},set:function(e){var t=this;this._iteration!==e&&(this._iteration=e,y.b.SetImmediate((function(){t._arrangeChildren()})))},enumerable:!0,configurable:!0}),t.prototype._mapGridNode=function(e,t){var n=e.mesh,i=this._scatterMapping(t);if(n){switch(this.orientation){case v.FACEORIGIN_ORIENTATION:case v.FACEFORWARD_ORIENTATION:n.lookAt(new s.e(0,0,1));break;case v.FACEFORWARDREVERSED_ORIENTATION:case v.FACEORIGINREVERSED_ORIENTATION:n.lookAt(new s.e(0,0,-1))}e.position=i}},t.prototype._scatterMapping=function(e){return e.x=(1-2*Math.random())*this._cellWidth,e.y=(1-2*Math.random())*this._cellHeight,e},t.prototype._finalProcessing=function(){for(var e=[],t=0,n=this._children;ti?-1:0}));for(var o=Math.pow(this.margin,2),a=Math.max(this._cellWidth,this._cellHeight),c=s.c.Vector2[0],l=s.c.Vector3[0],u=0;u0?this.margin:0}}},t}(v),Y=n(93),Q=n(51),K=n(25),Z=function(){function e(e){var t=this;this._lastControlOver={},this._lastControlDown={},this.onPickedPointChangedObservable=new a.c,this._sharedMaterials={},this._scene=e||K.a.LastCreatedScene,this._sceneDisposeObserver=this._scene.onDisposeObservable.add((function(){t._sceneDisposeObserver=null,t._utilityLayer=null,t.dispose()})),this._utilityLayer=new Q.a(this._scene),this._utilityLayer.onlyCheckPointerDownEvents=!1,this._utilityLayer.pickUtilitySceneFirst=!1,this._utilityLayer.mainSceneTrackerPredicate=function(e){return e&&e.metadata&&e.metadata._node},this._rootContainer=new v("RootContainer"),this._rootContainer._host=this;var n=this._utilityLayer.utilityLayerScene;this._pointerOutObserver=this._utilityLayer.onPointerOutObservable.add((function(e){t._handlePointerOut(e,!0)})),this._pointerObserver=n.onPointerObservable.add((function(e,n){t._doPicking(e)})),this._utilityLayer.utilityLayerScene.autoClear=!1,this._utilityLayer.utilityLayerScene.autoClearDepthAndStencil=!1,new Y.a("hemi",s.e.Up(),this._utilityLayer.utilityLayerScene)}return Object.defineProperty(e.prototype,"scene",{get:function(){return this._scene},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"utilityLayer",{get:function(){return this._utilityLayer},enumerable:!0,configurable:!0}),e.prototype._handlePointerOut=function(e,t){var n=this._lastControlOver[e];n&&(n._onPointerOut(n),delete this._lastControlOver[e]),t&&this._lastControlDown[e]&&(this._lastControlDown[e].forcePointerUp(),delete this._lastControlDown[e]),this.onPickedPointChangedObservable.notifyObservers(null)},e.prototype._doPicking=function(e){if(!this._utilityLayer||!this._utilityLayer.shouldRender||!this._utilityLayer.utilityLayerScene.activeCamera)return!1;var t=e.event,n=t.pointerId||0,i=t.button,r=e.pickInfo;if(!r||!r.hit)return this._handlePointerOut(n,e.type===c.a.POINTERUP),!1;var o=r.pickedMesh.metadata;return r.pickedPoint&&this.onPickedPointChangedObservable.notifyObservers(r.pickedPoint),o._processObservables(e.type,r.pickedPoint,n,i)||e.type===c.a.POINTERMOVE&&(this._lastControlOver[n]&&this._lastControlOver[n]._onPointerOut(this._lastControlOver[n]),delete this._lastControlOver[n]),e.type===c.a.POINTERUP&&(this._lastControlDown[t.pointerId]&&(this._lastControlDown[t.pointerId].forcePointerUp(),delete this._lastControlDown[t.pointerId]),"touch"===t.pointerType&&this._handlePointerOut(n,!1)),!0},Object.defineProperty(e.prototype,"rootContainer",{get:function(){return this._rootContainer},enumerable:!0,configurable:!0}),e.prototype.containsControl=function(e){return this._rootContainer.containsControl(e)},e.prototype.addControl=function(e){return this._rootContainer.addControl(e),this},e.prototype.removeControl=function(e){return this._rootContainer.removeControl(e),this},e.prototype.dispose=function(){for(var e in this._rootContainer.dispose(),this._sharedMaterials)this._sharedMaterials.hasOwnProperty(e)&&this._sharedMaterials[e].dispose();this._sharedMaterials={},this._pointerOutObserver&&this._utilityLayer&&(this._utilityLayer.onPointerOutObservable.remove(this._pointerOutObserver),this._pointerOutObserver=null),this.onPickedPointChangedObservable.clear();var t=this._utilityLayer?this._utilityLayer.utilityLayerScene:null;t&&this._pointerObserver&&(t.onPointerObservable.remove(this._pointerObserver),this._pointerObserver=null),this._scene&&this._sceneDisposeObserver&&(this._scene.onDisposeObservable.remove(this._sceneDisposeObserver),this._sceneDisposeObserver=null),this._utilityLayer&&this._utilityLayer.dispose()},e}()},function(e,t,n){"use strict";var i=n(30),r=n(10),o=n(12),a=n(14);function s(e){return function(t,n,r,o,a,s,c,l,u,p){void 0===u&&(u=null),void 0===p&&(p=0);var h=e?this._gl.TEXTURE_3D:this._gl.TEXTURE_2D_ARRAY,d=e?i.b.Raw3D:i.b.Raw2DArray,f=new i.a(this,d);f.baseWidth=n,f.baseHeight=r,f.baseDepth=o,f.width=n,f.height=r,f.depth=o,f.format=a,f.type=p,f.generateMipMaps=s,f.samplingMode=l,e?f.is3D=!0:f.is2DArray=!0,this._doNotHandleContextLost||(f._bufferView=t),e?this.updateRawTexture3D(f,t,a,c,u,p):this.updateRawTexture2DArray(f,t,a,c,u,p),this._bindTextureDirectly(h,f,!0);var _=this._getSamplingParameters(l,s);return this._gl.texParameteri(h,this._gl.TEXTURE_MAG_FILTER,_.mag),this._gl.texParameteri(h,this._gl.TEXTURE_MIN_FILTER,_.min),s&&this._gl.generateMipmap(h),this._bindTextureDirectly(h,null),this._internalTexturesCache.push(f),f}}function c(e){return function(t,n,i,r,o,a){void 0===o&&(o=null),void 0===a&&(a=0);var s=e?this._gl.TEXTURE_3D:this._gl.TEXTURE_2D_ARRAY,c=this._getWebGLTextureType(a),l=this._getInternalFormat(i),u=this._getRGBABufferInternalSizedFormat(a,i);this._bindTextureDirectly(s,t,!0),this._unpackFlipY(void 0===r||!!r),this._doNotHandleContextLost||(t._bufferView=n,t.format=i,t.invertY=r,t._compression=o),t.width%4!=0&&this._gl.pixelStorei(this._gl.UNPACK_ALIGNMENT,1),o&&n?this._gl.compressedTexImage3D(s,0,this.getCaps().s3tc[o],t.width,t.height,t.depth,0,n):this._gl.texImage3D(s,0,u,t.width,t.height,t.depth,0,l,c,n),t.generateMipMaps&&this._gl.generateMipmap(s),this._bindTextureDirectly(s,null),t.isReady=!0}}a.a.prototype.updateRawTexture=function(e,t,n,i,r,o){if(void 0===r&&(r=null),void 0===o&&(o=0),e){var a=this._getRGBABufferInternalSizedFormat(o,n),s=this._getInternalFormat(n),c=this._getWebGLTextureType(o);this._bindTextureDirectly(this._gl.TEXTURE_2D,e,!0),this._unpackFlipY(void 0===i||!!i),this._doNotHandleContextLost||(e._bufferView=t,e.format=n,e.type=o,e.invertY=i,e._compression=r),e.width%4!=0&&this._gl.pixelStorei(this._gl.UNPACK_ALIGNMENT,1),r&&t?this._gl.compressedTexImage2D(this._gl.TEXTURE_2D,0,this.getCaps().s3tc[r],e.width,e.height,0,t):this._gl.texImage2D(this._gl.TEXTURE_2D,0,a,e.width,e.height,0,s,c,t),e.generateMipMaps&&this._gl.generateMipmap(this._gl.TEXTURE_2D),this._bindTextureDirectly(this._gl.TEXTURE_2D,null),e.isReady=!0}},a.a.prototype.createRawTexture=function(e,t,n,r,o,a,s,c,l){void 0===c&&(c=null),void 0===l&&(l=0);var u=new i.a(this,i.b.Raw);u.baseWidth=t,u.baseHeight=n,u.width=t,u.height=n,u.format=r,u.generateMipMaps=o,u.samplingMode=s,u.invertY=a,u._compression=c,u.type=l,this._doNotHandleContextLost||(u._bufferView=e),this.updateRawTexture(u,e,r,a,c,l),this._bindTextureDirectly(this._gl.TEXTURE_2D,u,!0);var p=this._getSamplingParameters(s,o);return this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_MAG_FILTER,p.mag),this._gl.texParameteri(this._gl.TEXTURE_2D,this._gl.TEXTURE_MIN_FILTER,p.min),o&&this._gl.generateMipmap(this._gl.TEXTURE_2D),this._bindTextureDirectly(this._gl.TEXTURE_2D,null),this._internalTexturesCache.push(u),u},a.a.prototype.createRawCubeTexture=function(e,t,n,a,s,c,l,u){void 0===u&&(u=null);var p=this._gl,h=new i.a(this,i.b.CubeRaw);h.isCube=!0,h.format=n,h.type=a,this._doNotHandleContextLost||(h._bufferViewArray=e);var d=this._getWebGLTextureType(a),f=this._getInternalFormat(n);f===p.RGB&&(f=p.RGBA),d!==p.FLOAT||this._caps.textureFloatLinearFiltering?d!==this._gl.HALF_FLOAT_OES||this._caps.textureHalfFloatLinearFiltering?d!==p.FLOAT||this._caps.textureFloatRender?d!==p.HALF_FLOAT||this._caps.colorBufferFloat||(s=!1,r.a.Warn("Render to half float textures is not supported. Mipmap generation forced to false.")):(s=!1,r.a.Warn("Render to float textures is not supported. Mipmap generation forced to false.")):(s=!1,l=1,r.a.Warn("Half float texture filtering is not supported. Mipmap generation and sampling mode are forced to false and TEXTURE_NEAREST_SAMPLINGMODE, respectively.")):(s=!1,l=1,r.a.Warn("Float texture filtering is not supported. Mipmap generation and sampling mode are forced to false and TEXTURE_NEAREST_SAMPLINGMODE, respectively."));var _=t,m=_;h.width=_,h.height=m,!this.needPOTTextures||o.b.IsExponentOfTwo(h.width)&&o.b.IsExponentOfTwo(h.height)||(s=!1),e&&this.updateRawCubeTexture(h,e,n,a,c,u),this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,h,!0),e&&s&&this._gl.generateMipmap(this._gl.TEXTURE_CUBE_MAP);var b=this._getSamplingParameters(l,s);return p.texParameteri(p.TEXTURE_CUBE_MAP,p.TEXTURE_MAG_FILTER,b.mag),p.texParameteri(p.TEXTURE_CUBE_MAP,p.TEXTURE_MIN_FILTER,b.min),p.texParameteri(p.TEXTURE_CUBE_MAP,p.TEXTURE_WRAP_S,p.CLAMP_TO_EDGE),p.texParameteri(p.TEXTURE_CUBE_MAP,p.TEXTURE_WRAP_T,p.CLAMP_TO_EDGE),this._bindTextureDirectly(p.TEXTURE_CUBE_MAP,null),h.generateMipMaps=s,h},a.a.prototype.updateRawCubeTexture=function(e,t,n,i,r,a,s){void 0===a&&(a=null),void 0===s&&(s=0),e._bufferViewArray=t,e.format=n,e.type=i,e.invertY=r,e._compression=a;var c=this._gl,l=this._getWebGLTextureType(i),u=this._getInternalFormat(n),p=this._getRGBABufferInternalSizedFormat(i),h=!1;u===c.RGB&&(u=c.RGBA,h=!0),this._bindTextureDirectly(c.TEXTURE_CUBE_MAP,e,!0),this._unpackFlipY(void 0===r||!!r),e.width%4!=0&&c.pixelStorei(c.UNPACK_ALIGNMENT,1);for(var d=0;d<6;d++){var f=t[d];a?c.compressedTexImage2D(c.TEXTURE_CUBE_MAP_POSITIVE_X+d,s,this.getCaps().s3tc[a],e.width,e.height,0,f):(h&&(f=this._convertRGBtoRGBATextureData(f,e.width,e.height,i)),c.texImage2D(c.TEXTURE_CUBE_MAP_POSITIVE_X+d,s,p,e.width,e.height,0,u,l,f))}(!this.needPOTTextures||o.b.IsExponentOfTwo(e.width)&&o.b.IsExponentOfTwo(e.height))&&e.generateMipMaps&&0===s&&this._gl.generateMipmap(this._gl.TEXTURE_CUBE_MAP),this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,null),e.isReady=!0},a.a.prototype.createRawCubeTextureFromUrl=function(e,t,n,i,r,o,a,s,c,l,u,p){var h=this;void 0===c&&(c=null),void 0===l&&(l=null),void 0===u&&(u=3),void 0===p&&(p=!1);var d=this._gl,f=this.createRawCubeTexture(null,n,i,r,!o,p,u,null);t._addPendingData(f),f.url=e,this._internalTexturesCache.push(f);return this._loadFile(e,(function(e){!function(e){var n=f.width,o=a(e);if(o){if(s){var l=h._getWebGLTextureType(r),u=h._getInternalFormat(i),_=h._getRGBABufferInternalSizedFormat(r),m=!1;u===d.RGB&&(u=d.RGBA,m=!0),h._bindTextureDirectly(d.TEXTURE_CUBE_MAP,f,!0),h._unpackFlipY(!1);for(var b=s(o),g=0;g>g,y=0;y<6;y++){var C=b[g][y];m&&(C=h._convertRGBtoRGBATextureData(C,v,v,r)),d.texImage2D(y,g,_,v,v,0,u,l,C)}h._bindTextureDirectly(d.TEXTURE_CUBE_MAP,null)}else h.updateRawCubeTexture(f,o,i,r,p);f.isReady=!0,t._removePendingData(f),c&&c()}}(e)}),void 0,t.offlineProvider,!0,(function(e,n){t._removePendingData(f),l&&e&&l(e.status+" "+e.statusText,n)})),f},a.a.prototype.createRawTexture2DArray=s(!1),a.a.prototype.createRawTexture3D=s(!0),a.a.prototype.updateRawTexture2DArray=c(!1),a.a.prototype.updateRawTexture3D=c(!0)},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){}return e.prototype.attributeProcessor=function(e){return e.replace("attribute","in")},e.prototype.varyingProcessor=function(e,t){return e.replace("varying",t?"in":"out")},e.prototype.postProcessor=function(e,t,n){var i=-1!==e.search(/#extension.+GL_EXT_draw_buffers.+require/);if(e=(e=e.replace(/#extension.+(GL_OVR_multiview2|GL_OES_standard_derivatives|GL_EXT_shader_texture_lod|GL_EXT_frag_depth|GL_EXT_draw_buffers).+(enable|require)/g,"")).replace(/texture2D\s*\(/g,"texture("),n)e=(e=(e=(e=(e=(e=(e=e.replace(/texture2DLodEXT\s*\(/g,"textureLod(")).replace(/textureCubeLodEXT\s*\(/g,"textureLod(")).replace(/textureCube\s*\(/g,"texture(")).replace(/gl_FragDepthEXT/g,"gl_FragDepth")).replace(/gl_FragColor/g,"glFragColor")).replace(/gl_FragData/g,"glFragData")).replace(/void\s+?main\s*\(/g,(i?"":"out vec4 glFragColor;\n")+"void main(");else if(-1!==t.indexOf("#define MULTIVIEW"))return"#extension GL_OVR_multiview2 : require\nlayout (num_views = 2) in;\n"+e;return e},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var i=n(7),r=n(194),o=function(){function e(){}return e.GetEnvironmentBRDFTexture=function(e){if(!e.environmentBRDFTexture){var t=e.useDelayedTextureLoading;e.useDelayedTextureLoading=!1;var n=e._blockEntityCollection;e._blockEntityCollection=!1;var o=i.a.CreateFromBase64String(this._environmentBRDFBase64Texture,"EnvironmentBRDFTexture",e,!0,!1,i.a.BILINEAR_SAMPLINGMODE);e._blockEntityCollection=n;var a=e.getEngine().getLoadedTexturesCache(),s=a.indexOf(o.getInternalTexture());-1!==s&&a.splice(s,1),o.isRGBD=!0,o.wrapU=i.a.CLAMP_ADDRESSMODE,o.wrapV=i.a.CLAMP_ADDRESSMODE,e.environmentBRDFTexture=o,e.useDelayedTextureLoading=t,r.a.ExpandRGBDTexture(o)}return e.environmentBRDFTexture},e._environmentBRDFBase64Texture="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAgAElEQVR42u29yY5tWXIlZnbuiSaTbZFUkZRKrCKhElASQA0EoQABgn6hJvoXzfUP+gP9hWb6Bg00IgRoQJaKqUxmZmTEe8/v0uB2u7Fm2T7HIyIrnz88uPvt3f2a2WrMbOvf/u3PvvzP/sUf/N6//i8vf/lv/3v5H//d//Sb//Uq/5u8yf8hV/m/5Cp/L1f5hVzlG7nKJ7mKyJuIXN/hPwqXI/g++zq6rPI5u8z+WqfLre+zy7PrVv9L8brsMiGvk8XLmM/sdfHXal4e3ad6GXPdyu2ij8u/+uv/5cuf/OSLfdtEfvUr+dnf/d0X//t3H/7bf/hP//N/928h/0Yg/4VA/kogfyGQP5Wr/IFAvhbIlwK5CGQTPP+9z5uPeePJSW+yo2+s/GtN30Rnv1E+f5zxof9R/lSXv/nr//mrr3+i+5dfyX7ZZQP07Tffys//8R/l/9TtX7790T/7r/8G8pdy+/8XAvnnAvkzgfwzgfyxQP5AIL8vkJ8K5KsmMVzu1U7p5PA5AXxOAJ8TwPf7sX/51ZeXfcemqnp9w/W77/S7X/6T/vzf/7383RWCX3/z05/9i3/13/0PX//eX/2FyP8tIv+PiPy9iPy/IvIzEfm5iPxCRH4lIt/c/393//9BRD6KyKf7f488fP74/PH544dJAF9cLl98IZfLBZtuqterXr/7Dt9982v95S9+Lv+gF/3i7Spv/8lf/vnf/vGf/dF/JfKnIvLnIvLvReQ/NEngn0TklyLy6/v/34jIt00iGJOBlxAsdvv54/PH5493SQCXy9t2ueh2ueimKorrFbjq9eNH+fDtb+TXv/ol/vHyhX4Fxfbx7euPf/Lnf/PfiPyeiPyhiPxxkwB+fk8AvxzQgJcIrGTwFsiAEXH4/PH54/PHUgLY7whgu2C7bLqpQgHB2xvePn6SDx8+6G9+84384vKF/IPu8iVU9Y/+7C/+jWxffiHytYj8VER+X0T+oEEBvxqQwCMJeIngo5EI3goIwVMIPn98/vj8ESaAbbtu2ybbvl8u2ybbdtluSECA65u8ffqIDx8+6G++/VZ/efkV/sO261dQXP7wT/7kX8vl8qXIFyLylbySwe/dE0CLAr65B/9vGn0gQwRMMqgmhM/J4fPH548eAezbZd/lsm3YtssNAYiqiogAAkCvb5/k46cP8u2HD/rrb7+R/2/b9Wu9yJe//8d/9Ney6S5yEZFdRL68/38khG/uKOCnAwoYkcCoEXwkEgGDDq7CeQfyOTl8/vhd1QCum26ybZtu2yabbrKpQvXue1yvuF6v+vbpTT5+/CDffviAX1++1V9sO77WXb/66R/+4V/dgkbllQi+aBLBV/dE8LWRALwkYCWCNyMZXElkwLTMeMkga/P4/PH547ccAVwuctkvdxSw6bbdtYDbTfSZBN7e8PHTR/3u4wf55vKd/nL7DX6mu3791U9//5+/gkNFZGuSgZUQvnKowKgLWLTAQgRtEniTuEfwaELw0MJvf3LQzynud+53uG+X6y3gN9kul+2y6XVT1U27JCDAFVc8ksAn/e7jR/nN5YP+avtWfq6Xy9f7Vz/9w1dgRYngiyYhfNkkgzYBWHTg44AEMmqQUYQKOmDaiCIa8TmsfmzB+DnZDQjgcpGLbti2y3bZHjRAdRMVvb/dcYU8kcDbPQlsH/CrbddfbF98+RPZfvLFnAQeieCRDC5DMvju/vmD4JkEvjRQgKULeGggowdHkAHTYxihg89vu88I5UeGAPSOAFTlrgPopiqbKPSmCKreUoAAkCcSePukHz590m8vH+WbD9/JP335k6/+tA86KxFchv8jMvhiogE4JQm8XhfKqOAqx5qRPyeGzx8/cgSwbXcUoLJtim27C4Oi93+4v6VxQwKAvl2v+Hj9pB8+fZJvt4/yzfbF9lPdv/wJnsE2BogmyeCRED40tGFvksIXiSbgiYSRRpDNDZ6BDI6ghM+J4fPHeyKAO+zX7cb9t4tedMMNAQju5V+f1uAtBSiu1zsduMrHy5t8ePsk3376KN98sX/xE5FPAnm7/782o0DiUINXMkCXCB7/P94/e87AWUmARQWVvgMuKej9t1RLBp+Tw+ePgwngsutFFdu26WXbbl+rSvdfbnqAiuA23QcBgCugV1zl7e1NPm5v+LC96XfbJ/1W9y++fgXjA3bDYXV+MuhRwSPwL3JLMFYC+HS/LU8HYrGwIhwyNOF12SvgM4SgztdifP85MXz+KGsA2C6X7aJ6bXSAOwrY5OYIqGy3d5uq4P5GhABXuV6veLvRAf10fZMPb2/y3b7vX7+g+9v98/WOBq7GG7RNAlYy+Dgkhhb+Xxp0sE8IAC4SGAP/TbgVJK/PoJPBnAiwPKxsXfbbnRg+i3s/JAK4Q/4b9NfLtomBAqCickMBjy7BuywAUVyv8na94tMjCVzf9KNcLl/0SeA6oAEYb1i9g+FtSALb/bKL8/+t+wxXFMyswqiHoK4ToIgKqslgpg1qUC0QoYbvJZg/B/q5v4szHmPX7YEAsD0CX25OwEUVm9xag1+agKg+nxQArnKjAtDr9U0+Xd/k4/UqH7bL5YsewrcBBiMJZPRAp6TwQgWfjM9vgRbgUYGL8AvLWH2gqhesCokeUmCSwPsnhs8fP2YNYMO2XeSmAWxy2VQaXeDmDIhApf33rD4PTUCuV+DtCn27XuXT5ir8VmCJ2G5BpBM8/r/dEcJb8/0lEQMtJHA5TAlqNuLRhJChhEpSqFabH3di+G1AGj+W1/dyAR4IYJNNnuLf6+tWC9CHHiAtFhAIFLjK2/Uqn65X+SS67aK+3QeTDoy/IG2ogQ7fb/dAtz5vBgrYGqrwNtCHsVfgIvwK07OTQBURVNCBFpKCOjqCHn5L/67TgTN+fpySAC56nwSUi256kXsSuFGAVyLoUIDo8/Pz7fdoErr/v17lk162HbgHvFpIYDfoAJJfW4sGPjkU4VNAF8ZEcLmLhdc7kljdY1y1Dq9yLiI4IiRqcLujb138KIPn80ejATwRwIbtBvn1cqv+2J78/5EI5N4cJA8qIPcmwRsKAHDF9WYP6mV7VmrgLuTpxYTcMEW0LAmoQxFsuvAI8tv/a/C5fV2ZMMiKg++FCM7RDPRu8ebWY7VG6VJi+Bzk35MI2LsAckMAgwvQ0gC5DQjd3ABg2HQLAPpEAlZ1Bu7VV7MGHDFRAbo3VKsTbAY9sPWC/uvx86gBbDK3D1eEQS8pbAeSgSwmhepnJb6uBv/o/PzHLzxWA/X7TH77De5j6AGQi6o0CUGfCOD2X7cXAlCFQABtEsGLDtxuOyQB2UTQBKZe5GUPXgkUYCUAbZJRhBDeuq8xBf+bgwbehDm+BFQi2IJksOocvA8ysIMfxluVcRsY/eB3JzH8GFDAXQO48X/dcIf9jyDHptIigDsFkEe066tBSETQUYF7ElDdYEBytN4+rk9UcBPfrKaZqFHWcw3i4J8/X4ev2//bSXqAhwTay6OEIPLD2Ipt8OtAGzxkwLw9WVFRjTc/qC6H3+YK/b1oAA0KuOizHfieCLaHHiAb5NYTIC9EMEbZrVEQt1xwhVy1UfBh8PUOquMizwaap3tQXfY5B//tea/NZdfhsvbz+PURQTDSGWB87VX/7WSd4KxjUqrIgE0IUkoKGnhIvwvawpGf6eECXJ7tv4qbA7DJgwpsKthEmmYgfaAAffYF3HLxo0vwNjJ0SwRWMG4db4eh1gPNm18vQ+us/0eGmxDemu/fnM/X4evq/8342ksGHgLY5LyT/zg0wM8lcMjgGFXwqIOVFJBQw99eCvF9oZL9Mfl3QwAvIXDsBRC9R+fz8x0FPBLB0xJEpwUobrfAkARgIAF41h3wQgP6QAmX5E/7eI43IxGwwf/moIkRyWRJQIPgt9CA9b39nzt4bYUWjAlCjWDPgv8IEjgLJfzuaAsrv9VdVG4OwOXW/fdoA35qAdL0BDwvf6AAUVHd8LIEu94A3K+Q+2YxaB84MOH62P//qoo38fCRDERE2zf0JfmDa+MieElAjcDPKz+mRKCOtdgGtXaBjgNJ4H2owSpNeAW/rRH4CaHSpMwnBYYycjgSJwfie9CR6mPu20Uv8kABF206AvXlBMiIBPSlB9wjBW1fwEuSb94296VCqgMaGCt/G1BbExi3IG+r3a3J6P48Gv/J0YmEYoiGY7V/SxwFCwGoE/xa0AJ0CEiV9QPCJb1OJ5F1VTjEY2/MO9AEJvj1BJTQpqLfTlGwjABuzT962e4IoKnyrdh3+/6mzDVJ4PHOxj0JqGKoy20+wBMN6D1gLWi9NQHfVP5MEEPzjGYy8BMAOnTAJgEr8HUIejRo5xrA5xkR5AngmiSHs+zDDAmMgWzTg55GSJEmHE8IvWPAoYTfhWak/Wn/bQ0CGLSAjv83SUEfKp5q24LXuQICpzrjrgWoza8xVE00CQCORdhMJuTUT/rjuls0gO4Iby8BIEgK6gS7BsGuTtDrScH/fR68biUHNVGBnxjeNyHEvQe/ve3LZQqgG3rof6cEclsNflG9J4KtaQ8WHcVBHS1BtHE4QP9OBMS98mpbKTeDW7dJwRsnHpMBTFJpV4I+b0kY/NqInVFSyBLANbnMSgBM8F+Fqfxq/h657/Up+GaBnwV9hRqc9bZ/vA6vu+T9E8KPJWns94UfTeCj2QXwCHS9dNL8Xf3Ho/rfewSeFODGDV69AU0y6NFAE1DP3qK++rdB7/1HRxf86gT376zOr99T/h/ioBiXWQkgQgVeIrCC/WomhDmQK+hASI2ARQZKooHMLdCJwGEBBXC3+uERwg+VOHZ9ioAt9H80AI06wGgJ3nQA3BoCut6AhxYwgcPOFnxuFnrphk+NIKIGrWPQtgz3b0i7Y6D5rs1GKqTop0nQX52vmQC4BkjA+r4a7Kx9WLENGeegkhSETBCrNXIMdi/444Rw1n6E96ry7OPuj8UfLxtQ78NA2iSBbg7gIiIbdDLsb5agPhLC3RkYKv8NDbS2YGsatNRAG2oQwf9ZIOydgy1MAzBkAw8UwEEIDzSAqdPQ6za0PkeJAMH3Z0wXniUSZoHvBXU2mcjQgv56TedIKglCpIoQfgwCIjOytd8WgN0bfxoR8Fn9Gx0Aj5Zgq0lIZbsH/ibSJoFnS+C98g9ooHEELI3gliy25yONIiE6pb0NfBlyNEYyENoodkKwgl6I6s8kARgJ4ZoEfuYWHLEJa0LhSBXm7kImGeSfVdoJ1DO2G7WXsehAptupSOoyrCSF904k+6vt98X/ZcM98Hsd4JYIXhQAIg3/f9AAUYhsLQKAtkHVBnzjCKhOoYl2ym+iBtvzDzQ2DLXJ4PUmbJHAVnBQX4jkxfvHhNDqAdHXGQJgv0aSDGItgOseHIU+K9hXnIJzkoGlEKzNHagTdJ6VWEUH4iCKH4fd2AwDPaYBm4Wgng4gQ9V/CoGiuNmD04AQtNGMGzSAAQ2I2pzfogY9LRh7BrbOh4+D30sAencljFu2CUFrwY8UAWRfWwGvVOVfbx2uIILM0pwDv082dUTw8hYs8L+uIWiHGpWgClnAa1lMPJogovvvbePPs/q3Xr++kgCsfgB5oQF9WYKPJqEn6G+OE3i5AqouF59FQOmahQC8rlPLj38kg1c2f30vw+XaoIX24/pMGIgSBoZqoH3wo0sIIGlA9PWcCPrAtpPB8eBf6x1o6cHra+2+tpIFP4PgBfxZtZUJfo4qxELT948D9ucK8Mt9+ccjIQw6QJcEbrD/1g340ATuDgDkFfx6twSf1f9xvuBECYxq/7ythQQGm+5JDx6Brw4CkMGT3wgscCUoQ4sU2t6DR2ciBjTgtcpenQoZVX9NuL4Owc+dVaDursYVkVALX+shjSBKBuvCYDUZjE5BdNkxdHAUBexyHwB6NP7Iyw7sxUDViwge1t+mz8B/LAvVx/c3PeBBCToB8IUGOgqA3iV4yUg6UAOxaUFHDx6CYS8SorMOue0CCJGAf5YfRhoAI+A1CvwxqNkAY5yAIx2EQmkFfeWOXi+nEdSQQA0ZHMEItiagJArQxDXIrj8nCfQi4HZPAttrIahso9oPQ/2/JwV5JQU8zw+7I4D7/sBn4EO6rjw0FR+i3Z9fHtahzsFvJgM0X+tmVH5vaYiNDGAigewAz+gyNLThnjCURQFR1b9d3lZvnVqmj9mEPDKIUIC4KCCjBXywS4N+otp/Hk3QVthOkwEKlV9PQwXjT7s/zwF4Qf9toAAzFdjuaEB6S7D1//U5FIQu2MevO0rQQH8ZmoXE6B/IkgE60XCjVoq8gt2iCG0S8L5GdxkM1cGsfsCMArSCAnrr7dzAZxCEEpepvB8tqHJ/q+bmJGGts/AcAXFOMMeTwC7Pw0B6CtCtA2vWgonqBQJFSwH0JQK29OB2kvgj2HHXAoyeAIsCQO0kMNECAhFMqCBf8mElAkyBbX1tJQP2RJ/ha0gpAfS9l+/5n00CkrQpq0MZbOdAuxmMvHswog62jZj7BnYQe19b14kxNq2D/ehX/p68HEcF+x3yP7z/V/A/q/5DA3i5A/dzA5pdgbKp3v3/wQF4Bb70WkCTHGRAA6+KL0bFl6FJaFw0ImZwm6igSwbbwPn9RMBWf3sN2JgA/BVh/Rg0kQBgePf6HglAHLFQwqQQOwDjbdVxNZjR4iM6Qa3WxwvNxh0JFb3g/WzFQQS8b/ttKcDWoABtUMAd8j9hf0MB2uDXhzX4CHj03L9DBU3Qjz0C0l4mLSLQPicOOwZoVCB6P6dA7nDbGkVuxcNr8PU2JQO4wX5trEqmccZaHU4q8oCDFOpzAnOwqyMIMktNNNAHouDGxO37DgArQZzlmp/14W1QlqHTMaIIx7SCx0+5yza7AKJ3IXBrNAHVDcMZAU/BT/vgv/ULPOA+XiLggAREDF2g0ci6xNDRglegd7P7TWWH5oJfayliEg7bScQRBVgI4Ookg/F6rvpLWP29swREqA3CaG8/FpKqS8DTAV4TiBqIqtxfzaQRLys5I0XEFIFrPbZRQb+16Fgi2LvJv8EFUPW1gGfQv1T/F/d/HBnccP7rAwnIIyHI4ArgWeGbU4eHy6Tx/EeTZIb5bo/BsMBjmjBE08f/RB0PHYBd9eVRAGY7cHRwiBf8WeCPHY1bgBTa9xKTELzEkQX9CPtl0gJiqsAmCT7I8xbjivh3JGFI+D2nBcSJQJ8agDX+O9iBL7UfG4bzAkcaICrbtYHz1ycSmGmAjJfL3CMgT3tQpmrfB7gxSzC1DnvdhQMieG47u75+kTouKNkM8c/+vq/Q7ZYjO/hhVvRq8F/9gGfhP8aqE9EIdR6LTwJ1h0BItyDqB8iFwuNqASscRnYioxOg9ApvnYA35f8e9Ohbfe8J4rknoFkO0lmA2gmAG0YK0DkB4ieEjiLoMD8wBzom27ANZkzIoU8EMHk/uo1mzeVoEoRWKn8L/62EYAX/lsB7D/LXg74uAMr9oGivJ0CNJCGD6i9DhZdQF+gtOp4S+NODRzsDVbhdgv4BqTMNyIL9SCKwL9/FGPp5oQKxIf8A/UX6r231H7YIqLML0Ae2GtrADOvRQH5b/MPE9dt9BGLNG8jVTAQvIaK5TtvvvWQgDvyXIClUA78S9Nfg7VtIBlO7cbsEYkQDMot+ygQ7QwmOawTHnAM2XUSnJvPIYRYMmYPS+sv3J+cfP3d04JYIXsF/EwMbBKB9Q9AY+BiSwFj9mzrSXmcJhFPVHySTbgHJCPvRQ/z7G/SVUETsg0ZF+i3CRoCjhf7y1A9mOiDD7TwdwEoEXjLwAv+avLE2B7Jnb+OqDpBoAchoQJskxKnss0vu7Q2YhcDv4ySeLOg9GsCKiUIihP7yfW7zbTsBh0TQfN0iAWn9f72Z56/Ax9P7j5OAH/Qvv3/QxKfk0DgDuP+R3USg3bzBC7bO/QT9Eeh9QvDPG7glBQzJwK740lAFFgFk8P88CqDGAa223YckWYhr+c0BPdwetl2ocnsfzePAWcVnnAIp6gDVhDLyfV4nqFEDPxHsbWD3k4BDkN+pARqKMLYBPzYEvxp9xmCHQQdgWH/9EtH2TIFpu3AH/cdGydv1j0TQbRrq+D/mLcX3ZACZ15bF378CG0My6Kq/zoGOQwhASDFwFbxyNGBuSxbCEhQ/uEPe/6gAERWQObCVVfjPpQX+rexxYhYFxIkgpgX7Y/vPs+Pvxf9vwt8kAs7i32t3QCP+3SPaTwIytQXP38u0PESm+YER+o9B3vr8mETAUfDrEkPI80ck0FZ0dXh9U+HRbhey0cAc2H7A4y4egoD6y8JfkBiigLdFP8v2W00E8deT2IeAKujZ/QAVKpAtKI20gLWksHedfgPcb+0+NEHefd9vB9rayi8h7J91gBbaw20MsnWAF5xHkyDUCOoXp+yrOwwxcKj0aL6fFppaaKDv6OpHR5sgx5BAlK/+fYhuP1D196o8e7lFBaKqv5YIMnFQpd0FGVR35RJCnCDaABaXBtgbiSwtICMtalKC+1JQ6bx/PLcDPQL91QFodQNKpwOgF/9eqcBxBBqRcKAAVk+ArQOMx1RYGgB6naDhlK+uQQwJYx4meQbxtNnYQwMjt/d4f3M9ZE4UOld1LAh99fbfzOxiEkKFCkTJIUIMUeVnJ/9sDt8/e1NEJOi9oVHDGYhgnSLss9DX2IAqw1zALUncKcDr0FB5NP+0cBQNrEezDiyiADPkt9qGpwoPdL0AGPx/NOKeyf3b9WJNdfcFv6bKd2cLMJVfJ6Y3B6wB9WFUfWWEwKMfGiQL+3bz9XGQz2EHKhF41GCtZyDi/gUCsNhYoAr3UNJ58YidHKqnMb/6AB5J4N73/4L+t7mAkeeP3P+1LNSB/l0SkMEd8DcEuUlguEw6t2AU/PCE/q++Akw6QFf1u6SBrj1ZnnhG50AfkoGIdf7gJv1KcSfgzWWkQ9U33Z3tHXYASKJ9e/YhU90rvD+q9Ej69/wxYJVs506Eg/r3DkMDzEdDBRGgcZay49XihLA30P+l8N+hf1f57/0AoxbQbwYaan/rBMirE9Dk+sBzTkC8JNDEUlv5McB8PP19Y01Gayep+hC/2zvQ/2HGLAurowsNGlA1cnqGGzeH5weiYLZm7h3QQC4O2tXdhvMMk1ZS5ebpgI8eMrPvPGkwaxayk8Yc6PMOBPEdC1XZ+2UfbfOPtxLMQQAG9BcZFoF0gp/RKjxe7+oAw9T7ZPWhgedodgz0gf5KBtrtIZhQAZpAV1Bi36w6t98qVfH7hqGI318lLCjLCUFlxRHwqYEH9a2qb4XjWvDT7kBwfbZA5P0+PNuRuW1yf4yNQH3zzwv6b70QOJ0G9OT/dhoYRUGT15uQH/71MjQLtQlxfDuiCXrtM+SkA+icQdH6sU/xz7Ze7FlubV4TpoTQ2osdpaEjtqADmEU7OkBEFoLeC3IWFFeswJXKXzkboNL+wzcFHU8hTGKIboO7CLi1/P+5F+gydQhuvRbwEgxvtACmANikhLTbj0gCYk8KdlYgmj+4Ymaod7TwahwadICuX0Cm2fE5iNHPK0x/CDV66Kyg1MnqjNFBnhBoLQCgUULfaVe5nq/6EQWY67bXCszUb+7232fVPz51iGB12owK9peyP1T4raMFF/OEYJP792mgXYfZ04GHMAhBkCSmSj+dKqRPgVFGHbpLEGMiGFeQWfSgrY52VxaeDUPSNJI0P7NoisG729HHl78z6hxfs9rV3m4JjgM/lsui2qmThjCfDFSb+I9vwUqG5wwL55U7C+6ot8B+7N2o6r3q37T9trfpjgmTvv7PSQATLLeRAOZhIJHBQfDQQJPBdUwEbVW3+L08EcEE/9G4ANrCeWcnPKRHDupbNynMx5AA9IRYLmrc/YLSiD5EaEBS/s/TgnU9ILcH19n+CpHwegLejx7Mn/d25fdN+e9U/1vgb7bqf08MOtf8EXxaoh+GY8L6gDfhvs4i6HQ7seYI2sv1GchdMsBIG3xlvxcCRzdgCPTn+6q/TW00VE8Q9FaFv+R2VlOM1vm/hhjhDCdgNflVKME5B47I9xT8z0YgPAJ8myb/LqHy36j/Mwqw9AALxuO1JVjiuQAYLcFzIhiEPe05fk8tRjGw7yWQbsfuLAT2VqOId1osnr0F49VM8INACPHDoBz4B5mqqSnUgyh3ArjXxfQH5BbgUS8gP7aU+w0zHD9GGD0CGHf+P1p/DeivlhU4BbxR9a2kYFR58YaDZCUR2P0DMmgED2eg77puegy6PgDphEB0CwlG/i9d+/Hs34pBEQrBn0W51mqGnJAk3ACCHeiqkQ1XFQA5AlKH7Lk8yJKWY3/nym14h2C3JvxeMwD9ZVMz0BPMi1n1RbKl1cYhIVblF3G0ATsRiCMUvoK9//OgcwYMoe+ZKOLlC6/Xk50br9NFz9fanqA8UIYSpCwlBO4kHc4WLLBfBHVaKwKgLQjmP4Un61Vq+3s7Bsyi0WztmLjJwJwFeE0I2vD/1Q6MVwefxfUf32skCPbCnxQqf+QMPEUDHZ7vGeyj020JgkPXXwsldA7SYR1RE3h94NvNtugswcgxXEkIcBPCGZ1rmrgDC0A4K88nm2fn/eTnpQtWyZfybRoK8Dro4zYDIMGsf7saTBzvX0SMbkAD6o9CYbsfMK38cJKD9l2FJt9/VGs0h5Gib33pxMKWNsigFUh3G2un+/N1WUglI/EEx8fq27vUNnwsiOoKecL7kQS8VnWAGCFUgn6dBtQhv40CmIYggwK0uwDHRGAuBXVdfwzHUjZzATLMAoyJ4FmBhzaWBlrHld9CCWpPHRqofBqMReMGTJ78q9rDes1Tv7/0m0v0AFHXNR6P6g30SHivin7V1BOhh3iWPwvps/yE836L2XiwnUT8x2iHgfqhnwn667QHEE8oLQjEvtEW7GYBZDrDVkwNIO4G5GiBDf9fGoFM6n+vbEtzXwP6u9AduaWnGYSLAlVdl/AU+ikrSeEIKgwdaZ4AACAASURBVKj4/wtgHcHtdO2nWKcBkPfxcvnNQvsj2Me9f02r76T8q0IBn9OLKfz1HX8yVXQYGoAB/2UeBQ5/5kCL6+H/OGGoRnLSwdd3oH8r7KkGTbgIxEwVWvnF8KOpHnyzfF9Jod5Px+IF1h8owyitDw/XEgRb5bPqbt1uvn7qBIQ16vtS/u+DP3cR7CH0WWJgd5mTJKYgNzoGjQrfvu99NDBC+bnyW1x/qhTatv2OaMKgJWPvv5kwnMgxHYGFRtJW8VMl3uP+MgoqSZyWFKr7+KIDw1d6+IiOgZI4+d5iYL3imzbgyO+tph9t2oSBxOM3ugHtPoFZ1LM0hF4kXNEBssvVgPdjdXZWK7uKvyS3q1Xb1WQwtVDqSUggq+Vw3t56JA2cz7PXOwGNW1ecwxPhfe3QEUsDsFaAz8jg0nf+iZMAHNg/XSazDuC18Iq1HBRrOsAQ8NLB+16g614jmuSgs3bROxE55D+WDDQNA4ivdMJ9M1b309UqknaDU8ObV9/PwmMPATvTMAxpABLBzugUtV9bLdhNDQA+7B9tQJ06/7QNDHGSwtgZOCIA47InIoDdROQGtt0U1HI3GaoUnCnC/rzBMQJteN17+VaAzYNA7e+PFqHQUyXPUYB7iQYa5ZFjq1Zqpx8Uqu/XT7+6BWC1Xaj0GlBIwMoHu7UzcI/6/Acb8KIq+hzmGWmAYnADrIpvKP7TZeLaf0LAeQkGgebbq9FToI44p654F47tekKkI0L5PQNZPsDwPBpy/ni+wKMN76Vav4+2cFZFf8+JwAraMt0DFB7beA/u4Zz/a+RXx0M/ct4/jwaNAS8G17eSwmta0Fhx0VRxJkHMivso+onMXr+YwdWKbgioy1jp4x4AzIKg5lEA7wvHEYCRmdx11TAuT6lDLVl4KvXkAET9P4RT8H2u+lg9EPQIpw+/NpJ7RwE8HaDv/Mu4f3OdNkq/EfAiEiOANjEALvcWL9gfFV4NZbgbQc6qPky4Pm35QZxtH1f4j+P/jXuaYPcWwIEH/fmEPBoAO4m4LGxV3txOQqDU+dXgey+UwSzuqP++uImO/u/6ogCb7wTc1n61sL+vZi87rxnrNas+giTg6QLzaUCjIp6JfhwtGI7AjBBB9JjDY4ePYVR6ZPgN4owVv6Q2N5hhVHwNeYrM+w6dN6K1sMHZm/Ce7bHe3dzKr1xw1w4JrSQMZtgnoQHlr18fzunAszD4qurNUg/TDqzx/lfCaO6t4tACMUQ6P6htWjDPC1hCoZ8kpODzJ70MUR9AODcgwyqyPhmE+wfHYB/hvSqt6qeXUShhXH+d9SR8DzrDaZZdpSp/HxqLMQuATgDU/qDPRgOIeT8cvz/h/XC6BtE7ACLOWPE0KIS4UUjmZaJ2grBphiWgT41BUVWZfP3AnEIT6OrfoF122l2rMycBoU5i/OXoUZ4/aglsXwLzHNU++FVF3qikOj5HXm2PBitT1WuvJRAB+6O//W0/PY8vQH5IrAsMs/WuVmAdHBrQgrbOxJShXwRSsu08h8JMBpo0+aDTALwV4tbswgzHrftG/dJKIAQb5h9KCssWIMeto+GYqG12/HWGjx8kzqNJaa0noMWOr2KwW01AMwJoNvhMQda2/RKQP/3ecABM3g9uD6BY68Ntz9+nDOMb5iV+hIE+dP/Zs/wwJhJ9mgBnohBuStABUXjugF3hkXF9ZZJAjefKdHZCc389LoStKvIl7QIEb1d9RyciQgFDI9Cjyccc/23Aam7/PZJBhgDgin5CtQvbCzX8ip9YgIFtOAt+w0owp/hOiCWgEGbVHuYjRigPGR/YOnEoqPDoV5z5YqB3mRq2ox5ICmSSgAP1Ne+XV2NE+/vuFbCTRADxtS70VRBCjgBk2OyDUQiUgfl77b7DwaHm2rAZ7osRSOOUoHgKfNBSLI767+oDYrfwZvqChSpGfj3pFwZFsCJg2jeIQQBUiyI4WgD68ww4qO8khuWkkIuDrxWv2nv+UTBpJYiPd0KemTA8qqFiuUF1jWS3BoG6pADJq751JqBI0wvAVPyMQvjcX1zbELltKK+zBiXRFiRxG+b7q3M9xuLdzR8g0gCGNzSM5gNYfqGO9CBT8OHct6oB3KsSDBisUnwsFuISQaRHxDSv0vptt2oeLHMERfRn/FG/Cx01EpgIQG8LP+/i37PKw53xn6sYCM4/JwSRrCnIeB1ZkLsawDhaPKv/njU3wnZ/dBdGE8+YTHSG8+ofGgIjsC19YnwdM/KAnTSsqj6ig7uGgIPw3nYFzhhIIvriAxFP9CQd4HSlnzgxONIdrE7A8ZDPx9fjib8ifgegNIliRgdx95+E1T7+3nQVNNhEzDgGA3T2rEDLduwtPpuuouPcs8swwXFjdTaMKt+jA5gUAQPcf95KJQxYU0cYxEDvsBSmYuukp7AwnqniC9Afa5z8vboI68ImT0t26CvwBzSggkj447r9IojvCn7U92J/Hw0QSdwZKNNjxPCfSxRqnATkdwpOwh88oc4J8KTSm/wdbZjrc+4iFP8YO0/5JJDCfaijK5xVXevqfg6zGRrQf83chvX4aRfAE//6vv5+6490U4ADdO7QgM/5bcHP/n4OtCQhBEFeDWSvos8DPq8/IwzLzjpa8/U6MMSkBklDm8e0mn3QIY7XG1Om8wzN48y7HwhOK3P0/ZwUQHHv4psbdoVeb9VlAjChBCdtDDpOKTh9ZfcagOYq31RFjN4/gwBYzp8lAwYNwBELhZoxECeZxMlAzWGdCRV0fQWGHo8+8Kx+AAxnCIzowAxy9KvNepWfsfp4RR9kUrD88CPVTuXRybhqqTHcnxEGndsgub1Gdug8yz9fHt3Hpl57x/mfCOC29FOSQ7/noAZR5W3Ob24UMpuPYAYiQrQgk1gnFoUIKr4vKFpV15pHUJO3Y5rfH3UFHU4bGkU+NKJ9f2hJyOMxDBDpjAgwiYqvk5TqNl9EH2Arb6fA3yaA4cBtPWewhkEcIQJBlGzYp6zRmr1v+e3Fv27xpzvyI44NGDkCIi7CGNV9Dw0M8NtHC2vUwHINumCGNG8erxOwtQINsW88Tlwdoc+F85nI559ngEDpt2F/Uu3hiXYrkN/pBFS26hYDAkFgErMK67y9mGBA3L5ore5izf8b3n805MOq/t7XU4WHv1DUF/5gugCSOAIW/59uMwl6CHWAib8bvfxWl9/rBGEMTTwDfG+ezEYG4yk6FvRPuPwE+wvc39IRjENWM+/cm5b0W4Pf4WuKUnw/vD6eDbB1ETs5vl77Dhnm/51g6wPWwQAqxnivgQaeS3gy/u/1H4hpTPrIgHAN0mSgXUX13YP5PMIuQAfBr/f70cdeE+QoCX3i8nFMLcAjInBoAIYqt1LhC1WdtvmSab28AYffaeivCB+ohdYQgfUa/WS4ToMsNLHLc9nnvPZLwn1/EefPVf+U/xvnCVSEQEkEQEnEQJO7S7RvYDxNeNYKrG7DKMhtsQ8cMmhgPKKKj+F7CiHYFR5KIIPxOmg5IVAtu3ACQSPh7CzUQOgAej5CWEkIe3vgxz0ROGO//qYfz/dnLT+ZxDr4QW0eNCJBorCFOVC312Ec2TiY5Bk0cAaQmiA1VH1MOwDHQ0kHdEDDf+2UTWhS4Z8diQMicLx8MLBfverLcP/jQzF0P8EJj5+NGK9RCz755S6F/f1+X/gxeP+Wsedv+vF8/54aSPJYFjIQd624MDz/UDLQnr8HU3ztKHRf8Qeno1vyAQJBaLcMtTV3cvgP56COCqd/QP9xLgBkH4BxO13n4hNUDtACC6G1S3zqooZ6Ba4lp/zcAFb7iERKQwQcF39IFJjdXECGADw0IE4gg674pYAnk4HoHPx54tD5daO5vxrugSkMjgiiqc7TVKAT6AT8R4ckbHEQCYR/IZBxJgA+XZjsR7vaoRpIxWqeqfXuGC2CxwudicwePEB1kNkaZCuwyF0DuKv/4sz9mzP/Qxdg3BDkBTMC8Q+loD6UGBzx0Kz6eAX/KArOQTlPHFoI4vVtf4rNuLrca9edRn4xBP7k8w+9AgZCgBfEUZWfEs8iFNZ3UO7TqmkjCO/rWdgco/yIqHcQWaC2EGTzgz5y/iXQAvyx3riyxxV/JeBriaGB9OrTA5g9/eokM+37GszqfA/UZk9iW5UnCtBqBl3XoNN6Ag/+zy6A5evPAp+TIFDn15gQw9rjrOzFX0s2JBVAxa/nP1a6AsNWYGjPNGPLTQgBsNUFvOA3Ht9o/rGDN0tWOCcxJGp+f7++kkP7PxcGv1+GjkaLt/fawpwwerQxBJNW4b+PJsYEgiAYYdEAGIlDNaAbRkIgK3ut0jKByp+8yz23X6GttmBmjwDvChgiYLP5V/zhH6/110sGcKo5CkggCngxnIPoPja0j2B+1BRkiYJiviaLJqghDI63G2nAgAxMCuDdnoD0wIQm+urMB3VuAwbBrFGgGgnhAFqg9+ujKsLxB3qGCQNEEtPinIQlAj4WgIw7/iXc9V/x/yUWFs2KH504bAh4aYWf4TrTLGTy9YbftyLeVOWNfYNyt/ji29mQnqMAltU3ioTtbX343yv/1u0YPUBz6zB702tQucnX0gWaFh6DgPdmhXaapGotw0SFz1qDiTMdd8h45HfcqCPRUhA3+NmKz1l9teCPaMd4urGaewRitNBDdahR5c3AfQmDCFT9vmtQEwqAYXX4XI2n23Z9B/Yb1FL+LWox6wHGbZSo6FR1LzyG+3hriSZvWT6jfXhl2cmQZJDrAbuYAqAHo1GA/EOgD8eGcU7A8eDvH4fQBuAhBL/Zp/vamPTrRENDGLTV/7E1WEPLDlP/PwzU4YhusIMUgfIPAr6Dhv5R4y2r8ldFwiFoYHnmr8TAHbhRQSZOctH598ZYhqt6wP7q/ouqe77RJxvzFYaji/z4vna4v5cUMDXqDAJ5ytktqtBDckyjvJg04hl16LB0xFfyMfD77PZjErGQRRjYIfSvoAXntks0ok8MsUC4KARWnYPlJBeIgLeFrUgDOHYCag0/XNAbWgRwQuLAsaQwIhC1g7+jCNKuT38JfnYSyTi+QQEwwHeT4/dWHYxJPxfOj5oAnRQqgU3YgGZSOaDyK3n/qkDYBKptzR3oD6B4fyRKjp2AzSl80YR/3P+/1vBjX18Jbu+YsrMRgbqPP8zrDLTAaupphfeZtyPs9BPztpLSBZjowF3woYRwBwOWaqbev15b7X4RWsiqYiY6ZkFEIoUwUA2OrkeEQE8HYNyD/rl3m88jCGgO/nPW3xy8x4Q/HBcM1dYg5q8N+B/SBSYhtD0EY1PRGLDoKIBHF3yLz4H/gSYQJRETgqeB2d4vC8L2NVnQn4PoVJJAcP0inahAfdXVI8CFszjRagCTtRdV7Sr895NBpRKXIT64RMFw/iw5eChhEvmmyUIH+k+Qu3cLzOAN6ILlFvgWnx3YWFDz0f38ze9GlfP6UQ3ojEY0gtqRIEbA5/WgQFhsEuIeL75uTzvqHktAWfj/OD6sQXssROcGiRgFn0QVkld7OznMDT7CJKzhMIqxW9B+LCOQdH4uyxIcE49VTSeLj0wKjzcp2oDXQA8YoDEGBLMW0BJw+eAxXejPV/IXd59/tp5rVyYXDw5BlRetSpQAcvgfOwVM8ObzBq/AQ2wX4lwkQV3vNhYFfn2LFgaoDU1ogqsfqGkJYmrj9Tr22KQwBLzbLuzDeA9yzyJjVRfwegWq0H+FThDPA6ZhZwX2M2Kh4waovCzAWJTzD/qY00c+6PM8coz08VNqglzx54LfHuTJK7z2rwX35ABLg1DzsZ7Qv7l/f2yXDlbf4C/irg0MJ0aCuD0wP74MrxfdFlX7tq+vtRdCpvt599EG9Yz3V+P+Oj/n4zLruZHcJ7oMt/MNp9eD6HEeFb6/TMfbWo85Pb79HJo8t3371/PuIAZqMvjPC34nVV6ZB4hEuA7AzA5cfU0y2n6ux89D/35/n2/vWY5Bf0qwf3tPLISO1Tap9qzFB6eap/beqI94NCCbGwgqOItY3CGl446CaQ8i2Q9g0AvmgJOnBoAA0gu17tsKtKS7D4udgCYERy2QIceCX/P7mBW+g/7D9S6Mn50CS0eAoQPDcBjopIA5+EcxEjLweRjXq0UbLIjcBxsGx2IZvlf0ATjz/6qypAmY7bhrk4ahsIis6ccXKHdueAfUgk+RWPCLh42c6zEeKyJpRTdRAOqBbl/Wq/uT+q+Fx3FoTIuCzc6+hN8j4veGjuAnhSE5gKnco3A3XwYlq2sq+lmP4yEOpqEoG0M+mGDYuYT0pKCFHgLHKt3T7T9p8GcWH+n1UwGa8X6kQt2x4CeqPexegT6o/Z4Cr313PHdgrsS2ZReLfpKIf+IMFnmVmwxQ9AhithYT73+p2s+JIVfrjwiHnpAZrSsr9CMstQXP1+1+510N/q8E/YoekMN9OMFvi5LvkRDsy9rgFCOoPdpgaQIWBZjf5KCSQszZJ1ivTvLokpen6tsJAVND0NFqb6GUGg2Im4Dyx9Pn7/0dm4pADAslJzTv+dKNrAPQ0wyySm7bj1RQgbAXsRa4R+mBJzpaQmHLmy0BLoL+Nh2ZRca8uUc6P37k97n451fvTieAE8BdZ2ItqFEK6oOJIYPsiU4woo140Oh+H/UC++gatHYcOFT+2y3AYvD1rM/fpxdUcsAi70c0OxAEP45X/hymE9XeoC0zfYhbcqfbhs09HpwnKMDR6g0mmYyKth/UcLl9ITGQ8N1S6s+gA1HvQCc2pluPvN2Br8SyZyfyxPP/VhCi1L1HWX2CQCuAE8TIq/sBYdANZmTIwqq0sb0HIzhhugBeUpBZLFyA8y+EErsBUYDZHYN9QAAooQwOws+uQlhdESSSqk5Qsh8LSYI6LDS1AbmOvLlRBqQIeITvM36+TP63VfE5hFClCTr9zEyVFwS3STQBy66DMHB+PJWIrfgGnYBx2dTboPa2X49GaBVlePA7CFx4iaGi4ns0aLVjMGvtPTDtmO4XEE8E5Kb/8qYai+NHl60LgAICcUCoJPVeiYG6Pxw/X9VFNVbFn9FNPzXoIRDTyzcpREYB5Fm1EQQn3KRi9wKApR8Tz48SwxnV3qM0q7ZhpdKvr0zfY+gO4oQf+EGPFYW/Xf5hwWsUgxiBbShGoGIx+D2eH1h2EeR3UQMH4zMaUKr4033nzkSkfQADelFbLOQCalxdxvN8mInhPas9bxtGJw29Fx3Y8429MAS0fL33Oeo7qFZeiToCC3B/VSNYuU0fgDnkhxGgMFdxiYEY7MYel+OHPH30IMeVFK1C79l+QdXVpFqHlMAXEf3EYDyfkkGdNvJ8f3RAXU0jpgM7jMNA5yCrtfzOicKG/M9bgEkEjqqPPDEcDfqVwGZv6zcO9avDfOhf4OmLFd9OLBHHdxp51HvOBlnAoQksYjASA1xnIhPsapTCPjbsGB2YevpPpgM73EYeSYIftgPgte6CWesVBB9QEgfnWYMgoeC8ql69bWoRIqYHvSIv/u26bj/jdqZ9KSGk74JRo6QS9PuTiSHm6Z62kLUGH0UO4rwWrhtRETkR4iKRdI8giJ2D2nUCMjsA0TXiVDb98NAf/rCMlajA9wesWHZrAe1dlwRyVI2jx4KkyUHSx7YDe6YD4tOC6XW01puEdAJwaEJzf1uATHi6ZlSCpBQscsh6C1xRcWEG4bCFeKcAVhVlDu54JQIkTT21hptIT/Afk0kMcS9BKfjBJozcDXCrtgbWXxbMAw3INQIxtQJPAGwXmYaBbYh4SCsuKwLOAQ5awKskCMmRg8P3xwlBfbosQaDqyZqBkyQe1CLQACoTgN4qbyHsPwkTiF2pYaj6MAXBmUosQHnUEYCsBL3MW39SNKMJ5PfoBsT33DVJCEbFnBCMOkHfvj6Xq8uw+dgRIhGgAiUqf5QgKDFyhe8nnYrlqn9sG1GoAfirubygX4H+8IM1CmQrMFAJ5ExzKIp54nPoVU2Auh6eBShDlTV4u5c4HE/fVvjFrsII0Ik6QX+Iq68jB19ziLoKC27FYe0gC+j1RSS+BgB7AvAM3m8HLdy5fV60C8RMVuhD1ieQB32MCCq0QPJuvuw5IHF/geMKwOPdpmsxBwVEfGEOgeincJqNmuSFIPhPq/xM81CWIIi+gCFBqDX3QPYd2OcCRo6GZBoA3AM+00aesAOQ7/2Pe/vBCXoguD4OBD1WfPwClzcui12AuH+gC0gEwW72KfjBCQRBr05D0IQc7N8PzOCMehPWK384MPVDJQim7yDdoiRTItzzFV/ZOX9sYFetP0fsQzb6O7wOoFjxk89YoQXv+BmSN+yYHYO+BsDRAXHhuJXsEFbdIEGZQWUkNVNzGA9NZUVBIQL7jASR0AclE4Pb7JN3BO72mG92+o8UG3nybj+mASh0FsLKn9GPxDrEcS2Au35BzHO1BksriIJdpqWjKR1wlpR4fN977rZqI+XbYjYDgVDpcYQalOYKMiuQbB3G6Pu/HlMbi9a0EMkksXtjvvXTfgMKAEZRN/i/O7yD8Da2S2Bdh3ICWfp8yuMkYl5a4df4vVWt4UF0yyqEnaT6swYyWB8/j111Y1ERS9oB0SLMtBGDEBD1PEHwtdjUEAHnqmoHU4wCDAoAS+lHwtu9eQLUAgmxVvAuMB9cELMV3m8EUtcBYYI9nkNIEEJYrQeUHfnzzRyC39j8CgSkir/E0P2odnAmAqDnDIhqrtV9BDNS2POjv/0pwKr6z1h/PMz3uf9ykFYq9TtoAXSwpz0HljdvBCVAPY6t7osv6gFhMpkX13rcfXQMIpuTsfTibkfOPRAC2meLRipI4mDPwMD5x+v3+Ey+qEfACwoUEkKQSMZxYJDz9R68PyP43yvo2aYf881rNQbZgRU/jp80QnW/hdXqJxMvCFxXQSNHpE8QiF4XI+wFfQcw7VL2Md7RRajsKgh2D+6SLAKPF356+/7yXYBTUgFy/38StUjFHweD+iiHh8/LV/i/TSvGk4L5x7F6AsIKbgb4C0YjgdGRIToGUx7cgS3JKP8pRcgak95BJGQbjaJdBYQ1qHYnYHL8F45QgHx2gLMQ2cDxBD/4SeR0LSDi5XzPQNjM4ySE/HGG6g+ugltLNSARn281BPtNO72eJLjdX4ITSEgpQvJYFEUg24f1qAYQNQdxx6Q/RcB85j9f+03zf2QV33IDPHegNgPABTfqFR8cZK9TA7/ll0EQbUUHW8Gr1d+MSadia+LRHwhunv87yWoJ3h/pRDwJAbDNQQFd2P2mH4kP/wDT/ZeN3CK3+ZjvgVpw4r20AMafb58j4N1UMknuj6iCx883PU9g2VHVH5JX2eEcPghSgRBCKPzK0Q3fknwPN0Hk0CyC0zBkz//7duEetgFjVtypASDI4CsknYJgYDhqsBxxy29+eyxrAZX75EEf8f+CkOcijMDDHx4ASYGGu8WHgPwpHJc0qOG8FgFTuVk0cRZVePFwHEIUEu8xSHoL5qWg4I7/HgOKXe2dcnu2SSdCGIDTA+AcxY1zYL6Q6AAFu+/1GvjKPSeEoJV3NiM4Dz9C6oWkEav+NWjPWXNOIkKgNTi2I8LeBgaZHJxqrC4oNXoB9pzzMws/OW3ghSyQJgjbygOVEDhoj4nHLld8HPD6UUMFVLIgKrTL7cFoBRLQgEdXIseZ2/HhFPKbk4d5tYWwwR0nIFQSD2P5gQhs6meVfB+Bkyz2fOIvX/zxqsSODuAGIOLtPNnmIPCrv6Kqvgz3q4tCwNl9lWYfnsdHj2HTgQw5IBHwULmfSu1jEV3gDFSxTBmqSEVqiYK2IkWcRiAkwV/cyW9YhqHXDw9dkNQAcO6HFNJT7oChfrPUYc3KY17zAd+evAwF2w5SCKLV4EuCEKsKfjBVWHu9Q9Arh4CoBqEMWYBsNX7YgKP/69uC3M7/mOOz232QT+ox4iCyJGEFP4oBHd+GVvXBwX35nqp7qeIbV6L6tdZub3ueJ+gBIKgC6S5gOQFxDoGr+Bv2nzqbknd7ph/EmXzO0o+kZdc/wqvQkAOUffVMzKtYgx5Vob1/+HAfCdzHSiXHenX35/2JTr3KZ9Ruj2lYiMhLIFoNyMq9hFroeYMTE0bSLbhb4l3YlFPa6hMd2jk8dmrDgdQCnC4/+ANFlYTB6ATlx2GDGXP1rvL+SnWHw+cJes5/rRWt4H2pw9GklD4uSMpwasIQiaYR92gIyFX5S8dtRZt/nCAH48VXW3hRE/HKOsGquj8EM85Q9cfeAV4XwNGAlmIFIwPYrfLKuxV476RRetzcdeAsRSZhiHizCKEIOHn3EMOWy5X4uIJnXX6sFiBFLaBm/THOQAkVJK9j6TKwiSDTBWpwHkSPQJX7U959uAkoaTUuug6oQCBz1Zlxm0OJSIoIw04M+7zCGuYiznCfHww9AN6Ir+HXA7lfn2oBSJ2FOOh8SzINfmcAyITq8JX/sOMPx6A9LeYtVfwgCBZhdu25OB9/XmWWNPUEPD5dUuJ68wd1AqD2+w1PI9KxE9BW5t3z/igdYGWiL7L+wPv9jgVY8f0ZcbCKCuLAHN+c5wa69Zpr0J9t2KnpAGzyiAIPiFalJ8/xXrrA6Y+/8NoDnWCPNwFJzf5DpVkHte8hx76P+HU1+HEytEeSEIzAsu5r6wPJGu6oLz8VrKofXLce+ywIHhNa/Dmw8LrptWXZ4NKZm4pr/QQ7Qk8ehMrPtAF7PQCD309QgRgRZMKgAbFREAfBBXNalbHA9cEHMo4IgIUuPjjBWEUFEQpYTkhVO43eRiynJw9Jjj8TOUIlJExK+0wA4gWgQvcFBHAc7P4/u78/Ff4CC5ATB3P3oUwFClYgcALcxzp/B9Ez4DUV8RjBbsCBrMH4dLNwIDaCGhA6o3pXksdBvYBsktrXDgNJKAFy1Z+ZGIy5NXgXoBT8a3ZgVSPIUAMV6DjLxhsV8wX4n4ibbONObHNyCr8Z4FinNFjg8ziiF5zSV8A99u7Zdf5OisvVaAAAG3VJREFU/kIPAJLWX3hUIFD6o7MD4WkHIMXBk4IftSrPNBJVk0OoC7ice8HGS8XBKDoz/YFBLaQi392lGpCMJfhD9xVkx5Xbj73P9V4m1j0v73x9FjDDPlYvATkgFAVWcdNvJBamliOjAwRV0EpeRymAe717kMYRyy/j5FwFBX0fP7Dyx8gq8wn2ZXi8GfGYR+lFcGJSxa3Y84WgzBHetlU4cvKY44Ps4iP9fsgsPGEhQTAcHqwwGCj61SoPexKwasXFqtxq8qhD9SixoBBYcJEDNzmIoi3J7QkoJActVHocTVpPBCDhElAvMDK1PT/Sq3DwB/ygmyB9GNhYDH4so4Foy48kkPtZfZEv1PQTxYpyX0EI3Bu+/5krcN8fgwVdwWu2JNVNWAk+PcOOPMNdGFyAZ5Aj6gicgzNfwuHZg0HrLxBWfjSRl88fVCo/apX/IBrIvf65ZxtEoK9Bec4KZIPLe76osQns46NwW0pUPCPAyMc4A/KXOwZzFLGbAqD5xhhbgBcWfoJBAlarcCSQgdQJ+Movnih4gjZQTw51rz588y/ZgxVUEAQ8soCfX8OR26JwujCLGFAMsOjnwGrlPuQw9D/PPv8BYVR7pG/eeFtQpsLzR2KFI8SwKj9KlX++HeLOPuSBKrKeHBi7L4b+Kx184+ptAp4Trcscv69oARVYzWgaK01H1X0K3zNSmARKtxXYHvwJuT+8gLGGWgpHcWOmBeljFB2Ckg6wiAYOqfxEK3GMCAj6kIiTWdCBCXhkjUKMgJcLk271N9uLSbtvvK0S69OXAvoA5z94VsFubbmZvx4QAnXgBnJxENyQjy38wef81uPhxMpPJIQzr5ckuUTKe0wZyN57iFTWga8GvCwlh5UqvYgmaNV9XSxEVWs40kkosFwA70RgNOu8mLZfR6wDiwRa35y7j08NksqPQhcfkRBK/J8R75Iz+9C8gJpqzwiIeZII3QnYOkJWbVEI5jNuA+o2BwK82ifwnpSgHwaC+GNAdmW2VXfC+vPu6wR6lBj84C9WfvivZyUhZMJlJhjSukDlFJ3g4AvGJfC1iEpQJ/CaEd7G9wds7p71+odruKrHip/C7RdsxeVjzIxhoNkFGOW/+sk/YVAGtltfzZAIfzix8gcHhZCXpcGN2u69qWqD9OlRFAy7x2fQBhHUiETB+DocqvArYt98f+AEAXApsEmEcNLC0t2uPHCqPQIXwHYDfI4/9+8LMpchqr5HK39MJSrBXwnutNqjovjHFdq+fcHLp7YLR4mGgduW5hFpAXUoL4cTTuW5HJSkB5PC0S7A+8c+837DyoM1J9iv/po/o3BunlDqPjOSO/YbLFd+FGy9sxKFeT8b+nLNPrkAyD53FtT27yUS32yqUaEGTMBiASGcZ0FmK8nWxbvjC1q6WQC4VdWdAcBY8eFoAzIrC0b7Wt8wlPcIdE1FhUWeKU1Igv8Q/0dl4k/NnYSxdlDon8diUDeuQB4c8XVzcahRgyyZmNC+LAgeCfSVALde8/t1DCYawNoePGT83wlOpFUdOZKwxn89OsMEf0X8CxJCBN/dwKbFwkSMgx0ACJJDJD4iC1JEYh6XcEqVHpx4+J4I4UiAl26r5x64sttvSlAn3LBuQCz6edU8C+J5epBrC4YP52EFDgHrCw1B0eU9bOaTgh3wmYvQV3Oqqcf53XnVNXUBELX1xtSgFrirlII5d3HFulxBCNEfZx0h7K2f34XwdHpuYQcguN189Ow/nPXclaUcqMH5leCXjKOjbv3F0a7i2ZaRHmBe5zwnhA9S736ZC8AH8LHkg/T5znYgmES1dtuzGo92qwHIquiWX+4KgVLd8utv9Ml1BQNhEJW/FOgweiTguCUoQHkEwYhjfQIgm8eAzPKzHqAG5xGiiPyxeGRRaYetUpDVpHVC1T9bHGyaknb/TQTnuG7rDYwYCUT7/cMjtILzA+Go/FPw581F/mWeTkDuBsBCAK8ki+A29nMzPn4Rzjv6QV7xWW4fzQFUxb9jQQ1qc28kMi4mDl1NBr4usIsz5ltZqNm7AeJXfuTHd7nioLEyPBISU+8/tP1AC4Il/n+YGmjg2NiBRdl6yCw//zG5ph7bqaBuz8B4VMU/TqSsNPbwCeZA1cdxyG9SgKzRZPL+GXFOiH1/SFZ9wX8M3zUgvH8a4rMBjZj/h1W9MrwTiN6MlsCKiI4gycBzgV/xUaQGjGDHwHiYi0VIzeEAasCpNuL76AC7BIEl7i4AIxnAfoMxk35eJbZ68wWEUChs8IPz/EEE9BkUoNA4RCWSLJkY1h0Y/dG9bVCtUVPe7QRhtStXG4nOECDfUxc4Uw/Ik8JkA9o9+a83IrfHH11EdFUWc4phNgVFWkPsIHBnCvCCYBSgqEN9qtoXuwHhByYoJJA7BxIkkRwpDGgAHo+vQ3ZGOwCFJCJKUAx4MBpFZWvReeLgtBBkDDQu2OJxXa7SE/P4ZiUPHABjY1DsFIhPAaygWewiXK72hHjow/k8gCL6gKES8qcDZ7A+EhYlWCPGCX1wXIwzkQEKt8cP6iqkC0FEhFj/ZYtvXCtwuBLcDT5wXN+9H6ZEIkTwV/x/s78fXFX3siWHEKrC3tw7EFZ31Ll7ttknQyEMGgAqCaVe1bGk8r8nFWCQQR0h7CY0dsU/mIeIuA1AGCo02Q0YVXxub36sG1Qgfo0CBBUXxap+ECFEycQVyViBEBFPt14TK9rZHB9EwMG7DPXOv0OVHkdtx7OSCXfb3av4CFZGTwQBwT7/hKPHE4PzpJ4L4+FM9r1n8B+B+9R9I4Fu9brYUZgCunZWNxdQgIs8mASBQ4F8hJpEiaf4GPihk8FdAxin/kybjZjTj+mAQy6ihZ9whDvHAWB6BKrBXQr+5SBfqPaINwiz12UIwoTmbPACZY/fshBBBKNlW8ZCHwH/cVKSOZMm4Mxk4OwE9JeB+EFkn1IzcPQoiSB4vGgNeJSoik1A7m0TCmE/HrggB+/1M12C1Z18ACGoIeH1pH2IhAqFWgBq+kDFEWAvA3X8tpW0cnSD5WAOriOHhnYraF1eLTkS8P/QsHUBdtMPnOrMaANJE9AZiaKWII5Ue/8PTHn/UcCSTgIF2xN4zdmAQYIAKeBFl6FiO0aKfq5jcImHfPwTxcEdRmD3LcFoAva1Hdjm9UgGggI9YOoPkOBYLsT8HlG3nucMDGkOOJ8CkNOELdSO7D5qqAeJYBb2GpABgRi2gxLITgrOQ9C937HgB+0i7MeRx3gfPWCXLtgbLJAu/gCFBPzRX8eADJqCvA3FViC/BlOQC4LZyrBq8BdQAOUKoKjqR7v7EFfVFMojPgEoSlJesNIePyLHwW9NRgq7E6HvUN8A0yj0wyWDHRZ3J2A1jHdMyu3hCGwSDwdRir7h9VP7AKLgPoMCgKziOFLtrUm8aIFHlgxYfz8WBYUU55iAXauo+evJaIK/NTgRJM9sUcZRzcCnMdNKMJc7usnAyrpxHYkTRHK+n1HxS01LheAHqRWwKIDqLvQC0+PupHZgBawfVGsiniTVHwZHRqbUI/D4Cd+ftgyLAR1ehkIiqaKFw7MJEwUIuK5zsu4svoFYCFKgBJZACBuppOId2RDkPZas8H9kULcA9a0KTCQDGtpnzT+RMJiOGseHl4BQ1C29AWUXIIf/OIwwqoNEK3SCuA7FRiBrE9B4/PcrGJ1OQNj83F4Xbol/TgVHfMiIZLAdcaVkgh8sLrd+liNQH/FqsNTfj15m1J0X+ffZuq/gTY7QnvIfJz6UzBJLs83ItQpt3RfZz5iuGfNPajpngUm0R8DoA5jDlzsOTAwZjzsC3Jjxg7H914PjlcskGdghgx9HG4OOQH34uwQyzz61/0qiYNQjXxECuWYbGM/DrjtPH/Mw/K+gBLLSA+cEfPr4MroArzcDuybbr8Zc72i2UnzeHnTgzD4Ug78SzIvCoARVOQxaFFR3TzWnkkHUVFShEuqKxZnKz4p4YYcf8ZhYhuu8wFgSHcuuwCJagI4bgchJQK/qe9c/RT6nGcg6KGREJpb+MI0EY/b0jcsni3AJBeCQNsBOFVYoApcM2Aom4VFgIRdHpeIG8D3YaxBD+qCiQ+rBOSVnci8hzkAG1t/pgHA4uwDzmu8xFKkkkIqCfkIRs204r/hiDgutoAAcowBMZ9+KS0CcXVBOHCvJw2jMQSJyeoeExF2DuTuRcuWAo9sefyUQ6/oBaIjPtiRH1KvQKvygAHb171d+vc4GRMDPoxN/kL5pwlVh1mBQ1quQJAJ5j0TgOAis+h8d3mnC8xTKE34+8sDNjyVXE6nFMN+H39TQDmocHScENvN74LoGScGU4f7g6IG3n3C3qnG6JBS+Z5tHOOzRYQx+u7MZmAl0OSsRLAS/VIKfRAWU92+12aaVPksGDBWQuCMvgNy2M2Mt8EwqbjosZAec5xLEAmXmcFTHiOWARWglpNpjdEtBQRxJJU5VL5/7F1X86XntXgUK4q+KggsUoIIK8oA+kgy4+zLaACqQGTVOX6MBWdehL6BxHn+tlyBMDGAqufd7WOX5WTJwKYDfXJJP2GXDPk7Tj5Ed7BOG7DMFaBRAJgI/+H2Ngeb2SKb0zkoGlQBHkefDr7xMA5HZeJPtKIzyApI9gmnPgf1c3mulfhe0gFekDCdNFnrOwi4Gs6eTACNjB+Uegcgojog4V25P8bctRYY6RL8AJklE9ACFAGZdBEahd4d4CmghFhbzcwaXYH5qTlS6DY+KfNH5Avzjo2JJ0poDkSCMxLn73H/eB+ifvgvyIFCWAji7BWC8hd0qj0FziMdrS70BlVbgamIgcmotGZDNPwm0L9l5iHv7WRoAFx57ScFS2r2iwot8oKu8l+TOCOg2mZ2nFdjTgOFQENzKkJ8OjEnsE8f6AzyXwT6MNF3RDRnuj0Lwo6wTlBMDIyqaz6G+RiLJMg/KUrQV/rh9uH0tWduwoxmky0kSMQ+rnXxZsGadgnxfgk1pCnsIsGYltvfdzTOBIclIsN8MLAGcz5gBwj94AE8DuC9Molip/JGwB57nRyJiyD3pyk6q5ij+3TzRLohcqyqCEQBTepF15+WVmW8SEr5jMUUkx3oMIsrH3ndwAQganKzyMpOJNxMQooGBYwcByw7axIhgPRGEr6GSGJhkAELoQ1YRg+dPeD5IIRDIqq5PA2Jh0Rq0YcS8XBi0ghGRFpCtWTdum5+yLOsQf2EuYY8AfnbQZDgCjHxBSKwTGpt8QCIDVH3/4H5OwEvldhliINwAFLsEyyIfGKV+vm3eEehVqKTdNxtDiPoLHCRiuwTJxCECxMDqDjTvZ63KaPKvRgV2i/F3ohm88V8LN8hgJcXD5pVGIPPNn9EBqSQC0I4AMxBUcQNCkarkFgSn/oCs9GCVep4eUG5BRAOcQOCWlGSc3If0IFqRfURQGRrKewPKEJ9sLnIowKCcw+f48N6UHjqYtgInaCCkBbPSj8VEkCr2g8U43wY1xX/BNkwreQrzg+oaJghOCGTU8RBxuIp6VFOGoEXgEsBLIgV6gBgxoLSI5CgiYNT+GBHsU01GthrceiMUtv9KgAYktgVNeGrBbtiOQVi9x8WjiAW7UNUnm4Vet7WtsFgDCDYEwQ/EVL1PnQf/xCDLTowTh4c4HPRDoQaiwhKIAae4B7xgCBydI/CDPOrevK0FR4p6w3VfoXgQiB3T1N8Y1PCD0X19JqcHGfzB5WkQE4p/kdeXBcEVUXEIFqSij82lMyrWq/7c+LFHA7z5/dwOHHg8s/Y8C2CmhbmALtare+4UWLfb25BmXABKABTniC8gRAP2yvDAiUAsElnrxFzITQa/sAFecAOY7zPV/8jMQHSbWAiUPGkQNABhw85xrSCv+mMSzFR8+7mjw01A8f4F8S/td4jnDHYxpT8/OEyV3gz2+GTfdAeAszswfJNGlQhEIjB0Bls0BKn4Iw7WKu9f1gmSagmvqleEwJwnZwjO7npz1HdCJ1hS/mlBcRXyF3i/M7NxqJFoeH27z7nnJaBmpUZKHsTbGUc1ALEoIGsGYl9ixS50gjAT/VhB8IzvGTrBVfWEz1MzAkRFTtecW731VdjNQPukVdhdn0Y8d/a7WYH6i/TBPBzUFwAlHwtGHOQISrgb1AMUgDETTA3+THAdeRJhg59V/Ektofa9I8wxVICkC7QQSAd2O3cftzPzdMK6aA4iZI4ILfYRbb9RgqICt2AxVnYZ4kkBvHOBxT/zN9ybHx/f5Ql2fkGCX6ANm6F8WCfqAS+Eq5AGcHJd2IFHagTMHAAj+mWBnDXuc81CjhsAi5dL2K8QCYI1aJ/PJtSSxEFXASv7C2I3ZB9/a0j/7nDn/j1pHsz9Jr8fNpxPBUAUUYD4wz5GBlmyAiORjtAIGDFwzSUwqiNZ1d1tPiB7/Q9VeI9KeJU16/knkEeQJEALjY4rkp74fCZiMDSA/PgvT/aT2gYgp5E/P29AKBQAo6TRth5T4VesQFb0i4K7RA2MZpgyFXCEQHCOixuYMPgy2L7+45ezSSKt2oUkURlpXkEMOLSiXPuDQZjk63N5bmzOSxQdLHX7AhwUEA0BAeQPJIQzkAuFlOK/GtyLdiGDKEBdllQ7YouxV2Xdwza9So4Kp5Z0yAgUhTlJgFzSFrznIHYIwKcCu2/L3LsCg6UI1b1/CA+ApIV5/32HqOIjdQusE4azip5Wc1b0q/QGIAlaWEJbXP3r/L+AEipw/+BtkQVY9fIM2i/ZhgVEgJO6DZ1ksVtlYdoQAPhVO0oKmYBmnAYco4DRCRB3TwCziptaE0auER9/VzRqKNOEYINOQg2m1l9GpGNQAhh1v6UmxNQh2M4+LmlUzll0OTjYQOaGlZAEMCrdhmBphaMBwBADrSQQc3//He8KgFETT7p6BHnjj2X9EXsDjrgBS6ihoAmcSQVYmE4JgYWFpp1waAQRoqDzxDhU+HxSnZHz/9JEY6Y5MJA+cwoWrt99+U3Mc/9g/NQTFaigAEtwB1yBzwzucZSX7RZEILhR1d5GDCsBLVUdIQvsldZfEJt5i/MHx2hGJZFkVVyK242iFeh58oBUFqIQbkfp2DV2X0CkAYgv1sU+P+I/HmBu8nErugdRnUWhfp+A/ddlbEH3uQlBsNobUEMHasK1HOYn8BEEvCUaiuigXRIKj+sGOPA4KAWz9/s7WxcgB4+a6/fI2osEwv4yOENAiPf+wQhbc/5f0gGisWuQaRFmGoIqguARWsBQgTTocDLMT5OJUQnhqdCEig+/EShKSEgTVV0MBMnz04BcshPnLk/+OaV0/dwKzB4QUt1NB6uTDfGOP+cNm9mEsBAFiM7AQh9AKVEU75vy68jeOxrUC4mDEuYO0oLqoSdHaEF2eXYYSm0V+oEOwpLmYFOF3Z4CmAeBTIGueiIw2xoKPzDBJVBXQ5g5O8/twwA+QguIjJt3+g0NQEcDfUXgO5gsqlTBLkQLdl86K3CWneitQ8sg/5oWAUJP2C3V3RoEyji5n4b9lB4t9pz2CA+cAFn1Z9I/uzYsU/ELtEBOCHYQQqGcFejV+yeuRJX31zsKV5IGjway9z6PLDxKwNEPsBuOEiqw57jGgOtZ1Y++T50AuMFl7hPIbhskiOwsATtRoc7rS7dXrpcgrMCGJca6ELJo+Y0be0BW5ZKGcFz4y8W9BduwcDnK9iO5fagsKpp9ANnvDPxeP8THNyIVFo1AMas8Qk5v2Ytm0LCCYAXqn+wQsPTBh/5Bcnne14Os3uCQt28vsK1WUESJFviBgAW//3u9PLxusXchcCR2WsNzv/ImvgZzzkUByDUAIrjTvmSHAowpJBQE4SUlxMxnARlQbIqkArVAJ6pBBvELCCKlkyCDAP45BYfEPfcUpfMch3Vn4bheYK4E66BxAxHSVd5INgEPgU/NBCDfNQ8Ho1CoINAPQAW/QT8OCIZlNFCB84XhoDChFByHGjx35v9BLgyhmojqHYb5QYXnuAecvua0hZe6BV9f7v4ibvgvamrmAc1TmaEir0LQ9h97eYAYVoM/nWA60i8Q3Ifezha9BqaaL3zvqd6IAuwwLSCCuCLuJWch4h30giPtyiAphKEBcCu9BV5wwzkMxID8rhMwdwMhcSFgrBT3RUTQboAUg3+p+Qe1IGarOioVnazmefV3lHpwA0AcLWCahUiXwePHWJsP+GH1gnp/we5KfOhJAbsj0H/BIEb04TbrTPsAyb2LLu93KwfCvn5PLAwrOXAa72eEQRo1CNdw5IprsAZ3hApy9zlcITG2vpCihsRSYxNS+J4vdBZ6B52eqRcQ/QXmSjAWSfa/5GA5qEg4iJFtm624AqXLrSA2gx8p1Mdqcghv41S0lSp/xAYs9gakQc4Ie2RTUYwYgt748mV+FU1Xgp14eW3XYZ6cdqGTNHwHICTwEeTPl0jEZwIgP9gDEaogeg5IHWCF+1eoAhvEKPB/EAeTRsM/pSAP5wjWEUMM1/NJRhwJbpJSgK7S7zF3EOsI5jBQBK9DV80Z8Y0COzvmWzJXgDl40KEC6cqvqgi4OB5cpgLFYK/1CvDiItXqC6/S87wfAUfPtxqfGNzlYaOjlf1IsHPPvffHgDAoEeEST4ZLZUd/RSo91/BjXY5ggWgQ4In3fyj4mUqPrInHOCLKO3wUwRsfyXpt1nEIRLrqcWeTuk7bigsbid1zD4iDRQtnIdQsyIXnFCn1I9D7ADgxEhOvR5AJosoUbu1FkJyYCi9OhQERoIx+4AX/YqUXQhtYEwKN4Cy1HntLMmtaAQpqfrT/UCoLSxeswjA5UWPPi0mjajUWxMTdVusNvt/ChMdmILK5IRMFu90BMEzFYHdg2GAgeYVHMMJIBTA7EFTx/5fpgTFXz9w/en0ZjD8kCDoKPNGwlB01BmoWQbh+AxR689mBponGJOr9OwmMu3dtJ/ylW1Tik4ElUPmR9RqII+pVhD9ychABMQ51gOIZg+/G+5mGIzLB1JJC5WhzYjhJ7IWmLDpA8jzsAafUPkB2WnFBF4iSxkq1ty7f25rv/+EQLOxs2oUdTSA9HIR9swdBlCcFe9owPC3XWDDC0ISVzsEVbSCF/sWdA5Fu4HJqankp2SeQCYYrImNalfmhpVxYrGkUS4LeSUjg8dD7+D7w/ybIfy7vlB9/HJ978zr7/45Qgajzj+4EjIK/ULHPRAOlKr/aG0AFcqCyu0GcW45Igh6JMJmhA49/U+cEssHNJhtXDC1MOya3j/sAiAGcrEtqtgjBD6wEzSDc7D8o6C8rIqAZyPk+NQoNLAZ1hR64Yl1FBY648smUYKnSg1Xwk/0DyRyArByMUobyByhCcPnOaPyoegREFS4jNfYAw+IHCjdC1J2WDZBke/OyN85J24WiXwDYPoJyYuCD238ulvuzwt6KgHf0shWKsqCFFGjB/w8HU8eeTED9wAAAAABJRU5ErkJggg==",e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var i=n(1),r=n(5),o=n(25),a=n(3),s=n(2),c=n(13),l=function(){function e(e,t,n){void 0===t&&(t=0),void 0===n&&(n=null),this.name=e,this.animations=new Array,this._positions=null,this._normals=null,this._tangents=null,this._uvs=null,this._uniqueId=0,this.onInfluenceChanged=new r.c,this._onDataLayoutChanged=new r.c,this._animationPropertiesOverride=null,this._scene=n||o.a.LastCreatedScene,this.influence=t,this._scene&&(this._uniqueId=this._scene.getUniqueId())}return Object.defineProperty(e.prototype,"influence",{get:function(){return this._influence},set:function(e){if(this._influence!==e){var t=this._influence;this._influence=e,this.onInfluenceChanged.hasObservers&&this.onInfluenceChanged.notifyObservers(0===t||0===e)}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"animationPropertiesOverride",{get:function(){return!this._animationPropertiesOverride&&this._scene?this._scene.animationPropertiesOverride:this._animationPropertiesOverride},set:function(e){this._animationPropertiesOverride=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"uniqueId",{get:function(){return this._uniqueId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasPositions",{get:function(){return!!this._positions},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasNormals",{get:function(){return!!this._normals},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasTangents",{get:function(){return!!this._tangents},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasUVs",{get:function(){return!!this._uvs},enumerable:!0,configurable:!0}),e.prototype.setPositions=function(e){var t=this.hasPositions;this._positions=e,t!==this.hasPositions&&this._onDataLayoutChanged.notifyObservers(void 0)},e.prototype.getPositions=function(){return this._positions},e.prototype.setNormals=function(e){var t=this.hasNormals;this._normals=e,t!==this.hasNormals&&this._onDataLayoutChanged.notifyObservers(void 0)},e.prototype.getNormals=function(){return this._normals},e.prototype.setTangents=function(e){var t=this.hasTangents;this._tangents=e,t!==this.hasTangents&&this._onDataLayoutChanged.notifyObservers(void 0)},e.prototype.getTangents=function(){return this._tangents},e.prototype.setUVs=function(e){var t=this.hasUVs;this._uvs=e,t!==this.hasUVs&&this._onDataLayoutChanged.notifyObservers(void 0)},e.prototype.getUVs=function(){return this._uvs},e.prototype.clone=function(){var t=this,n=s.a.Clone((function(){return new e(t.name,t.influence,t._scene)}),this);return n._positions=this._positions,n._normals=this._normals,n._tangents=this._tangents,n._uvs=this._uvs,n},e.prototype.serialize=function(){var e={};return e.name=this.name,e.influence=this.influence,e.positions=Array.prototype.slice.call(this.getPositions()),null!=this.id&&(e.id=this.id),this.hasNormals&&(e.normals=Array.prototype.slice.call(this.getNormals())),this.hasTangents&&(e.tangents=Array.prototype.slice.call(this.getTangents())),this.hasUVs&&(e.uvs=Array.prototype.slice.call(this.getUVs())),s.a.AppendSerializedAnimations(this,e),e},e.prototype.getClassName=function(){return"MorphTarget"},e.Parse=function(t){var n=new e(t.name,t.influence);if(n.setPositions(t.positions),null!=t.id&&(n.id=t.id),t.normals&&n.setNormals(t.normals),t.tangents&&n.setTangents(t.tangents),t.uvs&&n.setUVs(t.uvs),t.animations)for(var i=0;i-1&&(this._scene._activeAnimatables.splice(t,1),this._scene._activeAnimatables.push(this))}return this},e.prototype.getAnimations=function(){return this._runtimeAnimations},e.prototype.appendAnimations=function(e,t){for(var n=this,i=0;i-1){for(var i=(o=this._runtimeAnimations).length-1;i>=0;i--){var r=o[i];e&&r.animation.name!=e||(t&&!t(r.target)||(r.dispose(),o.splice(i,1)))}0==o.length&&(this._scene._activeAnimatables.splice(n,1),this._raiseOnAnimationEnd())}}else{if((i=this._scene._activeAnimatables.indexOf(this))>-1){this._scene._activeAnimatables.splice(i,1);var o=this._runtimeAnimations;for(i=0;i0)return;this._animationTimeLast=e}this.deltaTime=this.useConstantAnimationDeltaTime?16:(e-this._animationTimeLast)*this.animationTimeScale,this._animationTimeLast=e;var t=this._activeAnimatables;if(0!==t.length){this._animationTime+=this.deltaTime;for(var n=this._animationTime,i=0;in&&r>0&&(r*=-1),s&&this.stopAnimation(e,void 0,c),a||(a=new u(this,e,t,n,i,r,o,void 0,l));var p=!c||c(e);if(e.animations&&p&&a.appendAnimations(e,e.animations),e.getAnimatables)for(var h=e.getAnimatables(),d=0;di&&o>0&&(o*=-1),new u(this,e,n,i,r,o,a,t,s)},a.a.prototype.beginDirectHierarchyAnimation=function(e,t,n,i,r,o,a,s,c){var l=e.getDescendants(t),u=[];u.push(this.beginDirectAnimation(e,n,i,r,o,a,s,c));for(var p=0,h=l;p=u&&s.frame<=p&&(r?(l=s.value.clone(),m?(c=l.getTranslation(),l.setTranslation(c.scaleInPlace(b))):g&&o?(c=l.getTranslation(),l.setTranslation(c.multiplyInPlace(o))):l=s.value):l=s.value,v.push({frame:s.frame+n,value:l}));return this.animations[0].createRange(t,u+n,p+n),!0}},function(e,t,n){"use strict";var i=n(1),r=n(30),o=n(10),a=n(146),s=n(36);s.a.prototype.createRenderTargetTexture=function(e,t){var n=new a.a;void 0!==t&&"object"==typeof t?(n.generateMipMaps=t.generateMipMaps,n.generateDepthBuffer=!!t.generateDepthBuffer,n.generateStencilBuffer=!!t.generateStencilBuffer,n.type=void 0===t.type?0:t.type,n.samplingMode=void 0===t.samplingMode?3:t.samplingMode,n.format=void 0===t.format?5:t.format):(n.generateMipMaps=t,n.generateDepthBuffer=!0,n.generateStencilBuffer=!1,n.type=0,n.samplingMode=3,n.format=5),(1!==n.type||this._caps.textureFloatLinearFiltering)&&(2!==n.type||this._caps.textureHalfFloatLinearFiltering)||(n.samplingMode=1),1!==n.type||this._caps.textureFloat||(n.type=0,o.a.Warn("Float textures are not supported. Render target forced to TEXTURETYPE_UNSIGNED_BYTE type"));var i=this._gl,s=new r.a(this,r.b.RenderTarget),c=e.width||e,l=e.height||e,u=e.layers||0,p=this._getSamplingParameters(n.samplingMode,!!n.generateMipMaps),h=0!==u?i.TEXTURE_2D_ARRAY:i.TEXTURE_2D,d=this._getRGBABufferInternalSizedFormat(n.type,n.format),f=this._getInternalFormat(n.format),_=this._getWebGLTextureType(n.type);this._bindTextureDirectly(h,s),0!==u?(s.is2DArray=!0,i.texImage3D(h,0,d,c,l,u,0,f,_,null)):i.texImage2D(h,0,d,c,l,0,f,_,null),i.texParameteri(h,i.TEXTURE_MAG_FILTER,p.mag),i.texParameteri(h,i.TEXTURE_MIN_FILTER,p.min),i.texParameteri(h,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(h,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),n.generateMipMaps&&this._gl.generateMipmap(h),this._bindTextureDirectly(h,null);var m=i.createFramebuffer();return this._bindUnboundFramebuffer(m),s._depthStencilBuffer=this._setupFramebufferDepthAttachments(!!n.generateStencilBuffer,n.generateDepthBuffer,c,l),s.is2DArray||i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,s._webGLTexture,0),this._bindUnboundFramebuffer(null),s._framebuffer=m,s.baseWidth=c,s.baseHeight=l,s.width=c,s.height=l,s.depth=u,s.isReady=!0,s.samples=1,s.generateMipMaps=!!n.generateMipMaps,s.samplingMode=n.samplingMode,s.type=n.type,s.format=n.format,s._generateDepthBuffer=n.generateDepthBuffer,s._generateStencilBuffer=!!n.generateStencilBuffer,this._internalTexturesCache.push(s),s},s.a.prototype.createDepthStencilTexture=function(e,t){if(t.isCube){var n=e.width||e;return this._createDepthStencilCubeTexture(n,t)}return this._createDepthStencilTexture(e,t)},s.a.prototype._createDepthStencilTexture=function(e,t){var n=this._gl,a=e.layers||0,s=0!==a?n.TEXTURE_2D_ARRAY:n.TEXTURE_2D,c=new r.a(this,r.b.Depth);if(!this._caps.depthTextureExtension)return o.a.Error("Depth texture is not supported by your browser or hardware."),c;var l=Object(i.a)({bilinearFiltering:!1,comparisonFunction:0,generateStencil:!1},t);this._bindTextureDirectly(s,c,!0),this._setupDepthStencilTexture(c,e,l.generateStencil,l.bilinearFiltering,l.comparisonFunction);var u=l.generateStencil?n.UNSIGNED_INT_24_8:n.UNSIGNED_INT,p=l.generateStencil?n.DEPTH_STENCIL:n.DEPTH_COMPONENT,h=p;return this.webGLVersion>1&&(h=l.generateStencil?n.DEPTH24_STENCIL8:n.DEPTH_COMPONENT24),c.is2DArray?n.texImage3D(s,0,h,c.width,c.height,a,0,p,u,null):n.texImage2D(s,0,h,c.width,c.height,0,p,u,null),this._bindTextureDirectly(s,null),c}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return o}));var i=n(0),r=function(){function e(e,t){void 0===e&&(e=i.e.Zero()),void 0===t&&(t=i.e.Up()),this.position=e,this.normal=t}return e.prototype.clone=function(){return new e(this.position.clone(),this.normal.clone())},e}(),o=function(){function e(e,t,n){void 0===e&&(e=i.e.Zero()),void 0===t&&(t=i.e.Up()),void 0===n&&(n=i.d.Zero()),this.position=e,this.normal=t,this.uv=n}return e.prototype.clone=function(){return new e(this.position.clone(),this.normal.clone(),this.uv.clone())},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var i=n(12),r=n(199),o=n(16);function a(e){return new Promise((function(t){DracoDecoderModule({wasmBinary:e}).then((function(e){t({module:e})}))}))}function s(e,t,n,i,r){var o=new e.DecoderBuffer;o.Init(t,t.byteLength);var a,s,c=new e.Decoder;try{var l=c.GetEncodedGeometryType(o);switch(l){case e.TRIANGULAR_MESH:a=new e.Mesh,s=c.DecodeBufferToMesh(o,a);break;case e.POINT_CLOUD:a=new e.PointCloud,s=c.DecodeBufferToPointCloud(o,a);break;default:throw new Error("Invalid geometry type "+l)}if(!s.ok()||!a.ptr)throw new Error(s.error_msg());var u=a.num_points();if(l===e.TRIANGULAR_MESH){var p=a.num_faces(),h=new e.DracoInt32Array;try{for(var d=new Uint32Array(3*p),f=0;f":n=i>r;break;case"<":n=i=":n=i>=r;break;case"==":n=i===r}return n},t}(l),f=n(21),_=function(){function e(){}return e.Process=function(e,t,n){var i=this;this._ProcessIncludes(e,t,(function(e){var r=i._ProcessShaderConversion(e,t);n(r)}))},e._ProcessPrecision=function(e,t){var n=t.shouldUseHighPrecisionShader;return-1===e.indexOf("precision highp float")?e=n?"precision highp float;\n"+e:"precision mediump float;\n"+e:n||(e=e.replace("precision highp float","precision mediump float")),e},e._ExtractOperation=function(e){var t=/defined\((.+)\)/.exec(e);if(t&&t.length)return new u(t[1].trim(),"!"===e[0]);for(var n="",i=0,r=0,o=["==",">=","<=","<",">"];r-1));r++);if(-1===i)return new u(e);var a=e.substring(0,i).trim(),s=e.substring(i+n.length).trim();return new d(a,n,s)},e._BuildSubExpression=function(e){var t=e.indexOf("||");if(-1===t){var n=e.indexOf("&&");if(n>-1){var i=new h,r=e.substring(0,n).trim(),o=e.substring(n+2).trim();return i.leftOperand=this._BuildSubExpression(r),i.rightOperand=this._BuildSubExpression(o),i}return this._ExtractOperation(e)}var a=new p;r=e.substring(0,t).trim(),o=e.substring(t+2).trim();return a.leftOperand=this._BuildSubExpression(r),a.rightOperand=this._BuildSubExpression(o),a},e._BuildExpression=function(e,t){var n=new c,i=e.substring(0,t),r=e.substring(t).trim();return n.testExpression="#ifdef"===i?new u(r):"#ifndef"===i?new u(r,!0):this._BuildSubExpression(r),n},e._MoveCursorWithinIf=function(e,t,n){for(var i=e.currentLine;this._MoveCursor(e,n);){var o=(i=e.currentLine).substring(0,5).toLowerCase();if("#else"===o){var a=new r;return t.children.push(a),void this._MoveCursor(e,a)}if("#elif"===o){var s=this._BuildExpression(i,5);t.children.push(s),n=s}}},e._MoveCursor=function(e,t){for(;e.canRead;){e.lineIndex++;var n=e.currentLine,i=/(#ifdef)|(#else)|(#elif)|(#endif)|(#ifndef)|(#if)/.exec(n);if(i&&i.length){switch(i[0]){case"#ifdef":var o=new s;t.children.push(o);var a=this._BuildExpression(n,6);o.children.push(a),this._MoveCursorWithinIf(e,o,a);break;case"#else":case"#elif":return!0;case"#endif":return!1;case"#ifndef":o=new s;t.children.push(o);a=this._BuildExpression(n,7);o.children.push(a),this._MoveCursorWithinIf(e,o,a);break;case"#if":o=new s,a=this._BuildExpression(n,3);t.children.push(o),o.children.push(a),this._MoveCursorWithinIf(e,o,a)}}else{var c=new r;if(c.line=n,t.children.push(c),"#"===n[0]&&"d"===n[1]){var l=n.replace(";","").split(" ");c.additionalDefineKey=l[1],3===l.length&&(c.additionalDefineValue=l[2])}}}return!1},e._EvaluatePreProcessors=function(e,t,n){var i=new r,a=new o;return a.lineIndex=-1,a.lines=e.split("\n"),this._MoveCursor(a,i),i.process(t,n)},e._PreparePreProcessors=function(e){for(var t={},n=0,i=e.defines;n1?r[1]:""}return t.GL_ES="true",t.__VERSION__=e.version,t[e.platformName]="true",t},e._ProcessShaderConversion=function(e,t){var n=this._ProcessPrecision(e,t);if(!t.processor)return n;if(-1!==n.indexOf("#version 3"))return n.replace("#version 300 es","");var i=t.defines,r=this._PreparePreProcessors(t);return t.processor.preProcessor&&(n=t.processor.preProcessor(n,i,t.isFragment)),n=this._EvaluatePreProcessors(n,r,t),t.processor.postProcessor&&(n=t.processor.postProcessor(n,i,t.isFragment)),n},e._ProcessIncludes=function(t,n,i){for(var r=this,o=/#include<(.+)>(\((.*)\))*(\[(.*)\])*/g,a=o.exec(t),s=new String(t);null!=a;){var c=a[1];if(-1!==c.indexOf("__decl__")&&(c=c.replace(/__decl__/,""),n.supportsUniformBuffers&&(c=(c=c.replace(/Vertex/,"Ubo")).replace(/Fragment/,"Ubo")),c+="Declaration"),!n.includesShadersStore[c]){var l=n.shadersRepository+"ShadersInclude/"+c+".fx";return void e._FileToolsLoadFile(l,(function(e){n.includesShadersStore[c]=e,r._ProcessIncludes(s,n,i)}))}var u=n.includesShadersStore[c];if(a[2])for(var p=a[3].split(","),h=0;h1)for(var c=0;c0&&h.forEach((function(e){a._events.push(e._clone())})),this._enableBlending=e&&e.animationPropertiesOverride?e.animationPropertiesOverride.enableBlending:this._animation.enableBlending}return Object.defineProperty(e.prototype,"currentFrame",{get:function(){return this._currentFrame},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"weight",{get:function(){return this._weight},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentValue",{get:function(){return this._currentValue},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"targetPath",{get:function(){return this._targetPath},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"target",{get:function(){return this._currentActiveTarget},enumerable:!0,configurable:!0}),e.prototype._preparePath=function(e,t){void 0===t&&(t=0);var n=this._animation.targetPropertyPath;if(n.length>1){for(var i=e[n[0]],r=1;r-1&&this._animation.runtimeAnimations.splice(e,1)},e.prototype.setValue=function(e,t){if(this._targetIsArray)for(var n=0;nt[t.length-1].frame&&(e=t[t.length-1].frame);var n=this._events;if(n.length)for(var i=0;ithis._maxFrame)&&(t=this._minFrame),(nthis._maxFrame)&&(n=this._maxFrame);var _,m,b=n-t,g=e*(h.framePerSecond*r)/1e3+this._ratioOffset,v=0;if(this._previousDelay=e,this._previousRatio=g,!i&&n>=t&&g>=b)f=!1,v=h._getKeyValue(this._maxValue);else if(!i&&t>=n&&g<=b)f=!1,v=h._getKeyValue(this._minValue);else if(this._animationState.loopMode!==o.a.ANIMATIONLOOPMODE_CYCLE){var y=n.toString()+t.toString();if(!this._offsetsCache[y]){this._animationState.repeatCount=0,this._animationState.loopMode=o.a.ANIMATIONLOOPMODE_CYCLE;var C=h._interpolate(t,this._animationState),A=h._interpolate(n,this._animationState);switch(this._animationState.loopMode=this._getCorrectLoopMode(),h.dataType){case o.a.ANIMATIONTYPE_FLOAT:this._offsetsCache[y]=A-C;break;case o.a.ANIMATIONTYPE_QUATERNION:this._offsetsCache[y]=A.subtract(C);break;case o.a.ANIMATIONTYPE_VECTOR3:this._offsetsCache[y]=A.subtract(C);case o.a.ANIMATIONTYPE_VECTOR2:this._offsetsCache[y]=A.subtract(C);case o.a.ANIMATIONTYPE_SIZE:this._offsetsCache[y]=A.subtract(C);case o.a.ANIMATIONTYPE_COLOR3:this._offsetsCache[y]=A.subtract(C)}this._highLimitsCache[y]=A}v=this._highLimitsCache[y],_=this._offsetsCache[y]}if(void 0===_)switch(h.dataType){case o.a.ANIMATIONTYPE_FLOAT:_=0;break;case o.a.ANIMATIONTYPE_QUATERNION:_=s;break;case o.a.ANIMATIONTYPE_VECTOR3:_=c;break;case o.a.ANIMATIONTYPE_VECTOR2:_=l;break;case o.a.ANIMATIONTYPE_SIZE:_=u;break;case o.a.ANIMATIONTYPE_COLOR3:_=p}if(this._host&&this._host.syncRoot){var x=this._host.syncRoot;m=t+(n-t)*((x.masterFrame-x.fromFrame)/(x.toFrame-x.fromFrame))}else m=f&&0!==b?t+g%b:n;var S=this._events;if((b>0&&this.currentFrame>m||b<0&&this.currentFrame>0,this._animationState.highLimitValue=v,this._animationState.offsetValue=_;var E=h._interpolate(m,this._animationState);if(this.setValue(E,a),S.length)for(T=0;T0&&m>=S[T].frame&&S[T].frame>=t||b<0&&m<=S[T].frame&&S[T].frame<=t){var P=S[T];P.isDone||(P.onlyOnce&&(S.splice(T,1),T--),P.isDone=!0,P.action(m))}return f||(this._stopped=!0),f},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){}return e.ExponentialBackoff=function(e,t){return void 0===e&&(e=3),void 0===t&&(t=500),function(n,i,r){return 0!==i.status||r>=e||-1!==n.indexOf("file:")?-1:Math.pow(2,r)*t}},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){this._isDepthTestDirty=!1,this._isDepthMaskDirty=!1,this._isDepthFuncDirty=!1,this._isCullFaceDirty=!1,this._isCullDirty=!1,this._isZOffsetDirty=!1,this._isFrontFaceDirty=!1,this.reset()}return Object.defineProperty(e.prototype,"isDirty",{get:function(){return this._isDepthFuncDirty||this._isDepthTestDirty||this._isDepthMaskDirty||this._isCullFaceDirty||this._isCullDirty||this._isZOffsetDirty||this._isFrontFaceDirty},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"zOffset",{get:function(){return this._zOffset},set:function(e){this._zOffset!==e&&(this._zOffset=e,this._isZOffsetDirty=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"cullFace",{get:function(){return this._cullFace},set:function(e){this._cullFace!==e&&(this._cullFace=e,this._isCullFaceDirty=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"cull",{get:function(){return this._cull},set:function(e){this._cull!==e&&(this._cull=e,this._isCullDirty=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"depthFunc",{get:function(){return this._depthFunc},set:function(e){this._depthFunc!==e&&(this._depthFunc=e,this._isDepthFuncDirty=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"depthMask",{get:function(){return this._depthMask},set:function(e){this._depthMask!==e&&(this._depthMask=e,this._isDepthMaskDirty=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"depthTest",{get:function(){return this._depthTest},set:function(e){this._depthTest!==e&&(this._depthTest=e,this._isDepthTestDirty=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"frontFace",{get:function(){return this._frontFace},set:function(e){this._frontFace!==e&&(this._frontFace=e,this._isFrontFaceDirty=!0)},enumerable:!0,configurable:!0}),e.prototype.reset=function(){this._depthMask=!0,this._depthTest=!0,this._depthFunc=null,this._cullFace=null,this._cull=null,this._zOffset=0,this._frontFace=null,this._isDepthTestDirty=!0,this._isDepthMaskDirty=!0,this._isDepthFuncDirty=!1,this._isCullFaceDirty=!1,this._isCullDirty=!1,this._isZOffsetDirty=!1,this._isFrontFaceDirty=!1},e.prototype.apply=function(e){this.isDirty&&(this._isCullDirty&&(this.cull?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this._isCullDirty=!1),this._isCullFaceDirty&&(e.cullFace(this.cullFace),this._isCullFaceDirty=!1),this._isDepthMaskDirty&&(e.depthMask(this.depthMask),this._isDepthMaskDirty=!1),this._isDepthTestDirty&&(this.depthTest?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this._isDepthTestDirty=!1),this._isDepthFuncDirty&&(e.depthFunc(this.depthFunc),this._isDepthFuncDirty=!1),this._isZOffsetDirty&&(this.zOffset?(e.enable(e.POLYGON_OFFSET_FILL),e.polygonOffset(this.zOffset,0)):e.disable(e.POLYGON_OFFSET_FILL),this._isZOffsetDirty=!1),this._isFrontFaceDirty&&(e.frontFace(this.frontFace),this._isFrontFaceDirty=!1))},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){this._isStencilTestDirty=!1,this._isStencilMaskDirty=!1,this._isStencilFuncDirty=!1,this._isStencilOpDirty=!1,this.reset()}return Object.defineProperty(e.prototype,"isDirty",{get:function(){return this._isStencilTestDirty||this._isStencilMaskDirty||this._isStencilFuncDirty||this._isStencilOpDirty},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stencilFunc",{get:function(){return this._stencilFunc},set:function(e){this._stencilFunc!==e&&(this._stencilFunc=e,this._isStencilFuncDirty=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stencilFuncRef",{get:function(){return this._stencilFuncRef},set:function(e){this._stencilFuncRef!==e&&(this._stencilFuncRef=e,this._isStencilFuncDirty=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stencilFuncMask",{get:function(){return this._stencilFuncMask},set:function(e){this._stencilFuncMask!==e&&(this._stencilFuncMask=e,this._isStencilFuncDirty=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stencilOpStencilFail",{get:function(){return this._stencilOpStencilFail},set:function(e){this._stencilOpStencilFail!==e&&(this._stencilOpStencilFail=e,this._isStencilOpDirty=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stencilOpDepthFail",{get:function(){return this._stencilOpDepthFail},set:function(e){this._stencilOpDepthFail!==e&&(this._stencilOpDepthFail=e,this._isStencilOpDirty=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stencilOpStencilDepthPass",{get:function(){return this._stencilOpStencilDepthPass},set:function(e){this._stencilOpStencilDepthPass!==e&&(this._stencilOpStencilDepthPass=e,this._isStencilOpDirty=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stencilMask",{get:function(){return this._stencilMask},set:function(e){this._stencilMask!==e&&(this._stencilMask=e,this._isStencilMaskDirty=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stencilTest",{get:function(){return this._stencilTest},set:function(e){this._stencilTest!==e&&(this._stencilTest=e,this._isStencilTestDirty=!0)},enumerable:!0,configurable:!0}),e.prototype.reset=function(){this._stencilTest=!1,this._stencilMask=255,this._stencilFunc=e.ALWAYS,this._stencilFuncRef=1,this._stencilFuncMask=255,this._stencilOpStencilFail=e.KEEP,this._stencilOpDepthFail=e.KEEP,this._stencilOpStencilDepthPass=e.REPLACE,this._isStencilTestDirty=!0,this._isStencilMaskDirty=!0,this._isStencilFuncDirty=!0,this._isStencilOpDirty=!0},e.prototype.apply=function(e){this.isDirty&&(this._isStencilTestDirty&&(this.stencilTest?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this._isStencilTestDirty=!1),this._isStencilMaskDirty&&(e.stencilMask(this.stencilMask),this._isStencilMaskDirty=!1),this._isStencilFuncDirty&&(e.stencilFunc(this.stencilFunc,this.stencilFuncRef,this.stencilFuncMask),this._isStencilFuncDirty=!1),this._isStencilOpDirty&&(e.stencilOp(this.stencilOpStencilFail,this.stencilOpDepthFail,this.stencilOpStencilDepthPass),this._isStencilOpDirty=!1))},e.ALWAYS=519,e.KEEP=7680,e.REPLACE=7681,e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){this._isAlphaBlendDirty=!1,this._isBlendFunctionParametersDirty=!1,this._isBlendEquationParametersDirty=!1,this._isBlendConstantsDirty=!1,this._alphaBlend=!1,this._blendFunctionParameters=new Array(4),this._blendEquationParameters=new Array(2),this._blendConstants=new Array(4),this.reset()}return Object.defineProperty(e.prototype,"isDirty",{get:function(){return this._isAlphaBlendDirty||this._isBlendFunctionParametersDirty},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"alphaBlend",{get:function(){return this._alphaBlend},set:function(e){this._alphaBlend!==e&&(this._alphaBlend=e,this._isAlphaBlendDirty=!0)},enumerable:!0,configurable:!0}),e.prototype.setAlphaBlendConstants=function(e,t,n,i){this._blendConstants[0]===e&&this._blendConstants[1]===t&&this._blendConstants[2]===n&&this._blendConstants[3]===i||(this._blendConstants[0]=e,this._blendConstants[1]=t,this._blendConstants[2]=n,this._blendConstants[3]=i,this._isBlendConstantsDirty=!0)},e.prototype.setAlphaBlendFunctionParameters=function(e,t,n,i){this._blendFunctionParameters[0]===e&&this._blendFunctionParameters[1]===t&&this._blendFunctionParameters[2]===n&&this._blendFunctionParameters[3]===i||(this._blendFunctionParameters[0]=e,this._blendFunctionParameters[1]=t,this._blendFunctionParameters[2]=n,this._blendFunctionParameters[3]=i,this._isBlendFunctionParametersDirty=!0)},e.prototype.setAlphaEquationParameters=function(e,t){this._blendEquationParameters[0]===e&&this._blendEquationParameters[1]===t||(this._blendEquationParameters[0]=e,this._blendEquationParameters[1]=t,this._isBlendEquationParametersDirty=!0)},e.prototype.reset=function(){this._alphaBlend=!1,this._blendFunctionParameters[0]=null,this._blendFunctionParameters[1]=null,this._blendFunctionParameters[2]=null,this._blendFunctionParameters[3]=null,this._blendEquationParameters[0]=null,this._blendEquationParameters[1]=null,this._blendConstants[0]=null,this._blendConstants[1]=null,this._blendConstants[2]=null,this._blendConstants[3]=null,this._isAlphaBlendDirty=!0,this._isBlendFunctionParametersDirty=!1,this._isBlendEquationParametersDirty=!1,this._isBlendConstantsDirty=!1},e.prototype.apply=function(e){this.isDirty&&(this._isAlphaBlendDirty&&(this._alphaBlend?e.enable(e.BLEND):e.disable(e.BLEND),this._isAlphaBlendDirty=!1),this._isBlendFunctionParametersDirty&&(e.blendFuncSeparate(this._blendFunctionParameters[0],this._blendFunctionParameters[1],this._blendFunctionParameters[2],this._blendFunctionParameters[3]),this._isBlendFunctionParametersDirty=!1),this._isBlendEquationParametersDirty&&(e.blendEquationSeparate(this._blendEquationParameters[0],this._blendEquationParameters[1]),this._isBlendEquationParametersDirty=!1),this._isBlendConstantsDirty&&(e.blendColor(this._blendConstants[0],this._blendConstants[1],this._blendConstants[2],this._blendConstants[3]),this._isBlendConstantsDirty=!1))},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){this.vertexCompilationError=null,this.fragmentCompilationError=null,this.programLinkError=null,this.programValidationError=null}return Object.defineProperty(e.prototype,"isAsync",{get:function(){return this.isParallelCompiled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isReady",{get:function(){return!!this.program&&(!this.isParallelCompiled||this.engine._isRenderingStateCompiled(this))},enumerable:!0,configurable:!0}),e.prototype._handlesSpectorRebuildCallback=function(e){e&&this.program&&e(this.program)},e}()},function(e,t,n){"use strict";var i;n.d(t,"a",(function(){return a})),function(e){e[e.Pending=0]="Pending",e[e.Fulfilled=1]="Fulfilled",e[e.Rejected=2]="Rejected"}(i||(i={}));var r=function(){this.count=0,this.target=0,this.results=[]},o=function(){function e(e){var t=this;if(this._state=i.Pending,this._children=new Array,this._rejectWasConsumed=!1,e)try{e((function(e){t._resolve(e)}),(function(e){t._reject(e)}))}catch(e){this._reject(e)}}return Object.defineProperty(e.prototype,"_result",{get:function(){return this._resultValue},set:function(e){this._resultValue=e,this._parent&&void 0===this._parent._result&&(this._parent._result=e)},enumerable:!0,configurable:!0}),e.prototype.catch=function(e){return this.then(void 0,e)},e.prototype.then=function(t,n){var r=this,o=new e;return o._onFulfilled=t,o._onRejected=n,this._children.push(o),o._parent=this,this._state!==i.Pending&&setTimeout((function(){if(r._state===i.Fulfilled||r._rejectWasConsumed){var e=o._resolve(r._result);if(null!=e)if(void 0!==e._state){var t=e;o._children.push(t),t._parent=o,o=t}else o._result=e}else o._reject(r._reason)})),o},e.prototype._moveChildren=function(e){var t,n=this;if((t=this._children).push.apply(t,e.splice(0,e.length)),this._children.forEach((function(e){e._parent=n})),this._state===i.Fulfilled)for(var r=0,o=this._children;r=this._sampleCount||e>=this._samples.length)return 0;var t=this._wrapPosition(this._pos-1);return this._samples[this._wrapPosition(t-e)]},e.prototype.isSaturated=function(){return this._sampleCount>=this._samples.length},e.prototype.reset=function(){this.average=0,this.variance=0,this._sampleCount=0,this._pos=0,this._m2=0},e.prototype._wrapPosition=function(e){var t=this._samples.length;return(e%t+t)%t},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var i=n(0),r=function(){this._checkCollisions=!1,this._collisionMask=-1,this._collisionGroup=-1,this._collider=null,this._oldPositionForCollisions=new i.e(0,0,0),this._diffPositionForCollisions=new i.e(0,0,0)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var i=n(45),r=n(0),o=function(){function e(e,t,n,r,o){void 0===n&&(n=null),void 0===r&&(r=null),void 0===o&&(o=null),this.index=e,this._opaqueSubMeshes=new i.a(256),this._transparentSubMeshes=new i.a(256),this._alphaTestSubMeshes=new i.a(256),this._depthOnlySubMeshes=new i.a(256),this._particleSystems=new i.a(256),this._spriteManagers=new i.a(256),this._edgesRenderers=new i.a(16),this._scene=t,this.opaqueSortCompareFn=n,this.alphaTestSortCompareFn=r,this.transparentSortCompareFn=o}return Object.defineProperty(e.prototype,"opaqueSortCompareFn",{set:function(t){this._opaqueSortCompareFn=t,this._renderOpaque=t?this.renderOpaqueSorted:e.renderUnsorted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"alphaTestSortCompareFn",{set:function(t){this._alphaTestSortCompareFn=t,this._renderAlphaTest=t?this.renderAlphaTestSorted:e.renderUnsorted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"transparentSortCompareFn",{set:function(t){this._transparentSortCompareFn=t||e.defaultTransparentSortCompare,this._renderTransparent=this.renderTransparentSorted},enumerable:!0,configurable:!0}),e.prototype.render=function(e,t,n,i){if(e)e(this._opaqueSubMeshes,this._alphaTestSubMeshes,this._transparentSubMeshes,this._depthOnlySubMeshes);else{var r=this._scene.getEngine();0!==this._depthOnlySubMeshes.length&&(r.setColorWrite(!1),this._renderAlphaTest(this._depthOnlySubMeshes),r.setColorWrite(!0)),0!==this._opaqueSubMeshes.length&&this._renderOpaque(this._opaqueSubMeshes),0!==this._alphaTestSubMeshes.length&&this._renderAlphaTest(this._alphaTestSubMeshes);var o=r.getStencilBuffer();if(r.setStencilBuffer(!1),t&&this._renderSprites(),n&&this._renderParticles(i),this.onBeforeTransparentRendering&&this.onBeforeTransparentRendering(),0!==this._transparentSubMeshes.length&&(this._renderTransparent(this._transparentSubMeshes),r.setAlphaMode(0)),r.setStencilBuffer(!1),this._edgesRenderers.length){for(var a=0;an._alphaIndex?1:t._alphaIndext._distanceToCamera?-1:0},e.frontToBackSortCompare=function(e,t){return e._distanceToCamerat._distanceToCamera?1:0},e.prototype.prepare=function(){this._opaqueSubMeshes.reset(),this._transparentSubMeshes.reset(),this._alphaTestSubMeshes.reset(),this._depthOnlySubMeshes.reset(),this._particleSystems.reset(),this._spriteManagers.reset(),this._edgesRenderers.reset()},e.prototype.dispose=function(){this._opaqueSubMeshes.dispose(),this._transparentSubMeshes.dispose(),this._alphaTestSubMeshes.dispose(),this._depthOnlySubMeshes.dispose(),this._particleSystems.dispose(),this._spriteManagers.dispose(),this._edgesRenderers.dispose()},e.prototype.dispatch=function(e,t,n){void 0===t&&(t=e.getMesh()),void 0===n&&(n=e.getMaterial()),null!=n&&(n.needAlphaBlendingForMesh(t)?this._transparentSubMeshes.push(e):n.needAlphaTesting()?(n.needDepthPrePass&&this._depthOnlySubMeshes.push(e),this._alphaTestSubMeshes.push(e)):(n.needDepthPrePass&&this._depthOnlySubMeshes.push(e),this._opaqueSubMeshes.push(e)),t._renderingGroup=this,t._edgesRenderer&&t._edgesRenderer.isEnabled&&this._edgesRenderers.push(t._edgesRenderer))},e.prototype.dispatchSprites=function(e){this._spriteManagers.push(e)},e.prototype.dispatchParticles=function(e){this._particleSystems.push(e)},e.prototype._renderParticles=function(e){if(0!==this._particleSystems.length){var t=this._scene.activeCamera;this._scene.onBeforeParticlesRenderingObservable.notifyObservers(this._scene);for(var n=0;n0?1/r:0,c=0;c1)return e._setAllVisibility(e._ownerNode,1),void(e._hoverValue=e.fadeInTime+e.delay);if(e._ownerNode.visibility<0&&(e._setAllVisibility(e._ownerNode,0),e._hoverValue<0))return void(e._hoverValue=0);setTimeout(e._update,e._millisecondsPerFrame)}}}return Object.defineProperty(e.prototype,"name",{get:function(){return"FadeInOut"},enumerable:!0,configurable:!0}),e.prototype.init=function(){},e.prototype.attach=function(e){this._ownerNode=e,this._setAllVisibility(this._ownerNode,0)},e.prototype.detach=function(){this._ownerNode=null},e.prototype.fadeIn=function(e){this._hovered=e,this._update()},e.prototype._setAllVisibility=function(e,t){var n=this;e.visibility=t,e.getChildMeshes().forEach((function(e){n._setAllVisibility(e,t)}))},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var i=n(1),r=n(2),o=n(40),a=n(86),s=n(0),c=function(){function e(){this.keysUp=[38],this.keysDown=[40],this.keysLeft=[37],this.keysRight=[39],this._keys=new Array}return e.prototype.attachControl=function(e,t){var n=this;this._onCanvasBlurObserver||(this._scene=this.camera.getScene(),this._engine=this._scene.getEngine(),this._onCanvasBlurObserver=this._engine.onCanvasBlurObservable.add((function(){n._keys=[]})),this._onKeyboardObserver=this._scene.onKeyboardObservable.add((function(e){var i,r=e.event;r.metaKey||(e.type===a.a.KEYDOWN?-1===n.keysUp.indexOf(r.keyCode)&&-1===n.keysDown.indexOf(r.keyCode)&&-1===n.keysLeft.indexOf(r.keyCode)&&-1===n.keysRight.indexOf(r.keyCode)||(-1===(i=n._keys.indexOf(r.keyCode))&&n._keys.push(r.keyCode),t||r.preventDefault()):-1===n.keysUp.indexOf(r.keyCode)&&-1===n.keysDown.indexOf(r.keyCode)&&-1===n.keysLeft.indexOf(r.keyCode)&&-1===n.keysRight.indexOf(r.keyCode)||((i=n._keys.indexOf(r.keyCode))>=0&&n._keys.splice(i,1),t||r.preventDefault()))})))},e.prototype.detachControl=function(e){this._scene&&(this._onKeyboardObserver&&this._scene.onKeyboardObservable.remove(this._onKeyboardObserver),this._onCanvasBlurObserver&&this._engine.onCanvasBlurObservable.remove(this._onCanvasBlurObserver),this._onKeyboardObserver=null,this._onCanvasBlurObserver=null),this._keys=[]},e.prototype.checkInputs=function(){if(this._onKeyboardObserver)for(var e=this.camera,t=0;t1)e.cameraRotation.x+=-this._offsetY/this.touchAngularSensibility;else{var t=e._computeLocalCameraSpeed(),n=new s.e(0,0,t*this._offsetY/this.touchMoveSensibility);s.a.RotationYawPitchRollToRef(e.rotation.y,e.rotation.x,0,e._cameraRotationMatrix),e.cameraDirection.addInPlace(s.e.TransformCoordinates(n,e._cameraRotationMatrix))}}},e.prototype.getClassName=function(){return"FreeCameraTouchInput"},e.prototype.getSimpleName=function(){return"touch"},Object(i.c)([Object(r.c)()],e.prototype,"touchAngularSensibility",void 0),Object(i.c)([Object(r.c)()],e.prototype,"touchMoveSensibility",void 0),e}();o.a.FreeCameraTouchInput=c},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var i=n(24),r=(n(216),n(164),function(){function e(){}return e.ExpandRGBDTexture=function(e){var t=e._texture;if(t&&e.isRGBD){var n=t.getEngine(),r=n.getCaps(),o=!1;r.textureHalfFloatRender&&r.textureHalfFloatLinearFiltering?(o=!0,t.type=2):r.textureFloatRender&&r.textureFloatLinearFiltering&&(o=!0,t.type=1),o&&(t.isReady=!1,t._isRGBD=!1,t.invertY=!1),e.onLoadObservable.addOnce((function(){if(o){var r=new i.a("rgbdDecode","rgbdDecode",null,null,1,null,3,n,!1,void 0,t.type,void 0,null,!1),a=n.createRenderTargetTexture(t.width,{generateDepthBuffer:!1,generateMipMaps:!1,generateStencilBuffer:!1,samplingMode:t.samplingMode,type:t.type,format:5});r.getEffect().executeWhenCompiled((function(){r.onApply=function(e){e._bindTexture("textureSampler",t),e.setFloat2("scale",1,1)},e.getScene().postProcessManager.directRender([r],a,!0),n.restoreDefaultFramebuffer(),n._releaseTexture(t),n._releaseFramebufferObjects(a),r&&r.dispose(),a._swapAndDie(t),t.isReady=!0}))}}))}},e}())},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var i=n(20),r=function(){function e(e){this.name=i.a.NAME_LAYER,this.scene=e,this._engine=e.getEngine(),e.layers=new Array}return e.prototype.register=function(){this.scene._beforeCameraDrawStage.registerStep(i.a.STEP_BEFORECAMERADRAW_LAYER,this,this._drawCameraBackground),this.scene._afterCameraDrawStage.registerStep(i.a.STEP_AFTERCAMERADRAW_LAYER,this,this._drawCameraForeground),this.scene._beforeRenderTargetDrawStage.registerStep(i.a.STEP_BEFORERENDERTARGETDRAW_LAYER,this,this._drawRenderTargetBackground),this.scene._afterRenderTargetDrawStage.registerStep(i.a.STEP_AFTERRENDERTARGETDRAW_LAYER,this,this._drawRenderTargetForeground)},e.prototype.rebuild=function(){for(var e=0,t=this.scene.layers;e0&&e.isBackground===t&&e.renderTargetTextures.indexOf(i)>-1&&0!=(e.layerMask&n)},e.prototype._drawRenderTargetBackground=function(e){var t=this;this._draw((function(n){return t._drawRenderTargetPredicate(n,!0,t.scene.activeCamera.layerMask,e)}))},e.prototype._drawRenderTargetForeground=function(e){var t=this;this._draw((function(n){return t._drawRenderTargetPredicate(n,!1,t.scene.activeCamera.layerMask,e)}))},e.prototype.addFromContainer=function(e){var t=this;e.layers&&e.layers.forEach((function(e){t.scene.layers.push(e)}))},e.prototype.removeFromContainer=function(e,t){var n=this;void 0===t&&(t=!1),e.layers&&e.layers.forEach((function(e){var i=n.scene.layers.indexOf(e);-1!==i&&n.scene.layers.splice(i,1),t&&e.dispose()}))},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var i=n(1),r=n(2),o=n(158),a=n(13),s=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i._useRoughnessFromMetallicTextureAlpha=!1,i._useRoughnessFromMetallicTextureGreen=!0,i._useMetallnessFromMetallicTextureBlue=!0,i.metallic=1,i.roughness=1,i}return Object(i.d)(t,e),t.prototype.getClassName=function(){return"PBRMetallicRoughnessMaterial"},t.prototype.clone=function(e){var n=this,i=r.a.Clone((function(){return new t(e,n.getScene())}),this);return i.id=e,i.name=e,this.clearCoat.copyTo(i.clearCoat),this.anisotropy.copyTo(i.anisotropy),this.brdf.copyTo(i.brdf),this.sheen.copyTo(i.sheen),this.subSurface.copyTo(i.subSurface),i},t.prototype.serialize=function(){var e=r.a.Serialize(this);return e.customType="BABYLON.PBRMetallicRoughnessMaterial",e.clearCoat=this.clearCoat.serialize(),e.anisotropy=this.anisotropy.serialize(),e.brdf=this.brdf.serialize(),e.sheen=this.sheen.serialize(),e.subSurface=this.subSurface.serialize(),e},t.Parse=function(e,n,i){var o=r.a.Parse((function(){return new t(e.name,n)}),e,n,i);return e.clearCoat&&o.clearCoat.parse(e.clearCoat,n,i),e.anisotropy&&o.anisotropy.parse(e.anisotropy,n,i),e.brdf&&o.brdf.parse(e.brdf,n,i),e.sheen&&o.sheen.parse(e.sheen,n,i),e.subSurface&&o.subSurface.parse(e.subSurface,n,i),o},Object(i.c)([Object(r.e)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty","_albedoColor")],t.prototype,"baseColor",void 0),Object(i.c)([Object(r.m)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty","_albedoTexture")],t.prototype,"baseTexture",void 0),Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"metallic",void 0),Object(i.c)([Object(r.c)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"roughness",void 0),Object(i.c)([Object(r.m)(),Object(r.b)("_markAllSubMeshesAsTexturesDirty","_metallicTexture")],t.prototype,"metallicRoughnessTexture",void 0),t}(o.a);a.a.RegisteredTypes["BABYLON.PBRMetallicRoughnessMaterial"]=s},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var i=n(12),r=n(20),o=function(){function e(e){this.name=r.a.NAME_PROCEDURALTEXTURE,this.scene=e,this.scene.proceduralTextures=new Array}return e.prototype.register=function(){this.scene._beforeClearStage.registerStep(r.a.STEP_BEFORECLEAR_PROCEDURALTEXTURE,this,this._beforeClear)},e.prototype.rebuild=function(){},e.prototype.dispose=function(){},e.prototype._beforeClear=function(){if(this.scene.proceduralTexturesEnabled){i.b.StartPerformanceCounter("Procedural textures",this.scene.proceduralTextures.length>0);for(var e=0;e0)}},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var i=n(1),r=n(2),o=n(115),a=n(30),s=n(96),c=(n(154),function(e){function t(t,n,i,r,o,a,s,c,l){void 0===r&&(r=5),void 0===o&&(o=0),void 0===a&&(a=!1),void 0===s&&(s=!1),void 0===c&&(c=3),void 0===l&&(l=null);var u=e.call(this,"",t)||this;return u._texture=t.getEngine().createRawCubeTexture(n,i,r,o,a,s,c,l),u}return Object(i.d)(t,e),t.prototype.update=function(e,t,n,i,r){void 0===r&&(r=null),this._texture.getEngine().updateRawCubeTexture(this._texture,e,t,n,i,r)},t.prototype.updateRGBDAsync=function(e,n,i,r){return void 0===n&&(n=null),void 0===i&&(i=.8),void 0===r&&(r=0),t._UpdateRGBDAsync(this._texture,e,n,i,r)},t.prototype.clone=function(){var e=this;return r.a.Clone((function(){var n=e.getScene(),i=e._texture,r=new t(n,i._bufferViewArray,i.width,i.format,i.type,i.generateMipMaps,i.invertY,i.samplingMode,i._compression);return i.source===a.b.CubeRawRGBD&&r.updateRGBDAsync(i._bufferViewArrayArray,i._sphericalPolynomial,i._lodGenerationScale,i._lodGenerationOffset),r}),this)},t._UpdateRGBDAsync=function(e,t,n,i,r){return e._source=a.b.CubeRawRGBD,e._bufferViewArrayArray=t,e._lodGenerationScale=i,e._lodGenerationOffset=r,e._sphericalPolynomial=n,o.a.UploadLevelsAsync(e,t).then((function(){e.isReady=!0}))},t}(s.a))},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(e){this._pendingActions=new Array,this._workerInfos=e.map((function(e){return{worker:e,active:!1}}))}return e.prototype.dispose=function(){for(var e=0,t=this._workerInfos;e\nvoid main(void) {\nvec4 baseColor=texture2D(textureSampler,vUV);\n#ifdef LINEAR\nbaseColor.rgb=toGammaSpace(baseColor.rgb);\n#endif\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\ngl_FragColor=baseColor*color;\n}");h.a.ShadersStore.layerPixelShader=d;var f="\nattribute vec2 position;\n\nuniform vec2 scale;\nuniform vec2 offset;\nuniform mat4 textureMatrix;\n\nvarying vec2 vUV;\nconst vec2 madd=vec2(0.5,0.5);\nvoid main(void) {\nvec2 shiftedPosition=position*scale+offset;\nvUV=vec2(textureMatrix*vec4(shiftedPosition*madd+madd,1.0,0.0));\ngl_Position=vec4(shiftedPosition,0.0,1.0);\n}";h.a.ShadersStore.layerVertexShader=f;var _=function(){function e(e,t,n,c,h){this.name=e,this.scale=new r.d(1,1),this.offset=new r.d(0,0),this.alphaBlendingMode=2,this.layerMask=268435455,this.renderTargetTextures=[],this.renderOnlyInRenderTargetTextures=!1,this._vertexBuffers={},this.onDisposeObservable=new i.c,this.onBeforeRenderObservable=new i.c,this.onAfterRenderObservable=new i.c,this.texture=t?new l.a(t,n,!0):null,this.isBackground=void 0===c||c,this.color=void 0===h?new o.b(1,1,1,1):h,this._scene=n||a.a.LastCreatedScene;var d=this._scene._getComponent(u.a.NAME_LAYER);d||(d=new p.a(this._scene),this._scene._addComponent(d)),this._scene.layers.push(this);var f=this._scene.getEngine(),_=[];_.push(1,1),_.push(-1,1),_.push(-1,-1),_.push(1,-1);var m=new s.b(f,_,s.b.PositionKind,!1,!1,2);this._vertexBuffers[s.b.PositionKind]=m,this._createIndexBuffer()}return Object.defineProperty(e.prototype,"onDispose",{set:function(e){this._onDisposeObserver&&this.onDisposeObservable.remove(this._onDisposeObserver),this._onDisposeObserver=this.onDisposeObservable.add(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onBeforeRender",{set:function(e){this._onBeforeRenderObserver&&this.onBeforeRenderObservable.remove(this._onBeforeRenderObserver),this._onBeforeRenderObserver=this.onBeforeRenderObservable.add(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onAfterRender",{set:function(e){this._onAfterRenderObserver&&this.onAfterRenderObservable.remove(this._onAfterRenderObserver),this._onAfterRenderObserver=this.onAfterRenderObservable.add(e)},enumerable:!0,configurable:!0}),e.prototype._createIndexBuffer=function(){var e=this._scene.getEngine(),t=[];t.push(0),t.push(1),t.push(2),t.push(0),t.push(2),t.push(3),this._indexBuffer=e.createIndexBuffer(t)},e.prototype._rebuild=function(){var e=this._vertexBuffers[s.b.PositionKind];e&&e._rebuild(),this._createIndexBuffer()},e.prototype.render=function(){var e=this._scene.getEngine(),t="";this.alphaTest&&(t="#define ALPHATEST"),this.texture&&!this.texture.gammaSpace&&(t+="\r\n#define LINEAR"),this._previousDefines!==t&&(this._previousDefines=t,this._effect=e.createEffect("layer",[s.b.PositionKind],["textureMatrix","color","scale","offset"],["textureSampler"],t));var n=this._effect;if(n&&n.isReady()&&this.texture&&this.texture.isReady()){e=this._scene.getEngine();this.onBeforeRenderObservable.notifyObservers(this),e.enableEffect(n),e.setState(!1),n.setTexture("textureSampler",this.texture),n.setMatrix("textureMatrix",this.texture.getTextureMatrix()),n.setFloat4("color",this.color.r,this.color.g,this.color.b,this.color.a),n.setVector2("offset",this.offset),n.setVector2("scale",this.scale),e.bindBuffers(this._vertexBuffers,this._indexBuffer,n),this.alphaTest?e.drawElementsType(c.a.TriangleFillMode,0,6):(e.setAlphaMode(this.alphaBlendingMode),e.drawElementsType(c.a.TriangleFillMode,0,6),e.setAlphaMode(0)),this.onAfterRenderObservable.notifyObservers(this)}},e.prototype.dispose=function(){var e=this._vertexBuffers[s.b.PositionKind];e&&(e.dispose(),this._vertexBuffers[s.b.PositionKind]=null),this._indexBuffer&&(this._scene.getEngine()._releaseBuffer(this._indexBuffer),this._indexBuffer=null),this.texture&&(this.texture.dispose(),this.texture=null),this.renderTargetTextures=[];var t=this._scene.layers.indexOf(this);this._scene.layers.splice(t,1),this.onDisposeObservable.notifyObservers(this),this.onDisposeObservable.clear(),this.onAfterRenderObservable.clear(),this.onBeforeRenderObservable.clear()},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){}return e.RandomId=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function(){function e(){}return Object.defineProperty(e,"UniqueId",{get:function(){var e=this._UniqueIdCounter;return this._UniqueIdCounter++,e},enumerable:!0,configurable:!0}),e._UniqueIdCounter=0,e}()},function(e,t,n){"use strict";var i="postprocessVertexShader",r="\nattribute vec2 position;\nuniform vec2 scale;\n\nvarying vec2 vUV;\nconst vec2 madd=vec2(0.5,0.5);\nvoid main(void) {\nvUV=(position*madd+madd)*scale;\ngl_Position=vec4(position,0.0,1.0);\n}";n(6).a.ShadersStore[i]=r},function(e,t,n){"use strict";var i=n(1),r=n(30),o=n(10);n(36).a.prototype.createRenderTargetCubeTexture=function(e,t){var n=Object(i.a)({generateMipMaps:!0,generateDepthBuffer:!0,generateStencilBuffer:!1,type:0,samplingMode:3,format:5},t);n.generateStencilBuffer=n.generateDepthBuffer&&n.generateStencilBuffer,(1!==n.type||this._caps.textureFloatLinearFiltering)&&(2!==n.type||this._caps.textureHalfFloatLinearFiltering)||(n.samplingMode=1);var a=this._gl,s=new r.a(this,r.b.RenderTarget);this._bindTextureDirectly(a.TEXTURE_CUBE_MAP,s,!0);var c=this._getSamplingParameters(n.samplingMode,n.generateMipMaps);1!==n.type||this._caps.textureFloat||(n.type=0,o.a.Warn("Float textures are not supported. Cube render target forced to TEXTURETYPE_UNESIGNED_BYTE type")),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_MAG_FILTER,c.mag),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_MIN_FILTER,c.min),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_CUBE_MAP,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE);for(var l=0;l<6;l++)a.texImage2D(a.TEXTURE_CUBE_MAP_POSITIVE_X+l,0,this._getRGBABufferInternalSizedFormat(n.type,n.format),e,e,0,this._getInternalFormat(n.format),this._getWebGLTextureType(n.type),null);var u=a.createFramebuffer();return this._bindUnboundFramebuffer(u),s._depthStencilBuffer=this._setupFramebufferDepthAttachments(n.generateStencilBuffer,n.generateDepthBuffer,e,e),n.generateMipMaps&&a.generateMipmap(a.TEXTURE_CUBE_MAP),this._bindTextureDirectly(a.TEXTURE_CUBE_MAP,null),this._bindUnboundFramebuffer(null),s._framebuffer=u,s.width=e,s.height=e,s.isReady=!0,s.isCube=!0,s.samples=1,s.generateMipMaps=n.generateMipMaps,s.samplingMode=n.samplingMode,s.type=n.type,s.format=n.format,s._generateDepthBuffer=n.generateDepthBuffer,s._generateStencilBuffer=n.generateStencilBuffer,this._internalTexturesCache.push(s),s}},function(e,t,n){"use strict";var i="bumpVertex",r="#if defined(BUMP) || defined(PARALLAX) || defined(CLEARCOAT_BUMP)\n#if defined(TANGENT) && defined(NORMAL)\nvec3 tbnNormal=normalize(normalUpdated);\nvec3 tbnTangent=normalize(tangentUpdated.xyz);\nvec3 tbnBitangent=cross(tbnNormal,tbnTangent)*tangentUpdated.w;\nvTBN=mat3(finalWorld)*mat3(tbnTangent,tbnBitangent,tbnNormal);\n#endif\n#endif";n(6).a.IncludesShadersStore[i]=r},function(e,t,n){"use strict";var i=n(143),r=n(62);Object.defineProperty(r.a.prototype,"sphericalPolynomial",{get:function(){if(this._texture){if(this._texture._sphericalPolynomial)return this._texture._sphericalPolynomial;this._texture.isReady&&(this._texture._sphericalPolynomial=i.a.ConvertCubeMapTextureToSphericalPolynomial(this))}return null},set:function(e){this._texture&&(this._texture._sphericalPolynomial=e)},enumerable:!0,configurable:!0})},function(e,t){var n,i,r=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(e){i=a}}();var c,l=[],u=!1,p=-1;function h(){u&&c&&(u=!1,c.length?l=c.concat(l):p=-1,l.length&&d())}function d(){if(!u){var e=s(h);u=!0;for(var t=l.length;t;){for(c=l,l=[];++p1)for(var n=1;n\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n#include\n\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n#include\n\n#include\n\nvec3 computeCustomDiffuseLighting(lightingInfo info,vec3 diffuseBase,float shadow)\n{\ndiffuseBase=info.diffuse*shadow;\n#ifdef CELLBASIC\nfloat level=1.0;\nif (info.ndl<0.5)\nlevel=0.5;\ndiffuseBase.rgb*vec3(level,level,level);\n#else\nfloat ToonThresholds[4];\nToonThresholds[0]=0.95;\nToonThresholds[1]=0.5;\nToonThresholds[2]=0.2;\nToonThresholds[3]=0.03;\nfloat ToonBrightnessLevels[5];\nToonBrightnessLevels[0]=1.0;\nToonBrightnessLevels[1]=0.8;\nToonBrightnessLevels[2]=0.6;\nToonBrightnessLevels[3]=0.35;\nToonBrightnessLevels[4]=0.2;\nif (info.ndl>ToonThresholds[0])\n{\ndiffuseBase.rgb*=ToonBrightnessLevels[0];\n}\nelse if (info.ndl>ToonThresholds[1])\n{\ndiffuseBase.rgb*=ToonBrightnessLevels[1];\n}\nelse if (info.ndl>ToonThresholds[2])\n{\ndiffuseBase.rgb*=ToonBrightnessLevels[2];\n}\nelse if (info.ndl>ToonThresholds[3])\n{\ndiffuseBase.rgb*=ToonBrightnessLevels[3];\n}\nelse\n{\ndiffuseBase.rgb*=ToonBrightnessLevels[4];\n}\n#endif\nreturn max(diffuseBase,vec3(0.2));\n}\nvoid main(void)\n{\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n#ifdef DIFFUSE\nbaseColor=texture2D(diffuseSampler,vDiffuseUV);\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n\nlightingInfo info;\nvec3 diffuseBase=vec3(0.,0.,0.);\nfloat shadow=1.;\nfloat glossiness=0.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\n\nvec4 color=vec4(finalDiffuse,alpha);\n#include\ngl_FragColor=color;\n}");d.a.ShadersStore.cellPixelShader=f;n(65),n(66),n(85),n(88),n(67),n(68),n(79),n(90),n(99);var _="precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vDiffuseInfos.x == 0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n";d.a.ShadersStore.cellVertexShader=_;var m=n(41),b=function(e){function t(){var t=e.call(this)||this;return t.DIFFUSE=!1,t.CLIPPLANE=!1,t.CLIPPLANE2=!1,t.CLIPPLANE3=!1,t.CLIPPLANE4=!1,t.CLIPPLANE5=!1,t.CLIPPLANE6=!1,t.ALPHATEST=!1,t.POINTSIZE=!1,t.FOG=!1,t.NORMAL=!1,t.UV1=!1,t.UV2=!1,t.VERTEXCOLOR=!1,t.VERTEXALPHA=!1,t.NUM_BONE_INFLUENCERS=0,t.BonesPerMesh=0,t.INSTANCES=!1,t.NDOTL=!0,t.CUSTOMUSERLIGHTING=!0,t.CELLBASIC=!0,t.DEPTHPREPASS=!1,t.rebuild(),t}return Object(i.d)(t,e),t}(a.a),g=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.diffuseColor=new o.a(1,1,1),i._computeHighLevel=!1,i._disableLighting=!1,i._maxSimultaneousLights=4,i}return Object(i.d)(t,e),t.prototype.needAlphaBlending=function(){return this.alpha<1},t.prototype.needAlphaTesting=function(){return!1},t.prototype.getAlphaTestTexture=function(){return null},t.prototype.isReadyForSubMesh=function(e,t,n){if(this.isFrozen&&t.effect&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new b);var i=t._materialDefines,r=this.getScene();if(!this.checkReadyOnEveryCall&&t.effect&&this._renderId===r.getRenderId())return!0;var o=r.getEngine();if(i._areTexturesDirty&&(i._needUVs=!1,r.texturesEnabled&&this._diffuseTexture&&l.a.DiffuseTextureEnabled)){if(!this._diffuseTexture.isReady())return!1;i._needUVs=!0,i.DIFFUSE=!0}if(i.CELLBASIC=!this.computeHighLevel,s.a.PrepareDefinesForMisc(e,r,!1,this.pointsCloud,this.fogEnabled,this._shouldTurnAlphaTestOn(e),i),i._needNormals=s.a.PrepareDefinesForLights(r,e,i,!1,this._maxSimultaneousLights,this._disableLighting),s.a.PrepareDefinesForFrameBoundValues(r,o,i,!!n),s.a.PrepareDefinesForAttributes(e,i,!0,!0),i.isDirty){i.markAsProcessed(),r.resetCachedMaterial();var a=new m.a;i.FOG&&a.addFallback(1,"FOG"),s.a.HandleFallbacksForShadows(i,a,this.maxSimultaneousLights),i.NUM_BONE_INFLUENCERS>0&&a.addCPUSkinningFallback(0,e);var c=[u.b.PositionKind];i.NORMAL&&c.push(u.b.NormalKind),i.UV1&&c.push(u.b.UVKind),i.UV2&&c.push(u.b.UV2Kind),i.VERTEXCOLOR&&c.push(u.b.ColorKind),s.a.PrepareAttributesForBones(c,e,i,a),s.a.PrepareAttributesForInstances(c,i);var p=i.toString(),h=["world","view","viewProjection","vEyePosition","vLightsType","vDiffuseColor","vFogInfos","vFogColor","pointSize","vDiffuseInfos","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","diffuseMatrix"],d=["diffuseSampler"],f=new Array;s.a.PrepareUniformsAndSamplersList({uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:i,maxSimultaneousLights:this.maxSimultaneousLights}),t.setEffect(r.getEngine().createEffect("cell",{attributes:c,uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:p,fallbacks:a,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:this.maxSimultaneousLights-1}},o),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;o&&(this._activeEffect=o,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),s.a.BindBonesParameters(t,this._activeEffect),this._mustRebind(i,o)&&(this._diffuseTexture&&l.a.DiffuseTextureEnabled&&(this._activeEffect.setTexture("diffuseSampler",this._diffuseTexture),this._activeEffect.setFloat2("vDiffuseInfos",this._diffuseTexture.coordinatesIndex,this._diffuseTexture.level),this._activeEffect.setMatrix("diffuseMatrix",this._diffuseTexture.getTextureMatrix())),s.a.BindClipPlane(this._activeEffect,i),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),s.a.BindEyePosition(o,i)),this._activeEffect.setColor4("vDiffuseColor",this.diffuseColor,this.alpha*t.visibility),i.lightsEnabled&&!this.disableLighting&&s.a.BindLights(i,t,this._activeEffect,r,this._maxSimultaneousLights),i.fogEnabled&&t.applyFog&&i.fogMode!==p.a.FOGMODE_NONE&&this._activeEffect.setMatrix("view",i.getViewMatrix()),s.a.BindFogParameters(i,t,this._activeEffect),this._afterBind(t,this._activeEffect))}},t.prototype.getAnimatables=function(){var e=[];return this._diffuseTexture&&this._diffuseTexture.animations&&this._diffuseTexture.animations.length>0&&e.push(this._diffuseTexture),e},t.prototype.getActiveTextures=function(){var t=e.prototype.getActiveTextures.call(this);return this._diffuseTexture&&t.push(this._diffuseTexture),t},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)||this._diffuseTexture===t},t.prototype.dispose=function(t){this._diffuseTexture&&this._diffuseTexture.dispose(),e.prototype.dispose.call(this,t)},t.prototype.getClassName=function(){return"CellMaterial"},t.prototype.clone=function(e){var n=this;return r.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=r.a.Serialize(this);return e.customType="BABYLON.CellMaterial",e},t.Parse=function(e,n,i){return r.a.Parse((function(){return new t(e.name,n)}),e,n,i)},Object(i.c)([Object(r.m)("diffuseTexture")],t.prototype,"_diffuseTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture",void 0),Object(i.c)([Object(r.e)("diffuse")],t.prototype,"diffuseColor",void 0),Object(i.c)([Object(r.c)("computeHighLevel")],t.prototype,"_computeHighLevel",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"computeHighLevel",void 0),Object(i.c)([Object(r.c)("disableLighting")],t.prototype,"_disableLighting",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"disableLighting",void 0),Object(i.c)([Object(r.c)("maxSimultaneousLights")],t.prototype,"_maxSimultaneousLights",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"maxSimultaneousLights",void 0),t}(c.a);h.a.RegisteredTypes["BABYLON.CellMaterial"]=g;var v=n(31),y=function(){},C=function(){},A=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.CustomParts=new C,i.customShaderNameResolve=i.Builder,i.FragmentShader=d.a.ShadersStore.defaultPixelShader,i.VertexShader=d.a.ShadersStore.defaultVertexShader,i}return Object(i.d)(t,e),t.prototype.AttachAfterBind=function(e,t){for(var n in this._newUniformInstances){"vec2"==(i=n.toString().split("-"))[0]?t.setVector2(i[1],this._newUniformInstances[n]):"vec3"==i[0]?t.setVector3(i[1],this._newUniformInstances[n]):"vec4"==i[0]?t.setVector4(i[1],this._newUniformInstances[n]):"mat4"==i[0]?t.setMatrix(i[1],this._newUniformInstances[n]):"float"==i[0]&&t.setFloat(i[1],this._newUniformInstances[n])}for(var n in this._newSamplerInstances){var i;"sampler2D"==(i=n.toString().split("-"))[0]&&this._newSamplerInstances[n].isReady&&this._newSamplerInstances[n].isReady()&&t.setTexture(i[1],this._newSamplerInstances[n])}},t.prototype.ReviewUniform=function(e,t){if("uniform"==e)for(var n in this._newUniforms)-1==this._customUniform[n].indexOf("sampler")&&t.push(this._newUniforms[n]);if("sampler"==e)for(var n in this._newUniforms)-1!=this._customUniform[n].indexOf("sampler")&&t.push(this._newUniforms[n]);return t},t.prototype.Builder=function(e,n,i,r,o){var a=this;if(this._isCreatedShader)return this._createdShaderName;this._isCreatedShader=!1,t.ShaderIndexer++;var s="custom_"+t.ShaderIndexer;this.ReviewUniform("uniform",n),this.ReviewUniform("sampler",r);var c=this._afterBind.bind(this);return this._afterBind=function(e,t){if(t){a.AttachAfterBind(e,t);try{c(e,t)}catch(t){}}},d.a.ShadersStore[s+"VertexShader"]=this.VertexShader.replace("#define CUSTOM_VERTEX_BEGIN",this.CustomParts.Vertex_Begin?this.CustomParts.Vertex_Begin:"").replace("#define CUSTOM_VERTEX_DEFINITIONS",(this._customUniform?this._customUniform.join("\n"):"")+(this.CustomParts.Vertex_Definitions?this.CustomParts.Vertex_Definitions:"")).replace("#define CUSTOM_VERTEX_MAIN_BEGIN",this.CustomParts.Vertex_MainBegin?this.CustomParts.Vertex_MainBegin:"").replace("#define CUSTOM_VERTEX_UPDATE_POSITION",this.CustomParts.Vertex_Before_PositionUpdated?this.CustomParts.Vertex_Before_PositionUpdated:"").replace("#define CUSTOM_VERTEX_UPDATE_NORMAL",this.CustomParts.Vertex_Before_NormalUpdated?this.CustomParts.Vertex_Before_NormalUpdated:"").replace("#define CUSTOM_VERTEX_MAIN_END",this.CustomParts.Vertex_MainEnd?this.CustomParts.Vertex_MainEnd:""),d.a.ShadersStore[s+"PixelShader"]=this.FragmentShader.replace("#define CUSTOM_FRAGMENT_BEGIN",this.CustomParts.Fragment_Begin?this.CustomParts.Fragment_Begin:"").replace("#define CUSTOM_FRAGMENT_MAIN_BEGIN",this.CustomParts.Fragment_MainBegin?this.CustomParts.Fragment_MainBegin:"").replace("#define CUSTOM_FRAGMENT_DEFINITIONS",(this._customUniform?this._customUniform.join("\n"):"")+(this.CustomParts.Fragment_Definitions?this.CustomParts.Fragment_Definitions:"")).replace("#define CUSTOM_FRAGMENT_UPDATE_DIFFUSE",this.CustomParts.Fragment_Custom_Diffuse?this.CustomParts.Fragment_Custom_Diffuse:"").replace("#define CUSTOM_FRAGMENT_UPDATE_ALPHA",this.CustomParts.Fragment_Custom_Alpha?this.CustomParts.Fragment_Custom_Alpha:"").replace("#define CUSTOM_FRAGMENT_BEFORE_LIGHTS",this.CustomParts.Fragment_Before_Lights?this.CustomParts.Fragment_Before_Lights:"").replace("#define CUSTOM_FRAGMENT_BEFORE_FOG",this.CustomParts.Fragment_Before_Fog?this.CustomParts.Fragment_Before_Fog:"").replace("#define CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR",this.CustomParts.Fragment_Before_FragColor?this.CustomParts.Fragment_Before_FragColor:""),this._isCreatedShader=!0,this._createdShaderName=s,s},t.prototype.AddUniform=function(e,t,n){return this._customUniform||(this._customUniform=new Array,this._newUniforms=new Array,this._newSamplerInstances=new Array,this._newUniformInstances=new Array),n&&(t.indexOf("sampler"),this._newUniformInstances[t+"-"+e]=n),this._customUniform.push("uniform "+t+" "+e+";"),this._newUniforms.push(e),this},t.prototype.Fragment_Begin=function(e){return this.CustomParts.Fragment_Begin=e,this},t.prototype.Fragment_Definitions=function(e){return this.CustomParts.Fragment_Definitions=e,this},t.prototype.Fragment_MainBegin=function(e){return this.CustomParts.Fragment_MainBegin=e,this},t.prototype.Fragment_Custom_Diffuse=function(e){return this.CustomParts.Fragment_Custom_Diffuse=e.replace("result","diffuseColor"),this},t.prototype.Fragment_Custom_Alpha=function(e){return this.CustomParts.Fragment_Custom_Alpha=e.replace("result","alpha"),this},t.prototype.Fragment_Before_Lights=function(e){return this.CustomParts.Fragment_Before_Lights=e,this},t.prototype.Fragment_Before_Fog=function(e){return this.CustomParts.Fragment_Before_Fog=e,this},t.prototype.Fragment_Before_FragColor=function(e){return this.CustomParts.Fragment_Before_FragColor=e.replace("result","color"),this},t.prototype.Vertex_Begin=function(e){return this.CustomParts.Vertex_Begin=e,this},t.prototype.Vertex_Definitions=function(e){return this.CustomParts.Vertex_Definitions=e,this},t.prototype.Vertex_MainBegin=function(e){return this.CustomParts.Vertex_MainBegin=e,this},t.prototype.Vertex_Before_PositionUpdated=function(e){return this.CustomParts.Vertex_Before_PositionUpdated=e.replace("result","positionUpdated"),this},t.prototype.Vertex_Before_NormalUpdated=function(e){return this.CustomParts.Vertex_Before_NormalUpdated=e.replace("result","normalUpdated"),this},t.prototype.Vertex_MainEnd=function(e){return this.CustomParts.Vertex_MainEnd=e,this},t.ShaderIndexer=1,t}(v.a);h.a.RegisteredTypes["BABYLON.CustomMaterial"]=A;var x=n(46),S=function(){},T=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.CustomParts=new S,i.customShaderNameResolve=i.Builder,i.FragmentShader=d.a.ShadersStore.pbrPixelShader,i.VertexShader=d.a.ShadersStore.pbrVertexShader,i}return Object(i.d)(t,e),t.prototype.AttachAfterBind=function(e,t){for(var n in this._newUniformInstances){"vec2"==(i=n.toString().split("-"))[0]?t.setVector2(i[1],this._newUniformInstances[n]):"vec3"==i[0]?t.setVector3(i[1],this._newUniformInstances[n]):"vec4"==i[0]?t.setVector4(i[1],this._newUniformInstances[n]):"mat4"==i[0]?t.setMatrix(i[1],this._newUniformInstances[n]):"float"==i[0]&&t.setFloat(i[1],this._newUniformInstances[n])}for(var n in this._newSamplerInstances){var i;"sampler2D"==(i=n.toString().split("-"))[0]&&this._newSamplerInstances[n].isReady&&this._newSamplerInstances[n].isReady()&&t.setTexture(i[1],this._newSamplerInstances[n])}},t.prototype.ReviewUniform=function(e,t){if("uniform"==e)for(var n in this._newUniforms)-1==this._customUniform[n].indexOf("sampler")&&t.push(this._newUniforms[n]);if("sampler"==e)for(var n in this._newUniforms)-1!=this._customUniform[n].indexOf("sampler")&&t.push(this._newUniforms[n]);return t},t.prototype.Builder=function(e,n,i,r,o){var a=this;if(this._isCreatedShader)return this._createdShaderName;this._isCreatedShader=!1,t.ShaderIndexer++;var s="custom_"+t.ShaderIndexer;this.ReviewUniform("uniform",n),this.ReviewUniform("sampler",r);var c=this._afterBind.bind(this);return this._afterBind=function(e,t){if(t){a.AttachAfterBind(e,t);try{c(e,t)}catch(t){}}},d.a.ShadersStore[s+"VertexShader"]=this.VertexShader.replace("#define CUSTOM_VERTEX_BEGIN",this.CustomParts.Vertex_Begin?this.CustomParts.Vertex_Begin:"").replace("#define CUSTOM_VERTEX_DEFINITIONS",(this._customUniform?this._customUniform.join("\n"):"")+(this.CustomParts.Vertex_Definitions?this.CustomParts.Vertex_Definitions:"")).replace("#define CUSTOM_VERTEX_MAIN_BEGIN",this.CustomParts.Vertex_MainBegin?this.CustomParts.Vertex_MainBegin:"").replace("#define CUSTOM_VERTEX_UPDATE_POSITION",this.CustomParts.Vertex_Before_PositionUpdated?this.CustomParts.Vertex_Before_PositionUpdated:"").replace("#define CUSTOM_VERTEX_UPDATE_NORMAL",this.CustomParts.Vertex_Before_NormalUpdated?this.CustomParts.Vertex_Before_NormalUpdated:"").replace("#define CUSTOM_VERTEX_MAIN_END",this.CustomParts.Vertex_MainEnd?this.CustomParts.Vertex_MainEnd:""),d.a.ShadersStore[s+"PixelShader"]=this.FragmentShader.replace("#define CUSTOM_FRAGMENT_BEGIN",this.CustomParts.Fragment_Begin?this.CustomParts.Fragment_Begin:"").replace("#define CUSTOM_FRAGMENT_MAIN_BEGIN",this.CustomParts.Fragment_MainBegin?this.CustomParts.Fragment_MainBegin:"").replace("#define CUSTOM_FRAGMENT_DEFINITIONS",(this._customUniform?this._customUniform.join("\n"):"")+(this.CustomParts.Fragment_Definitions?this.CustomParts.Fragment_Definitions:"")).replace("#define CUSTOM_FRAGMENT_UPDATE_ALBEDO",this.CustomParts.Fragment_Custom_Albedo?this.CustomParts.Fragment_Custom_Albedo:"").replace("#define CUSTOM_FRAGMENT_UPDATE_ALPHA",this.CustomParts.Fragment_Custom_Alpha?this.CustomParts.Fragment_Custom_Alpha:"").replace("#define CUSTOM_FRAGMENT_BEFORE_LIGHTS",this.CustomParts.Fragment_Before_Lights?this.CustomParts.Fragment_Before_Lights:"").replace("#define CUSTOM_FRAGMENT_UPDATE_METALLICROUGHNESS",this.CustomParts.Fragment_Custom_MetallicRoughness?this.CustomParts.Fragment_Custom_MetallicRoughness:"").replace("#define CUSTOM_FRAGMENT_UPDATE_MICROSURFACE",this.CustomParts.Fragment_Custom_MicroSurface?this.CustomParts.Fragment_Custom_MicroSurface:"").replace("#define CUSTOM_FRAGMENT_BEFORE_FOG",this.CustomParts.Fragment_Before_Fog?this.CustomParts.Fragment_Before_Fog:"").replace("#define CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR",this.CustomParts.Fragment_Before_FragColor?this.CustomParts.Fragment_Before_FragColor:""),this._isCreatedShader=!0,this._createdShaderName=s,s},t.prototype.AddUniform=function(e,t,n){return this._customUniform||(this._customUniform=new Array,this._newUniforms=new Array,this._newSamplerInstances=new Array,this._newUniformInstances=new Array),n&&(t.indexOf("sampler"),this._newUniformInstances[t+"-"+e]=n),this._customUniform.push("uniform "+t+" "+e+";"),this._newUniforms.push(e),this},t.prototype.Fragment_Begin=function(e){return this.CustomParts.Fragment_Begin=e,this},t.prototype.Fragment_Definitions=function(e){return this.CustomParts.Fragment_Definitions=e,this},t.prototype.Fragment_MainBegin=function(e){return this.CustomParts.Fragment_MainBegin=e,this},t.prototype.Fragment_Custom_Albedo=function(e){return this.CustomParts.Fragment_Custom_Albedo=e.replace("result","surfaceAlbedo"),this},t.prototype.Fragment_Custom_Alpha=function(e){return this.CustomParts.Fragment_Custom_Alpha=e.replace("result","alpha"),this},t.prototype.Fragment_Before_Lights=function(e){return this.CustomParts.Fragment_Before_Lights=e,this},t.prototype.Fragment_Custom_MetallicRoughness=function(e){return this.CustomParts.Fragment_Custom_MetallicRoughness=e,this},t.prototype.Fragment_Custom_MicroSurface=function(e){return this.CustomParts.Fragment_Custom_MicroSurface=e,this},t.prototype.Fragment_Before_Fog=function(e){return this.CustomParts.Fragment_Before_Fog=e,this},t.prototype.Fragment_Before_FragColor=function(e){return this.CustomParts.Fragment_Before_FragColor=e.replace("result","color"),this},t.prototype.Vertex_Begin=function(e){return this.CustomParts.Vertex_Begin=e,this},t.prototype.Vertex_Definitions=function(e){return this.CustomParts.Vertex_Definitions=e,this},t.prototype.Vertex_MainBegin=function(e){return this.CustomParts.Vertex_MainBegin=e,this},t.prototype.Vertex_Before_PositionUpdated=function(e){return this.CustomParts.Vertex_Before_PositionUpdated=e.replace("result","positionUpdated"),this},t.prototype.Vertex_Before_NormalUpdated=function(e){return this.CustomParts.Vertex_Before_NormalUpdated=e.replace("result","normalUpdated"),this},t.prototype.Vertex_MainEnd=function(e){return this.CustomParts.Vertex_MainEnd=e,this},t.ShaderIndexer=1,t}(x.a);h.a.RegisteredTypes["BABYLON.PBRCustomMaterial"]=T;var E=n(43),P=n(7),O="precision highp float;\n\nuniform vec3 vEyePosition;\n\nvarying vec3 vPositionW;\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n\nuniform sampler2D distortionSampler;\nuniform sampler2D opacitySampler;\n#ifdef DIFFUSE\nvarying vec2 vDistortionCoords1;\nvarying vec2 vDistortionCoords2;\nvarying vec2 vDistortionCoords3;\n#endif\n#include\n\n#include\nvec4 bx2(vec4 x)\n{\nreturn vec4(2.0)*x-vec4(1.0);\n}\nvoid main(void) {\n\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\n\nfloat alpha=1.0;\n#ifdef DIFFUSE\n\nconst float distortionAmount0=0.092;\nconst float distortionAmount1=0.092;\nconst float distortionAmount2=0.092;\nvec2 heightAttenuation=vec2(0.3,0.39);\nvec4 noise0=texture2D(distortionSampler,vDistortionCoords1);\nvec4 noise1=texture2D(distortionSampler,vDistortionCoords2);\nvec4 noise2=texture2D(distortionSampler,vDistortionCoords3);\nvec4 noiseSum=bx2(noise0)*distortionAmount0+bx2(noise1)*distortionAmount1+bx2(noise2)*distortionAmount2;\nvec4 perturbedBaseCoords=vec4(vDiffuseUV,0.0,1.0)+noiseSum*(vDiffuseUV.y*heightAttenuation.x+heightAttenuation.y);\nvec4 opacityColor=texture2D(opacitySampler,perturbedBaseCoords.xy);\n#ifdef ALPHATEST\nif (opacityColor.r<0.1)\ndiscard;\n#endif\n#include\nbaseColor=texture2D(diffuseSampler,perturbedBaseCoords.xy)*2.0;\nbaseColor*=opacityColor;\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\nvec3 diffuseBase=vec3(1.0,1.0,1.0);\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n\nvec4 color=vec4(baseColor.rgb,alpha);\n#include\ngl_FragColor=color;\n}";d.a.ShadersStore.firePixelShader=O;var M="precision highp float;\n\nattribute vec3 position;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n\nuniform float time;\nuniform float speed;\n#ifdef DIFFUSE\nvarying vec2 vDistortionCoords1;\nvarying vec2 vDistortionCoords2;\nvarying vec2 vDistortionCoords3;\n#endif\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n\n#ifdef DIFFUSE\nvDiffuseUV=uv;\nvDiffuseUV.y-=0.2;\n#endif\n\n#include\n\n#include\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n#ifdef DIFFUSE\n\nvec3 layerSpeed=vec3(-0.2,-0.52,-0.1)*speed;\nvDistortionCoords1.x=uv.x;\nvDistortionCoords1.y=uv.y+layerSpeed.x*time/1000.0;\nvDistortionCoords2.x=uv.x;\nvDistortionCoords2.y=uv.y+layerSpeed.y*time/1000.0;\nvDistortionCoords3.x=uv.x;\nvDistortionCoords3.y=uv.y+layerSpeed.z*time/1000.0;\n#endif\n}\n";d.a.ShadersStore.fireVertexShader=M;var R=function(e){function t(){var t=e.call(this)||this;return t.DIFFUSE=!1,t.CLIPPLANE=!1,t.CLIPPLANE2=!1,t.CLIPPLANE3=!1,t.CLIPPLANE4=!1,t.CLIPPLANE5=!1,t.CLIPPLANE6=!1,t.ALPHATEST=!1,t.DEPTHPREPASS=!1,t.POINTSIZE=!1,t.FOG=!1,t.UV1=!1,t.VERTEXCOLOR=!1,t.VERTEXALPHA=!1,t.BonesPerMesh=0,t.NUM_BONE_INFLUENCERS=0,t.INSTANCES=!1,t.rebuild(),t}return Object(i.d)(t,e),t}(a.a),I=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.diffuseColor=new o.a(1,1,1),i.speed=1,i._scaledDiffuse=new o.a,i._lastTime=0,i}return Object(i.d)(t,e),t.prototype.needAlphaBlending=function(){return!1},t.prototype.needAlphaTesting=function(){return!0},t.prototype.getAlphaTestTexture=function(){return null},t.prototype.isReadyForSubMesh=function(e,t,n){if(this.isFrozen&&t.effect&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new R);var i=t._materialDefines,r=this.getScene();if(!this.checkReadyOnEveryCall&&t.effect&&this._renderId===r.getRenderId())return!0;var o=r.getEngine();if(i._areTexturesDirty&&(i._needUVs=!1,this._diffuseTexture&&l.a.DiffuseTextureEnabled)){if(!this._diffuseTexture.isReady())return!1;i._needUVs=!0,i.DIFFUSE=!0}if(i.ALPHATEST=!!this._opacityTexture,i._areMiscDirty&&(i.POINTSIZE=this.pointsCloud||r.forcePointsCloud,i.FOG=r.fogEnabled&&e.applyFog&&r.fogMode!==p.a.FOGMODE_NONE&&this.fogEnabled),s.a.PrepareDefinesForFrameBoundValues(r,o,i,!!n),s.a.PrepareDefinesForAttributes(e,i,!1,!0),i.isDirty){i.markAsProcessed(),r.resetCachedMaterial();var a=new m.a;i.FOG&&a.addFallback(1,"FOG"),i.NUM_BONE_INFLUENCERS>0&&a.addCPUSkinningFallback(0,e);var c=[u.b.PositionKind];i.UV1&&c.push(u.b.UVKind),i.VERTEXCOLOR&&c.push(u.b.ColorKind),s.a.PrepareAttributesForBones(c,e,i,a),s.a.PrepareAttributesForInstances(c,i);var h=i.toString();t.setEffect(r.getEngine().createEffect("fire",{attributes:c,uniformsNames:["world","view","viewProjection","vEyePosition","vFogInfos","vFogColor","pointSize","vDiffuseInfos","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","diffuseMatrix","time","speed"],uniformBuffersNames:[],samplers:["diffuseSampler","distortionSampler","opacitySampler"],defines:h,fallbacks:a,onCompiled:this.onCompiled,onError:this.onError,indexParameters:null,maxSimultaneousLights:4,transformFeedbackVaryings:null},o),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene();if(n._materialDefines){var r=n.effect;r&&(this._activeEffect=r,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),s.a.BindBonesParameters(t,this._activeEffect),this._mustRebind(i,r)&&(this._diffuseTexture&&l.a.DiffuseTextureEnabled&&(this._activeEffect.setTexture("diffuseSampler",this._diffuseTexture),this._activeEffect.setFloat2("vDiffuseInfos",this._diffuseTexture.coordinatesIndex,this._diffuseTexture.level),this._activeEffect.setMatrix("diffuseMatrix",this._diffuseTexture.getTextureMatrix()),this._activeEffect.setTexture("distortionSampler",this._distortionTexture),this._activeEffect.setTexture("opacitySampler",this._opacityTexture)),s.a.BindClipPlane(this._activeEffect,i),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),s.a.BindEyePosition(r,i)),this._activeEffect.setColor4("vDiffuseColor",this._scaledDiffuse,this.alpha*t.visibility),i.fogEnabled&&t.applyFog&&i.fogMode!==p.a.FOGMODE_NONE&&this._activeEffect.setMatrix("view",i.getViewMatrix()),s.a.BindFogParameters(i,t,this._activeEffect),this._lastTime+=i.getEngine().getDeltaTime(),this._activeEffect.setFloat("time",this._lastTime),this._activeEffect.setFloat("speed",this.speed),this._afterBind(t,this._activeEffect))}},t.prototype.getAnimatables=function(){var e=[];return this._diffuseTexture&&this._diffuseTexture.animations&&this._diffuseTexture.animations.length>0&&e.push(this._diffuseTexture),this._distortionTexture&&this._distortionTexture.animations&&this._distortionTexture.animations.length>0&&e.push(this._distortionTexture),this._opacityTexture&&this._opacityTexture.animations&&this._opacityTexture.animations.length>0&&e.push(this._opacityTexture),e},t.prototype.getActiveTextures=function(){var t=e.prototype.getActiveTextures.call(this);return this._diffuseTexture&&t.push(this._diffuseTexture),this._distortionTexture&&t.push(this._distortionTexture),this._opacityTexture&&t.push(this._opacityTexture),t},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)||(this._diffuseTexture===t||(this._distortionTexture===t||this._opacityTexture===t))},t.prototype.getClassName=function(){return"FireMaterial"},t.prototype.dispose=function(t){this._diffuseTexture&&this._diffuseTexture.dispose(),this._distortionTexture&&this._distortionTexture.dispose(),e.prototype.dispose.call(this,t)},t.prototype.clone=function(e){var n=this;return r.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var t=e.prototype.serialize.call(this);return t.customType="BABYLON.FireMaterial",t.diffuseColor=this.diffuseColor.asArray(),t.speed=this.speed,this._diffuseTexture&&(t._diffuseTexture=this._diffuseTexture.serialize()),this._distortionTexture&&(t._distortionTexture=this._distortionTexture.serialize()),this._opacityTexture&&(t._opacityTexture=this._opacityTexture.serialize()),t},t.Parse=function(e,n,i){var r=new t(e.name,n);return r.diffuseColor=o.a.FromArray(e.diffuseColor),r.speed=e.speed,r.alpha=e.alpha,r.id=e.id,E.a.AddTagsTo(r,e.tags),r.backFaceCulling=e.backFaceCulling,r.wireframe=e.wireframe,e._diffuseTexture&&(r._diffuseTexture=P.a.Parse(e._diffuseTexture,n,i)),e._distortionTexture&&(r._distortionTexture=P.a.Parse(e._distortionTexture,n,i)),e._opacityTexture&&(r._opacityTexture=P.a.Parse(e._opacityTexture,n,i)),r},Object(i.c)([Object(r.m)("diffuseTexture")],t.prototype,"_diffuseTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture",void 0),Object(i.c)([Object(r.m)("distortionTexture")],t.prototype,"_distortionTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"distortionTexture",void 0),Object(i.c)([Object(r.m)("opacityTexture")],t.prototype,"_opacityTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"opacityTexture",void 0),Object(i.c)([Object(r.e)("diffuse")],t.prototype,"diffuseColor",void 0),Object(i.c)([Object(r.c)()],t.prototype,"speed",void 0),t}(c.a);h.a.RegisteredTypes["BABYLON.FireMaterial"]=I;var w=n(0),D=n(70),L="precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n\nuniform vec4 furColor;\nuniform float furLength;\nvarying vec3 vPositionW;\nvarying float vfur_length;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n\n#ifdef HIGHLEVEL\nuniform float furOffset;\nuniform float furOcclusion;\nuniform sampler2D furTexture;\nvarying vec2 vFurUV;\n#endif\n#include\n#include\n#include\n#include\nfloat Rand(vec3 rv) {\nfloat x=dot(rv,vec3(12.9898,78.233,24.65487));\nreturn fract(sin(x)*43758.5453);\n}\nvoid main(void) {\n\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=furColor;\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n#ifdef DIFFUSE\nbaseColor*=texture2D(diffuseSampler,vDiffuseUV);\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef HIGHLEVEL\n\nvec4 furTextureColor=texture2D(furTexture,vec2(vFurUV.x,vFurUV.y));\nif (furTextureColor.a<=0.0 || furTextureColor.g[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\nvec3 finalDiffuse=clamp(diffuseBase.rgb*baseColor.rgb,0.0,1.0);\n\n#ifdef HIGHLEVEL\nvec4 color=vec4(finalDiffuse,alpha);\n#else\nfloat r=vfur_length/furLength*0.5;\nvec4 color=vec4(finalDiffuse*(0.5+r),alpha);\n#endif\n#include\ngl_FragColor=color;\n}";d.a.ShadersStore.furPixelShader=L;var N="precision highp float;\n\nattribute vec3 position;\nattribute vec3 normal;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\nuniform float furLength;\nuniform float furAngle;\n#ifdef HIGHLEVEL\nuniform float furOffset;\nuniform vec3 furGravity;\nuniform float furTime;\nuniform float furSpacing;\nuniform float furDensity;\n#endif\n#ifdef HEIGHTMAP\nuniform sampler2D heightTexture;\n#endif\n#ifdef HIGHLEVEL\nvarying vec2 vFurUV;\n#endif\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\nvarying float vfur_length;\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nfloat Rand(vec3 rv) {\nfloat x=dot(rv,vec3(12.9898,78.233,24.65487));\nreturn fract(sin(x)*43758.5453);\n}\nvoid main(void) {\n#include\n#include\n\nfloat r=Rand(position);\n#ifdef HEIGHTMAP\n#if __VERSION__>100\nvfur_length=furLength*texture(heightTexture,uv).x;\n#else\nvfur_length=furLength*texture2D(heightTexture,uv).r;\n#endif\n#else\nvfur_length=(furLength*r);\n#endif\nvec3 tangent1=vec3(normal.y,-normal.x,0);\nvec3 tangent2=vec3(-normal.z,0,normal.x);\nr=Rand(tangent1*r);\nfloat J=(2.0+4.0*r);\nr=Rand(tangent2*r);\nfloat K=(2.0+2.0*r);\ntangent1=tangent1*J+tangent2*K;\ntangent1=normalize(tangent1);\nvec3 newPosition=position+normal*vfur_length*cos(furAngle)+tangent1*vfur_length*sin(furAngle);\n#ifdef HIGHLEVEL\n\nvec3 forceDirection=vec3(0.0,0.0,0.0);\nforceDirection.x=sin(furTime+position.x*0.05)*0.2;\nforceDirection.y=cos(furTime*0.7+position.y*0.04)*0.2;\nforceDirection.z=sin(furTime*0.7+position.z*0.04)*0.2;\nvec3 displacement=vec3(0.0,0.0,0.0);\ndisplacement=furGravity+forceDirection;\nfloat displacementFactor=pow(furOffset,3.0);\nvec3 aNormal=normal;\naNormal.xyz+=displacement*displacementFactor;\nnewPosition=vec3(newPosition.x,newPosition.y,newPosition.z)+(normalize(aNormal)*furOffset*furSpacing);\n#endif\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\ngl_Position=viewProjection*finalWorld*vec4(newPosition,1.0);\nvec4 worldPos=finalWorld*vec4(newPosition,1.0);\nvPositionW=vec3(worldPos);\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vDiffuseInfos.x == 0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#ifdef HIGHLEVEL\nvFurUV=vDiffuseUV*furDensity;\n#endif\n#else\n#ifdef HIGHLEVEL\nvFurUV=uv*furDensity;\n#endif\n#endif\n\n#include\n\n#include\n\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n";d.a.ShadersStore.furVertexShader=N;var F=function(e){function t(){var t=e.call(this)||this;return t.DIFFUSE=!1,t.HEIGHTMAP=!1,t.CLIPPLANE=!1,t.CLIPPLANE2=!1,t.CLIPPLANE3=!1,t.CLIPPLANE4=!1,t.CLIPPLANE5=!1,t.CLIPPLANE6=!1,t.ALPHATEST=!1,t.DEPTHPREPASS=!1,t.POINTSIZE=!1,t.FOG=!1,t.NORMAL=!1,t.UV1=!1,t.UV2=!1,t.VERTEXCOLOR=!1,t.VERTEXALPHA=!1,t.NUM_BONE_INFLUENCERS=0,t.BonesPerMesh=0,t.INSTANCES=!1,t.HIGHLEVEL=!1,t.rebuild(),t}return Object(i.d)(t,e),t}(a.a),B=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.diffuseColor=new o.a(1,1,1),i.furLength=1,i.furAngle=0,i.furColor=new o.a(.44,.21,.02),i.furOffset=0,i.furSpacing=12,i.furGravity=new w.e(0,0,0),i.furSpeed=100,i.furDensity=20,i.furOcclusion=0,i._disableLighting=!1,i._maxSimultaneousLights=4,i.highLevelFur=!0,i._furTime=0,i}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"furTime",{get:function(){return this._furTime},set:function(e){this._furTime=e},enumerable:!0,configurable:!0}),t.prototype.needAlphaBlending=function(){return this.alpha<1},t.prototype.needAlphaTesting=function(){return!1},t.prototype.getAlphaTestTexture=function(){return null},t.prototype.updateFur=function(){for(var e=1;e0&&a.addCPUSkinningFallback(0,e);var c=[u.b.PositionKind];i.NORMAL&&c.push(u.b.NormalKind),i.UV1&&c.push(u.b.UVKind),i.UV2&&c.push(u.b.UV2Kind),i.VERTEXCOLOR&&c.push(u.b.ColorKind),s.a.PrepareAttributesForBones(c,e,i,a),s.a.PrepareAttributesForInstances(c,i);var p=i.toString(),h=["world","view","viewProjection","vEyePosition","vLightsType","vDiffuseColor","vFogInfos","vFogColor","pointSize","vDiffuseInfos","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","diffuseMatrix","furLength","furAngle","furColor","furOffset","furGravity","furTime","furSpacing","furDensity","furOcclusion"],d=["diffuseSampler","heightTexture","furTexture"],f=new Array;s.a.PrepareUniformsAndSamplersList({uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:i,maxSimultaneousLights:this.maxSimultaneousLights}),t.setEffect(r.getEngine().createEffect("fur",{attributes:c,uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:p,fallbacks:a,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:this.maxSimultaneousLights}},o),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;o&&(this._activeEffect=o,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),s.a.BindBonesParameters(t,this._activeEffect),i.getCachedMaterial()!==this&&(this._diffuseTexture&&l.a.DiffuseTextureEnabled&&(this._activeEffect.setTexture("diffuseSampler",this._diffuseTexture),this._activeEffect.setFloat2("vDiffuseInfos",this._diffuseTexture.coordinatesIndex,this._diffuseTexture.level),this._activeEffect.setMatrix("diffuseMatrix",this._diffuseTexture.getTextureMatrix())),this._heightTexture&&this._activeEffect.setTexture("heightTexture",this._heightTexture),s.a.BindClipPlane(this._activeEffect,i),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),s.a.BindEyePosition(o,i)),this._activeEffect.setColor4("vDiffuseColor",this.diffuseColor,this.alpha*t.visibility),i.lightsEnabled&&!this.disableLighting&&s.a.BindLights(i,t,this._activeEffect,r,this.maxSimultaneousLights),i.fogEnabled&&t.applyFog&&i.fogMode!==p.a.FOGMODE_NONE&&this._activeEffect.setMatrix("view",i.getViewMatrix()),s.a.BindFogParameters(i,t,this._activeEffect),this._activeEffect.setFloat("furLength",this.furLength),this._activeEffect.setFloat("furAngle",this.furAngle),this._activeEffect.setColor4("furColor",this.furColor,1),this.highLevelFur&&(this._activeEffect.setVector3("furGravity",this.furGravity),this._activeEffect.setFloat("furOffset",this.furOffset),this._activeEffect.setFloat("furSpacing",this.furSpacing),this._activeEffect.setFloat("furDensity",this.furDensity),this._activeEffect.setFloat("furOcclusion",this.furOcclusion),this._furTime+=this.getScene().getEngine().getDeltaTime()/this.furSpeed,this._activeEffect.setFloat("furTime",this._furTime),this._activeEffect.setTexture("furTexture",this.furTexture)),this._afterBind(t,this._activeEffect))}},t.prototype.getAnimatables=function(){var e=[];return this.diffuseTexture&&this.diffuseTexture.animations&&this.diffuseTexture.animations.length>0&&e.push(this.diffuseTexture),this.heightTexture&&this.heightTexture.animations&&this.heightTexture.animations.length>0&&e.push(this.heightTexture),e},t.prototype.getActiveTextures=function(){var t=e.prototype.getActiveTextures.call(this);return this._diffuseTexture&&t.push(this._diffuseTexture),this._heightTexture&&t.push(this._heightTexture),t},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)||(this.diffuseTexture===t||this._heightTexture===t)},t.prototype.dispose=function(t){if(this.diffuseTexture&&this.diffuseTexture.dispose(),this._meshes)for(var n=1;n0&&a.addCPUSkinningFallback(0,e);var c=[u.b.PositionKind];i.NORMAL&&c.push(u.b.NormalKind),i.UV1&&c.push(u.b.UVKind),i.UV2&&c.push(u.b.UV2Kind),i.VERTEXCOLOR&&c.push(u.b.ColorKind),s.a.PrepareAttributesForBones(c,e,i,a),s.a.PrepareAttributesForInstances(c,i);var l=i.toString(),p=["world","view","viewProjection","vEyePosition","vLightsType","vFogInfos","vFogColor","pointSize","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","topColor","bottomColor","offset","smoothness","scale"],h=[],d=new Array;s.a.PrepareUniformsAndSamplersList({uniformsNames:p,uniformBuffersNames:d,samplers:h,defines:i,maxSimultaneousLights:4}),t.setEffect(r.getEngine().createEffect("gradient",{attributes:c,uniformsNames:p,uniformBuffersNames:d,samplers:h,defines:l,fallbacks:a,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:4}},o),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;o&&(this._activeEffect=o,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),s.a.BindBonesParameters(t,o),this._mustRebind(i,o)&&(s.a.BindClipPlane(o,i),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),s.a.BindEyePosition(o,i)),i.lightsEnabled&&!this.disableLighting&&s.a.BindLights(i,t,this._activeEffect,r,this.maxSimultaneousLights),i.fogEnabled&&t.applyFog&&i.fogMode!==p.a.FOGMODE_NONE&&this._activeEffect.setMatrix("view",i.getViewMatrix()),s.a.BindFogParameters(i,t,this._activeEffect),this._activeEffect.setColor4("topColor",this.topColor,this.topColorAlpha),this._activeEffect.setColor4("bottomColor",this.bottomColor,this.bottomColorAlpha),this._activeEffect.setFloat("offset",this.offset),this._activeEffect.setFloat("scale",this.scale),this._activeEffect.setFloat("smoothness",this.smoothness),this._afterBind(t,this._activeEffect))}},t.prototype.getAnimatables=function(){return[]},t.prototype.dispose=function(t){e.prototype.dispose.call(this,t)},t.prototype.clone=function(e){var n=this;return r.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=r.a.Serialize(this);return e.customType="BABYLON.GradientMaterial",e},t.prototype.getClassName=function(){return"GradientMaterial"},t.Parse=function(e,n,i){return r.a.Parse((function(){return new t(e.name,n)}),e,n,i)},Object(i.c)([Object(r.c)("maxSimultaneousLights")],t.prototype,"_maxSimultaneousLights",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"maxSimultaneousLights",void 0),Object(i.c)([Object(r.e)()],t.prototype,"topColor",void 0),Object(i.c)([Object(r.c)()],t.prototype,"topColorAlpha",void 0),Object(i.c)([Object(r.e)()],t.prototype,"bottomColor",void 0),Object(i.c)([Object(r.c)()],t.prototype,"bottomColorAlpha",void 0),Object(i.c)([Object(r.c)()],t.prototype,"offset",void 0),Object(i.c)([Object(r.c)()],t.prototype,"scale",void 0),Object(i.c)([Object(r.c)()],t.prototype,"smoothness",void 0),Object(i.c)([Object(r.c)("disableLighting")],t.prototype,"_disableLighting",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"disableLighting",void 0),t}(c.a);h.a.RegisteredTypes["BABYLON.GradientMaterial"]=j;var U="#extension GL_OES_standard_derivatives : enable\n#define SQRT2 1.41421356\n#define PI 3.14159\nprecision highp float;\nuniform vec3 mainColor;\nuniform vec3 lineColor;\nuniform vec4 gridControl;\nuniform vec3 gridOffset;\n\nvarying vec3 vPosition;\nvarying vec3 vNormal;\n#include\n\n#ifdef OPACITY\nvarying vec2 vOpacityUV;\nuniform sampler2D opacitySampler;\nuniform vec2 vOpacityInfos;\n#endif\nfloat getVisibility(float position) {\n\nfloat majorGridFrequency=gridControl.y;\nif (floor(position+0.5) == floor(position/majorGridFrequency+0.5)*majorGridFrequency)\n{\nreturn 1.0;\n}\nreturn gridControl.z;\n}\nfloat getAnisotropicAttenuation(float differentialLength) {\nconst float maxNumberOfLines=10.0;\nreturn clamp(1.0/(differentialLength+1.0)-1.0/maxNumberOfLines,0.0,1.0);\n}\nfloat isPointOnLine(float position,float differentialLength) {\nfloat fractionPartOfPosition=position-floor(position+0.5);\nfractionPartOfPosition/=differentialLength;\nfractionPartOfPosition=clamp(fractionPartOfPosition,-1.,1.);\nfloat result=0.5+0.5*cos(fractionPartOfPosition*PI);\nreturn result;\n}\nfloat contributionOnAxis(float position) {\nfloat differentialLength=length(vec2(dFdx(position),dFdy(position)));\ndifferentialLength*=SQRT2;\n\nfloat result=isPointOnLine(position,differentialLength);\n\nfloat visibility=getVisibility(position);\nresult*=visibility;\n\nfloat anisotropicAttenuation=getAnisotropicAttenuation(differentialLength);\nresult*=anisotropicAttenuation;\nreturn result;\n}\nfloat normalImpactOnAxis(float x) {\nfloat normalImpact=clamp(1.0-3.0*abs(x*x*x),0.0,1.0);\nreturn normalImpact;\n}\nvoid main(void) {\n\nfloat gridRatio=gridControl.x;\nvec3 gridPos=(vPosition+gridOffset.xyz)/gridRatio;\n\nfloat x=contributionOnAxis(gridPos.x);\nfloat y=contributionOnAxis(gridPos.y);\nfloat z=contributionOnAxis(gridPos.z);\n\nvec3 normal=normalize(vNormal);\nx*=normalImpactOnAxis(normal.x);\ny*=normalImpactOnAxis(normal.y);\nz*=normalImpactOnAxis(normal.z);\n\nfloat grid=clamp(x+y+z,0.,1.);\n\nvec3 color=mix(mainColor,lineColor,grid);\n#ifdef FOG\n#include\n#endif\nfloat opacity=1.0;\n#ifdef TRANSPARENT\nopacity=clamp(grid,0.08,gridControl.w*grid);\n#endif\n#ifdef OPACITY\nopacity*=texture2D(opacitySampler,vOpacityUV).a;\n#endif\n\ngl_FragColor=vec4(color.rgb,opacity);\n#ifdef TRANSPARENT\n#ifdef PREMULTIPLYALPHA\ngl_FragColor.rgb*=opacity;\n#endif\n#else\n#endif\n}";d.a.ShadersStore.gridPixelShader=U;var G="precision highp float;\n\nattribute vec3 position;\nattribute vec3 normal;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#include\n\nuniform mat4 projection;\nuniform mat4 view;\n\nvarying vec3 vPosition;\nvarying vec3 vNormal;\n#include\n#ifdef OPACITY\nvarying vec2 vOpacityUV;\nuniform mat4 opacityMatrix;\nuniform vec2 vOpacityInfos;\n#endif\nvoid main(void) {\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\n#include\nvec4 cameraSpacePosition=view*worldPos;\ngl_Position=projection*cameraSpacePosition;\n#ifdef OPACITY\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\nif (vOpacityInfos.x == 0.)\n{\nvOpacityUV=vec2(opacityMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvOpacityUV=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\nvPosition=position;\nvNormal=normal;\n}";d.a.ShadersStore.gridVertexShader=G;var H=function(e){function t(){var t=e.call(this)||this;return t.OPACITY=!1,t.TRANSPARENT=!1,t.FOG=!1,t.PREMULTIPLYALPHA=!1,t.UV1=!1,t.UV2=!1,t.INSTANCES=!1,t.rebuild(),t}return Object(i.d)(t,e),t}(a.a),W=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.mainColor=o.a.Black(),i.lineColor=o.a.Teal(),i.gridRatio=1,i.gridOffset=w.e.Zero(),i.majorUnitFrequency=10,i.minorUnitVisibility=.33,i.opacity=1,i.preMultiplyAlpha=!1,i._gridControl=new w.f(i.gridRatio,i.majorUnitFrequency,i.minorUnitVisibility,i.opacity),i}return Object(i.d)(t,e),t.prototype.needAlphaBlending=function(){return this.opacity<1||this._opacityTexture&&this._opacityTexture.isReady()},t.prototype.needAlphaBlendingForMesh=function(e){return this.needAlphaBlending()},t.prototype.isReadyForSubMesh=function(e,t,n){if(this.isFrozen&&t.effect&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new H);var i=t._materialDefines,r=this.getScene();if(!this.checkReadyOnEveryCall&&t.effect&&this._renderId===r.getRenderId())return!0;if(i.TRANSPARENT!==this.opacity<1&&(i.TRANSPARENT=!i.TRANSPARENT,i.markAsUnprocessed()),i.PREMULTIPLYALPHA!=this.preMultiplyAlpha&&(i.PREMULTIPLYALPHA=!i.PREMULTIPLYALPHA,i.markAsUnprocessed()),i._areTexturesDirty&&(i._needUVs=!1,r.texturesEnabled&&this._opacityTexture&&l.a.OpacityTextureEnabled)){if(!this._opacityTexture.isReady())return!1;i._needUVs=!0,i.OPACITY=!0}if(s.a.PrepareDefinesForMisc(e,r,!1,!1,this.fogEnabled,!1,i),s.a.PrepareDefinesForFrameBoundValues(r,r.getEngine(),i,!!n),i.isDirty){i.markAsProcessed(),r.resetCachedMaterial(),s.a.PrepareDefinesForAttributes(e,i,!1,!1);var o=[u.b.PositionKind,u.b.NormalKind];i.UV1&&o.push(u.b.UVKind),i.UV2&&o.push(u.b.UV2Kind),s.a.PrepareAttributesForInstances(o,i);var a=i.toString();t.setEffect(r.getEngine().createEffect("grid",o,["projection","mainColor","lineColor","gridControl","gridOffset","vFogInfos","vFogColor","world","view","opacityMatrix","vOpacityInfos"],["opacitySampler"],a,void 0,this.onCompiled,this.onError),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;o&&(this._activeEffect=o,r.INSTANCES||this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("view",i.getViewMatrix()),this._activeEffect.setMatrix("projection",i.getProjectionMatrix()),this._mustRebind(i,o)&&(this._activeEffect.setColor3("mainColor",this.mainColor),this._activeEffect.setColor3("lineColor",this.lineColor),this._activeEffect.setVector3("gridOffset",this.gridOffset),this._gridControl.x=this.gridRatio,this._gridControl.y=Math.round(this.majorUnitFrequency),this._gridControl.z=this.minorUnitVisibility,this._gridControl.w=this.opacity,this._activeEffect.setVector4("gridControl",this._gridControl),this._opacityTexture&&l.a.OpacityTextureEnabled&&(this._activeEffect.setTexture("opacitySampler",this._opacityTexture),this._activeEffect.setFloat2("vOpacityInfos",this._opacityTexture.coordinatesIndex,this._opacityTexture.level),this._activeEffect.setMatrix("opacityMatrix",this._opacityTexture.getTextureMatrix()))),s.a.BindFogParameters(i,t,this._activeEffect),this._afterBind(t,this._activeEffect))}},t.prototype.dispose=function(t){e.prototype.dispose.call(this,t)},t.prototype.clone=function(e){var n=this;return r.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=r.a.Serialize(this);return e.customType="BABYLON.GridMaterial",e},t.prototype.getClassName=function(){return"GridMaterial"},t.Parse=function(e,n,i){return r.a.Parse((function(){return new t(e.name,n)}),e,n,i)},Object(i.c)([Object(r.e)()],t.prototype,"mainColor",void 0),Object(i.c)([Object(r.e)()],t.prototype,"lineColor",void 0),Object(i.c)([Object(r.c)()],t.prototype,"gridRatio",void 0),Object(i.c)([Object(r.e)()],t.prototype,"gridOffset",void 0),Object(i.c)([Object(r.c)()],t.prototype,"majorUnitFrequency",void 0),Object(i.c)([Object(r.c)()],t.prototype,"minorUnitVisibility",void 0),Object(i.c)([Object(r.c)()],t.prototype,"opacity",void 0),Object(i.c)([Object(r.c)()],t.prototype,"preMultiplyAlpha",void 0),Object(i.c)([Object(r.m)("opacityTexture")],t.prototype,"_opacityTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"opacityTexture",void 0),t}(c.a);h.a.RegisteredTypes["BABYLON.GridMaterial"]=W;var X="precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n\nvarying vec3 vPositionW;\n\nuniform float time;\nuniform float speed;\nuniform float movingSpeed;\nuniform vec3 fogColor;\nuniform sampler2D noiseTexture;\nuniform float fogDensity;\n\nvarying float noise;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0]\n#include<__decl__lightFragment>[1]\n#include<__decl__lightFragment>[2]\n#include<__decl__lightFragment>[3]\n#include\n#include\n\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n#include\n\n#include\nfloat random( vec3 scale,float seed ){\nreturn fract( sin( dot( gl_FragCoord.xyz+seed,scale ) )*43758.5453+seed ) ;\n}\nvoid main(void) {\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n#ifdef DIFFUSE\n\nvec4 noiseTex=texture2D( noiseTexture,vDiffuseUV );\nvec2 T1=vDiffuseUV+vec2( 1.5,-1.5 )*time*0.02;\nvec2 T2=vDiffuseUV+vec2( -0.5,2.0 )*time*0.01*speed;\nT1.x+=noiseTex.x*2.0;\nT1.y+=noiseTex.y*2.0;\nT2.x-=noiseTex.y*0.2+time*0.001*movingSpeed;\nT2.y+=noiseTex.z*0.2+time*0.002*movingSpeed;\nfloat p=texture2D( noiseTexture,T1*3.0 ).a;\nvec4 lavaColor=texture2D( diffuseSampler,T2*4.0);\nvec4 temp=lavaColor*( vec4( p,p,p,p )*2. )+( lavaColor*lavaColor-0.1 );\nbaseColor=temp;\nfloat depth=gl_FragCoord.z*4.0;\nconst float LOG2=1.442695;\nfloat fogFactor=exp2(-fogDensity*fogDensity*depth*depth*LOG2 );\nfogFactor=1.0-clamp( fogFactor,0.0,1.0 );\nbaseColor=mix( baseColor,vec4( fogColor,baseColor.w ),fogFactor );\ndiffuseColor=baseColor.rgb;\n\n\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef UNLIT\nvec3 diffuseBase=vec3(1.,1.,1.);\n#else\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\nfloat glossiness=0.;\n#include[0]\n#include[1]\n#include[2]\n#include[3]\n#endif\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\n\nvec4 color=vec4(finalDiffuse,alpha);\n#include\ngl_FragColor=color;\n}";d.a.ShadersStore.lavaPixelShader=X;var Y="precision highp float;\n\nuniform float time;\nuniform float lowFrequencySpeed;\n\nvarying float noise;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n\n\nvec3 mod289(vec3 x)\n{\nreturn x-floor(x*(1.0/289.0))*289.0;\n}\nvec4 mod289(vec4 x)\n{\nreturn x-floor(x*(1.0/289.0))*289.0;\n}\nvec4 permute(vec4 x)\n{\nreturn mod289(((x*34.0)+1.0)*x);\n}\nvec4 taylorInvSqrt(vec4 r)\n{\nreturn 1.79284291400159-0.85373472095314*r;\n}\nvec3 fade(vec3 t) {\nreturn t*t*t*(t*(t*6.0-15.0)+10.0);\n}\n\nfloat pnoise(vec3 P,vec3 rep)\n{\nvec3 Pi0=mod(floor(P),rep);\nvec3 Pi1=mod(Pi0+vec3(1.0),rep);\nPi0=mod289(Pi0);\nPi1=mod289(Pi1);\nvec3 Pf0=fract(P);\nvec3 Pf1=Pf0-vec3(1.0);\nvec4 ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x);\nvec4 iy=vec4(Pi0.yy,Pi1.yy);\nvec4 iz0=Pi0.zzzz;\nvec4 iz1=Pi1.zzzz;\nvec4 ixy=permute(permute(ix)+iy);\nvec4 ixy0=permute(ixy+iz0);\nvec4 ixy1=permute(ixy+iz1);\nvec4 gx0=ixy0*(1.0/7.0);\nvec4 gy0=fract(floor(gx0)*(1.0/7.0))-0.5;\ngx0=fract(gx0);\nvec4 gz0=vec4(0.5)-abs(gx0)-abs(gy0);\nvec4 sz0=step(gz0,vec4(0.0));\ngx0-=sz0*(step(0.0,gx0)-0.5);\ngy0-=sz0*(step(0.0,gy0)-0.5);\nvec4 gx1=ixy1*(1.0/7.0);\nvec4 gy1=fract(floor(gx1)*(1.0/7.0))-0.5;\ngx1=fract(gx1);\nvec4 gz1=vec4(0.5)-abs(gx1)-abs(gy1);\nvec4 sz1=step(gz1,vec4(0.0));\ngx1-=sz1*(step(0.0,gx1)-0.5);\ngy1-=sz1*(step(0.0,gy1)-0.5);\nvec3 g000=vec3(gx0.x,gy0.x,gz0.x);\nvec3 g100=vec3(gx0.y,gy0.y,gz0.y);\nvec3 g010=vec3(gx0.z,gy0.z,gz0.z);\nvec3 g110=vec3(gx0.w,gy0.w,gz0.w);\nvec3 g001=vec3(gx1.x,gy1.x,gz1.x);\nvec3 g101=vec3(gx1.y,gy1.y,gz1.y);\nvec3 g011=vec3(gx1.z,gy1.z,gz1.z);\nvec3 g111=vec3(gx1.w,gy1.w,gz1.w);\nvec4 norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110)));\ng000*=norm0.x;\ng010*=norm0.y;\ng100*=norm0.z;\ng110*=norm0.w;\nvec4 norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111)));\ng001*=norm1.x;\ng011*=norm1.y;\ng101*=norm1.z;\ng111*=norm1.w;\nfloat n000=dot(g000,Pf0);\nfloat n100=dot(g100,vec3(Pf1.x,Pf0.yz));\nfloat n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z));\nfloat n110=dot(g110,vec3(Pf1.xy,Pf0.z));\nfloat n001=dot(g001,vec3(Pf0.xy,Pf1.z));\nfloat n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z));\nfloat n011=dot(g011,vec3(Pf0.x,Pf1.yz));\nfloat n111=dot(g111,Pf1);\nvec3 fade_xyz=fade(Pf0);\nvec4 n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z);\nvec2 n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y);\nfloat n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x);\nreturn 2.2*n_xyz;\n}\n\nfloat turbulence( vec3 p ) {\nfloat w=100.0;\nfloat t=-.5;\nfor (float f=1.0 ; f<=10.0 ; f++ ){\nfloat power=pow( 2.0,f );\nt+=abs( pnoise( vec3( power*p ),vec3( 10.0,10.0,10.0 ) )/power );\n}\nreturn t;\n}\nvoid main(void) {\n#include\n#include\n#ifdef NORMAL\n\nnoise=10.0*-.10*turbulence( .5*normal+time*1.15 );\n\nfloat b=lowFrequencySpeed*5.0*pnoise( 0.05*position +vec3(time*1.025),vec3( 100.0 ) );\n\nfloat displacement =-1.5*noise+b;\n\nvec3 newPosition=position+normal*displacement;\ngl_Position=viewProjection*finalWorld*vec4( newPosition,1.0 );\nvec4 worldPos=finalWorld*vec4(newPosition,1.0);\nvPositionW=vec3(worldPos);\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vDiffuseInfos.x == 0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}";d.a.ShadersStore.lavaVertexShader=Y;var Q=function(e){function t(){var t=e.call(this)||this;return t.DIFFUSE=!1,t.CLIPPLANE=!1,t.CLIPPLANE2=!1,t.CLIPPLANE3=!1,t.CLIPPLANE4=!1,t.CLIPPLANE5=!1,t.CLIPPLANE6=!1,t.ALPHATEST=!1,t.DEPTHPREPASS=!1,t.POINTSIZE=!1,t.FOG=!1,t.LIGHT0=!1,t.LIGHT1=!1,t.LIGHT2=!1,t.LIGHT3=!1,t.SPOTLIGHT0=!1,t.SPOTLIGHT1=!1,t.SPOTLIGHT2=!1,t.SPOTLIGHT3=!1,t.HEMILIGHT0=!1,t.HEMILIGHT1=!1,t.HEMILIGHT2=!1,t.HEMILIGHT3=!1,t.DIRLIGHT0=!1,t.DIRLIGHT1=!1,t.DIRLIGHT2=!1,t.DIRLIGHT3=!1,t.POINTLIGHT0=!1,t.POINTLIGHT1=!1,t.POINTLIGHT2=!1,t.POINTLIGHT3=!1,t.SHADOW0=!1,t.SHADOW1=!1,t.SHADOW2=!1,t.SHADOW3=!1,t.SHADOWS=!1,t.SHADOWESM0=!1,t.SHADOWESM1=!1,t.SHADOWESM2=!1,t.SHADOWESM3=!1,t.SHADOWPOISSON0=!1,t.SHADOWPOISSON1=!1,t.SHADOWPOISSON2=!1,t.SHADOWPOISSON3=!1,t.SHADOWPCF0=!1,t.SHADOWPCF1=!1,t.SHADOWPCF2=!1,t.SHADOWPCF3=!1,t.SHADOWPCSS0=!1,t.SHADOWPCSS1=!1,t.SHADOWPCSS2=!1,t.SHADOWPCSS3=!1,t.NORMAL=!1,t.UV1=!1,t.UV2=!1,t.VERTEXCOLOR=!1,t.VERTEXALPHA=!1,t.NUM_BONE_INFLUENCERS=0,t.BonesPerMesh=0,t.INSTANCES=!1,t.UNLIT=!1,t.rebuild(),t}return Object(i.d)(t,e),t}(a.a),K=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.speed=1,i.movingSpeed=1,i.lowFrequencySpeed=1,i.fogDensity=.15,i._lastTime=0,i.diffuseColor=new o.a(1,1,1),i._disableLighting=!1,i._unlit=!1,i._maxSimultaneousLights=4,i._scaledDiffuse=new o.a,i}return Object(i.d)(t,e),t.prototype.needAlphaBlending=function(){return this.alpha<1},t.prototype.needAlphaTesting=function(){return!1},t.prototype.getAlphaTestTexture=function(){return null},t.prototype.isReadyForSubMesh=function(e,t,n){if(this.isFrozen&&t.effect&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new Q);var i=t._materialDefines,r=this.getScene();if(!this.checkReadyOnEveryCall&&t.effect&&this._renderId===r.getRenderId())return!0;var o=r.getEngine();if(i._areTexturesDirty&&(i._needUVs=!1,r.texturesEnabled&&this._diffuseTexture&&l.a.DiffuseTextureEnabled)){if(!this._diffuseTexture.isReady())return!1;i._needUVs=!0,i.DIFFUSE=!0}if(s.a.PrepareDefinesForMisc(e,r,!1,this.pointsCloud,this.fogEnabled,this._shouldTurnAlphaTestOn(e),i),i._needNormals=!0,s.a.PrepareDefinesForLights(r,e,i,!1,this._maxSimultaneousLights,this._disableLighting),s.a.PrepareDefinesForFrameBoundValues(r,o,i,!!n),s.a.PrepareDefinesForAttributes(e,i,!0,!0),i.isDirty){i.markAsProcessed(),r.resetCachedMaterial();var a=new m.a;i.FOG&&a.addFallback(1,"FOG"),s.a.HandleFallbacksForShadows(i,a),i.NUM_BONE_INFLUENCERS>0&&a.addCPUSkinningFallback(0,e);var c=[u.b.PositionKind];i.NORMAL&&c.push(u.b.NormalKind),i.UV1&&c.push(u.b.UVKind),i.UV2&&c.push(u.b.UV2Kind),i.VERTEXCOLOR&&c.push(u.b.ColorKind),s.a.PrepareAttributesForBones(c,e,i,a),s.a.PrepareAttributesForInstances(c,i);var p=i.toString(),h=["world","view","viewProjection","vEyePosition","vLightsType","vDiffuseColor","vFogInfos","vFogColor","pointSize","vDiffuseInfos","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","diffuseMatrix","time","speed","movingSpeed","fogColor","fogDensity","lowFrequencySpeed"],d=["diffuseSampler","noiseTexture"],f=new Array;s.a.PrepareUniformsAndSamplersList({uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:i,maxSimultaneousLights:this.maxSimultaneousLights}),t.setEffect(r.getEngine().createEffect("lava",{attributes:c,uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:p,fallbacks:a,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:this.maxSimultaneousLights}},o),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var a=n.effect;a&&(this._activeEffect=a,r.UNLIT=this._unlit,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),s.a.BindBonesParameters(t,this._activeEffect),this._mustRebind(i,a)&&(this.diffuseTexture&&l.a.DiffuseTextureEnabled&&(this._activeEffect.setTexture("diffuseSampler",this.diffuseTexture),this._activeEffect.setFloat2("vDiffuseInfos",this.diffuseTexture.coordinatesIndex,this.diffuseTexture.level),this._activeEffect.setMatrix("diffuseMatrix",this.diffuseTexture.getTextureMatrix())),this.noiseTexture&&this._activeEffect.setTexture("noiseTexture",this.noiseTexture),s.a.BindClipPlane(this._activeEffect,i),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),s.a.BindEyePosition(a,i)),this._activeEffect.setColor4("vDiffuseColor",this._scaledDiffuse,this.alpha*t.visibility),i.lightsEnabled&&!this.disableLighting&&s.a.BindLights(i,t,this._activeEffect,r),i.fogEnabled&&t.applyFog&&i.fogMode!==p.a.FOGMODE_NONE&&this._activeEffect.setMatrix("view",i.getViewMatrix()),s.a.BindFogParameters(i,t,this._activeEffect),this._lastTime+=i.getEngine().getDeltaTime(),this._activeEffect.setFloat("time",this._lastTime*this.speed/1e3),this.fogColor||(this.fogColor=o.a.Black()),this._activeEffect.setColor3("fogColor",this.fogColor),this._activeEffect.setFloat("fogDensity",this.fogDensity),this._activeEffect.setFloat("lowFrequencySpeed",this.lowFrequencySpeed),this._activeEffect.setFloat("movingSpeed",this.movingSpeed),this._afterBind(t,this._activeEffect))}},t.prototype.getAnimatables=function(){var e=[];return this.diffuseTexture&&this.diffuseTexture.animations&&this.diffuseTexture.animations.length>0&&e.push(this.diffuseTexture),this.noiseTexture&&this.noiseTexture.animations&&this.noiseTexture.animations.length>0&&e.push(this.noiseTexture),e},t.prototype.getActiveTextures=function(){var t=e.prototype.getActiveTextures.call(this);return this._diffuseTexture&&t.push(this._diffuseTexture),t},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)||this.diffuseTexture===t},t.prototype.dispose=function(t){this.diffuseTexture&&this.diffuseTexture.dispose(),this.noiseTexture&&this.noiseTexture.dispose(),e.prototype.dispose.call(this,t)},t.prototype.clone=function(e){var n=this;return r.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=r.a.Serialize(this);return e.customType="BABYLON.LavaMaterial",e},t.prototype.getClassName=function(){return"LavaMaterial"},t.Parse=function(e,n,i){return r.a.Parse((function(){return new t(e.name,n)}),e,n,i)},Object(i.c)([Object(r.m)("diffuseTexture")],t.prototype,"_diffuseTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture",void 0),Object(i.c)([Object(r.m)()],t.prototype,"noiseTexture",void 0),Object(i.c)([Object(r.e)()],t.prototype,"fogColor",void 0),Object(i.c)([Object(r.c)()],t.prototype,"speed",void 0),Object(i.c)([Object(r.c)()],t.prototype,"movingSpeed",void 0),Object(i.c)([Object(r.c)()],t.prototype,"lowFrequencySpeed",void 0),Object(i.c)([Object(r.c)()],t.prototype,"fogDensity",void 0),Object(i.c)([Object(r.e)()],t.prototype,"diffuseColor",void 0),Object(i.c)([Object(r.c)("disableLighting")],t.prototype,"_disableLighting",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"disableLighting",void 0),Object(i.c)([Object(r.c)("unlit")],t.prototype,"_unlit",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"unlit",void 0),Object(i.c)([Object(r.c)("maxSimultaneousLights")],t.prototype,"_maxSimultaneousLights",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"maxSimultaneousLights",void 0),t}(c.a);h.a.RegisteredTypes["BABYLON.LavaMaterial"]=K;var Z="precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform sampler2D mixMap1Sampler;\nuniform vec2 vTextureInfos;\n#ifdef MIXMAP2\nuniform sampler2D mixMap2Sampler;\n#endif\nuniform sampler2D diffuse1Sampler;\nuniform sampler2D diffuse2Sampler;\nuniform sampler2D diffuse3Sampler;\nuniform sampler2D diffuse4Sampler;\nuniform vec2 diffuse1Infos;\nuniform vec2 diffuse2Infos;\nuniform vec2 diffuse3Infos;\nuniform vec2 diffuse4Infos;\n#ifdef MIXMAP2\nuniform sampler2D diffuse5Sampler;\nuniform sampler2D diffuse6Sampler;\nuniform sampler2D diffuse7Sampler;\nuniform sampler2D diffuse8Sampler;\nuniform vec2 diffuse5Infos;\nuniform vec2 diffuse6Infos;\nuniform vec2 diffuse7Infos;\nuniform vec2 diffuse8Infos;\n#endif\n#endif\n\n#include\n#include\n#include\n\n#include\nvoid main(void) {\n\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 finalMixColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n#ifdef MIXMAP2\nvec4 mixColor2=vec4(1.,1.,1.,1.);\n#endif\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n\nfloat alpha=vDiffuseColor.a;\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef DIFFUSE\nvec4 mixColor=texture2D(mixMap1Sampler,vTextureUV);\n#include\nmixColor.rgb*=vTextureInfos.y;\nvec4 diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\nvec4 diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\nvec4 diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\nvec4 diffuse4Color=texture2D(diffuse4Sampler,vTextureUV*diffuse4Infos);\ndiffuse1Color.rgb*=mixColor.r;\ndiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,mixColor.g);\ndiffuse3Color.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,mixColor.b);\nfinalMixColor.rgb=mix(diffuse3Color.rgb,diffuse4Color.rgb,1.0-mixColor.a);\n#ifdef MIXMAP2\nmixColor=texture2D(mixMap2Sampler,vTextureUV);\nmixColor.rgb*=vTextureInfos.y;\nvec4 diffuse5Color=texture2D(diffuse5Sampler,vTextureUV*diffuse5Infos);\nvec4 diffuse6Color=texture2D(diffuse6Sampler,vTextureUV*diffuse6Infos);\nvec4 diffuse7Color=texture2D(diffuse7Sampler,vTextureUV*diffuse7Infos);\nvec4 diffuse8Color=texture2D(diffuse8Sampler,vTextureUV*diffuse8Infos);\ndiffuse5Color.rgb=mix(finalMixColor.rgb,diffuse5Color.rgb,mixColor.r);\ndiffuse6Color.rgb=mix(diffuse5Color.rgb,diffuse6Color.rgb,mixColor.g);\ndiffuse7Color.rgb=mix(diffuse6Color.rgb,diffuse7Color.rgb,mixColor.b);\nfinalMixColor.rgb=mix(diffuse7Color.rgb,diffuse8Color.rgb,1.0-mixColor.a);\n#endif\n#endif\n#ifdef VERTEXCOLOR\nfinalMixColor.rgb*=vColor.rgb;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,0.0,1.0);\n\nvec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include\ngl_FragColor=color;\n}\n";d.a.ShadersStore.mixPixelShader=Z;var q="precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform mat4 textureMatrix;\nuniform vec2 vTextureInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vTextureInfos.x == 0.)\n{\nvTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n";d.a.ShadersStore.mixVertexShader=q;var J=function(e){function t(){var t=e.call(this)||this;return t.DIFFUSE=!1,t.CLIPPLANE=!1,t.CLIPPLANE2=!1,t.CLIPPLANE3=!1,t.CLIPPLANE4=!1,t.CLIPPLANE5=!1,t.CLIPPLANE6=!1,t.ALPHATEST=!1,t.DEPTHPREPASS=!1,t.POINTSIZE=!1,t.FOG=!1,t.SPECULARTERM=!1,t.NORMAL=!1,t.UV1=!1,t.UV2=!1,t.VERTEXCOLOR=!1,t.VERTEXALPHA=!1,t.NUM_BONE_INFLUENCERS=0,t.BonesPerMesh=0,t.INSTANCES=!1,t.MIXMAP2=!1,t.rebuild(),t}return Object(i.d)(t,e),t}(a.a),$=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.diffuseColor=new o.a(1,1,1),i.specularColor=new o.a(0,0,0),i.specularPower=64,i._disableLighting=!1,i._maxSimultaneousLights=4,i}return Object(i.d)(t,e),t.prototype.needAlphaBlending=function(){return this.alpha<1},t.prototype.needAlphaTesting=function(){return!1},t.prototype.getAlphaTestTexture=function(){return null},t.prototype.isReadyForSubMesh=function(e,t,n){if(this.isFrozen&&t.effect&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new J);var i=t._materialDefines,r=this.getScene();if(!this.checkReadyOnEveryCall&&t.effect&&this._renderId===r.getRenderId())return!0;var o=r.getEngine();if(r.texturesEnabled){if(!this._mixTexture1||!this._mixTexture1.isReady())return!1;if(i._needUVs=!0,l.a.DiffuseTextureEnabled){if(!this._diffuseTexture1||!this._diffuseTexture1.isReady())return!1;if(i.DIFFUSE=!0,!this._diffuseTexture2||!this._diffuseTexture2.isReady())return!1;if(!this._diffuseTexture3||!this._diffuseTexture3.isReady())return!1;if(!this._diffuseTexture4||!this._diffuseTexture4.isReady())return!1;if(this._mixTexture2){if(!this._mixTexture2.isReady())return!1;if(i.MIXMAP2=!0,!this._diffuseTexture5||!this._diffuseTexture5.isReady())return!1;if(!this._diffuseTexture6||!this._diffuseTexture6.isReady())return!1;if(!this._diffuseTexture7||!this._diffuseTexture7.isReady())return!1;if(!this._diffuseTexture8||!this._diffuseTexture8.isReady())return!1}}}if(s.a.PrepareDefinesForMisc(e,r,!1,this.pointsCloud,this.fogEnabled,this._shouldTurnAlphaTestOn(e),i),i._needNormals=s.a.PrepareDefinesForLights(r,e,i,!1,this._maxSimultaneousLights,this._disableLighting),s.a.PrepareDefinesForFrameBoundValues(r,o,i,!!n),s.a.PrepareDefinesForAttributes(e,i,!0,!0),i.isDirty){i.markAsProcessed(),r.resetCachedMaterial();var a=new m.a;i.FOG&&a.addFallback(1,"FOG"),s.a.HandleFallbacksForShadows(i,a,this.maxSimultaneousLights),i.NUM_BONE_INFLUENCERS>0&&a.addCPUSkinningFallback(0,e);var c=[u.b.PositionKind];i.NORMAL&&c.push(u.b.NormalKind),i.UV1&&c.push(u.b.UVKind),i.UV2&&c.push(u.b.UV2Kind),i.VERTEXCOLOR&&c.push(u.b.ColorKind),s.a.PrepareAttributesForBones(c,e,i,a),s.a.PrepareAttributesForInstances(c,i);var p=i.toString(),h=["world","view","viewProjection","vEyePosition","vLightsType","vDiffuseColor","vSpecularColor","vFogInfos","vFogColor","pointSize","vTextureInfos","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","textureMatrix","diffuse1Infos","diffuse2Infos","diffuse3Infos","diffuse4Infos","diffuse5Infos","diffuse6Infos","diffuse7Infos","diffuse8Infos"],d=["mixMap1Sampler","mixMap2Sampler","diffuse1Sampler","diffuse2Sampler","diffuse3Sampler","diffuse4Sampler","diffuse5Sampler","diffuse6Sampler","diffuse7Sampler","diffuse8Sampler"],f=new Array;s.a.PrepareUniformsAndSamplersList({uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:i,maxSimultaneousLights:this.maxSimultaneousLights}),t.setEffect(r.getEngine().createEffect("mix",{attributes:c,uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:p,fallbacks:a,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:this.maxSimultaneousLights}},o),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;o&&(this._activeEffect=o,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),s.a.BindBonesParameters(t,this._activeEffect),this._mustRebind(i,o)&&(this._mixTexture1&&(this._activeEffect.setTexture("mixMap1Sampler",this._mixTexture1),this._activeEffect.setFloat2("vTextureInfos",this._mixTexture1.coordinatesIndex,this._mixTexture1.level),this._activeEffect.setMatrix("textureMatrix",this._mixTexture1.getTextureMatrix()),l.a.DiffuseTextureEnabled&&(this._diffuseTexture1&&(this._activeEffect.setTexture("diffuse1Sampler",this._diffuseTexture1),this._activeEffect.setFloat2("diffuse1Infos",this._diffuseTexture1.uScale,this._diffuseTexture1.vScale)),this._diffuseTexture2&&(this._activeEffect.setTexture("diffuse2Sampler",this._diffuseTexture2),this._activeEffect.setFloat2("diffuse2Infos",this._diffuseTexture2.uScale,this._diffuseTexture2.vScale)),this._diffuseTexture3&&(this._activeEffect.setTexture("diffuse3Sampler",this._diffuseTexture3),this._activeEffect.setFloat2("diffuse3Infos",this._diffuseTexture3.uScale,this._diffuseTexture3.vScale)),this._diffuseTexture4&&(this._activeEffect.setTexture("diffuse4Sampler",this._diffuseTexture4),this._activeEffect.setFloat2("diffuse4Infos",this._diffuseTexture4.uScale,this._diffuseTexture4.vScale)))),this._mixTexture2&&(this._activeEffect.setTexture("mixMap2Sampler",this._mixTexture2),l.a.DiffuseTextureEnabled&&(this._diffuseTexture5&&(this._activeEffect.setTexture("diffuse5Sampler",this._diffuseTexture5),this._activeEffect.setFloat2("diffuse5Infos",this._diffuseTexture5.uScale,this._diffuseTexture5.vScale)),this._diffuseTexture6&&(this._activeEffect.setTexture("diffuse6Sampler",this._diffuseTexture6),this._activeEffect.setFloat2("diffuse6Infos",this._diffuseTexture6.uScale,this._diffuseTexture6.vScale)),this._diffuseTexture7&&(this._activeEffect.setTexture("diffuse7Sampler",this._diffuseTexture7),this._activeEffect.setFloat2("diffuse7Infos",this._diffuseTexture7.uScale,this._diffuseTexture7.vScale)),this._diffuseTexture8&&(this._activeEffect.setTexture("diffuse8Sampler",this._diffuseTexture8),this._activeEffect.setFloat2("diffuse8Infos",this._diffuseTexture8.uScale,this._diffuseTexture8.vScale)))),s.a.BindClipPlane(this._activeEffect,i),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),s.a.BindEyePosition(o,i)),this._activeEffect.setColor4("vDiffuseColor",this.diffuseColor,this.alpha*t.visibility),r.SPECULARTERM&&this._activeEffect.setColor4("vSpecularColor",this.specularColor,this.specularPower),i.lightsEnabled&&!this.disableLighting&&s.a.BindLights(i,t,this._activeEffect,r,this.maxSimultaneousLights),i.fogEnabled&&t.applyFog&&i.fogMode!==p.a.FOGMODE_NONE&&this._activeEffect.setMatrix("view",i.getViewMatrix()),s.a.BindFogParameters(i,t,this._activeEffect),this._afterBind(t,this._activeEffect))}},t.prototype.getAnimatables=function(){var e=[];return this._mixTexture1&&this._mixTexture1.animations&&this._mixTexture1.animations.length>0&&e.push(this._mixTexture1),this._mixTexture2&&this._mixTexture2.animations&&this._mixTexture2.animations.length>0&&e.push(this._mixTexture2),e},t.prototype.getActiveTextures=function(){var t=e.prototype.getActiveTextures.call(this);return this._mixTexture1&&t.push(this._mixTexture1),this._diffuseTexture1&&t.push(this._diffuseTexture1),this._diffuseTexture2&&t.push(this._diffuseTexture2),this._diffuseTexture3&&t.push(this._diffuseTexture3),this._diffuseTexture4&&t.push(this._diffuseTexture4),this._mixTexture2&&t.push(this._mixTexture2),this._diffuseTexture5&&t.push(this._diffuseTexture5),this._diffuseTexture6&&t.push(this._diffuseTexture6),this._diffuseTexture7&&t.push(this._diffuseTexture7),this._diffuseTexture8&&t.push(this._diffuseTexture8),t},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)||(this._mixTexture1===t||(this._diffuseTexture1===t||(this._diffuseTexture2===t||(this._diffuseTexture3===t||(this._diffuseTexture4===t||(this._mixTexture2===t||(this._diffuseTexture5===t||(this._diffuseTexture6===t||(this._diffuseTexture7===t||this._diffuseTexture8===t)))))))))},t.prototype.dispose=function(t){this._mixTexture1&&this._mixTexture1.dispose(),e.prototype.dispose.call(this,t)},t.prototype.clone=function(e){var n=this;return r.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=r.a.Serialize(this);return e.customType="BABYLON.MixMaterial",e},t.prototype.getClassName=function(){return"MixMaterial"},t.Parse=function(e,n,i){return r.a.Parse((function(){return new t(e.name,n)}),e,n,i)},Object(i.c)([Object(r.m)("mixTexture1")],t.prototype,"_mixTexture1",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"mixTexture1",void 0),Object(i.c)([Object(r.m)("mixTexture2")],t.prototype,"_mixTexture2",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"mixTexture2",void 0),Object(i.c)([Object(r.m)("diffuseTexture1")],t.prototype,"_diffuseTexture1",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture1",void 0),Object(i.c)([Object(r.m)("diffuseTexture2")],t.prototype,"_diffuseTexture2",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture2",void 0),Object(i.c)([Object(r.m)("diffuseTexture3")],t.prototype,"_diffuseTexture3",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture3",void 0),Object(i.c)([Object(r.m)("diffuseTexture4")],t.prototype,"_diffuseTexture4",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture4",void 0),Object(i.c)([Object(r.m)("diffuseTexture1")],t.prototype,"_diffuseTexture5",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture5",void 0),Object(i.c)([Object(r.m)("diffuseTexture2")],t.prototype,"_diffuseTexture6",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture6",void 0),Object(i.c)([Object(r.m)("diffuseTexture3")],t.prototype,"_diffuseTexture7",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture7",void 0),Object(i.c)([Object(r.m)("diffuseTexture4")],t.prototype,"_diffuseTexture8",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture8",void 0),Object(i.c)([Object(r.e)()],t.prototype,"diffuseColor",void 0),Object(i.c)([Object(r.e)()],t.prototype,"specularColor",void 0),Object(i.c)([Object(r.c)()],t.prototype,"specularPower",void 0),Object(i.c)([Object(r.c)("disableLighting")],t.prototype,"_disableLighting",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"disableLighting",void 0),Object(i.c)([Object(r.c)("maxSimultaneousLights")],t.prototype,"_maxSimultaneousLights",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"maxSimultaneousLights",void 0),t}(c.a);h.a.RegisteredTypes["BABYLON.MixMaterial"]=$;var ee="precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef LIGHTING\n\n#include\n\n#include<__decl__lightFragment>[0]\n#include<__decl__lightFragment>[1]\n#include<__decl__lightFragment>[2]\n#include<__decl__lightFragment>[3]\n#include\n#include\n#endif\n\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n#include\n\n#include\nvoid main(void) {\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n#ifdef DIFFUSE\nbaseColor=texture2D(diffuseSampler,vDiffuseUV);\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef NORMAL\nbaseColor=mix(baseColor,vec4(vNormalW,1.0),0.5);\n#endif\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n\n#ifdef LIGHTING\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\nfloat glossiness=0.;\n#include[0]\n#include[1]\n#include[2]\n#include[3]\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\n#else\nvec3 finalDiffuse=baseColor.rgb;\n#endif\n\nvec4 color=vec4(finalDiffuse,alpha);\n#include\ngl_FragColor=color;\n}";d.a.ShadersStore.normalPixelShader=ee;var te="precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vDiffuseInfos.x == 0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n#include[0..maxSimultaneousLights]\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n";d.a.ShadersStore.normalVertexShader=te;var ne=function(e){function t(){var t=e.call(this)||this;return t.DIFFUSE=!1,t.CLIPPLANE=!1,t.CLIPPLANE2=!1,t.CLIPPLANE3=!1,t.CLIPPLANE4=!1,t.CLIPPLANE5=!1,t.CLIPPLANE6=!1,t.ALPHATEST=!1,t.DEPTHPREPASS=!1,t.POINTSIZE=!1,t.FOG=!1,t.LIGHT0=!1,t.LIGHT1=!1,t.LIGHT2=!1,t.LIGHT3=!1,t.SPOTLIGHT0=!1,t.SPOTLIGHT1=!1,t.SPOTLIGHT2=!1,t.SPOTLIGHT3=!1,t.HEMILIGHT0=!1,t.HEMILIGHT1=!1,t.HEMILIGHT2=!1,t.HEMILIGHT3=!1,t.DIRLIGHT0=!1,t.DIRLIGHT1=!1,t.DIRLIGHT2=!1,t.DIRLIGHT3=!1,t.POINTLIGHT0=!1,t.POINTLIGHT1=!1,t.POINTLIGHT2=!1,t.POINTLIGHT3=!1,t.SHADOW0=!1,t.SHADOW1=!1,t.SHADOW2=!1,t.SHADOW3=!1,t.SHADOWS=!1,t.SHADOWESM0=!1,t.SHADOWESM1=!1,t.SHADOWESM2=!1,t.SHADOWESM3=!1,t.SHADOWPOISSON0=!1,t.SHADOWPOISSON1=!1,t.SHADOWPOISSON2=!1,t.SHADOWPOISSON3=!1,t.SHADOWPCF0=!1,t.SHADOWPCF1=!1,t.SHADOWPCF2=!1,t.SHADOWPCF3=!1,t.SHADOWPCSS0=!1,t.SHADOWPCSS1=!1,t.SHADOWPCSS2=!1,t.SHADOWPCSS3=!1,t.NORMAL=!1,t.UV1=!1,t.UV2=!1,t.NUM_BONE_INFLUENCERS=0,t.BonesPerMesh=0,t.INSTANCES=!1,t.LIGHTING=!1,t.rebuild(),t}return Object(i.d)(t,e),t}(a.a),ie=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.diffuseColor=new o.a(1,1,1),i._disableLighting=!1,i._maxSimultaneousLights=4,i}return Object(i.d)(t,e),t.prototype.needAlphaBlending=function(){return this.alpha<1},t.prototype.needAlphaBlendingForMesh=function(e){return this.needAlphaBlending()||e.visibility<1},t.prototype.needAlphaTesting=function(){return!1},t.prototype.getAlphaTestTexture=function(){return null},t.prototype.isReadyForSubMesh=function(e,t,n){if(this.isFrozen&&t.effect&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new ne);var i=t._materialDefines,r=this.getScene();if(!this.checkReadyOnEveryCall&&t.effect&&this._renderId===r.getRenderId())return!0;var o=r.getEngine();if(i._areTexturesDirty&&(i._needUVs=!1,r.texturesEnabled&&this._diffuseTexture&&l.a.DiffuseTextureEnabled)){if(!this._diffuseTexture.isReady())return!1;i._needUVs=!0,i.DIFFUSE=!0}if(s.a.PrepareDefinesForMisc(e,r,!1,this.pointsCloud,this.fogEnabled,this._shouldTurnAlphaTestOn(e),i),i._needNormals=!0,s.a.PrepareDefinesForLights(r,e,i,!1,this._maxSimultaneousLights,this._disableLighting),s.a.PrepareDefinesForFrameBoundValues(r,o,i,!!n),i.LIGHTING=!this._disableLighting,s.a.PrepareDefinesForAttributes(e,i,!0,!0),i.isDirty){i.markAsProcessed(),r.resetCachedMaterial();var a=new m.a;i.FOG&&a.addFallback(1,"FOG"),s.a.HandleFallbacksForShadows(i,a),i.NUM_BONE_INFLUENCERS>0&&a.addCPUSkinningFallback(0,e);var c=[u.b.PositionKind];i.NORMAL&&c.push(u.b.NormalKind),i.UV1&&c.push(u.b.UVKind),i.UV2&&c.push(u.b.UV2Kind),s.a.PrepareAttributesForBones(c,e,i,a),s.a.PrepareAttributesForInstances(c,i);var p=i.toString(),h=["world","view","viewProjection","vEyePosition","vLightsType","vDiffuseColor","vFogInfos","vFogColor","pointSize","vDiffuseInfos","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","diffuseMatrix"],d=["diffuseSampler"],f=new Array;s.a.PrepareUniformsAndSamplersList({uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:i,maxSimultaneousLights:4}),t.setEffect(r.getEngine().createEffect("normal",{attributes:c,uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:p,fallbacks:a,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:4}},o),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;o&&(this._activeEffect=o,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),s.a.BindBonesParameters(t,this._activeEffect),this._mustRebind(i,o)&&(this.diffuseTexture&&l.a.DiffuseTextureEnabled&&(this._activeEffect.setTexture("diffuseSampler",this.diffuseTexture),this._activeEffect.setFloat2("vDiffuseInfos",this.diffuseTexture.coordinatesIndex,this.diffuseTexture.level),this._activeEffect.setMatrix("diffuseMatrix",this.diffuseTexture.getTextureMatrix())),s.a.BindClipPlane(this._activeEffect,i),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),s.a.BindEyePosition(o,i)),this._activeEffect.setColor4("vDiffuseColor",this.diffuseColor,this.alpha*t.visibility),i.lightsEnabled&&!this.disableLighting&&s.a.BindLights(i,t,this._activeEffect,r),i.fogEnabled&&t.applyFog&&i.fogMode!==p.a.FOGMODE_NONE&&this._activeEffect.setMatrix("view",i.getViewMatrix()),s.a.BindFogParameters(i,t,this._activeEffect),this._afterBind(t,this._activeEffect))}},t.prototype.getAnimatables=function(){var e=[];return this.diffuseTexture&&this.diffuseTexture.animations&&this.diffuseTexture.animations.length>0&&e.push(this.diffuseTexture),e},t.prototype.getActiveTextures=function(){var t=e.prototype.getActiveTextures.call(this);return this._diffuseTexture&&t.push(this._diffuseTexture),t},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)||this.diffuseTexture===t},t.prototype.dispose=function(t){this.diffuseTexture&&this.diffuseTexture.dispose(),e.prototype.dispose.call(this,t)},t.prototype.clone=function(e){var n=this;return r.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=r.a.Serialize(this);return e.customType="BABYLON.NormalMaterial",e},t.prototype.getClassName=function(){return"NormalMaterial"},t.Parse=function(e,n,i){return r.a.Parse((function(){return new t(e.name,n)}),e,n,i)},Object(i.c)([Object(r.m)("diffuseTexture")],t.prototype,"_diffuseTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture",void 0),Object(i.c)([Object(r.e)()],t.prototype,"diffuseColor",void 0),Object(i.c)([Object(r.c)("disableLighting")],t.prototype,"_disableLighting",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"disableLighting",void 0),Object(i.c)([Object(r.c)("maxSimultaneousLights")],t.prototype,"_maxSimultaneousLights",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"maxSimultaneousLights",void 0),t}(c.a);h.a.RegisteredTypes["BABYLON.NormalMaterial"]=ie;var re="precision highp float;\n\nuniform vec3 vEyePosition;\nuniform float alpha;\nuniform vec3 shadowColor;\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n#include\n#include\n\n#include\nvoid main(void) {\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\nfloat glossiness=0.;\n#include[0..1]\n\nvec4 color=vec4(shadowColor,(1.0-clamp(shadow,0.,1.))*alpha);\n#include\ngl_FragColor=color;\n}";d.a.ShadersStore.shadowOnlyPixelShader=re;var oe="precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#include\n\n#include\n#include[0..maxSimultaneousLights]\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n";d.a.ShadersStore.shadowOnlyVertexShader=oe;var ae=function(e){function t(){var t=e.call(this)||this;return t.CLIPPLANE=!1,t.CLIPPLANE2=!1,t.CLIPPLANE3=!1,t.CLIPPLANE4=!1,t.CLIPPLANE5=!1,t.CLIPPLANE6=!1,t.POINTSIZE=!1,t.FOG=!1,t.NORMAL=!1,t.NUM_BONE_INFLUENCERS=0,t.BonesPerMesh=0,t.INSTANCES=!1,t.rebuild(),t}return Object(i.d)(t,e),t}(a.a),se=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.shadowColor=o.a.Black(),i}return Object(i.d)(t,e),t.prototype.needAlphaBlending=function(){return!0},t.prototype.needAlphaTesting=function(){return!1},t.prototype.getAlphaTestTexture=function(){return null},Object.defineProperty(t.prototype,"activeLight",{get:function(){return this._activeLight},set:function(e){this._activeLight=e},enumerable:!0,configurable:!0}),t.prototype.isReadyForSubMesh=function(e,t,n){if(this.isFrozen&&t.effect&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new ae);var i=t._materialDefines,r=this.getScene();if(!this.checkReadyOnEveryCall&&t.effect&&this._renderId===r.getRenderId())return!0;var o=r.getEngine();if(this._activeLight)for(var a=0,c=e.lightSources;a0&&h.addCPUSkinningFallback(0,e);var d=[u.b.PositionKind];i.NORMAL&&d.push(u.b.NormalKind),s.a.PrepareAttributesForBones(d,e,i,h),s.a.PrepareAttributesForInstances(d,i);var f=i.toString(),_=["world","view","viewProjection","vEyePosition","vLightsType","vFogInfos","vFogColor","pointSize","alpha","shadowColor","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6"],b=new Array,g=new Array;s.a.PrepareUniformsAndSamplersList({uniformsNames:_,uniformBuffersNames:g,samplers:b,defines:i,maxSimultaneousLights:1}),t.setEffect(r.getEngine().createEffect("shadowOnly",{attributes:d,uniformsNames:_,uniformBuffersNames:g,samplers:b,defines:f,fallbacks:h,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:1}},o),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;o&&(this._activeEffect=o,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),s.a.BindBonesParameters(t,this._activeEffect),this._mustRebind(i,o)&&(s.a.BindClipPlane(this._activeEffect,i),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),this._activeEffect.setFloat("alpha",this.alpha),this._activeEffect.setColor3("shadowColor",this.shadowColor),s.a.BindEyePosition(o,i)),i.lightsEnabled&&s.a.BindLights(i,t,this._activeEffect,r,1),i.fogEnabled&&t.applyFog&&i.fogMode!==p.a.FOGMODE_NONE&&this._activeEffect.setMatrix("view",i.getViewMatrix()),s.a.BindFogParameters(i,t,this._activeEffect),this._afterBind(t,this._activeEffect))}},t.prototype.clone=function(e){var n=this;return r.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=r.a.Serialize(this);return e.customType="BABYLON.ShadowOnlyMaterial",e},t.prototype.getClassName=function(){return"ShadowOnlyMaterial"},t.Parse=function(e,n,i){return r.a.Parse((function(){return new t(e.name,n)}),e,n,i)},t}(c.a);h.a.RegisteredTypes["BABYLON.ShadowOnlyMaterial"]=se;var ce="precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n#include\n\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n#include\n\n#include\nvoid main(void) {\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n#ifdef DIFFUSE\nbaseColor=texture2D(diffuseSampler,vDiffuseUV);\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\nfloat glossiness=0.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\n\nvec4 color=vec4(finalDiffuse,alpha);\n#include\ngl_FragColor=color;\n}";d.a.ShadersStore.simplePixelShader=ce;var le="precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vDiffuseInfos.x == 0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n";d.a.ShadersStore.simpleVertexShader=le;var ue=function(e){function t(){var t=e.call(this)||this;return t.DIFFUSE=!1,t.CLIPPLANE=!1,t.CLIPPLANE2=!1,t.CLIPPLANE3=!1,t.CLIPPLANE4=!1,t.CLIPPLANE5=!1,t.CLIPPLANE6=!1,t.ALPHATEST=!1,t.DEPTHPREPASS=!1,t.POINTSIZE=!1,t.FOG=!1,t.NORMAL=!1,t.UV1=!1,t.UV2=!1,t.VERTEXCOLOR=!1,t.VERTEXALPHA=!1,t.NUM_BONE_INFLUENCERS=0,t.BonesPerMesh=0,t.INSTANCES=!1,t.rebuild(),t}return Object(i.d)(t,e),t}(a.a),pe=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.diffuseColor=new o.a(1,1,1),i._disableLighting=!1,i._maxSimultaneousLights=4,i}return Object(i.d)(t,e),t.prototype.needAlphaBlending=function(){return this.alpha<1},t.prototype.needAlphaTesting=function(){return!1},t.prototype.getAlphaTestTexture=function(){return null},t.prototype.isReadyForSubMesh=function(e,t,n){if(this.isFrozen&&t.effect&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new ue);var i=t._materialDefines,r=this.getScene();if(!this.checkReadyOnEveryCall&&t.effect&&this._renderId===r.getRenderId())return!0;var o=r.getEngine();if(i._areTexturesDirty&&(i._needUVs=!1,r.texturesEnabled&&this._diffuseTexture&&l.a.DiffuseTextureEnabled)){if(!this._diffuseTexture.isReady())return!1;i._needUVs=!0,i.DIFFUSE=!0}if(s.a.PrepareDefinesForMisc(e,r,!1,this.pointsCloud,this.fogEnabled,this._shouldTurnAlphaTestOn(e),i),i._needNormals=s.a.PrepareDefinesForLights(r,e,i,!1,this._maxSimultaneousLights,this._disableLighting),s.a.PrepareDefinesForFrameBoundValues(r,o,i,!!n),s.a.PrepareDefinesForAttributes(e,i,!0,!0),i.isDirty){i.markAsProcessed(),r.resetCachedMaterial();var a=new m.a;i.FOG&&a.addFallback(1,"FOG"),s.a.HandleFallbacksForShadows(i,a,this.maxSimultaneousLights),i.NUM_BONE_INFLUENCERS>0&&a.addCPUSkinningFallback(0,e);var c=[u.b.PositionKind];i.NORMAL&&c.push(u.b.NormalKind),i.UV1&&c.push(u.b.UVKind),i.UV2&&c.push(u.b.UV2Kind),i.VERTEXCOLOR&&c.push(u.b.ColorKind),s.a.PrepareAttributesForBones(c,e,i,a),s.a.PrepareAttributesForInstances(c,i);var p=i.toString(),h=["world","view","viewProjection","vEyePosition","vLightsType","vDiffuseColor","vFogInfos","vFogColor","pointSize","vDiffuseInfos","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","diffuseMatrix"],d=["diffuseSampler"],f=new Array;s.a.PrepareUniformsAndSamplersList({uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:i,maxSimultaneousLights:this.maxSimultaneousLights}),t.setEffect(r.getEngine().createEffect("simple",{attributes:c,uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:p,fallbacks:a,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:this._maxSimultaneousLights-1}},o),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;o&&(this._activeEffect=o,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),s.a.BindBonesParameters(t,this._activeEffect),this._mustRebind(i,o)&&(this._diffuseTexture&&l.a.DiffuseTextureEnabled&&(this._activeEffect.setTexture("diffuseSampler",this._diffuseTexture),this._activeEffect.setFloat2("vDiffuseInfos",this._diffuseTexture.coordinatesIndex,this._diffuseTexture.level),this._activeEffect.setMatrix("diffuseMatrix",this._diffuseTexture.getTextureMatrix())),s.a.BindClipPlane(this._activeEffect,i),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),s.a.BindEyePosition(o,i)),this._activeEffect.setColor4("vDiffuseColor",this.diffuseColor,this.alpha*t.visibility),i.lightsEnabled&&!this.disableLighting&&s.a.BindLights(i,t,this._activeEffect,r,this.maxSimultaneousLights),i.fogEnabled&&t.applyFog&&i.fogMode!==p.a.FOGMODE_NONE&&this._activeEffect.setMatrix("view",i.getViewMatrix()),s.a.BindFogParameters(i,t,this._activeEffect),this._afterBind(t,this._activeEffect))}},t.prototype.getAnimatables=function(){var e=[];return this._diffuseTexture&&this._diffuseTexture.animations&&this._diffuseTexture.animations.length>0&&e.push(this._diffuseTexture),e},t.prototype.getActiveTextures=function(){var t=e.prototype.getActiveTextures.call(this);return this._diffuseTexture&&t.push(this._diffuseTexture),t},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)||this.diffuseTexture===t},t.prototype.dispose=function(t){this._diffuseTexture&&this._diffuseTexture.dispose(),e.prototype.dispose.call(this,t)},t.prototype.clone=function(e){var n=this;return r.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=r.a.Serialize(this);return e.customType="BABYLON.SimpleMaterial",e},t.prototype.getClassName=function(){return"SimpleMaterial"},t.Parse=function(e,n,i){return r.a.Parse((function(){return new t(e.name,n)}),e,n,i)},Object(i.c)([Object(r.m)("diffuseTexture")],t.prototype,"_diffuseTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture",void 0),Object(i.c)([Object(r.e)("diffuse")],t.prototype,"diffuseColor",void 0),Object(i.c)([Object(r.c)("disableLighting")],t.prototype,"_disableLighting",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"disableLighting",void 0),Object(i.c)([Object(r.c)("maxSimultaneousLights")],t.prototype,"_maxSimultaneousLights",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"maxSimultaneousLights",void 0),t}(c.a);h.a.RegisteredTypes["BABYLON.SimpleMaterial"]=pe;var he="precision highp float;\n\nvarying vec3 vPositionW;\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n\nuniform vec3 cameraPosition;\nuniform vec3 cameraOffset;\nuniform float luminance;\nuniform float turbidity;\nuniform float rayleigh;\nuniform float mieCoefficient;\nuniform float mieDirectionalG;\nuniform vec3 sunPosition;\n\n#include\n\nconst float e=2.71828182845904523536028747135266249775724709369995957;\nconst float pi=3.141592653589793238462643383279502884197169;\nconst float n=1.0003;\nconst float N=2.545E25;\nconst float pn=0.035;\nconst vec3 lambda=vec3(680E-9,550E-9,450E-9);\nconst vec3 K=vec3(0.686,0.678,0.666);\nconst float v=4.0;\nconst float rayleighZenithLength=8.4E3;\nconst float mieZenithLength=1.25E3;\nconst vec3 up=vec3(0.0,1.0,0.0);\nconst float EE=1000.0;\nconst float sunAngularDiameterCos=0.999956676946448443553574619906976478926848692873900859324;\nconst float cutoffAngle=pi/1.95;\nconst float steepness=1.5;\nvec3 totalRayleigh(vec3 lambda)\n{\nreturn (8.0*pow(pi,3.0)*pow(pow(n,2.0)-1.0,2.0)*(6.0+3.0*pn))/(3.0*N*pow(lambda,vec3(4.0))*(6.0-7.0*pn));\n}\nvec3 simplifiedRayleigh()\n{\nreturn 0.0005/vec3(94,40,18);\n}\nfloat rayleighPhase(float cosTheta)\n{\nreturn (3.0/(16.0*pi))*(1.0+pow(cosTheta,2.0));\n}\nvec3 totalMie(vec3 lambda,vec3 K,float T)\n{\nfloat c=(0.2*T )*10E-18;\nreturn 0.434*c*pi*pow((2.0*pi)/lambda,vec3(v-2.0))*K;\n}\nfloat hgPhase(float cosTheta,float g)\n{\nreturn (1.0/(4.0*pi))*((1.0-pow(g,2.0))/pow(1.0-2.0*g*cosTheta+pow(g,2.0),1.5));\n}\nfloat sunIntensity(float zenithAngleCos)\n{\nreturn EE*max(0.0,1.0-exp((-(cutoffAngle-acos(zenithAngleCos))/steepness)));\n}\nfloat A=0.15;\nfloat B=0.50;\nfloat C=0.10;\nfloat D=0.20;\nfloat EEE=0.02;\nfloat F=0.30;\nfloat W=1000.0;\nvec3 Uncharted2Tonemap(vec3 x)\n{\nreturn ((x*(A*x+C*B)+D*EEE)/(x*(A*x+B)+D*F))-EEE/F;\n}\nvoid main(void) {\n\n#include\n\nfloat sunfade=1.0-clamp(1.0-exp((sunPosition.y/450000.0)),0.0,1.0);\nfloat rayleighCoefficient=rayleigh-(1.0*(1.0-sunfade));\nvec3 sunDirection=normalize(sunPosition);\nfloat sunE=sunIntensity(dot(sunDirection,up));\nvec3 betaR=simplifiedRayleigh()*rayleighCoefficient;\nvec3 betaM=totalMie(lambda,K,turbidity)*mieCoefficient;\nfloat zenithAngle=acos(max(0.0,dot(up,normalize(vPositionW-cameraPosition+cameraOffset))));\nfloat sR=rayleighZenithLength/(cos(zenithAngle)+0.15*pow(93.885-((zenithAngle*180.0)/pi),-1.253));\nfloat sM=mieZenithLength/(cos(zenithAngle)+0.15*pow(93.885-((zenithAngle*180.0)/pi),-1.253));\nvec3 Fex=exp(-(betaR*sR+betaM*sM));\nfloat cosTheta=dot(normalize(vPositionW-cameraPosition),sunDirection);\nfloat rPhase=rayleighPhase(cosTheta*0.5+0.5);\nvec3 betaRTheta=betaR*rPhase;\nfloat mPhase=hgPhase(cosTheta,mieDirectionalG);\nvec3 betaMTheta=betaM*mPhase;\nvec3 Lin=pow(sunE*((betaRTheta+betaMTheta)/(betaR+betaM))*(1.0-Fex),vec3(1.5));\nLin*=mix(vec3(1.0),pow(sunE*((betaRTheta+betaMTheta)/(betaR+betaM))*Fex,vec3(1.0/2.0)),clamp(pow(1.0-dot(up,sunDirection),5.0),0.0,1.0));\nvec3 direction=normalize(vPositionW-cameraPosition);\nfloat theta=acos(direction.y);\nfloat phi=atan(direction.z,direction.x);\nvec2 uv=vec2(phi,theta)/vec2(2.0*pi,pi)+vec2(0.5,0.0);\nvec3 L0=vec3(0.1)*Fex;\nfloat sundisk=smoothstep(sunAngularDiameterCos,sunAngularDiameterCos+0.00002,cosTheta);\nL0+=(sunE*19000.0*Fex)*sundisk;\nvec3 whiteScale=1.0/Uncharted2Tonemap(vec3(W));\nvec3 texColor=(Lin+L0);\ntexColor*=0.04 ;\ntexColor+=vec3(0.0,0.001,0.0025)*0.3;\nfloat g_fMaxLuminance=1.0;\nfloat fLumScaled=0.1/luminance;\nfloat fLumCompressed=(fLumScaled*(1.0+(fLumScaled/(g_fMaxLuminance*g_fMaxLuminance))))/(1.0+fLumScaled);\nfloat ExposureBias=fLumCompressed;\nvec3 curr=Uncharted2Tonemap((log2(2.0/pow(luminance,4.0)))*texColor);\n\n\n\nvec3 retColor=curr*whiteScale;\n\n\nfloat alpha=1.0;\n#ifdef VERTEXCOLOR\nretColor.rgb*=vColor.rgb;\n#endif\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n\nvec4 color=clamp(vec4(retColor.rgb,alpha),0.0,1.0);\n\n#include\ngl_FragColor=color;\n}\n";d.a.ShadersStore.skyPixelShader=he;var de="precision highp float;\n\nattribute vec3 position;\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n\nuniform mat4 world;\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\nvoid main(void) {\ngl_Position=viewProjection*world*vec4(position,1.0);\nvec4 worldPos=world*vec4(position,1.0);\nvPositionW=vec3(worldPos);\n\n#include\n\n#include\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n";d.a.ShadersStore.skyVertexShader=de;var fe=function(e){function t(){var t=e.call(this)||this;return t.CLIPPLANE=!1,t.CLIPPLANE2=!1,t.CLIPPLANE3=!1,t.CLIPPLANE4=!1,t.CLIPPLANE5=!1,t.CLIPPLANE6=!1,t.POINTSIZE=!1,t.FOG=!1,t.VERTEXCOLOR=!1,t.VERTEXALPHA=!1,t.rebuild(),t}return Object(i.d)(t,e),t}(a.a),_e=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.luminance=1,i.turbidity=10,i.rayleigh=2,i.mieCoefficient=.005,i.mieDirectionalG=.8,i.distance=500,i.inclination=.49,i.azimuth=.25,i.sunPosition=new w.e(0,100,0),i.useSunPosition=!1,i.cameraOffset=w.e.Zero(),i._cameraPosition=w.e.Zero(),i}return Object(i.d)(t,e),t.prototype.needAlphaBlending=function(){return this.alpha<1},t.prototype.needAlphaTesting=function(){return!1},t.prototype.getAlphaTestTexture=function(){return null},t.prototype.isReadyForSubMesh=function(e,t,n){if(this.isFrozen&&t.effect&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new fe);var i=t._materialDefines,r=this.getScene();if(!this.checkReadyOnEveryCall&&t.effect&&this._renderId===r.getRenderId())return!0;if(s.a.PrepareDefinesForMisc(e,r,!1,this.pointsCloud,this.fogEnabled,!1,i),s.a.PrepareDefinesForAttributes(e,i,!0,!1),i.isDirty){i.markAsProcessed(),r.resetCachedMaterial();var o=new m.a;i.FOG&&o.addFallback(1,"FOG");var a=[u.b.PositionKind];i.VERTEXCOLOR&&a.push(u.b.ColorKind);var c=i.toString();t.setEffect(r.getEngine().createEffect("sky",a,["world","viewProjection","view","vFogInfos","vFogColor","pointSize","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","luminance","turbidity","rayleigh","mieCoefficient","mieDirectionalG","sunPosition","cameraPosition","cameraOffset"],[],c,o,this.onCompiled,this.onError),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene();if(n._materialDefines){var r=n.effect;if(r){this._activeEffect=r,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),this._mustRebind(i,r)&&(s.a.BindClipPlane(this._activeEffect,i),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize)),i.fogEnabled&&t.applyFog&&i.fogMode!==p.a.FOGMODE_NONE&&this._activeEffect.setMatrix("view",i.getViewMatrix()),s.a.BindFogParameters(i,t,this._activeEffect);var o=i.activeCamera;if(o){var a=o.getWorldMatrix();this._cameraPosition.x=a.m[12],this._cameraPosition.y=a.m[13],this._cameraPosition.z=a.m[14],this._activeEffect.setVector3("cameraPosition",this._cameraPosition)}if(this._activeEffect.setVector3("cameraOffset",this.cameraOffset),this.luminance>0&&this._activeEffect.setFloat("luminance",this.luminance),this._activeEffect.setFloat("turbidity",this.turbidity),this._activeEffect.setFloat("rayleigh",this.rayleigh),this._activeEffect.setFloat("mieCoefficient",this.mieCoefficient),this._activeEffect.setFloat("mieDirectionalG",this.mieDirectionalG),!this.useSunPosition){var c=Math.PI*(this.inclination-.5),l=2*Math.PI*(this.azimuth-.5);this.sunPosition.x=this.distance*Math.cos(l),this.sunPosition.y=this.distance*Math.sin(l)*Math.sin(c),this.sunPosition.z=this.distance*Math.sin(l)*Math.cos(c)}this._activeEffect.setVector3("sunPosition",this.sunPosition),this._afterBind(t,this._activeEffect)}}},t.prototype.getAnimatables=function(){return[]},t.prototype.dispose=function(t){e.prototype.dispose.call(this,t)},t.prototype.clone=function(e){var n=this;return r.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=r.a.Serialize(this);return e.customType="BABYLON.SkyMaterial",e},t.prototype.getClassName=function(){return"SkyMaterial"},t.Parse=function(e,n,i){return r.a.Parse((function(){return new t(e.name,n)}),e,n,i)},Object(i.c)([Object(r.c)()],t.prototype,"luminance",void 0),Object(i.c)([Object(r.c)()],t.prototype,"turbidity",void 0),Object(i.c)([Object(r.c)()],t.prototype,"rayleigh",void 0),Object(i.c)([Object(r.c)()],t.prototype,"mieCoefficient",void 0),Object(i.c)([Object(r.c)()],t.prototype,"mieDirectionalG",void 0),Object(i.c)([Object(r.c)()],t.prototype,"distance",void 0),Object(i.c)([Object(r.c)()],t.prototype,"inclination",void 0),Object(i.c)([Object(r.c)()],t.prototype,"azimuth",void 0),Object(i.c)([Object(r.o)()],t.prototype,"sunPosition",void 0),Object(i.c)([Object(r.c)()],t.prototype,"useSunPosition",void 0),Object(i.c)([Object(r.c)()],t.prototype,"cameraOffset",void 0),t}(c.a);h.a.RegisteredTypes["BABYLON.SkyMaterial"]=_e;var me="precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform sampler2D textureSampler;\nuniform vec2 vTextureInfos;\nuniform sampler2D diffuse1Sampler;\nuniform sampler2D diffuse2Sampler;\nuniform sampler2D diffuse3Sampler;\nuniform vec2 diffuse1Infos;\nuniform vec2 diffuse2Infos;\nuniform vec2 diffuse3Infos;\n#endif\n#ifdef BUMP\nuniform sampler2D bump1Sampler;\nuniform sampler2D bump2Sampler;\nuniform sampler2D bump3Sampler;\n#endif\n\n#include\n#include\n#include\n\n#include\n\n#ifdef BUMP\n#extension GL_OES_standard_derivatives : enable\n\nmat3 cotangent_frame(vec3 normal,vec3 p,vec2 uv)\n{\n\nvec3 dp1=dFdx(p);\nvec3 dp2=dFdy(p);\nvec2 duv1=dFdx(uv);\nvec2 duv2=dFdy(uv);\n\nvec3 dp2perp=cross(dp2,normal);\nvec3 dp1perp=cross(normal,dp1);\nvec3 tangent=dp2perp*duv1.x+dp1perp*duv2.x;\nvec3 binormal=dp2perp*duv1.y+dp1perp*duv2.y;\n\nfloat invmax=inversesqrt(max(dot(tangent,tangent),dot(binormal,binormal)));\nreturn mat3(tangent*invmax,binormal*invmax,normal);\n}\nvec3 perturbNormal(vec3 viewDir,vec3 mixColor)\n{\nvec3 bump1Color=texture2D(bump1Sampler,vTextureUV*diffuse1Infos).xyz;\nvec3 bump2Color=texture2D(bump2Sampler,vTextureUV*diffuse2Infos).xyz;\nvec3 bump3Color=texture2D(bump3Sampler,vTextureUV*diffuse3Infos).xyz;\nbump1Color.rgb*=mixColor.r;\nbump2Color.rgb=mix(bump1Color.rgb,bump2Color.rgb,mixColor.g);\nvec3 map=mix(bump2Color.rgb,bump3Color.rgb,mixColor.b);\nmap=map*255./127.-128./127.;\nmat3 TBN=cotangent_frame(vNormalW*vTextureInfos.y,-viewDir,vTextureUV);\nreturn normalize(TBN*map);\n}\n#endif\nvoid main(void) {\n\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n\nfloat alpha=vDiffuseColor.a;\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#ifdef DIFFUSE\nbaseColor=texture2D(textureSampler,vTextureUV);\n#if defined(BUMP) && defined(DIFFUSE)\nnormalW=perturbNormal(viewDirectionW,baseColor.rgb);\n#endif\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\nbaseColor.rgb*=vTextureInfos.y;\nvec4 diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\nvec4 diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\nvec4 diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\ndiffuse1Color.rgb*=baseColor.r;\ndiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,baseColor.g);\nbaseColor.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,baseColor.b);\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\n#include[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor*baseColor.rgb,0.0,1.0);\n\nvec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include\ngl_FragColor=color;\n}\n";d.a.ShadersStore.terrainPixelShader=me;var be="precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vTextureUV;\nuniform mat4 textureMatrix;\nuniform vec2 vTextureInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vTextureInfos.x == 0.)\n{\nvTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n";d.a.ShadersStore.terrainVertexShader=be;var ge=function(e){function t(){var t=e.call(this)||this;return t.DIFFUSE=!1,t.BUMP=!1,t.CLIPPLANE=!1,t.CLIPPLANE2=!1,t.CLIPPLANE3=!1,t.CLIPPLANE4=!1,t.CLIPPLANE5=!1,t.CLIPPLANE6=!1,t.ALPHATEST=!1,t.DEPTHPREPASS=!1,t.POINTSIZE=!1,t.FOG=!1,t.SPECULARTERM=!1,t.NORMAL=!1,t.UV1=!1,t.UV2=!1,t.VERTEXCOLOR=!1,t.VERTEXALPHA=!1,t.NUM_BONE_INFLUENCERS=0,t.BonesPerMesh=0,t.INSTANCES=!1,t.rebuild(),t}return Object(i.d)(t,e),t}(a.a),ve=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.diffuseColor=new o.a(1,1,1),i.specularColor=new o.a(0,0,0),i.specularPower=64,i._disableLighting=!1,i._maxSimultaneousLights=4,i}return Object(i.d)(t,e),t.prototype.needAlphaBlending=function(){return this.alpha<1},t.prototype.needAlphaTesting=function(){return!1},t.prototype.getAlphaTestTexture=function(){return null},t.prototype.isReadyForSubMesh=function(e,t,n){if(this.isFrozen&&t.effect&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new ge);var i=t._materialDefines,r=this.getScene();if(!this.checkReadyOnEveryCall&&t.effect&&this._renderId===r.getRenderId())return!0;var o=r.getEngine();if(r.texturesEnabled){if(!this.mixTexture||!this.mixTexture.isReady())return!1;if(i._needUVs=!0,l.a.DiffuseTextureEnabled){if(!this.diffuseTexture1||!this.diffuseTexture1.isReady())return!1;if(!this.diffuseTexture2||!this.diffuseTexture2.isReady())return!1;if(!this.diffuseTexture3||!this.diffuseTexture3.isReady())return!1;i.DIFFUSE=!0}if(this.bumpTexture1&&this.bumpTexture2&&this.bumpTexture3&&l.a.BumpTextureEnabled){if(!this.bumpTexture1.isReady())return!1;if(!this.bumpTexture2.isReady())return!1;if(!this.bumpTexture3.isReady())return!1;i._needNormals=!0,i.BUMP=!0}}if(s.a.PrepareDefinesForMisc(e,r,!1,this.pointsCloud,this.fogEnabled,this._shouldTurnAlphaTestOn(e),i),i._needNormals=s.a.PrepareDefinesForLights(r,e,i,!1,this._maxSimultaneousLights,this._disableLighting),s.a.PrepareDefinesForFrameBoundValues(r,o,i,!!n),s.a.PrepareDefinesForAttributes(e,i,!0,!0),i.isDirty){i.markAsProcessed(),r.resetCachedMaterial();var a=new m.a;i.FOG&&a.addFallback(1,"FOG"),s.a.HandleFallbacksForShadows(i,a,this.maxSimultaneousLights),i.NUM_BONE_INFLUENCERS>0&&a.addCPUSkinningFallback(0,e);var c=[u.b.PositionKind];i.NORMAL&&c.push(u.b.NormalKind),i.UV1&&c.push(u.b.UVKind),i.UV2&&c.push(u.b.UV2Kind),i.VERTEXCOLOR&&c.push(u.b.ColorKind),s.a.PrepareAttributesForBones(c,e,i,a),s.a.PrepareAttributesForInstances(c,i);var p=i.toString(),h=["world","view","viewProjection","vEyePosition","vLightsType","vDiffuseColor","vSpecularColor","vFogInfos","vFogColor","pointSize","vTextureInfos","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","textureMatrix","diffuse1Infos","diffuse2Infos","diffuse3Infos"],d=["textureSampler","diffuse1Sampler","diffuse2Sampler","diffuse3Sampler","bump1Sampler","bump2Sampler","bump3Sampler"],f=new Array;s.a.PrepareUniformsAndSamplersList({uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:i,maxSimultaneousLights:this.maxSimultaneousLights}),t.setEffect(r.getEngine().createEffect("terrain",{attributes:c,uniformsNames:h,uniformBuffersNames:f,samplers:d,defines:p,fallbacks:a,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:this.maxSimultaneousLights}},o),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;o&&(this._activeEffect=o,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),s.a.BindBonesParameters(t,this._activeEffect),this._mustRebind(i,o)&&(this.mixTexture&&(this._activeEffect.setTexture("textureSampler",this._mixTexture),this._activeEffect.setFloat2("vTextureInfos",this._mixTexture.coordinatesIndex,this._mixTexture.level),this._activeEffect.setMatrix("textureMatrix",this._mixTexture.getTextureMatrix()),l.a.DiffuseTextureEnabled&&(this._diffuseTexture1&&(this._activeEffect.setTexture("diffuse1Sampler",this._diffuseTexture1),this._activeEffect.setFloat2("diffuse1Infos",this._diffuseTexture1.uScale,this._diffuseTexture1.vScale)),this._diffuseTexture2&&(this._activeEffect.setTexture("diffuse2Sampler",this._diffuseTexture2),this._activeEffect.setFloat2("diffuse2Infos",this._diffuseTexture2.uScale,this._diffuseTexture2.vScale)),this._diffuseTexture3&&(this._activeEffect.setTexture("diffuse3Sampler",this._diffuseTexture3),this._activeEffect.setFloat2("diffuse3Infos",this._diffuseTexture3.uScale,this._diffuseTexture3.vScale))),l.a.BumpTextureEnabled&&i.getEngine().getCaps().standardDerivatives&&(this._bumpTexture1&&this._activeEffect.setTexture("bump1Sampler",this._bumpTexture1),this._bumpTexture2&&this._activeEffect.setTexture("bump2Sampler",this._bumpTexture2),this._bumpTexture3&&this._activeEffect.setTexture("bump3Sampler",this._bumpTexture3))),s.a.BindClipPlane(this._activeEffect,i),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),s.a.BindEyePosition(o,i)),this._activeEffect.setColor4("vDiffuseColor",this.diffuseColor,this.alpha*t.visibility),r.SPECULARTERM&&this._activeEffect.setColor4("vSpecularColor",this.specularColor,this.specularPower),i.lightsEnabled&&!this.disableLighting&&s.a.BindLights(i,t,this._activeEffect,r,this.maxSimultaneousLights),i.fogEnabled&&t.applyFog&&i.fogMode!==p.a.FOGMODE_NONE&&this._activeEffect.setMatrix("view",i.getViewMatrix()),s.a.BindFogParameters(i,t,this._activeEffect),this._afterBind(t,this._activeEffect))}},t.prototype.getAnimatables=function(){var e=[];return this.mixTexture&&this.mixTexture.animations&&this.mixTexture.animations.length>0&&e.push(this.mixTexture),e},t.prototype.getActiveTextures=function(){var t=e.prototype.getActiveTextures.call(this);return this._mixTexture&&t.push(this._mixTexture),this._diffuseTexture1&&t.push(this._diffuseTexture1),this._diffuseTexture2&&t.push(this._diffuseTexture2),this._diffuseTexture3&&t.push(this._diffuseTexture3),this._bumpTexture1&&t.push(this._bumpTexture1),this._bumpTexture2&&t.push(this._bumpTexture2),this._bumpTexture3&&t.push(this._bumpTexture3),t},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)||(this._mixTexture===t||(this._diffuseTexture1===t||(this._diffuseTexture2===t||(this._diffuseTexture3===t||(this._bumpTexture1===t||(this._bumpTexture2===t||this._bumpTexture3===t))))))},t.prototype.dispose=function(t){this.mixTexture&&this.mixTexture.dispose(),e.prototype.dispose.call(this,t)},t.prototype.clone=function(e){var n=this;return r.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=r.a.Serialize(this);return e.customType="BABYLON.TerrainMaterial",e},t.prototype.getClassName=function(){return"TerrainMaterial"},t.Parse=function(e,n,i){return r.a.Parse((function(){return new t(e.name,n)}),e,n,i)},Object(i.c)([Object(r.m)("mixTexture")],t.prototype,"_mixTexture",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"mixTexture",void 0),Object(i.c)([Object(r.m)("diffuseTexture1")],t.prototype,"_diffuseTexture1",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture1",void 0),Object(i.c)([Object(r.m)("diffuseTexture2")],t.prototype,"_diffuseTexture2",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture2",void 0),Object(i.c)([Object(r.m)("diffuseTexture3")],t.prototype,"_diffuseTexture3",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTexture3",void 0),Object(i.c)([Object(r.m)("bumpTexture1")],t.prototype,"_bumpTexture1",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"bumpTexture1",void 0),Object(i.c)([Object(r.m)("bumpTexture2")],t.prototype,"_bumpTexture2",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"bumpTexture2",void 0),Object(i.c)([Object(r.m)("bumpTexture3")],t.prototype,"_bumpTexture3",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"bumpTexture3",void 0),Object(i.c)([Object(r.e)()],t.prototype,"diffuseColor",void 0),Object(i.c)([Object(r.e)()],t.prototype,"specularColor",void 0),Object(i.c)([Object(r.c)()],t.prototype,"specularPower",void 0),Object(i.c)([Object(r.c)("disableLighting")],t.prototype,"_disableLighting",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"disableLighting",void 0),Object(i.c)([Object(r.c)("maxSimultaneousLights")],t.prototype,"_maxSimultaneousLights",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"maxSimultaneousLights",void 0),t}(c.a);h.a.RegisteredTypes["BABYLON.TerrainMaterial"]=ve;var ye="precision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n\n#ifdef DIFFUSEX\nvarying vec2 vTextureUVX;\nuniform sampler2D diffuseSamplerX;\n#ifdef BUMPX\nuniform sampler2D normalSamplerX;\n#endif\n#endif\n#ifdef DIFFUSEY\nvarying vec2 vTextureUVY;\nuniform sampler2D diffuseSamplerY;\n#ifdef BUMPY\nuniform sampler2D normalSamplerY;\n#endif\n#endif\n#ifdef DIFFUSEZ\nvarying vec2 vTextureUVZ;\nuniform sampler2D diffuseSamplerZ;\n#ifdef BUMPZ\nuniform sampler2D normalSamplerZ;\n#endif\n#endif\n#ifdef NORMAL\nvarying mat3 tangentSpace;\n#endif\n#include\n#include\n#include\n#include\nvoid main(void) {\n\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(0.,0.,0.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n\n#ifdef NORMAL\nvec3 normalW=tangentSpace[2];\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\nvec4 baseNormal=vec4(0.0,0.0,0.0,1.0);\nnormalW*=normalW;\n#ifdef DIFFUSEX\nbaseColor+=texture2D(diffuseSamplerX,vTextureUVX)*normalW.x;\n#ifdef BUMPX\nbaseNormal+=texture2D(normalSamplerX,vTextureUVX)*normalW.x;\n#endif\n#endif\n#ifdef DIFFUSEY\nbaseColor+=texture2D(diffuseSamplerY,vTextureUVY)*normalW.y;\n#ifdef BUMPY\nbaseNormal+=texture2D(normalSamplerY,vTextureUVY)*normalW.y;\n#endif\n#endif\n#ifdef DIFFUSEZ\nbaseColor+=texture2D(diffuseSamplerZ,vTextureUVZ)*normalW.z;\n#ifdef BUMPZ\nbaseNormal+=texture2D(normalSamplerZ,vTextureUVZ)*normalW.z;\n#endif\n#endif\n#ifdef NORMAL\nnormalW=normalize((2.0*baseNormal.xyz-1.0)*tangentSpace);\n#endif\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#include\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularBase=vec3(0.,0.,0.);\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n#include[0..maxSimultaneousLights]\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\n\nvec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include\ngl_FragColor=color;\n}\n";d.a.ShadersStore.triplanarPixelShader=ye;var Ce="precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSEX\nvarying vec2 vTextureUVX;\n#endif\n#ifdef DIFFUSEY\nvarying vec2 vTextureUVY;\n#endif\n#ifdef DIFFUSEZ\nvarying vec2 vTextureUVZ;\n#endif\nuniform float tileSize;\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying mat3 tangentSpace;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\nvoid main(void)\n{\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*worldPos;\nvPositionW=vec3(worldPos);\n#ifdef DIFFUSEX\nvTextureUVX=worldPos.zy/tileSize;\n#endif\n#ifdef DIFFUSEY\nvTextureUVY=worldPos.xz/tileSize;\n#endif\n#ifdef DIFFUSEZ\nvTextureUVZ=worldPos.xy/tileSize;\n#endif\n#ifdef NORMAL\n\nvec3 xtan=vec3(0,0,1);\nvec3 xbin=vec3(0,1,0);\nvec3 ytan=vec3(1,0,0);\nvec3 ybin=vec3(0,0,1);\nvec3 ztan=vec3(1,0,0);\nvec3 zbin=vec3(0,1,0);\nvec3 normalizedNormal=normalize(normal);\nnormalizedNormal*=normalizedNormal;\nvec3 worldBinormal=normalize(xbin*normalizedNormal.x+ybin*normalizedNormal.y+zbin*normalizedNormal.z);\nvec3 worldTangent=normalize(xtan*normalizedNormal.x+ytan*normalizedNormal.y+ztan*normalizedNormal.z);\nworldTangent=(world*vec4(worldTangent,1.0)).xyz;\nworldBinormal=(world*vec4(worldBinormal,1.0)).xyz;\nvec3 worldNormal=normalize(cross(worldTangent,worldBinormal));\ntangentSpace[0]=worldTangent;\ntangentSpace[1]=worldBinormal;\ntangentSpace[2]=worldNormal;\n#endif\n\n#include\n\n#include\n\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n}\n";d.a.ShadersStore.triplanarVertexShader=Ce;var Ae=function(e){function t(){var t=e.call(this)||this;return t.DIFFUSEX=!1,t.DIFFUSEY=!1,t.DIFFUSEZ=!1,t.BUMPX=!1,t.BUMPY=!1,t.BUMPZ=!1,t.CLIPPLANE=!1,t.CLIPPLANE2=!1,t.CLIPPLANE3=!1,t.CLIPPLANE4=!1,t.CLIPPLANE5=!1,t.CLIPPLANE6=!1,t.ALPHATEST=!1,t.DEPTHPREPASS=!1,t.POINTSIZE=!1,t.FOG=!1,t.SPECULARTERM=!1,t.NORMAL=!1,t.VERTEXCOLOR=!1,t.VERTEXALPHA=!1,t.NUM_BONE_INFLUENCERS=0,t.BonesPerMesh=0,t.INSTANCES=!1,t.rebuild(),t}return Object(i.d)(t,e),t}(a.a),xe=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.tileSize=1,i.diffuseColor=new o.a(1,1,1),i.specularColor=new o.a(.2,.2,.2),i.specularPower=64,i._disableLighting=!1,i._maxSimultaneousLights=4,i}return Object(i.d)(t,e),t.prototype.needAlphaBlending=function(){return this.alpha<1},t.prototype.needAlphaTesting=function(){return!1},t.prototype.getAlphaTestTexture=function(){return null},t.prototype.isReadyForSubMesh=function(e,t,n){if(this.isFrozen&&t.effect&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new Ae);var i=t._materialDefines,r=this.getScene();if(!this.checkReadyOnEveryCall&&t.effect&&this._renderId===r.getRenderId())return!0;var o=r.getEngine();if(i._areTexturesDirty&&r.texturesEnabled){if(l.a.DiffuseTextureEnabled)for(var a=[this.diffuseTextureX,this.diffuseTextureY,this.diffuseTextureZ],c=["DIFFUSEX","DIFFUSEY","DIFFUSEZ"],p=0;p0&&h.addCPUSkinningFallback(0,e);var d=[u.b.PositionKind];i.NORMAL&&d.push(u.b.NormalKind),i.VERTEXCOLOR&&d.push(u.b.ColorKind),s.a.PrepareAttributesForBones(d,e,i,h),s.a.PrepareAttributesForInstances(d,i);var f=i.toString(),_=["world","view","viewProjection","vEyePosition","vLightsType","vDiffuseColor","vSpecularColor","vFogInfos","vFogColor","pointSize","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","tileSize"],b=["diffuseSamplerX","diffuseSamplerY","diffuseSamplerZ","normalSamplerX","normalSamplerY","normalSamplerZ"],g=new Array;s.a.PrepareUniformsAndSamplersList({uniformsNames:_,uniformBuffersNames:g,samplers:b,defines:i,maxSimultaneousLights:this.maxSimultaneousLights}),t.setEffect(r.getEngine().createEffect("triplanar",{attributes:d,uniformsNames:_,uniformBuffersNames:g,samplers:b,defines:f,fallbacks:h,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:this.maxSimultaneousLights}},o),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;o&&(this._activeEffect=o,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),s.a.BindBonesParameters(t,this._activeEffect),this._activeEffect.setFloat("tileSize",this.tileSize),i.getCachedMaterial()!==this&&(this.diffuseTextureX&&this._activeEffect.setTexture("diffuseSamplerX",this.diffuseTextureX),this.diffuseTextureY&&this._activeEffect.setTexture("diffuseSamplerY",this.diffuseTextureY),this.diffuseTextureZ&&this._activeEffect.setTexture("diffuseSamplerZ",this.diffuseTextureZ),this.normalTextureX&&this._activeEffect.setTexture("normalSamplerX",this.normalTextureX),this.normalTextureY&&this._activeEffect.setTexture("normalSamplerY",this.normalTextureY),this.normalTextureZ&&this._activeEffect.setTexture("normalSamplerZ",this.normalTextureZ),s.a.BindClipPlane(this._activeEffect,i),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),s.a.BindEyePosition(o,i)),this._activeEffect.setColor4("vDiffuseColor",this.diffuseColor,this.alpha*t.visibility),r.SPECULARTERM&&this._activeEffect.setColor4("vSpecularColor",this.specularColor,this.specularPower),i.lightsEnabled&&!this.disableLighting&&s.a.BindLights(i,t,this._activeEffect,r,this.maxSimultaneousLights),i.fogEnabled&&t.applyFog&&i.fogMode!==p.a.FOGMODE_NONE&&this._activeEffect.setMatrix("view",i.getViewMatrix()),s.a.BindFogParameters(i,t,this._activeEffect),this._afterBind(t,this._activeEffect))}},t.prototype.getAnimatables=function(){var e=[];return this.mixTexture&&this.mixTexture.animations&&this.mixTexture.animations.length>0&&e.push(this.mixTexture),e},t.prototype.getActiveTextures=function(){var t=e.prototype.getActiveTextures.call(this);return this._diffuseTextureX&&t.push(this._diffuseTextureX),this._diffuseTextureY&&t.push(this._diffuseTextureY),this._diffuseTextureZ&&t.push(this._diffuseTextureZ),this._normalTextureX&&t.push(this._normalTextureX),this._normalTextureY&&t.push(this._normalTextureY),this._normalTextureZ&&t.push(this._normalTextureZ),t},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)||(this._diffuseTextureX===t||(this._diffuseTextureY===t||(this._diffuseTextureZ===t||(this._normalTextureX===t||(this._normalTextureY===t||this._normalTextureZ===t)))))},t.prototype.dispose=function(t){this.mixTexture&&this.mixTexture.dispose(),e.prototype.dispose.call(this,t)},t.prototype.clone=function(e){var n=this;return r.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=r.a.Serialize(this);return e.customType="BABYLON.TriPlanarMaterial",e},t.prototype.getClassName=function(){return"TriPlanarMaterial"},t.Parse=function(e,n,i){return r.a.Parse((function(){return new t(e.name,n)}),e,n,i)},Object(i.c)([Object(r.m)()],t.prototype,"mixTexture",void 0),Object(i.c)([Object(r.m)("diffuseTextureX")],t.prototype,"_diffuseTextureX",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTextureX",void 0),Object(i.c)([Object(r.m)("diffuseTexturY")],t.prototype,"_diffuseTextureY",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTextureY",void 0),Object(i.c)([Object(r.m)("diffuseTextureZ")],t.prototype,"_diffuseTextureZ",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"diffuseTextureZ",void 0),Object(i.c)([Object(r.m)("normalTextureX")],t.prototype,"_normalTextureX",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"normalTextureX",void 0),Object(i.c)([Object(r.m)("normalTextureY")],t.prototype,"_normalTextureY",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"normalTextureY",void 0),Object(i.c)([Object(r.m)("normalTextureZ")],t.prototype,"_normalTextureZ",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsTexturesDirty")],t.prototype,"normalTextureZ",void 0),Object(i.c)([Object(r.c)()],t.prototype,"tileSize",void 0),Object(i.c)([Object(r.e)()],t.prototype,"diffuseColor",void 0),Object(i.c)([Object(r.e)()],t.prototype,"specularColor",void 0),Object(i.c)([Object(r.c)()],t.prototype,"specularPower",void 0),Object(i.c)([Object(r.c)("disableLighting")],t.prototype,"_disableLighting",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"disableLighting",void 0),Object(i.c)([Object(r.c)("maxSimultaneousLights")],t.prototype,"_maxSimultaneousLights",void 0),Object(i.c)([Object(r.b)("_markAllSubMeshesAsLightsDirty")],t.prototype,"maxSimultaneousLights",void 0),t}(c.a);h.a.RegisteredTypes["BABYLON.TriPlanarMaterial"]=xe;var Se=n(81),Te=n(76),Ee=n(45),Pe=n(42),Oe=n(47),Me=n(9),Re=(n(138),n(139),n(140),n(174),"#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\nprecision highp float;\n\nuniform vec3 vEyePosition;\nuniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n#include\n#include\n\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n#include\n\n#ifdef BUMP\nvarying vec2 vNormalUV;\nvarying vec2 vNormalUV2;\nuniform sampler2D normalSampler;\nuniform vec2 vNormalInfos;\n#endif\nuniform sampler2D refractionSampler;\nuniform sampler2D reflectionSampler;\n\nconst float LOG2=1.442695;\nuniform vec3 cameraPosition;\nuniform vec4 waterColor;\nuniform float colorBlendFactor;\nuniform vec4 waterColor2;\nuniform float colorBlendFactor2;\nuniform float bumpHeight;\nuniform float time;\n\nvarying vec3 vRefractionMapTexCoord;\nvarying vec3 vReflectionMapTexCoord;\nvarying vec3 vPosition;\n#include\n#include\n\n#include\nvoid main(void) {\n\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n#ifdef BUMP\n#ifdef BUMPSUPERIMPOSE\nbaseColor=0.6*texture2D(normalSampler,vNormalUV)+0.4*texture2D(normalSampler,vec2(vNormalUV2.x,vNormalUV2.y));\n#else\nbaseColor=texture2D(normalSampler,vNormalUV);\n#endif\nvec3 bumpColor=baseColor.rgb;\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\nbaseColor.rgb*=vNormalInfos.y;\n#else\nvec3 bumpColor=vec3(1.0);\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\n#ifdef NORMAL\nvec2 perturbation=bumpHeight*(baseColor.rg-0.5);\n#ifdef BUMPAFFECTSREFLECTION\nvec3 normalW=normalize(vNormalW+vec3(perturbation.x*8.0,0.0,perturbation.y*8.0));\nif (normalW.y<0.0) {\nnormalW.y=-normalW.y;\n}\n#else\nvec3 normalW=normalize(vNormalW);\n#endif\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\nvec2 perturbation=bumpHeight*(vec2(1.0,1.0)-0.5);\n#endif\n#ifdef FRESNELSEPARATE\n#ifdef REFLECTION\n\nvec2 projectedRefractionTexCoords=clamp(vRefractionMapTexCoord.xy/vRefractionMapTexCoord.z+perturbation*0.5,0.0,1.0);\nvec4 refractiveColor=texture2D(refractionSampler,projectedRefractionTexCoords);\n#ifdef IS_REFRACTION_LINEAR\nrefractiveColor.rgb=toGammaSpace(refractiveColor.rgb);\n#endif\nvec2 projectedReflectionTexCoords=clamp(vec2(\nvReflectionMapTexCoord.x/vReflectionMapTexCoord.z+perturbation.x*0.3,\nvReflectionMapTexCoord.y/vReflectionMapTexCoord.z+perturbation.y\n),0.0,1.0);\nvec4 reflectiveColor=texture2D(reflectionSampler,projectedReflectionTexCoords);\n#ifdef IS_REFLECTION_LINEAR\nreflectiveColor.rgb=toGammaSpace(reflectiveColor.rgb);\n#endif\nvec3 upVector=vec3(0.0,1.0,0.0);\nfloat fresnelTerm=clamp(abs(pow(dot(viewDirectionW,upVector),3.0)),0.05,0.65);\nfloat IfresnelTerm=1.0-fresnelTerm;\nrefractiveColor=colorBlendFactor*waterColor+(1.0-colorBlendFactor)*refractiveColor;\nreflectiveColor=IfresnelTerm*colorBlendFactor2*waterColor+(1.0-colorBlendFactor2*IfresnelTerm)*reflectiveColor;\nvec4 combinedColor=refractiveColor*fresnelTerm+reflectiveColor*IfresnelTerm;\nbaseColor=combinedColor;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularBase=vec3(0.,0.,0.);\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n#include[0..maxSimultaneousLights]\nvec3 finalDiffuse=clamp(baseColor.rgb,0.0,1.0);\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\n#else\n#ifdef REFLECTION\n\nvec2 projectedRefractionTexCoords=clamp(vRefractionMapTexCoord.xy/vRefractionMapTexCoord.z+perturbation,0.0,1.0);\nvec4 refractiveColor=texture2D(refractionSampler,projectedRefractionTexCoords);\n#ifdef IS_REFRACTION_LINEAR\nrefractiveColor.rgb=toGammaSpace(refractiveColor.rgb);\n#endif\nvec2 projectedReflectionTexCoords=clamp(vReflectionMapTexCoord.xy/vReflectionMapTexCoord.z+perturbation,0.0,1.0);\nvec4 reflectiveColor=texture2D(reflectionSampler,projectedReflectionTexCoords);\n#ifdef IS_REFLECTION_LINEAR\nreflectiveColor.rgb=toGammaSpace(reflectiveColor.rgb);\n#endif\nvec3 upVector=vec3(0.0,1.0,0.0);\nfloat fresnelTerm=max(dot(viewDirectionW,upVector),0.0);\nvec4 combinedColor=refractiveColor*fresnelTerm+reflectiveColor*(1.0-fresnelTerm);\nbaseColor=colorBlendFactor*waterColor+(1.0-colorBlendFactor)*combinedColor;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\nfloat shadow=1.;\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularBase=vec3(0.,0.,0.);\nvec3 specularColor=vSpecularColor.rgb;\n#else\nfloat glossiness=0.;\n#endif\n#include[0..maxSimultaneousLights]\nvec3 finalDiffuse=clamp(baseColor.rgb,0.0,1.0);\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\n#endif\n\nvec4 color=vec4(finalDiffuse+finalSpecular,alpha);\n#include\n#include\n\n\n#ifdef IMAGEPROCESSINGPOSTPROCESS\ncolor.rgb=toLinearSpace(color.rgb);\n#elif defined(IMAGEPROCESSING)\ncolor.rgb=toLinearSpace(color.rgb);\ncolor=applyImageProcessing(color);\n#endif\ngl_FragColor=color;\n}\n");d.a.ShadersStore.waterPixelShader=Re;n(175);var Ie="precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef BUMP\nvarying vec2 vNormalUV;\n#ifdef BUMPSUPERIMPOSE\nvarying vec2 vNormalUV2;\n#endif\nuniform mat4 normalMatrix;\nuniform vec2 vNormalInfos;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include<__decl__lightFragment>[0..maxSimultaneousLights]\n#include\n\nuniform mat4 worldReflectionViewProjection;\nuniform vec2 windDirection;\nuniform float waveLength;\nuniform float time;\nuniform float windForce;\nuniform float waveHeight;\nuniform float waveSpeed;\n\nvarying vec3 vPosition;\nvarying vec3 vRefractionMapTexCoord;\nvarying vec3 vReflectionMapTexCoord;\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef BUMP\nif (vNormalInfos.x == 0.)\n{\nvNormalUV=vec2(normalMatrix*vec4((uv*1.0)/waveLength+time*windForce*windDirection,1.0,0.0));\n#ifdef BUMPSUPERIMPOSE\nvNormalUV2=vec2(normalMatrix*vec4((uv*0.721)/waveLength+time*1.2*windForce*windDirection,1.0,0.0));\n#endif\n}\nelse\n{\nvNormalUV=vec2(normalMatrix*vec4((uv2*1.0)/waveLength+time*windForce*windDirection ,1.0,0.0));\n#ifdef BUMPSUPERIMPOSE\nvNormalUV2=vec2(normalMatrix*vec4((uv2*0.721)/waveLength+time*1.2*windForce*windDirection ,1.0,0.0));\n#endif\n}\n#endif\n\n#include\n\n#include\n\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\nvec3 p=position;\nfloat newY=(sin(((p.x/0.05)+time*waveSpeed))*waveHeight*windDirection.x*5.0)\n+(cos(((p.z/0.05)+time*waveSpeed))*waveHeight*windDirection.y*5.0);\np.y+=abs(newY);\ngl_Position=viewProjection*finalWorld*vec4(p,1.0);\n#ifdef REFLECTION\nworldPos=viewProjection*finalWorld*vec4(p,1.0);\n\nvPosition=position;\nvRefractionMapTexCoord.x=0.5*(worldPos.w+worldPos.x);\nvRefractionMapTexCoord.y=0.5*(worldPos.w+worldPos.y);\nvRefractionMapTexCoord.z=worldPos.w;\nworldPos=worldReflectionViewProjection*vec4(position,1.0);\nvReflectionMapTexCoord.x=0.5*(worldPos.w+worldPos.x);\nvReflectionMapTexCoord.y=0.5*(worldPos.w+worldPos.y);\nvReflectionMapTexCoord.z=worldPos.w;\n#endif\n#include\n}\n";d.a.ShadersStore.waterVertexShader=Ie;var we=function(e){function t(){var t=e.call(this)||this;return t.BUMP=!1,t.REFLECTION=!1,t.CLIPPLANE=!1,t.CLIPPLANE2=!1,t.CLIPPLANE3=!1,t.CLIPPLANE4=!1,t.CLIPPLANE5=!1,t.CLIPPLANE6=!1,t.ALPHATEST=!1,t.DEPTHPREPASS=!1,t.POINTSIZE=!1,t.FOG=!1,t.NORMAL=!1,t.UV1=!1,t.UV2=!1,t.VERTEXCOLOR=!1,t.VERTEXALPHA=!1,t.NUM_BONE_INFLUENCERS=0,t.BonesPerMesh=0,t.INSTANCES=!1,t.SPECULARTERM=!1,t.LOGARITHMICDEPTH=!1,t.FRESNELSEPARATE=!1,t.BUMPSUPERIMPOSE=!1,t.BUMPAFFECTSREFLECTION=!1,t.IMAGEPROCESSING=!1,t.VIGNETTE=!1,t.VIGNETTEBLENDMODEMULTIPLY=!1,t.VIGNETTEBLENDMODEOPAQUE=!1,t.TONEMAPPING=!1,t.TONEMAPPING_ACES=!1,t.CONTRAST=!1,t.EXPOSURE=!1,t.COLORCURVES=!1,t.COLORGRADING=!1,t.COLORGRADING3D=!1,t.SAMPLER3DGREENDEPTH=!1,t.SAMPLER3DBGRMAP=!1,t.IMAGEPROCESSINGPOSTPROCESS=!1,t.rebuild(),t}return Object(i.d)(t,e),t}(a.a),De=function(e){function t(t,n,i){void 0===i&&(i=new w.d(512,512));var r=e.call(this,t,n)||this;return r.renderTargetSize=i,r.diffuseColor=new o.a(1,1,1),r.specularColor=new o.a(0,0,0),r.specularPower=64,r._disableLighting=!1,r._maxSimultaneousLights=4,r.windForce=6,r.windDirection=new w.d(0,1),r.waveHeight=.4,r.bumpHeight=.4,r._bumpSuperimpose=!1,r._fresnelSeparate=!1,r._bumpAffectsReflection=!1,r.waterColor=new o.a(.1,.1,.6),r.colorBlendFactor=.2,r.waterColor2=new o.a(.1,.1,.6),r.colorBlendFactor2=.2,r.waveLength=.1,r.waveSpeed=1,r.disableClipPlane=!1,r._renderTargets=new Ee.a(16),r._mesh=null,r._reflectionTransform=w.a.Zero(),r._lastTime=0,r._lastDeltaTime=0,r._createRenderTargets(n,i),r.getRenderTargetTextures=function(){return r._renderTargets.reset(),r._renderTargets.push(r._reflectionRTT),r._renderTargets.push(r._refractionRTT),r._renderTargets},r._imageProcessingConfiguration=r.getScene().imageProcessingConfiguration,r._imageProcessingConfiguration&&(r._imageProcessingObserver=r._imageProcessingConfiguration.onUpdateParameters.add((function(){r._markAllSubMeshesAsImageProcessingDirty()}))),r}return Object(i.d)(t,e),Object.defineProperty(t.prototype,"hasRenderTargetTextures",{get:function(){return!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"useLogarithmicDepth",{get:function(){return this._useLogarithmicDepth},set:function(e){this._useLogarithmicDepth=e&&this.getScene().getEngine().getCaps().fragmentDepthSupported,this._markAllSubMeshesAsMiscDirty()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"refractionTexture",{get:function(){return this._refractionRTT},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"reflectionTexture",{get:function(){return this._reflectionRTT},enumerable:!0,configurable:!0}),t.prototype.addToRenderList=function(e){this._refractionRTT&&this._refractionRTT.renderList&&this._refractionRTT.renderList.push(e),this._reflectionRTT&&this._reflectionRTT.renderList&&this._reflectionRTT.renderList.push(e)},t.prototype.enableRenderTargets=function(e){var t=e?1:0;this._refractionRTT&&(this._refractionRTT.refreshRate=t),this._reflectionRTT&&(this._reflectionRTT.refreshRate=t)},t.prototype.getRenderList=function(){return this._refractionRTT?this._refractionRTT.renderList:[]},Object.defineProperty(t.prototype,"renderTargetsEnabled",{get:function(){return!(this._refractionRTT&&0===this._refractionRTT.refreshRate)},enumerable:!0,configurable:!0}),t.prototype.needAlphaBlending=function(){return this.alpha<1},t.prototype.needAlphaTesting=function(){return!1},t.prototype.getAlphaTestTexture=function(){return null},t.prototype.isReadyForSubMesh=function(e,t,n){if(this.isFrozen&&t.effect&&t.effect._wasPreviouslyReady)return!0;t._materialDefines||(t._materialDefines=new we);var i=t._materialDefines,r=this.getScene();if(!this.checkReadyOnEveryCall&&t.effect&&this._renderId===r.getRenderId())return!0;var o=r.getEngine();if(i._areTexturesDirty&&(i._needUVs=!1,r.texturesEnabled)){if(this.bumpTexture&&l.a.BumpTextureEnabled){if(!this.bumpTexture.isReady())return!1;i._needUVs=!0,i.BUMP=!0}l.a.ReflectionTextureEnabled&&(i.REFLECTION=!0)}if(s.a.PrepareDefinesForFrameBoundValues(r,o,i,!!n),s.a.PrepareDefinesForMisc(e,r,this._useLogarithmicDepth,this.pointsCloud,this.fogEnabled,this._shouldTurnAlphaTestOn(e),i),i._areMiscDirty&&(this._fresnelSeparate&&(i.FRESNELSEPARATE=!0),this._bumpSuperimpose&&(i.BUMPSUPERIMPOSE=!0),this._bumpAffectsReflection&&(i.BUMPAFFECTSREFLECTION=!0)),i._needNormals=s.a.PrepareDefinesForLights(r,e,i,!0,this._maxSimultaneousLights,this._disableLighting),i._areImageProcessingDirty&&this._imageProcessingConfiguration){if(!this._imageProcessingConfiguration.isReady())return!1;this._imageProcessingConfiguration.prepareDefines(i),i.IS_REFLECTION_LINEAR=null!=this.reflectionTexture&&!this.reflectionTexture.gammaSpace,i.IS_REFRACTION_LINEAR=null!=this.refractionTexture&&!this.refractionTexture.gammaSpace}if(s.a.PrepareDefinesForAttributes(e,i,!0,!0),this._mesh=e,this._waitingRenderList){for(var a=0;a0&&c.addCPUSkinningFallback(0,e);var p=[u.b.PositionKind];i.NORMAL&&p.push(u.b.NormalKind),i.UV1&&p.push(u.b.UVKind),i.UV2&&p.push(u.b.UV2Kind),i.VERTEXCOLOR&&p.push(u.b.ColorKind),s.a.PrepareAttributesForBones(p,e,i,c),s.a.PrepareAttributesForInstances(p,i);var h=i.toString(),d=["world","view","viewProjection","vEyePosition","vLightsType","vDiffuseColor","vSpecularColor","vFogInfos","vFogColor","pointSize","vNormalInfos","mBones","vClipPlane","vClipPlane2","vClipPlane3","vClipPlane4","vClipPlane5","vClipPlane6","normalMatrix","logarithmicDepthConstant","worldReflectionViewProjection","windDirection","waveLength","time","windForce","cameraPosition","bumpHeight","waveHeight","waterColor","waterColor2","colorBlendFactor","colorBlendFactor2","waveSpeed"],f=["normalSampler","refractionSampler","reflectionSampler"],_=new Array;Oe.a&&(Oe.a.PrepareUniforms(d,i),Oe.a.PrepareSamplers(f,i)),s.a.PrepareUniformsAndSamplersList({uniformsNames:d,uniformBuffersNames:_,samplers:f,defines:i,maxSimultaneousLights:this.maxSimultaneousLights}),t.setEffect(r.getEngine().createEffect("water",{attributes:p,uniformsNames:d,uniformBuffersNames:_,samplers:f,defines:h,fallbacks:c,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousLights:this._maxSimultaneousLights}},o),i)}return!(!t.effect||!t.effect.isReady())&&(this._renderId=r.getRenderId(),t.effect._wasPreviouslyReady=!0,!0)},t.prototype.bindForSubMesh=function(e,t,n){var i=this.getScene(),r=n._materialDefines;if(r){var o=n.effect;if(o&&this._mesh){this._activeEffect=o,this.bindOnlyWorldMatrix(e),this._activeEffect.setMatrix("viewProjection",i.getTransformMatrix()),s.a.BindBonesParameters(t,this._activeEffect),this._mustRebind(i,o)&&(this.bumpTexture&&l.a.BumpTextureEnabled&&(this._activeEffect.setTexture("normalSampler",this.bumpTexture),this._activeEffect.setFloat2("vNormalInfos",this.bumpTexture.coordinatesIndex,this.bumpTexture.level),this._activeEffect.setMatrix("normalMatrix",this.bumpTexture.getTextureMatrix())),s.a.BindClipPlane(this._activeEffect,i),this.pointsCloud&&this._activeEffect.setFloat("pointSize",this.pointSize),s.a.BindEyePosition(o,i)),this._activeEffect.setColor4("vDiffuseColor",this.diffuseColor,this.alpha*t.visibility),r.SPECULARTERM&&this._activeEffect.setColor4("vSpecularColor",this.specularColor,this.specularPower),i.lightsEnabled&&!this.disableLighting&&s.a.BindLights(i,t,this._activeEffect,r,this.maxSimultaneousLights),i.fogEnabled&&t.applyFog&&i.fogMode!==p.a.FOGMODE_NONE&&this._activeEffect.setMatrix("view",i.getViewMatrix()),s.a.BindFogParameters(i,t,this._activeEffect),s.a.BindLogDepth(r,this._activeEffect,i),l.a.ReflectionTextureEnabled&&(this._activeEffect.setTexture("refractionSampler",this._refractionRTT),this._activeEffect.setTexture("reflectionSampler",this._reflectionRTT));var a=this._mesh.getWorldMatrix().multiply(this._reflectionTransform).multiply(i.getProjectionMatrix()),c=i.getEngine().getDeltaTime();c!==this._lastDeltaTime&&(this._lastDeltaTime=c,this._lastTime+=this._lastDeltaTime),this._activeEffect.setMatrix("worldReflectionViewProjection",a),this._activeEffect.setVector2("windDirection",this.windDirection),this._activeEffect.setFloat("waveLength",this.waveLength),this._activeEffect.setFloat("time",this._lastTime/1e5),this._activeEffect.setFloat("windForce",this.windForce),this._activeEffect.setFloat("waveHeight",this.waveHeight),this._activeEffect.setFloat("bumpHeight",this.bumpHeight),this._activeEffect.setColor4("waterColor",this.waterColor,1),this._activeEffect.setFloat("colorBlendFactor",this.colorBlendFactor),this._activeEffect.setColor4("waterColor2",this.waterColor2,1),this._activeEffect.setFloat("colorBlendFactor2",this.colorBlendFactor2),this._activeEffect.setFloat("waveSpeed",this.waveSpeed),this._imageProcessingConfiguration&&!this._imageProcessingConfiguration.applyByPostProcess&&this._imageProcessingConfiguration.bind(this._activeEffect),this._afterBind(t,this._activeEffect)}}},t.prototype._createRenderTargets=function(e,t){var n,i=this;this._refractionRTT=new Pe.a(name+"_refraction",{width:t.x,height:t.y},e,!1,!0),this._refractionRTT.wrapU=Te.a.TEXTURE_MIRROR_ADDRESSMODE,this._refractionRTT.wrapV=Te.a.TEXTURE_MIRROR_ADDRESSMODE,this._refractionRTT.ignoreCameraViewport=!0,this._reflectionRTT=new Pe.a(name+"_reflection",{width:t.x,height:t.y},e,!1,!0),this._reflectionRTT.wrapU=Te.a.TEXTURE_MIRROR_ADDRESSMODE,this._reflectionRTT.wrapV=Te.a.TEXTURE_MIRROR_ADDRESSMODE,this._reflectionRTT.ignoreCameraViewport=!0;var r,o=null,a=w.a.Zero();this._refractionRTT.onBeforeRender=function(){if(i._mesh&&(n=i._mesh.isVisible,i._mesh.isVisible=!1),!i.disableClipPlane){o=e.clipPlane;var t=i._mesh?i._mesh.position.y:0;e.clipPlane=Se.a.FromPositionAndNormal(new w.e(0,t+.05,0),new w.e(0,1,0))}},this._refractionRTT.onAfterRender=function(){i._mesh&&(i._mesh.isVisible=n),i.disableClipPlane||(e.clipPlane=o)},this._reflectionRTT.onBeforeRender=function(){if(i._mesh&&(n=i._mesh.isVisible,i._mesh.isVisible=!1),!i.disableClipPlane){o=e.clipPlane;var t=i._mesh?i._mesh.position.y:0;e.clipPlane=Se.a.FromPositionAndNormal(new w.e(0,t-.05,0),new w.e(0,-1,0)),w.a.ReflectionToRef(e.clipPlane,a)}r=e.getViewMatrix(),a.multiplyToRef(r,i._reflectionTransform),e.setTransformMatrix(i._reflectionTransform,e.getProjectionMatrix()),e.getEngine().cullBackFaces=!1,e._mirroredCameraPosition=w.e.TransformCoordinates(e.activeCamera.position,a)},this._reflectionRTT.onAfterRender=function(){i._mesh&&(i._mesh.isVisible=n),e.clipPlane=o,e.setTransformMatrix(r,e.getProjectionMatrix()),e.getEngine().cullBackFaces=!0,e._mirroredCameraPosition=null}},t.prototype.getAnimatables=function(){var e=[];return this.bumpTexture&&this.bumpTexture.animations&&this.bumpTexture.animations.length>0&&e.push(this.bumpTexture),this._reflectionRTT&&this._reflectionRTT.animations&&this._reflectionRTT.animations.length>0&&e.push(this._reflectionRTT),this._refractionRTT&&this._refractionRTT.animations&&this._refractionRTT.animations.length>0&&e.push(this._refractionRTT),e},t.prototype.getActiveTextures=function(){var t=e.prototype.getActiveTextures.call(this);return this._bumpTexture&&t.push(this._bumpTexture),t},t.prototype.hasTexture=function(t){return!!e.prototype.hasTexture.call(this,t)||this._bumpTexture===t},t.prototype.dispose=function(t){this.bumpTexture&&this.bumpTexture.dispose();var n=this.getScene().customRenderTargets.indexOf(this._refractionRTT);-1!=n&&this.getScene().customRenderTargets.splice(n,1),n=-1,-1!=(n=this.getScene().customRenderTargets.indexOf(this._reflectionRTT))&&this.getScene().customRenderTargets.splice(n,1),this._reflectionRTT&&this._reflectionRTT.dispose(),this._refractionRTT&&this._refractionRTT.dispose(),this._imageProcessingConfiguration&&this._imageProcessingObserver&&this._imageProcessingConfiguration.onUpdateParameters.remove(this._imageProcessingObserver),e.prototype.dispose.call(this,t)},t.prototype.clone=function(e){var n=this;return r.a.Clone((function(){return new t(e,n.getScene())}),this)},t.prototype.serialize=function(){var e=r.a.Serialize(this);if(e.customType="BABYLON.WaterMaterial",e.renderList=[],this._refractionRTT&&this._refractionRTT.renderList)for(var t=0;t\nvoid main(void) {\n#include\n#ifdef VERTEXCOLOR\ngl_FragColor=vColor;\n#else\ngl_FragColor=color;\n#endif\n}";i.a.ShadersStore[r]=o},function(e,t,n){"use strict";var i=n(6),r=(n(65),n(85),n(66),n(67),n(68),n(79),"colorVertexShader"),o="\nattribute vec3 position;\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n#include\n\n#include\nuniform mat4 viewProjection;\n#ifdef MULTIVIEW\nuniform mat4 viewProjectionR;\n#endif\n\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\nvoid main(void) {\n#include\n#include\nvec4 worldPos=finalWorld*vec4(position,1.0);\n#ifdef MULTIVIEW\nif (gl_ViewID_OVR == 0u) {\ngl_Position=viewProjection*worldPos;\n} else {\ngl_Position=viewProjectionR*worldPos;\n}\n#else\ngl_Position=viewProjection*worldPos;\n#endif\n#include\n#ifdef VERTEXCOLOR\n\nvColor=color;\n#endif\n}";i.a.ShadersStore[r]=o},function(e,t,n){"use strict";(function(e){n.d(t,"b",(function(){return l})),n.d(t,"a",(function(){return u}));var i=n(1),r=n(10),o=n(14),a=n(146),s=n(30),c=n(126),l=function(){this.renderWidth=512,this.renderHeight=256,this.textureSize=512,this.deterministicLockstep=!1,this.lockstepMaxSteps=4},u=function(t){function n(n){void 0===n&&(n=new l);var i=t.call(this,null)||this;o.a.Instances.push(i),void 0===n.deterministicLockstep&&(n.deterministicLockstep=!1),void 0===n.lockstepMaxSteps&&(n.lockstepMaxSteps=4),i._options=n,i._caps={maxTexturesImageUnits:16,maxVertexTextureImageUnits:16,maxCombinedTexturesImageUnits:32,maxTextureSize:512,maxCubemapTextureSize:512,maxRenderTextureSize:512,maxVertexAttribs:16,maxVaryingVectors:16,maxFragmentUniformVectors:16,maxVertexUniformVectors:16,standardDerivatives:!1,astc:null,pvrtc:null,etc1:null,etc2:null,maxAnisotropy:0,uintIndices:!1,fragmentDepthSupported:!1,highPrecisionShaderSupported:!0,colorBufferFloat:!1,textureFloat:!1,textureFloatLinearFiltering:!1,textureFloatRender:!1,textureHalfFloat:!1,textureHalfFloatLinearFiltering:!1,textureHalfFloatRender:!1,textureLOD:!1,drawBuffersExtension:!1,depthTextureExtension:!1,vertexArrayObject:!1,instancedArrays:!1,canUseTimestampForTimerQuery:!1,maxMSAASamples:1,blendMinMax:!1},r.a.Log("Babylon.js v"+o.a.Version+" - Null engine");var a="undefined"!=typeof self?self:void 0!==e?e:window;return"undefined"==typeof URL&&(a.URL={createObjectURL:function(){},revokeObjectURL:function(){}}),"undefined"==typeof Blob&&(a.Blob=function(){}),i}return Object(i.d)(n,t),n.prototype.isDeterministicLockStep=function(){return this._options.deterministicLockstep},n.prototype.getLockstepMaxSteps=function(){return this._options.lockstepMaxSteps},n.prototype.getHardwareScalingLevel=function(){return 1},n.prototype.createVertexBuffer=function(e){var t=new c.a;return t.references=1,t},n.prototype.createIndexBuffer=function(e){var t=new c.a;return t.references=1,t},n.prototype.clear=function(e,t,n,i){void 0===i&&(i=!1)},n.prototype.getRenderWidth=function(e){return void 0===e&&(e=!1),!e&&this._currentRenderTarget?this._currentRenderTarget.width:this._options.renderWidth},n.prototype.getRenderHeight=function(e){return void 0===e&&(e=!1),!e&&this._currentRenderTarget?this._currentRenderTarget.height:this._options.renderHeight},n.prototype.setViewport=function(e,t,n){this._cachedViewport=e},n.prototype.createShaderProgram=function(e,t,n,i,r){return{__SPECTOR_rebuildProgram:null}},n.prototype.getUniforms=function(e,t){return[]},n.prototype.getAttributes=function(e,t){return[]},n.prototype.bindSamplers=function(e){this._currentEffect=null},n.prototype.enableEffect=function(e){this._currentEffect=e,e.onBind&&e.onBind(e),e._onBindObservable&&e._onBindObservable.notifyObservers(e)},n.prototype.setState=function(e,t,n,i){void 0===t&&(t=0),void 0===i&&(i=!1)},n.prototype.setIntArray=function(e,t){},n.prototype.setIntArray2=function(e,t){},n.prototype.setIntArray3=function(e,t){},n.prototype.setIntArray4=function(e,t){},n.prototype.setFloatArray=function(e,t){},n.prototype.setFloatArray2=function(e,t){},n.prototype.setFloatArray3=function(e,t){},n.prototype.setFloatArray4=function(e,t){},n.prototype.setArray=function(e,t){},n.prototype.setArray2=function(e,t){},n.prototype.setArray3=function(e,t){},n.prototype.setArray4=function(e,t){},n.prototype.setMatrices=function(e,t){},n.prototype.setMatrix3x3=function(e,t){},n.prototype.setMatrix2x2=function(e,t){},n.prototype.setFloat=function(e,t){},n.prototype.setFloat2=function(e,t,n){},n.prototype.setFloat3=function(e,t,n,i){},n.prototype.setBool=function(e,t){},n.prototype.setFloat4=function(e,t,n,i,r){},n.prototype.setAlphaMode=function(e,t){void 0===t&&(t=!1),this._alphaMode!==e&&(this.alphaState.alphaBlend=0!==e,t||this.setDepthWrite(0===e),this._alphaMode=e)},n.prototype.bindBuffers=function(e,t,n){},n.prototype.wipeCaches=function(e){this.preventCacheWipeBetweenFrames||(this.resetTextureCache(),this._currentEffect=null,e&&(this._currentProgram=null,this.stencilState.reset(),this.depthCullingState.reset(),this.alphaState.reset()),this._cachedVertexBuffers=null,this._cachedIndexBuffer=null,this._cachedEffectForVertexBuffers=null)},n.prototype.draw=function(e,t,n,i){},n.prototype.drawElementsType=function(e,t,n,i){},n.prototype.drawArraysType=function(e,t,n,i){},n.prototype._createTexture=function(){return{}},n.prototype._releaseTexture=function(e){},n.prototype.createTexture=function(e,t,n,i,r,o,a,c,l,u,p,h){void 0===r&&(r=3),void 0===o&&(o=null),void 0===a&&(a=null),void 0===c&&(c=null),void 0===l&&(l=null),void 0===u&&(u=null),void 0===p&&(p=null);var d=new s.a(this,s.b.Url),f=String(e);return d.url=f,d.generateMipMaps=!t,d.samplingMode=r,d.invertY=n,d.baseWidth=this._options.textureSize,d.baseHeight=this._options.textureSize,d.width=this._options.textureSize,d.height=this._options.textureSize,u&&(d.format=u),d.isReady=!0,o&&o(),this._internalTexturesCache.push(d),d},n.prototype.createRenderTargetTexture=function(e,t){var n=new a.a;void 0!==t&&"object"==typeof t?(n.generateMipMaps=t.generateMipMaps,n.generateDepthBuffer=void 0===t.generateDepthBuffer||t.generateDepthBuffer,n.generateStencilBuffer=n.generateDepthBuffer&&t.generateStencilBuffer,n.type=void 0===t.type?0:t.type,n.samplingMode=void 0===t.samplingMode?3:t.samplingMode):(n.generateMipMaps=t,n.generateDepthBuffer=!0,n.generateStencilBuffer=!1,n.type=0,n.samplingMode=3);var i=new s.a(this,s.b.RenderTarget),r=e.width||e,o=e.height||e;return i._depthStencilBuffer={},i._framebuffer={},i.baseWidth=r,i.baseHeight=o,i.width=r,i.height=o,i.isReady=!0,i.samples=1,i.generateMipMaps=!!n.generateMipMaps,i.samplingMode=n.samplingMode,i.type=n.type,i._generateDepthBuffer=n.generateDepthBuffer,i._generateStencilBuffer=!!n.generateStencilBuffer,this._internalTexturesCache.push(i),i},n.prototype.updateTextureSamplingMode=function(e,t){t.samplingMode=e},n.prototype.bindFramebuffer=function(e,t,n,i,r){this._currentRenderTarget&&this.unBindFramebuffer(this._currentRenderTarget),this._currentRenderTarget=e,this._currentFramebuffer=e._MSAAFramebuffer?e._MSAAFramebuffer:e._framebuffer,this._cachedViewport&&!r&&this.setViewport(this._cachedViewport,n,i)},n.prototype.unBindFramebuffer=function(e,t,n){void 0===t&&(t=!1),this._currentRenderTarget=null,n&&(e._MSAAFramebuffer&&(this._currentFramebuffer=e._framebuffer),n()),this._currentFramebuffer=null},n.prototype.createDynamicVertexBuffer=function(e){var t=new c.a;return t.references=1,t.capacity=1,t},n.prototype.updateDynamicTexture=function(e,t,n,i,r){void 0===i&&(i=!1)},n.prototype.areAllEffectsReady=function(){return!0},n.prototype.getError=function(){return 0},n.prototype._getUnpackAlignement=function(){return 1},n.prototype._unpackFlipY=function(e){},n.prototype.updateDynamicIndexBuffer=function(e,t,n){void 0===n&&(n=0)},n.prototype.updateDynamicVertexBuffer=function(e,t,n,i){},n.prototype._bindTextureDirectly=function(e,t){return this._boundTexturesCache[this._activeChannel]!==t&&(this._boundTexturesCache[this._activeChannel]=t,!0)},n.prototype._bindTexture=function(e,t){e<0||this._bindTextureDirectly(0,t)},n.prototype._deleteBuffer=function(e){},n.prototype.releaseEffects=function(){},n.prototype.displayLoadingUI=function(){},n.prototype.hideLoadingUI=function(){},n.prototype._uploadCompressedDataToTextureDirectly=function(e,t,n,i,r,o,a){void 0===o&&(o=0),void 0===a&&(a=0)},n.prototype._uploadDataToTextureDirectly=function(e,t,n,i){void 0===n&&(n=0),void 0===i&&(i=0)},n.prototype._uploadArrayBufferViewToTexture=function(e,t,n,i){void 0===n&&(n=0),void 0===i&&(i=0)},n.prototype._uploadImageToTexture=function(e,t,n,i){void 0===n&&(n=0),void 0===i&&(i=0)},n}(o.a)}).call(this,n(165))},function(e,t,n){"use strict";var i=n(6),r=(n(55),"rgbdDecodePixelShader"),o="\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\n#include\nvoid main(void)\n{\ngl_FragColor=vec4(fromRGBD(texture2D(textureSampler,vUV)),1.0);\n}";i.a.ShadersStore[r]=o},function(e,t,n){"use strict";var i=n(1),r=n(36),o=n(30),a=n(10),s=n(69);r.a.prototype._createDepthStencilCubeTexture=function(e,t){var n=new o.a(this,o.b.Unknown);if(n.isCube=!0,1===this.webGLVersion)return a.a.Error("Depth cube texture is not supported by WebGL 1."),n;var r=Object(i.a)({bilinearFiltering:!1,comparisonFunction:0,generateStencil:!1},t),s=this._gl;this._bindTextureDirectly(s.TEXTURE_CUBE_MAP,n,!0),this._setupDepthStencilTexture(n,e,r.generateStencil,r.bilinearFiltering,r.comparisonFunction);for(var c=0;c<6;c++)r.generateStencil?s.texImage2D(s.TEXTURE_CUBE_MAP_POSITIVE_X+c,0,s.DEPTH24_STENCIL8,e,e,0,s.DEPTH_STENCIL,s.UNSIGNED_INT_24_8,null):s.texImage2D(s.TEXTURE_CUBE_MAP_POSITIVE_X+c,0,s.DEPTH_COMPONENT24,e,e,0,s.DEPTH_COMPONENT,s.UNSIGNED_INT,null);return this._bindTextureDirectly(s.TEXTURE_CUBE_MAP,null),n},r.a.prototype._partialLoadFile=function(e,t,n,i,r){void 0===r&&(r=null);this._loadFile(e,(function(e){n[t]=e,n._internalCount++,6===n._internalCount&&i(n)}),void 0,void 0,!0,(function(e,t){r&&e&&r(e.status+" "+e.statusText,t)}))},r.a.prototype._cascadeLoadFiles=function(e,t,n,i){void 0===i&&(i=null);var r=[];r._internalCount=0;for(var o=0;o<6;o++)this._partialLoadFile(n[o],o,r,t,i)},r.a.prototype._cascadeLoadImgs=function(e,t,n,i,r){void 0===i&&(i=null);var o=[];o._internalCount=0;for(var a=0;a<6;a++)this._partialLoadImg(n[a],a,o,e,t,i,r)},r.a.prototype._partialLoadImg=function(e,t,n,i,r,o,a){var c;void 0===o&&(o=null);c=s.a.LoadImage(e,(function(){c&&(n[t]=c,n._internalCount++,i&&i._removePendingData(c)),6===n._internalCount&&r(n)}),(function(e,t){i&&i._removePendingData(c),o&&o(e,t)}),i?i.offlineProvider:null,a),i&&c&&i._addPendingData(c)},r.a.prototype._setCubeMapTextureParams=function(e){var t=this._gl;t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MIN_FILTER,e?t.LINEAR_MIPMAP_LINEAR:t.LINEAR),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),this._bindTextureDirectly(t.TEXTURE_CUBE_MAP,null)},r.a.prototype.createCubeTexture=function(e,t,n,i,s,c,l,u,p,h,d,f){var _=this;void 0===s&&(s=null),void 0===c&&(c=null),void 0===u&&(u=null),void 0===p&&(p=!1),void 0===h&&(h=0),void 0===d&&(d=0),void 0===f&&(f=null);var m=this._gl,b=f||new o.a(this,o.b.Cube);b.isCube=!0,b.url=e,b.generateMipMaps=!i,b._lodGenerationScale=h,b._lodGenerationOffset=d,this._doNotHandleContextLost||(b._extension=u,b._files=n);for(var g=e.lastIndexOf("."),v=u||(g>-1?e.substring(g).toLowerCase():""),y=null,C=0,A=r.a._TextureLoaders;C=0;i--){var r=e[i];"."===r?e.splice(i,1):".."===r?(e.splice(i,1),n++):n&&(e.splice(i,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function i(e,t){if(e.filter)return e.filter(t);for(var n=[],i=0;i=-1&&!r;o--){var a=o>=0?arguments[o]:e.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(t=a+"/"+t,r="/"===a.charAt(0))}return(r?"/":"")+(t=n(i(t.split("/"),(function(e){return!!e})),!r).join("/"))||"."},t.normalize=function(e){var o=t.isAbsolute(e),a="/"===r(e,-1);return(e=n(i(e.split("/"),(function(e){return!!e})),!o).join("/"))||o||(e="."),e&&a&&(e+="/"),(o?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,n){function i(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var r=i(e.split("/")),o=i(n.split("/")),a=Math.min(r.length,o.length),s=a,c=0;c=1;--o)if(47===(t=e.charCodeAt(o))){if(!r){i=o;break}}else r=!1;return-1===i?n?"/":".":n&&1===i?"/":e.slice(0,i)},t.basename=function(e,t){var n=function(e){"string"!=typeof e&&(e+="");var t,n=0,i=-1,r=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!r){n=t+1;break}}else-1===i&&(r=!1,i=t+1);return-1===i?"":e.slice(n,i)}(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,n=0,i=-1,r=!0,o=0,a=e.length-1;a>=0;--a){var s=e.charCodeAt(a);if(47!==s)-1===i&&(r=!1,i=a+1),46===s?-1===t?t=a:1!==o&&(o=1):-1!==t&&(o=-1);else if(!r){n=a+1;break}}return-1===t||-1===i||0===o||1===o&&t===i-1&&t===n+1?"":e.slice(t,i)};var r="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,n(208))},function(e,t,n){(function(t,i,r,o,a){var s,c=(s=(s="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||t,function(e){var t;e=e||{},t||(t=void 0!==e?e:{});var c,l=function(){function e(){}function t(e){if(!(this instanceof t))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this.m=0,this.ia=!1,this.o=void 0,this.s=[],c(e,this)}function n(e,n){for(;3===e.m;)e=e.o;0===e.m?e.s.push(n):(e.ia=!0,t.ja((function(){var t=1===e.m?n.Vc:n.Wc;if(null===t)(1===e.m?r:o)(n.Y,e.o);else{try{var i=t(e.o)}catch(e){return void o(n.Y,e)}r(n.Y,i)}})))}function r(e,n){try{if(n===e)throw new TypeError("A promise cannot be resolved with itself.");if(n&&("object"==typeof n||"function"==typeof n)){var i=n.then;if(n instanceof t)return e.m=3,e.o=n,void a(e);if("function"==typeof i)return void c(function(e,t){return function(){e.apply(t,arguments)}}(i,n),e)}e.m=1,e.o=n,a(e)}catch(t){o(e,t)}}function o(e,t){e.m=2,e.o=t,a(e)}function a(e){2===e.m&&0===e.s.length&&t.ja((function(){e.ia||t.ka(e.o)}));for(var i=0,r=e.s.length;i=0;--h)p[48+h]=52+h,p[65+h]=h,p[97+h]=26+h;function d(e,t,n){for(var i,r,o=0,a=t,s=n.length,c=t+(3*s>>2)-("="==n[s-2])-("="==n[s-1]);o>4,a>2),a>2]=0,h[i+156>>2]=0,h[i+144>>2]=0,h[i+148>>2]=0,h[i+136>>2]=1065353216,h[i+140>>2]=0,h[i+128>>2]=1065353216,h[i+132>>2]=1065353216,h[i+120>>2]=0,h[i+124>>2]=0,h[i+112>>2]=1065353216,h[i+116>>2]=0;e:if(256&n){if(h[7720]=1805,h[7721]=0,(0|(f=h[e+1112>>2]))<1)break e;for(;;){if(d[h[(R=F<<2)+h[e+1120>>2]>>2]+377|0]){if(a=Eh(h[7720],h[7721],1284865837,1481765933)+1|0,u=D,u=a>>>0<1?u+1|0:u,h[7720]=a,h[7721]=u,f=u>>>1|0,a=Eh(h[7720],h[7721],1284865837,1481765933)+1|0,u=D,u=a>>>0<1?u+1|0:u,h[7720]=a,h[7721]=u,x=u>>>1|0,a=Eh(h[7720],h[7721],1284865837,1481765933)+1|0,p=D,p=a>>>0<1?p+1|0:p,h[7720]=a,h[7721]=p,s=v(v(p>>>1|0)*v(4.656612873077393e-10)),l=v(v(0|f)*v(4.656612873077393e-10)),_=v(v(0|x)*v(4.656612873077393e-10)),c=v(v(1)/v(S(v(v(s*s)+v(v(l*l)+v(_*_)))))),m[i+168>>2]=v(s*c)*v(.75),m[i+164>>2]=v(_*c)*v(.75),m[i+160>>2]=v(l*c)*v(.75),h[i+172>>2]=0,(0|(a=h[h[R+h[e+1120>>2]>>2]+24>>2]))<=0)x=0;else{for(f=0,h[7717]=h[7717]+1,x=0|r[h[6606]](a<<4,16);N=h[i+52>>2],h[(p=u=(f<<4)+x|0)>>2]=h[i+48>>2],h[p+4>>2]=N,p=h[i+60>>2],h[u+8>>2]=h[i+56>>2],h[u+12>>2]=p,(0|a)!=(0|(f=f+1|0)););if(f=0,!((0|a)<1))for(;u=h[h[h[R+h[e+1120>>2]>>2]+32>>2]+(f<<2)>>2],N=h[u+12>>2],h[(p=(f<<4)+x|0)>>2]=h[u+8>>2],h[p+4>>2]=N,N=h[u+20>>2],h[p+8>>2]=h[u+16>>2],h[p+12>>2]=N,(0|a)!=(0|(f=f+1|0)););}if(N=0,h[i+60>>2]=0,o[i+64|0]=1,o[i+84|0]=1,h[i+52>>2]=0,h[i+56>>2]=0,h[i+80>>2]=0,o[i+104|0]=1,h[i+72>>2]=0,h[i+76>>2]=0,h[i+100>>2]=0,h[i+92>>2]=0,h[i+96>>2]=0,Y(i+48|0,x,a),(0|(u=h[i+92>>2]))>0)for(;;){if(R=h[i+80>>2]+g(h[h[i+100>>2]+(N<<2)>>2],12)|0,a=g(h[R+4>>2],12)+R|0,(0|(f=g(h[a>>2],12)+a|0))!=(0|R)){for(u=h[a+8>>2],a=h[R+8>>2];k=(p=h[i+60>>2])+(u<<4)|0,V=(a<<4)+p|0,u=p,p=h[f+8>>2],r[h[h[t>>2]+28>>2]](t,k,V,u+(p<<4)|0,i+160|0,v(1)),u=a,a=p,p=g(h[f+4>>2],12)+f|0,(0|R)!=(0|(f=g(h[p>>2],12)+p|0)););u=h[i+92>>2]}if(!((0|(N=N+1|0))<(0|u)))break}(a=h[i+100>>2])&&(d[i+104|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[i+100>>2]=0),h[i+100>>2]=0,o[i+104|0]=1,h[i+92>>2]=0,h[i+96>>2]=0,(a=h[i+80>>2])&&(d[i+84|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[i+80>>2]=0),h[i+80>>2]=0,o[i+84|0]=1,h[i+72>>2]=0,h[i+76>>2]=0,(a=h[i+60>>2])&&(d[i+64|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[i+60>>2]=0),x&&x&&(h[7718]=h[7718]+1,r[h[6607]](x)),f=h[e+1112>>2]}if(!((0|(F=F+1|0))<(0|f)))break}}else{if(1&n&&!((0|(u=h[e+712>>2]))<1))for(;p=h[e+720>>2]+g(a,104)|0,1&o[h[p+4>>2]+16|0]&&(c=m[p+8>>2],u=h[p+16>>2],h[i+52>>2]=h[p+12>>2],h[i+56>>2]=u,h[i+60>>2]=0,m[i+48>>2]=c+v(-.10000000149011612),c=m[p+8>>2],s=m[p+12>>2],l=m[p+16>>2],h[i+172>>2]=0,m[i+168>>2]=l+v(0),m[i+164>>2]=s+v(0),m[i+160>>2]=c+v(.10000000149011612),h[i+40>>2]=0,h[i+44>>2]=0,h[i+32>>2]=1065353216,h[i+36>>2]=0,r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i+32|0),c=m[p+12>>2],u=h[p+8>>2],x=h[p+16>>2],h[i+60>>2]=0,h[i+56>>2]=x,h[i+48>>2]=u,m[i+52>>2]=c+v(-.10000000149011612),c=m[p+8>>2],s=m[p+12>>2],l=m[p+16>>2],h[i+172>>2]=0,m[i+168>>2]=l+v(0),m[i+164>>2]=s+v(.10000000149011612),m[i+160>>2]=c+v(0),h[i+40>>2]=0,h[i+44>>2]=0,h[i+32>>2]=0,h[i+36>>2]=1065353216,r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i+32|0),c=m[p+16>>2],u=h[p+12>>2],x=h[p+8>>2],h[i+60>>2]=0,h[i+48>>2]=x,h[i+52>>2]=u,m[i+56>>2]=c+v(-.10000000149011612),c=m[p+8>>2],s=m[p+12>>2],l=m[p+16>>2],h[i+172>>2]=0,m[i+168>>2]=l+v(.10000000149011612),m[i+164>>2]=s+v(0),m[i+160>>2]=c+v(0),h[i+40>>2]=1065353216,h[i+44>>2]=0,h[i+32>>2]=0,h[i+36>>2]=0,r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i+32|0),u=h[e+712>>2]),(0|(a=a+1|0))<(0|u););if(2&n&&!((0|(u=h[e+732>>2]))<1))for(;a=h[e+740>>2]+g(f,52)|0,1&o[h[a+4>>2]+16|0]&&(r[h[h[t>>2]+8>>2]](t,h[a+8>>2]+8|0,h[a+12>>2]+8|0,i+144|0),u=h[e+732>>2]),(0|(f=f+1|0))<(0|u););if(16&n&&!((0|(u=h[e+712>>2]))<1))for(a=0;p=h[e+720>>2]+g(a,104)|0,1&o[h[p+4>>2]+16|0]&&(c=m[p+72>>2],s=m[p+76>>2],l=m[p+80>>2],_=m[p+8>>2],b=m[p+12>>2],y=m[p+16>>2],h[i+60>>2]=0,l=v(l*v(.5)),m[i+56>>2]=y+l,s=v(s*v(.5)),m[i+52>>2]=b+s,c=v(c*v(.5)),m[i+48>>2]=_+c,u=p+8|0,r[h[h[t>>2]+8>>2]](t,u,i+48|0,i+128|0),_=m[p+8>>2],b=m[p+12>>2],y=m[p+16>>2],h[i+60>>2]=0,m[i+56>>2]=y-l,m[i+52>>2]=b-s,m[i+48>>2]=_-c,h[i+172>>2]=0,m[i+168>>2]=m[i+136>>2]*v(.5),m[i+164>>2]=m[i+132>>2]*v(.5),m[i+160>>2]=m[i+128>>2]*v(.5),r[h[h[t>>2]+8>>2]](t,u,i+48|0,i+160|0),u=h[e+712>>2]),(0|(a=a+1|0))<(0|u););if(32&n&&(1&o[30816]||Vl(30816)&&(h[7693]=0,h[7694]=0,h[7692]=1065353216,h[7695]=0,h[7696]=0,h[7698]=0,h[7699]=0,h[7697]=1065353216,h[7700]=0,h[7701]=0,h[7702]=1065353216,h[7703]=0,Fu(30816)),!(h[e+812>>2]<1)))for(a=0;u=h[e+820>>2]+g(a,104)|0,A=m[u+20>>2],c=m[u+12>>2],p=h[u+24>>2],s=m[p+16>>2],l=m[u+8>>2],_=m[p+12>>2],b=m[u+4>>2],y=m[p+8>>2],h[i+60>>2]=0,B=b,b=v(A+v(v(v(y*b)+v(_*l))+v(s*c))),y=v(y-v(B*b)),m[i+48>>2]=y,A=v(_-v(l*b)),m[i+52>>2]=A,b=v(s-v(c*b)),m[i+56>>2]=b,c=m[u+4>>2],s=m[u+12>>2],l=m[u+8>>2],_=m[30772+(p=(c>2],T=m[p+30768>>2],E=m[p+30776>>2],h[i+172>>2]=0,C=v(v(c*_)-v(l*T)),P=v(v(l*E)-v(s*_)),T=v(v(s*T)-v(c*E)),_=v(v(1)/v(S(v(v(C*C)+v(v(P*P)+v(T*T)))))),E=v(C*_),C=v(E*v(.5)),m[i+168>>2]=b-C,T=v(T*_),O=v(T*v(.5)),m[i+164>>2]=A-O,_=v(P*_),P=v(_*v(.5)),m[i+160>>2]=y-P,h[i+44>>2]=0,m[i+40>>2]=b+C,m[i+36>>2]=A+O,m[i+32>>2]=y+P,r[h[h[t>>2]+8>>2]](t,i+160|0,i+32|0,i+112|0),h[i+172>>2]=0,b=v(v(l*_)-v(c*T)),l=v(v(s*T)-v(l*E)),s=v(v(c*E)-v(s*_)),c=v(v(1)/v(S(v(v(b*b)+v(v(l*l)+v(s*s)))))),_=m[i+56>>2],b=v(v(b*c)*v(.5)),m[i+168>>2]=_-b,y=m[i+52>>2],s=v(v(s*c)*v(.5)),m[i+164>>2]=y-s,A=m[i+48>>2],c=v(v(l*c)*v(.5)),m[i+160>>2]=A-c,h[i+44>>2]=0,m[i+40>>2]=b+_,m[i+36>>2]=s+y,m[i+32>>2]=A+c,r[h[h[t>>2]+8>>2]](t,i+160|0,i+32|0,i+112|0),c=m[u+4>>2],s=m[u+8>>2],l=m[u+12>>2],h[i+172>>2]=0,m[i+168>>2]=v(v(l*v(.5))*v(3))+m[i+56>>2],m[i+164>>2]=v(v(s*v(.5))*v(3))+m[i+52>>2],m[i+160>>2]=v(v(c*v(.5))*v(3))+m[i+48>>2],h[i+40>>2]=0,h[i+44>>2]=0,h[i+32>>2]=1065353216,h[i+36>>2]=1065353216,r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i+32|0),(0|(a=a+1|0))>2];);if(4&n&&(h[i+56>>2]=0,h[i+60>>2]=0,h[i+48>>2]=0,h[i+52>>2]=1060320051,!((0|(u=h[e+752>>2]))<1)))for(f=0;a=h[e+760>>2]+g(f,44)|0,1&o[h[a+4>>2]+16|0]&&(u=h[a+16>>2],_=m[u+12>>2],p=h[a+8>>2],b=m[p+12>>2],a=h[a+12>>2],y=m[a+12>>2],A=m[u+16>>2],l=m[p+16>>2],T=m[a+16>>2],E=m[u+8>>2],s=m[p+8>>2],C=m[a+8>>2],h[i+172>>2]=0,c=v(v(E+v(s+C))*v(.3333333432674408)),m[i+160>>2]=c+v(v(s-c)*v(.800000011920929)),s=v(v(A+v(l+T))*v(.3333333432674408)),m[i+168>>2]=s+v(v(l-s)*v(.800000011920929)),l=v(v(_+v(b+y))*v(.3333333432674408)),m[i+164>>2]=l+v(v(b-l)*v(.800000011920929)),h[i+44>>2]=0,m[i+40>>2]=s+v(v(T-s)*v(.800000011920929)),m[i+36>>2]=l+v(v(y-l)*v(.800000011920929)),m[i+32>>2]=c+v(v(C-c)*v(.800000011920929)),h[i+28>>2]=0,m[i+24>>2]=s+v(v(A-s)*v(.800000011920929)),m[i+20>>2]=l+v(v(_-l)*v(.800000011920929)),m[i+16>>2]=c+v(v(E-c)*v(.800000011920929)),r[h[h[t>>2]+28>>2]](t,i+160|0,i+32|0,i+16|0,i+48|0,v(1)),u=h[e+752>>2]),(0|(f=f+1|0))<(0|u););if(8&n&&(h[i+56>>2]=1060320051,h[i+60>>2]=0,h[i+48>>2]=1050253722,h[i+52>>2]=1050253722,!((0|(u=h[e+772>>2]))<1)))for(f=0;a=h[e+780>>2]+g(f,104)|0,1&o[h[a+4>>2]+16|0]&&(u=h[a+20>>2],_=m[u+12>>2],p=h[a+16>>2],b=m[p+12>>2],x=h[a+8>>2],y=m[x+12>>2],a=h[a+12>>2],A=m[a+12>>2],T=m[u+16>>2],E=m[p+16>>2],l=m[x+16>>2],C=m[a+16>>2],P=m[u+8>>2],O=m[p+8>>2],s=m[x+8>>2],M=m[a+8>>2],h[i+172>>2]=0,c=v(v(P+v(O+v(s+M)))*v(.25)),I=v(c+v(v(s-c)*v(.800000011920929))),m[i+160>>2]=I,s=v(v(T+v(E+v(l+C)))*v(.25)),L=v(s+v(v(l-s)*v(.800000011920929))),m[i+168>>2]=L,l=v(v(_+v(b+v(y+A)))*v(.25)),y=v(l+v(v(y-l)*v(.800000011920929))),m[i+164>>2]=y,h[i+44>>2]=0,C=v(s+v(v(C-s)*v(.800000011920929))),m[i+40>>2]=C,A=v(l+v(v(A-l)*v(.800000011920929))),m[i+36>>2]=A,M=v(c+v(v(M-c)*v(.800000011920929))),m[i+32>>2]=M,h[i+28>>2]=0,E=v(s+v(v(E-s)*v(.800000011920929))),m[i+24>>2]=E,b=v(l+v(v(b-l)*v(.800000011920929))),m[i+20>>2]=b,O=v(c+v(v(O-c)*v(.800000011920929))),m[i+16>>2]=O,r[h[h[t>>2]+28>>2]](t,i+160|0,i+32|0,i+16|0,i+48|0,v(1)),h[i+172>>2]=0,m[i+168>>2]=L,m[i+164>>2]=y,m[i+160>>2]=I,h[i+44>>2]=0,m[i+40>>2]=C,m[i+36>>2]=A,m[i+32>>2]=M,h[i+28>>2]=0,s=v(s+v(v(T-s)*v(.800000011920929))),m[i+24>>2]=s,l=v(l+v(v(_-l)*v(.800000011920929))),m[i+20>>2]=l,c=v(c+v(v(P-c)*v(.800000011920929))),m[i+16>>2]=c,r[h[h[t>>2]+28>>2]](t,i+160|0,i+32|0,i+16|0,i+48|0,v(1)),h[i+172>>2]=0,m[i+168>>2]=C,m[i+164>>2]=A,m[i+160>>2]=M,h[i+44>>2]=0,m[i+40>>2]=E,m[i+36>>2]=b,m[i+32>>2]=O,h[i+28>>2]=0,m[i+24>>2]=s,m[i+20>>2]=l,m[i+16>>2]=c,r[h[h[t>>2]+28>>2]](t,i+160|0,i+32|0,i+16|0,i+48|0,v(1)),h[i+172>>2]=0,m[i+168>>2]=E,m[i+164>>2]=b,m[i+160>>2]=O,h[i+44>>2]=0,m[i+40>>2]=L,m[i+36>>2]=y,m[i+32>>2]=I,h[i+28>>2]=0,m[i+24>>2]=s,m[i+20>>2]=l,m[i+16>>2]=c,r[h[h[t>>2]+28>>2]](t,i+160|0,i+32|0,i+16|0,i+48|0,v(1)),u=h[e+772>>2]),(0|(f=f+1|0))<(0|u););}if(64&n){if(h[e+792>>2]>=1)for(u=0;p=h[e+800>>2]+g(u,96)|0,a=h[p+20>>2],_=m[a+52>>2],b=m[a+12>>2],y=m[a+8>>2],A=m[a+4>>2],T=m[a+56>>2],E=m[a+28>>2],C=m[a+20>>2],P=m[a+24>>2],O=m[a+60>>2],c=m[p+12>>2],M=m[a+44>>2],s=m[p+4>>2],I=m[a+36>>2],l=m[p+8>>2],L=m[a+40>>2],h[i+44>>2]=0,m[i+40>>2]=O+v(v(v(s*I)+v(l*L))+v(c*M)),m[i+36>>2]=T+v(v(v(s*C)+v(l*P))+v(c*E)),m[i+32>>2]=_+v(v(v(s*A)+v(l*y))+v(c*b)),a=h[p>>2],h[i+24>>2]=0,h[i+28>>2]=0,h[i+16>>2]=1065353216,h[i+20>>2]=0,c=m[a+8>>2],s=m[a+12>>2],l=m[a+16>>2],h[i+60>>2]=0,m[i+56>>2]=l,m[i+52>>2]=s,m[i+48>>2]=c+v(-.25),h[i+172>>2]=0,m[i+168>>2]=l+v(0),m[i+164>>2]=s+v(0),m[i+160>>2]=c+v(.25),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i+16|0),c=m[a+12>>2],s=m[a+8>>2],l=m[a+16>>2],h[i+60>>2]=0,m[i+56>>2]=l,m[i+48>>2]=s,m[i+52>>2]=c+v(-.25),h[i+172>>2]=0,m[i+168>>2]=l+v(0),m[i+164>>2]=c+v(.25),m[i+160>>2]=s+v(0),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i+16|0),c=m[a+16>>2],s=m[a+8>>2],l=m[a+12>>2],h[i+60>>2]=0,m[i+52>>2]=l,m[i+48>>2]=s,m[i+56>>2]=c+v(-.25),h[i+172>>2]=0,m[i+168>>2]=c+v(.25),m[i+164>>2]=l+v(0),m[i+160>>2]=s+v(0),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i+16|0),h[i+24>>2]=0,h[i+28>>2]=0,h[i+16>>2]=0,h[i+20>>2]=1065353216,h[i+60>>2]=0,c=m[i+40>>2],m[i+56>>2]=c,s=m[i+36>>2],m[i+52>>2]=s,l=m[i+32>>2],m[i+48>>2]=l+v(-.25),h[i+172>>2]=0,m[i+168>>2]=c+v(0),m[i+164>>2]=s+v(0),m[i+160>>2]=l+v(.25),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i+16|0),h[i+60>>2]=0,c=m[i+40>>2],m[i+56>>2]=c,s=m[i+36>>2],m[i+52>>2]=s+v(-.25),l=m[i+32>>2],m[i+48>>2]=l,h[i+172>>2]=0,m[i+168>>2]=c+v(0),m[i+164>>2]=s+v(.25),m[i+160>>2]=l+v(0),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i+16|0),h[i+60>>2]=0,c=m[i+40>>2],m[i+56>>2]=c+v(-.25),s=m[i+36>>2],m[i+52>>2]=s,l=m[i+32>>2],m[i+48>>2]=l,h[i+172>>2]=0,m[i+168>>2]=c+v(.25),m[i+164>>2]=s+v(0),m[i+160>>2]=l+v(0),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i+16|0),a=h[p>>2],h[i+56>>2]=1065353216,h[i+60>>2]=0,h[i+48>>2]=1065353216,h[i+52>>2]=1065353216,r[h[h[t>>2]+8>>2]](t,a+8|0,i+32|0,i+48|0),(0|(u=u+1|0))>2];);if(!((0|(u=h[e+712>>2]))<1))for(f=0;a=h[e+720>>2]+g(f,104)|0,!(1&o[h[a+4>>2]+16|0])|m[a+88>>2]<=v(0)^1||(h[i+40>>2]=0,h[i+44>>2]=0,h[i+32>>2]=1065353216,h[i+36>>2]=0,c=m[a+8>>2],s=m[a+12>>2],l=m[a+16>>2],h[i+60>>2]=0,m[i+56>>2]=l,m[i+52>>2]=s,m[i+48>>2]=c+v(-.25),h[i+172>>2]=0,m[i+168>>2]=l+v(0),m[i+164>>2]=s+v(0),m[i+160>>2]=c+v(.25),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i+32|0),c=m[a+12>>2],s=m[a+8>>2],l=m[a+16>>2],h[i+60>>2]=0,m[i+56>>2]=l,m[i+48>>2]=s,m[i+52>>2]=c+v(-.25),h[i+172>>2]=0,m[i+168>>2]=l+v(0),m[i+164>>2]=c+v(.25),m[i+160>>2]=s+v(0),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i+32|0),c=m[a+16>>2],s=m[a+8>>2],l=m[a+12>>2],h[i+60>>2]=0,m[i+52>>2]=l,m[i+48>>2]=s,m[i+56>>2]=c+v(-.25),h[i+172>>2]=0,m[i+168>>2]=c+v(.25),m[i+164>>2]=l+v(0),m[i+160>>2]=s+v(0),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i+32|0),u=h[e+712>>2]),(0|(f=f+1|0))<(0|u););}if(!(!(128&n)|h[e+692>>2]<1))for(u=0;;){if(a=h[e+700>>2]+g(u,60)|0,p=h[a+20>>2],h[i+56>>2]=h[a+16>>2],h[i+60>>2]=p,p=h[a+12>>2],h[i+48>>2]=h[a+8>>2],h[i+52>>2]=p,(0|(x=h[a+24>>2]))>=1)for(f=0,c=m[i+56>>2],s=m[i+52>>2],l=m[i+48>>2];p=h[28+(R=a+(f<<2)|0)>>2],b=m[p+12>>2],y=m[p+16>>2],_=m[R+44>>2],l=v(v(m[p+8>>2]*_)+l),m[i+48>>2]=l,c=v(v(_*y)+c),m[i+56>>2]=c,s=v(v(_*b)+s),m[i+52>>2]=s,(0|x)!=(0|(f=f+1|0)););if(r[h[h[t>>2]+40>>2]](t,i+48|0,h[a+4>>2]),!((0|(u=u+1|0))>2]))break}if(512&n&&(a=h[e+928>>2],h[i+56>>2]=1065353216,h[i+60>>2]=0,h[i+48>>2]=1065353216,h[i+52>>2]=0,h[i+168>>2]=1065353216,h[i+172>>2]=0,h[i+160>>2]=1065353216,h[i+164>>2]=1065353216,sn(t,a,0,i+48|0,i+160|0,0,-1)),1024&n&&(a=h[e+988>>2],h[i+56>>2]=0,h[i+60>>2]=0,h[i+48>>2]=0,h[i+52>>2]=1065353216,h[i+168>>2]=0,h[i+172>>2]=0,h[i+160>>2]=1065353216,h[i+164>>2]=0,sn(t,a,0,i+48|0,i+160|0,0,-1)),2048&n&&(a=h[e+1048>>2],h[i+56>>2]=1065353216,h[i+60>>2]=0,h[i+48>>2]=0,h[i+52>>2]=1065353216,h[i+168>>2]=0,h[i+172>>2]=0,h[i+160>>2]=1065353216,h[i+164>>2]=0,sn(t,a,0,i+48|0,i+160|0,0,-1)),!(!(4096&n)|h[e+852>>2]<1))for(u=0;;){e:{t:{n:switch(n=h[h[e+860>>2]+(u<<2)>>2],0|r[h[h[n>>2]+20>>2]](n)){case 1:break t;case 0:break n;default:break e}a=ri(p=n+4|0),_=m[a+52>>2],b=m[a+16>>2],y=m[a+20>>2],A=m[a+24>>2],T=m[a+56>>2],E=m[a+32>>2],C=m[a+36>>2],P=m[a+40>>2],O=m[a+48>>2],M=m[a>>2],I=m[a+4>>2],c=m[n+32>>2],L=m[a+8>>2],s=m[n+36>>2],l=m[n+28>>2],h[i+44>>2]=0,m[i+32>>2]=O+v(v(v(l*M)+v(c*I))+v(s*L)),m[i+40>>2]=T+v(v(v(l*E)+v(c*C))+v(s*P)),m[i+36>>2]=_+v(v(v(l*b)+v(c*y))+v(s*A)),a=ri(f=n+16|0),_=m[a+52>>2],b=m[a+24>>2],y=m[a+20>>2],A=m[a+16>>2],T=m[a+56>>2],E=m[a+40>>2],C=m[a+36>>2],P=m[a+32>>2],O=m[a+48>>2],M=m[a+8>>2],c=m[n+52>>2],I=m[a>>2],s=m[n+44>>2],L=m[a+4>>2],l=m[n+48>>2],h[i+28>>2]=0,m[i+16>>2]=O+v(v(v(s*I)+v(l*L))+v(c*M)),m[i+24>>2]=T+v(v(v(s*P)+v(l*C))+v(c*E)),m[i+20>>2]=_+v(v(v(s*A)+v(l*y))+v(c*b)),n=ri(p),h[i+56>>2]=0,h[i+60>>2]=0,h[i+48>>2]=1065353216,h[i+52>>2]=1065353216,r[h[h[t>>2]+8>>2]](t,n+48|0,i+32|0,i+48|0),n=ri(f),h[i+56>>2]=1065353216,h[i+60>>2]=0,h[i+48>>2]=0,h[i+52>>2]=1065353216,r[h[h[t>>2]+8>>2]](t,n+48|0,i+16|0,i+48|0),h[i+8>>2]=0,h[i+12>>2]=0,h[i>>2]=1065353216,h[i+4>>2]=1065353216,h[i+60>>2]=0,c=m[i+40>>2],m[i+56>>2]=c,s=m[i+36>>2],m[i+52>>2]=s,l=m[i+32>>2],m[i+48>>2]=l+v(-.25),h[i+172>>2]=0,m[i+168>>2]=c+v(0),m[i+164>>2]=s+v(0),m[i+160>>2]=l+v(.25),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i),h[i+60>>2]=0,c=m[i+40>>2],m[i+56>>2]=c,s=m[i+36>>2],m[i+52>>2]=s+v(-.25),l=m[i+32>>2],m[i+48>>2]=l,h[i+172>>2]=0,m[i+168>>2]=c+v(0),m[i+164>>2]=s+v(.25),m[i+160>>2]=l+v(0),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i),h[i+60>>2]=0,c=m[i+40>>2],m[i+56>>2]=c+v(-.25),s=m[i+36>>2],m[i+52>>2]=s,l=m[i+32>>2],m[i+48>>2]=l,h[i+172>>2]=0,m[i+168>>2]=c+v(.25),m[i+164>>2]=s+v(0),m[i+160>>2]=l+v(0),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i),h[i+8>>2]=1065353216,h[i+12>>2]=0,h[i>>2]=0,h[i+4>>2]=1065353216,h[i+60>>2]=0,c=m[i+24>>2],m[i+56>>2]=c,s=m[i+20>>2],m[i+52>>2]=s,l=m[i+16>>2],m[i+48>>2]=l+v(-.25),h[i+172>>2]=0,m[i+168>>2]=c+v(0),m[i+164>>2]=s+v(0),m[i+160>>2]=l+v(.25),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i),h[i+60>>2]=0,c=m[i+24>>2],m[i+56>>2]=c,s=m[i+20>>2],m[i+52>>2]=s+v(-.25),l=m[i+16>>2],m[i+48>>2]=l,h[i+172>>2]=0,m[i+168>>2]=c+v(0),m[i+164>>2]=s+v(.25),m[i+160>>2]=l+v(0),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i),h[i+60>>2]=0,c=m[i+24>>2],m[i+56>>2]=c+v(-.25),s=m[i+20>>2],m[i+52>>2]=s,l=m[i+16>>2],m[i+48>>2]=l,h[i+172>>2]=0,m[i+168>>2]=c+v(.25),m[i+164>>2]=s+v(0),m[i+160>>2]=l+v(0),r[h[h[t>>2]+8>>2]](t,i+48|0,i+160|0,i);break e}a=ri(p=n+4|0),f=h[a+60>>2],h[i+56>>2]=h[a+56>>2],h[i+60>>2]=f,f=h[a+52>>2],h[i+48>>2]=h[a+48>>2],h[i+52>>2]=f,a=ri(f=n+16|0),x=h[a+60>>2],h[i+168>>2]=h[a+56>>2],h[i+172>>2]=x,x=h[a+52>>2],h[i+160>>2]=h[a+48>>2],h[i+164>>2]=x,a=ri(p),A=m[a+16>>2],T=m[a+20>>2],E=m[a+24>>2],C=m[a+32>>2],P=m[a+36>>2],O=m[a+40>>2],M=m[a>>2],c=m[n+32>>2],I=m[a+4>>2],s=m[n+36>>2],L=m[a+8>>2],l=m[n+28>>2],a=ri(f),z=m[a+8>>2],j=m[a>>2],U=m[a+4>>2],G=m[a+24>>2],H=m[a+20>>2],W=m[a+16>>2],_=m[n+52>>2],X=m[a+40>>2],b=m[n+48>>2],Q=m[a+36>>2],B=m[a+32>>2],y=m[n+44>>2],h[i+44>>2]=0,M=v(v(v(v(M*l)+v(I*c))+v(L*s))*v(10)),m[i+32>>2]=M+m[i+48>>2],C=v(v(v(v(l*C)+v(c*P))+v(s*O))*v(10)),m[i+40>>2]=C+m[i+56>>2],c=v(v(v(v(l*A)+v(c*T))+v(s*E))*v(10)),m[i+36>>2]=c+m[i+52>>2],h[i+24>>2]=0,h[i+28>>2]=0,h[i+16>>2]=1065353216,h[i+20>>2]=1065353216,r[h[h[t>>2]+8>>2]](t,i+48|0,i+32|0,i+16|0),h[i+44>>2]=0,s=v(v(v(v(y*B)+v(b*Q))+v(_*X))*v(10)),m[i+40>>2]=s+m[i+56>>2],l=v(v(v(v(y*W)+v(b*H))+v(_*G))*v(10)),m[i+36>>2]=l+m[i+52>>2],_=v(v(v(v(j*y)+v(U*b))+v(z*_))*v(10)),m[i+32>>2]=_+m[i+48>>2],h[i+24>>2]=0,h[i+28>>2]=0,h[i+16>>2]=1065353216,h[i+20>>2]=1065353216,r[h[h[t>>2]+8>>2]](t,i+48|0,i+32|0,i+16|0),h[i+44>>2]=0,m[i+40>>2]=C+m[i+168>>2],m[i+36>>2]=c+m[i+164>>2],m[i+32>>2]=M+m[i+160>>2],h[i+24>>2]=1065353216,h[i+28>>2]=0,h[i+16>>2]=0,h[i+20>>2]=1065353216,r[h[h[t>>2]+8>>2]](t,i+160|0,i+32|0,i+16|0),h[i+44>>2]=0,m[i+40>>2]=s+m[i+168>>2],m[i+36>>2]=l+m[i+164>>2],m[i+32>>2]=_+m[i+160>>2],h[i+24>>2]=1065353216,h[i+28>>2]=0,h[i+16>>2]=0,h[i+20>>2]=1065353216,r[h[h[t>>2]+8>>2]](t,i+160|0,i+32|0,i+16|0)}if(!((0|(u=u+1|0))>2]))break}w=i+176|0}function N(e,t){var n,i=0,o=0,a=0,s=v(0),c=v(0),l=0,u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),g=0,y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=0,z=v(0),j=0,U=v(0),G=v(0);w=n=w-176|0,i=0|r[h[h[e>>2]+20>>2]](e),l=0|r[h[h[i>>2]+48>>2]](i),i=0|r[h[h[e>>2]+20>>2]](e),i=0|r[h[h[i>>2]+48>>2]](i);e:if(!((k=m[t+40>>2])<=v(0))){o=2048&l,V=4096&i;t:switch(h[t+4>>2]+-3|0){case 0:if(h[n+124>>2]=0,h[n+128>>2]=0,h[n+136>>2]=0,h[n+140>>2]=0,h[n+132>>2]=1065353216,h[n+156>>2]=0,h[n+160>>2]=0,h[n+152>>2]=1065353216,h[n+164>>2]=0,h[n+168>>2]=0,h[n+172>>2]=0,h[n+116>>2]=0,h[n+120>>2]=0,h[n+112>>2]=1065353216,h[n+144>>2]=0,h[n+148>>2]=0,i=h[t+28>>2],N=m[i+52>>2],y=m[i+8>>2],O=m[i+12>>2],M=m[i+56>>2],I=m[i+28>>2],p=m[i+20>>2],f=m[i+24>>2],_=m[i+60>>2],R=m[t+308>>2],u=m[i+44>>2],D=m[t+300>>2],b=m[i+36>>2],L=m[t+304>>2],s=m[i+40>>2],c=m[i+4>>2],h[n+172>>2]=0,m[n+168>>2]=_+v(v(v(D*b)+v(L*s))+v(R*u)),m[n+164>>2]=M+v(v(v(D*p)+v(L*f))+v(R*I)),m[n+160>>2]=N+v(v(v(D*c)+v(L*y))+v(R*O)),i=0|r[h[h[e>>2]+20>>2]](e),r[h[h[i>>2]+56>>2]](i,n+112|0,k),i=h[t+32>>2],N=m[i+52>>2],y=m[i+8>>2],O=m[i+12>>2],M=m[i+56>>2],I=m[i+28>>2],p=m[i+20>>2],f=m[i+24>>2],_=m[i+60>>2],R=m[t+324>>2],u=m[i+44>>2],D=m[t+316>>2],b=m[i+36>>2],L=m[t+320>>2],s=m[i+40>>2],c=m[i+4>>2],h[n+172>>2]=0,m[n+168>>2]=_+v(v(v(D*b)+v(L*s))+v(R*u)),m[n+164>>2]=M+v(v(v(D*p)+v(L*f))+v(R*I)),m[n+160>>2]=N+v(v(v(D*c)+v(L*y))+v(R*O)),!o)break e;e=0|r[h[h[e>>2]+20>>2]](e),r[h[h[e>>2]+56>>2]](e,n+112|0,k);break e;case 1:if(i=h[t+28>>2],b=m[i+52>>2],A=m[i+8>>2],x=m[i+12>>2],R=m[t+584>>2],D=m[t+552>>2],L=m[t+568>>2],s=m[i+56>>2],c=m[i+60>>2],N=m[t+608>>2],y=m[t+600>>2],O=m[t+604>>2],C=m[i+28>>2],S=m[i+20>>2],T=m[i+24>>2],M=m[t+588>>2],I=m[t+556>>2],p=m[t+572>>2],f=m[t+592>>2],E=m[i+44>>2],_=m[t+560>>2],P=m[i+36>>2],u=m[t+576>>2],F=m[i+40>>2],B=m[i+4>>2],h[n+172>>2]=0,h[n+156>>2]=0,h[n+140>>2]=0,m[n+152>>2]=v(v(_*P)+v(u*F))+v(f*E),m[n+148>>2]=v(v(I*P)+v(p*F))+v(M*E),m[n+136>>2]=v(v(_*S)+v(u*T))+v(f*C),m[n+132>>2]=v(v(I*S)+v(p*T))+v(M*C),m[n+168>>2]=c+v(v(v(P*y)+v(F*O))+v(E*N)),m[n+164>>2]=s+v(v(v(S*y)+v(T*O))+v(C*N)),h[n+124>>2]=0,m[n+144>>2]=v(v(D*P)+v(L*F))+v(R*E),m[n+128>>2]=v(v(D*S)+v(L*T))+v(R*C),m[n+120>>2]=v(v(B*_)+v(A*u))+v(x*f),m[n+116>>2]=v(v(B*I)+v(A*p))+v(x*M),m[n+112>>2]=v(v(D*B)+v(L*A))+v(R*x),m[n+160>>2]=b+v(v(v(B*y)+v(A*O))+v(x*N)),o?(i=0|r[h[h[e>>2]+20>>2]](e),r[h[h[i>>2]+56>>2]](i,n+112|0,k),i=h[t+32>>2],b=m[i+52>>2],s=m[i+56>>2],c=m[i+60>>2],R=m[t+672>>2],D=m[t+664>>2],L=m[t+668>>2],A=m[i+8>>2],x=m[i+12>>2],C=m[i+28>>2],S=m[i+20>>2],T=m[i+24>>2],N=m[t+648>>2],y=m[t+616>>2],O=m[t+632>>2],M=m[t+652>>2],I=m[t+620>>2],p=m[t+636>>2],f=m[t+656>>2],E=m[i+44>>2],_=m[t+624>>2],P=m[i+36>>2],u=m[t+640>>2],F=m[i+40>>2],B=m[i+4>>2],h[n+172>>2]=0,h[n+156>>2]=0,h[n+140>>2]=0,h[n+124>>2]=0,m[n+152>>2]=v(v(_*P)+v(u*F))+v(f*E),m[n+148>>2]=v(v(I*P)+v(p*F))+v(M*E),m[n+144>>2]=v(v(y*P)+v(O*F))+v(N*E),m[n+136>>2]=v(v(_*S)+v(u*T))+v(f*C),m[n+132>>2]=v(v(I*S)+v(p*T))+v(M*C),m[n+128>>2]=v(v(y*S)+v(O*T))+v(N*C),m[n+120>>2]=v(v(B*_)+v(A*u))+v(x*f),m[n+116>>2]=v(v(B*I)+v(A*p))+v(x*M),m[n+112>>2]=v(v(y*B)+v(O*A))+v(N*x),m[n+168>>2]=c+v(v(v(P*D)+v(F*L))+v(E*R)),m[n+164>>2]=s+v(v(v(S*D)+v(T*L))+v(C*R)),m[n+160>>2]=b+v(v(v(B*D)+v(A*L))+v(x*R)),i=0|r[h[h[e>>2]+20>>2]](e),r[h[h[i>>2]+56>>2]](i,n+112|0,k)):(i=h[t+32>>2],b=m[i+52>>2],s=m[i+56>>2],c=m[i+60>>2],R=m[t+672>>2],D=m[t+664>>2],L=m[t+668>>2],A=m[i+8>>2],x=m[i+12>>2],C=m[i+28>>2],S=m[i+20>>2],T=m[i+24>>2],N=m[t+648>>2],y=m[t+616>>2],O=m[t+632>>2],M=m[t+652>>2],I=m[t+620>>2],p=m[t+636>>2],f=m[t+656>>2],E=m[i+44>>2],_=m[t+624>>2],P=m[i+36>>2],u=m[t+640>>2],F=m[i+40>>2],B=m[i+4>>2],h[n+172>>2]=0,h[n+156>>2]=0,h[n+140>>2]=0,h[n+124>>2]=0,m[n+152>>2]=v(v(_*P)+v(u*F))+v(f*E),m[n+148>>2]=v(v(I*P)+v(p*F))+v(M*E),m[n+144>>2]=v(v(y*P)+v(O*F))+v(N*E),m[n+136>>2]=v(v(_*S)+v(u*T))+v(f*C),m[n+132>>2]=v(v(I*S)+v(p*T))+v(M*C),m[n+128>>2]=v(v(y*S)+v(O*T))+v(N*C),m[n+120>>2]=v(v(B*_)+v(A*u))+v(x*f),m[n+116>>2]=v(v(B*I)+v(A*p))+v(x*M),m[n+112>>2]=v(v(y*B)+v(O*A))+v(N*x),m[n+168>>2]=c+v(v(v(P*D)+v(F*L))+v(E*R)),m[n+164>>2]=s+v(v(v(S*D)+v(T*L))+v(C*R)),m[n+160>>2]=b+v(v(v(B*D)+v(A*L))+v(x*R))),!V|(s=Fa(t=t+688|0))==(c=Na(t)))break e;h[n+96>>2]=h[n+120>>2],h[n+100>>2]=h[n+136>>2],h[n+108>>2]=0,h[n+104>>2]=h[n+152>>2],h[n+80>>2]=h[n+112>>2],h[n+84>>2]=h[n+128>>2],h[n+92>>2]=0,h[n+88>>2]=h[n+144>>2],t=0|r[h[h[e>>2]+20>>2]](e),h[n+72>>2]=0,h[n+76>>2]=0,h[n+64>>2]=0,h[n+68>>2]=0,e=s>c,r[h[h[t>>2]+60>>2]](t,n+160|0,n+96|0,n+80|0,k,k,e?v(0):s,e?v(6.2831854820251465):c,n- -64|0,1^e,v(10));break e;case 2:if(i=h[t+28>>2],b=m[i+52>>2],A=m[i+8>>2],x=m[i+12>>2],R=m[t+332>>2],D=m[t+300>>2],L=m[t+316>>2],s=m[i+56>>2],c=m[i+60>>2],N=m[t+356>>2],y=m[t+348>>2],O=m[t+352>>2],C=m[i+28>>2],S=m[i+20>>2],T=m[i+24>>2],M=m[t+336>>2],I=m[t+304>>2],p=m[t+320>>2],f=m[t+340>>2],E=m[i+44>>2],_=m[t+308>>2],P=m[i+36>>2],u=m[t+324>>2],F=m[i+40>>2],B=m[i+4>>2],h[n+172>>2]=0,h[n+156>>2]=0,h[n+140>>2]=0,m[n+152>>2]=v(v(_*P)+v(u*F))+v(f*E),m[n+148>>2]=v(v(I*P)+v(p*F))+v(M*E),m[n+136>>2]=v(v(_*S)+v(u*T))+v(f*C),m[n+132>>2]=v(v(I*S)+v(p*T))+v(M*C),m[n+168>>2]=c+v(v(v(P*y)+v(F*O))+v(E*N)),m[n+164>>2]=s+v(v(v(S*y)+v(T*O))+v(C*N)),h[n+124>>2]=0,m[n+144>>2]=v(v(D*P)+v(L*F))+v(R*E),m[n+128>>2]=v(v(D*S)+v(L*T))+v(R*C),m[n+120>>2]=v(v(B*_)+v(A*u))+v(x*f),m[n+116>>2]=v(v(B*I)+v(A*p))+v(x*M),m[n+112>>2]=v(v(D*B)+v(L*A))+v(R*x),m[n+160>>2]=b+v(v(v(B*y)+v(A*O))+v(x*N)),o?(i=0|r[h[h[e>>2]+20>>2]](e),r[h[h[i>>2]+56>>2]](i,n+112|0,k),i=h[t+32>>2],b=m[i+52>>2],s=m[i+56>>2],c=m[i+60>>2],R=m[t+420>>2],D=m[t+412>>2],L=m[t+416>>2],A=m[i+8>>2],x=m[i+12>>2],C=m[i+28>>2],S=m[i+20>>2],T=m[i+24>>2],N=m[t+396>>2],y=m[t+364>>2],O=m[t+380>>2],M=m[t+400>>2],I=m[t+368>>2],p=m[t+384>>2],f=m[t+404>>2],E=m[i+44>>2],_=m[t+372>>2],P=m[i+36>>2],u=m[t+388>>2],F=m[i+40>>2],B=m[i+4>>2],h[n+172>>2]=0,h[n+156>>2]=0,h[n+140>>2]=0,h[n+124>>2]=0,m[n+152>>2]=v(v(_*P)+v(u*F))+v(f*E),m[n+148>>2]=v(v(I*P)+v(p*F))+v(M*E),m[n+144>>2]=v(v(y*P)+v(O*F))+v(N*E),m[n+136>>2]=v(v(_*S)+v(u*T))+v(f*C),m[n+132>>2]=v(v(I*S)+v(p*T))+v(M*C),m[n+128>>2]=v(v(y*S)+v(O*T))+v(N*C),m[n+120>>2]=v(v(B*_)+v(A*u))+v(x*f),m[n+116>>2]=v(v(B*I)+v(A*p))+v(x*M),m[n+112>>2]=v(v(y*B)+v(O*A))+v(N*x),m[n+168>>2]=c+v(v(v(P*D)+v(F*L))+v(E*R)),m[n+164>>2]=s+v(v(v(S*D)+v(T*L))+v(C*R)),m[n+160>>2]=b+v(v(v(B*D)+v(A*L))+v(x*R)),i=0|r[h[h[e>>2]+20>>2]](e),r[h[h[i>>2]+56>>2]](i,n+112|0,k)):(i=h[t+32>>2],b=m[i+52>>2],s=m[i+56>>2],c=m[i+60>>2],R=m[t+420>>2],D=m[t+412>>2],L=m[t+416>>2],A=m[i+8>>2],x=m[i+12>>2],C=m[i+28>>2],S=m[i+20>>2],T=m[i+24>>2],N=m[t+396>>2],y=m[t+364>>2],O=m[t+380>>2],M=m[t+400>>2],I=m[t+368>>2],p=m[t+384>>2],f=m[t+404>>2],E=m[i+44>>2],_=m[t+372>>2],P=m[i+36>>2],u=m[t+388>>2],F=m[i+40>>2],B=m[i+4>>2],h[n+172>>2]=0,h[n+156>>2]=0,h[n+140>>2]=0,h[n+124>>2]=0,m[n+152>>2]=v(v(_*P)+v(u*F))+v(f*E),m[n+148>>2]=v(v(I*P)+v(p*F))+v(M*E),m[n+144>>2]=v(v(y*P)+v(O*F))+v(N*E),m[n+136>>2]=v(v(_*S)+v(u*T))+v(f*C),m[n+132>>2]=v(v(I*S)+v(p*T))+v(M*C),m[n+128>>2]=v(v(y*S)+v(O*T))+v(N*C),m[n+120>>2]=v(v(B*_)+v(A*u))+v(x*f),m[n+116>>2]=v(v(B*I)+v(A*p))+v(x*M),m[n+112>>2]=v(v(y*B)+v(O*A))+v(N*x),m[n+168>>2]=c+v(v(v(P*D)+v(F*L))+v(E*R)),m[n+164>>2]=s+v(v(v(S*D)+v(T*L))+v(C*R)),m[n+160>>2]=b+v(v(v(B*D)+v(A*L))+v(x*R))),!V)break e;for(ir(n+96|0,t,v(6.0868353843688965),k),h[n+108>>2]=0,b=m[n+96>>2],s=m[n+100>>2],c=m[n+104>>2],m[n+104>>2]=v(v(v(b*m[n+144>>2])+v(s*m[n+148>>2]))+v(c*m[n+152>>2]))+m[n+168>>2],m[n+100>>2]=v(v(v(b*m[n+128>>2])+v(s*m[n+132>>2]))+v(c*m[n+136>>2]))+m[n+164>>2],m[n+96>>2]=v(v(v(b*m[n+112>>2])+v(s*m[n+116>>2]))+v(c*m[n+120>>2]))+m[n+160>>2],i=n+160|0;ir(n+80|0,t,v(v(v(0|g)*v(6.283185005187988))*v(.03125)),k),h[n+92>>2]=0,b=m[n+80>>2],s=m[n+84>>2],c=m[n+88>>2],m[n+88>>2]=v(v(v(b*m[n+144>>2])+v(s*m[n+148>>2]))+v(c*m[n+152>>2]))+m[n+168>>2],m[n+84>>2]=v(v(v(b*m[n+128>>2])+v(s*m[n+132>>2]))+v(c*m[n+136>>2]))+m[n+164>>2],m[n+80>>2]=v(v(v(b*m[n+112>>2])+v(s*m[n+116>>2]))+v(c*m[n+120>>2]))+m[n+160>>2],l=0|r[h[h[e>>2]+20>>2]](e),h[n+72>>2]=0,h[n+76>>2]=0,h[n+64>>2]=0,h[n+68>>2]=0,r[h[h[l>>2]+8>>2]](l,n+96|0,n+80|0,n- -64|0),3&g||(l=0|r[h[h[e>>2]+20>>2]](e),h[n+72>>2]=0,h[n+76>>2]=0,h[n+64>>2]=0,h[n+68>>2]=0,r[h[h[l>>2]+8>>2]](l,i,n+80|0,n- -64|0)),l=h[n+92>>2],h[n+104>>2]=h[n+88>>2],h[n+108>>2]=l,l=h[n+84>>2],h[n+96>>2]=h[n+80>>2],h[n+100>>2]=l,32!=(0|(g=g+1|0)););F=m[t+512>>2],B=m[t+452>>2],g=h[t+32>>2],m[g+344>>2]>v(0)?(z=m[g+36>>2],s=m[t+412>>2],y=m[g+40>>2],c=m[t+416>>2],R=v(v(z*s)+v(y*c)),A=m[g+20>>2],x=m[g+24>>2],C=m[g+28>>2],O=m[t+420>>2],D=v(v(v(A*s)+v(x*c))+v(C*O)),S=m[g+4>>2],T=m[g+8>>2],E=m[g+12>>2],L=v(v(v(S*s)+v(T*c))+v(E*O)),M=m[t+372>>2],I=m[t+388>>2],p=m[t+404>>2],P=m[g+44>>2],N=v(v(v(M*z)+v(I*y))+v(p*P)),f=m[t+368>>2],_=m[t+384>>2],u=m[t+400>>2],U=v(v(v(f*z)+v(_*y))+v(u*P)),b=m[t+364>>2],s=m[t+380>>2],c=m[t+396>>2],G=v(v(v(b*z)+v(s*y))+v(c*P)),y=v(v(v(M*A)+v(I*x))+v(p*C)),z=v(v(v(f*A)+v(_*x))+v(u*C)),C=v(v(v(b*A)+v(s*x))+v(c*C)),p=v(v(v(S*M)+v(T*I))+v(E*p)),f=v(v(v(S*f)+v(T*_))+v(E*u)),_=v(v(v(b*S)+v(s*T))+v(c*E)),u=v(P*O)):(g=h[t+28>>2],z=m[g+36>>2],s=m[t+348>>2],y=m[g+40>>2],c=m[t+352>>2],R=v(v(z*s)+v(y*c)),A=m[g+20>>2],x=m[g+24>>2],C=m[g+28>>2],O=m[t+356>>2],D=v(v(v(A*s)+v(x*c))+v(C*O)),S=m[g+4>>2],T=m[g+8>>2],E=m[g+12>>2],L=v(v(v(S*s)+v(T*c))+v(E*O)),M=m[t+308>>2],I=m[t+324>>2],p=m[t+340>>2],P=m[g+44>>2],N=v(v(v(M*z)+v(I*y))+v(p*P)),f=m[t+304>>2],_=m[t+320>>2],u=m[t+336>>2],U=v(v(v(f*z)+v(_*y))+v(u*P)),b=m[t+300>>2],s=m[t+316>>2],c=m[t+332>>2],G=v(v(v(b*z)+v(s*y))+v(c*P)),y=v(v(v(M*A)+v(I*x))+v(p*C)),z=v(v(v(f*A)+v(_*x))+v(u*C)),C=v(v(v(b*A)+v(s*x))+v(c*C)),p=v(v(v(S*M)+v(T*I))+v(E*p)),f=v(v(v(S*f)+v(T*_))+v(E*u)),_=v(v(v(b*S)+v(s*T))+v(c*E)),u=v(P*O)),b=m[g+52>>2],s=m[g+56>>2],c=m[g+60>>2],h[n+172>>2]=0,h[n+156>>2]=0,m[n+152>>2]=N,m[n+148>>2]=U,m[n+144>>2]=G,h[n+140>>2]=0,m[n+136>>2]=y,m[n+132>>2]=z,m[n+128>>2]=C,h[n+124>>2]=0,m[n+120>>2]=p,m[n+116>>2]=f,m[n+112>>2]=_,m[n+168>>2]=c+v(R+u),m[n+164>>2]=D+s,m[n+160>>2]=b+L,t=h[i+12>>2],h[n+88>>2]=h[i+8>>2],h[n+92>>2]=t,t=h[i+4>>2],h[n+80>>2]=h[i>>2],h[n+84>>2]=t,h[n+76>>2]=0,m[n+72>>2]=G,m[n+68>>2]=C,m[n+64>>2]=_,h[n+60>>2]=0,m[n+56>>2]=U,m[n+52>>2]=z,m[n+48>>2]=f,e=0|r[h[h[e>>2]+20>>2]](e),h[n+40>>2]=0,h[n+44>>2]=0,h[n+32>>2]=0,h[n+36>>2]=0,r[h[h[e>>2]+60>>2]](e,n+80|0,n- -64|0,n+48|0,k,k,v(v(-F)-B),v(B-F),n+32|0,1,v(10));break e;case 3:case 6:if(i=h[4+(l=t+1072|0)>>2],h[n+120>>2]=h[l>>2],h[n+124>>2]=i,i=h[4+(l=j=t+1064|0)>>2],h[n+112>>2]=h[l>>2],h[n+116>>2]=i,i=h[4+(l=t+1088|0)>>2],h[n+136>>2]=h[l>>2],h[n+140>>2]=i,i=h[4+(l=g=t+1080|0)>>2],h[n+128>>2]=h[l>>2],h[n+132>>2]=i,i=h[4+(l=t+1104|0)>>2],h[n+152>>2]=h[l>>2],h[n+156>>2]=i,i=h[4+(a=l=t+1096|0)>>2],h[n+144>>2]=h[a>>2],h[n+148>>2]=i,i=h[4+(a=t+1120|0)>>2],h[n+168>>2]=h[a>>2],h[n+172>>2]=i,a=h[4+(i=t+1112|0)>>2],h[n+160>>2]=h[i>>2],h[n+164>>2]=a,o?(a=0|r[h[h[e>>2]+20>>2]](e),r[h[h[a>>2]+56>>2]](a,n+112|0,k),a=h[4+(o=t+1136|0)>>2],h[n+120>>2]=h[o>>2],h[n+124>>2]=a,a=h[4+(o=t+1128|0)>>2],h[n+112>>2]=h[o>>2],h[n+116>>2]=a,a=h[4+(o=t+1152|0)>>2],h[n+136>>2]=h[o>>2],h[n+140>>2]=a,a=h[4+(o=t+1144|0)>>2],h[n+128>>2]=h[o>>2],h[n+132>>2]=a,a=h[4+(o=t+1168|0)>>2],h[n+152>>2]=h[o>>2],h[n+156>>2]=a,a=h[4+(o=t+1160|0)>>2],h[n+144>>2]=h[o>>2],h[n+148>>2]=a,a=h[4+(o=t+1184|0)>>2],h[n+168>>2]=h[o>>2],h[n+172>>2]=a,a=h[4+(o=t+1176|0)>>2],h[n+160>>2]=h[o>>2],h[n+164>>2]=a,a=0|r[h[h[e>>2]+20>>2]](e),r[h[h[a>>2]+56>>2]](a,n+112|0,k)):(a=h[4+(o=t+1136|0)>>2],h[n+120>>2]=h[o>>2],h[n+124>>2]=a,a=h[4+(o=t+1128|0)>>2],h[n+112>>2]=h[o>>2],h[n+116>>2]=a,a=h[4+(o=t+1152|0)>>2],h[n+136>>2]=h[o>>2],h[n+140>>2]=a,a=h[4+(o=t+1144|0)>>2],h[n+128>>2]=h[o>>2],h[n+132>>2]=a,a=h[4+(o=t+1168|0)>>2],h[n+152>>2]=h[o>>2],h[n+156>>2]=a,a=h[4+(o=t+1160|0)>>2],h[n+144>>2]=h[o>>2],h[n+148>>2]=a,a=h[4+(o=t+1184|0)>>2],h[n+168>>2]=h[o>>2],h[n+172>>2]=a,a=h[4+(o=t+1176|0)>>2],h[n+160>>2]=h[o>>2],h[n+164>>2]=a),!V)break e;o=h[(a=j)+12>>2],h[n+120>>2]=h[a+8>>2],h[n+124>>2]=o,o=h[a+4>>2],h[n+112>>2]=h[a>>2],h[n+116>>2]=o,o=h[(a=g)+12>>2],h[n+136>>2]=h[a+8>>2],h[n+140>>2]=o,o=h[a+4>>2],h[n+128>>2]=h[a>>2],h[n+132>>2]=o,o=h[(a=l)+12>>2],h[n+152>>2]=h[a+8>>2],h[n+156>>2]=o,o=h[a+4>>2],h[n+144>>2]=h[a>>2],h[n+148>>2]=o,o=h[i+12>>2],h[n+168>>2]=h[i+8>>2],h[n+172>>2]=o,o=h[i+4>>2],h[n+160>>2]=h[i>>2],h[n+164>>2]=o,h[n+96>>2]=h[n+120>>2],h[n+100>>2]=h[n+136>>2],h[n+108>>2]=0,h[n+104>>2]=h[n+152>>2],h[n+80>>2]=h[n+112>>2],h[n+84>>2]=h[n+128>>2],h[n+92>>2]=0,h[n+88>>2]=h[n+144>>2],u=m[t+1e3>>2],b=m[t+996>>2],s=m[t+936>>2],c=m[t+932>>2],a=0|r[h[h[e>>2]+20>>2]](e),h[n+72>>2]=0,h[n+76>>2]=0,h[n+64>>2]=0,h[n+68>>2]=0,V=t+1176|0,r[h[h[a>>2]+64>>2]](a,V,n+96|0,n+80|0,v(k*v(.8999999761581421)),c,s,b,u,n- -64|0,v(10),1),h[n+92>>2]=0,h[n+88>>2]=h[n+148>>2],h[n+84>>2]=h[n+132>>2],h[n+80>>2]=h[n+116>>2],s=m[t+1196>>2],p=m[n+80>>2],f=wi(c=m[t+1200>>2]),_=m[n+84>>2],u=Ri(c),m[n+68>>2]=v(_*u)-v(f*p),b=wi(s),c=m[n+88>>2],s=Ri(s),m[n+72>>2]=v(v(p*v(u*b))+v(_*v(b*f)))+v(c*s),m[n+64>>2]=v(v(p*v(s*u))+v(_*v(s*f)))-v(b*c),a=h[4+(o=t+1136|0)>>2],h[n+120>>2]=h[o>>2],h[n+124>>2]=a,a=h[4+(o=t+1128|0)>>2],h[n+112>>2]=h[o>>2],h[n+116>>2]=a,a=h[4+(o=t+1152|0)>>2],h[n+136>>2]=h[o>>2],h[n+140>>2]=a,a=h[4+(o=t+1144|0)>>2],h[n+128>>2]=h[o>>2],h[n+132>>2]=a,a=h[4+(o=t+1168|0)>>2],h[n+152>>2]=h[o>>2],h[n+156>>2]=a,a=h[4+(o=t+1160|0)>>2],h[n+144>>2]=h[o>>2],h[n+148>>2]=a,a=h[V+4>>2],h[n+160>>2]=h[V>>2],h[n+164>>2]=a,a=h[4+(o=t+1184|0)>>2],h[n+168>>2]=h[o>>2],h[n+172>>2]=a,h[n+60>>2]=0,m[n+56>>2]=-m[n+144>>2],m[n+52>>2]=-m[n+128>>2],m[n+48>>2]=-m[n+112>>2],(s=m[t+868>>2])>(c=m[t+872>>2])?(a=0|r[h[h[e>>2]+20>>2]](e),h[n+40>>2]=0,h[n+44>>2]=0,h[n+32>>2]=0,h[n+36>>2]=0,r[h[h[a>>2]+60>>2]](a,V,n+48|0,n- -64|0,k,k,v(-3.1415927410125732),v(3.1415927410125732),n+32|0,0,v(10))):s>2]+20>>2]](e),h[n+40>>2]=0,h[n+44>>2]=0,h[n+32>>2]=0,h[n+36>>2]=0,r[h[h[a>>2]+60>>2]](a,V,n+48|0,n- -64|0,k,k,s,c,n+32|0,1,v(10))),a=h[j+12>>2],h[n+120>>2]=h[j+8>>2],h[n+124>>2]=a,a=h[j+4>>2],h[n+112>>2]=h[j>>2],h[n+116>>2]=a,j=h[g+12>>2],h[n+136>>2]=h[g+8>>2],h[n+140>>2]=j,j=h[g+4>>2],h[n+128>>2]=h[g>>2],h[n+132>>2]=j,g=h[l+12>>2],h[n+152>>2]=h[l+8>>2],h[n+156>>2]=g,g=h[l+4>>2],h[n+144>>2]=h[l>>2],h[n+148>>2]=g,l=h[i+12>>2],h[n+168>>2]=h[i+8>>2],h[n+172>>2]=l,l=h[i+4>>2],h[n+160>>2]=h[i>>2],h[n+164>>2]=l,i=h[t+692>>2],h[n+40>>2]=h[t+688>>2],h[n+44>>2]=i,i=h[t+684>>2],h[n+32>>2]=h[t+680>>2],h[n+36>>2]=i,i=h[t+708>>2],h[n+24>>2]=h[t+704>>2],h[n+28>>2]=i,i=h[t+700>>2],h[n+16>>2]=h[t+696>>2],h[n+20>>2]=i,e=0|r[h[h[e>>2]+20>>2]](e),h[n+8>>2]=0,h[n+12>>2]=0,h[n>>2]=0,h[n+4>>2]=0,r[h[h[e>>2]+72>>2]](e,n+32|0,n+16|0,n+112|0,n);break e;case 4:break t;default:break e}i=h[t+836>>2],h[n+120>>2]=h[t+832>>2],h[n+124>>2]=i,i=h[4+(l=g=t+824|0)>>2],h[n+112>>2]=h[l>>2],h[n+116>>2]=i,i=h[t+852>>2],h[n+136>>2]=h[t+848>>2],h[n+140>>2]=i,i=h[t+844>>2],h[n+128>>2]=h[t+840>>2],h[n+132>>2]=i,i=h[t+868>>2],h[n+152>>2]=h[t+864>>2],h[n+156>>2]=i,i=h[t+860>>2],h[n+144>>2]=h[t+856>>2],h[n+148>>2]=i,i=h[t+884>>2],h[n+168>>2]=h[t+880>>2],h[n+172>>2]=i,i=h[t+876>>2],h[n+160>>2]=h[t+872>>2],h[n+164>>2]=i,o?(i=0|r[h[h[e>>2]+20>>2]](e),r[h[h[i>>2]+56>>2]](i,n+112|0,k),i=h[t+900>>2],h[n+120>>2]=h[t+896>>2],h[n+124>>2]=i,i=h[t+892>>2],h[n+112>>2]=h[t+888>>2],h[n+116>>2]=i,i=h[t+916>>2],h[n+136>>2]=h[t+912>>2],h[n+140>>2]=i,i=h[t+908>>2],h[n+128>>2]=h[t+904>>2],h[n+132>>2]=i,i=h[t+932>>2],h[n+152>>2]=h[t+928>>2],h[n+156>>2]=i,i=h[t+924>>2],h[n+144>>2]=h[t+920>>2],h[n+148>>2]=i,i=h[t+948>>2],h[n+168>>2]=h[t+944>>2],h[n+172>>2]=i,i=h[t+940>>2],h[n+160>>2]=h[t+936>>2],h[n+164>>2]=i,i=0|r[h[h[e>>2]+20>>2]](e),r[h[h[i>>2]+56>>2]](i,n+112|0,k)):(i=h[t+900>>2],h[n+120>>2]=h[t+896>>2],h[n+124>>2]=i,i=h[t+892>>2],h[n+112>>2]=h[t+888>>2],h[n+116>>2]=i,i=h[t+916>>2],h[n+136>>2]=h[t+912>>2],h[n+140>>2]=i,i=h[t+908>>2],h[n+128>>2]=h[t+904>>2],h[n+132>>2]=i,i=h[t+932>>2],h[n+152>>2]=h[t+928>>2],h[n+156>>2]=i,i=h[t+924>>2],h[n+144>>2]=h[t+920>>2],h[n+148>>2]=i,i=h[t+948>>2],h[n+168>>2]=h[t+944>>2],h[n+172>>2]=i,i=h[t+940>>2],h[n+160>>2]=h[t+936>>2],h[n+164>>2]=i),V&&(i=d[t+180|0],D=m[(l=i?g:t+888|0)+48>>2],I=m[l+8>>2],p=m[l+4>>2],o=h[l+4>>2],L=m[l+52>>2],u=m[l+24>>2],N=m[l+16>>2],a=h[l+16>>2],b=m[l+20>>2],j=h[l+20>>2],y=m[l+56>>2],s=m[l+40>>2],O=m[l+32>>2],g=h[l+32>>2],c=m[l+36>>2],l=h[l+36>>2],M=m[(i=(i?824:888)+t|0)>>2],i=h[i>>2],R=m[t+184>>2],h[n+108>>2]=0,f=v(s*v(0)),_=v(c*v(0)),m[n+104>>2]=y+v(f+v(_+v(R*O))),u=v(u*v(0)),b=v(b*v(0)),m[n+100>>2]=L+v(u+v(b+v(R*N))),s=v(I*v(0)),c=v(p*v(0)),m[n+96>>2]=D+v(s+v(c+v(R*M))),p=m[t+188>>2],h[n+92>>2]=0,m[n+88>>2]=y+v(f+v(_+v(p*O))),m[n+84>>2]=L+v(u+v(b+v(p*N))),m[n+80>>2]=D+v(s+v(c+v(p*M))),V=0|r[h[h[e>>2]+20>>2]](e),h[n+72>>2]=0,h[n+76>>2]=0,h[n+64>>2]=0,h[n+68>>2]=0,r[h[h[V>>2]+8>>2]](V,n+96|0,n+80|0,n- -64|0),h[n+76>>2]=0,h[n+72>>2]=g,h[n+68>>2]=a,h[n+64>>2]=i,h[n+60>>2]=0,h[n+56>>2]=l,h[n+52>>2]=j,h[n+48>>2]=o,s=m[t+196>>2],c=m[t+192>>2],e=0|r[h[h[e>>2]+20>>2]](e),h[n+40>>2]=0,h[n+44>>2]=0,h[n+32>>2]=0,h[n+36>>2]=0,r[h[h[e>>2]+60>>2]](e,t+936|0,n- -64|0,n+48|0,k,k,c,s,n+32|0,1,v(10)))}w=n+176|0}function F(e,t,n,i,o,a,s,c,l,u){var p,d=v(0),f=v(0),_=v(0),b=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=0,M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=0,k=v(0),V=0,z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0),q=0,J=v(0),$=v(0),ee=v(0),te=v(0),ne=v(0),ie=v(0),re=v(0),oe=v(0),ae=v(0),se=0,ce=v(0),le=v(0),ue=v(0),pe=v(0),he=v(0),de=0,fe=v(0),_e=0,me=0,be=0,ge=0,ve=0,ye=0,Ce=v(0),Ae=v(0),xe=0,Se=0,Te=0,Ee=0;w=p=w-384|0,D=m[t+36>>2],X=m[t+4>>2],T=m[t+20>>2],j=m[t+40>>2],oe=m[t+8>>2],J=m[t+24>>2],x=m[e+8>>2],P=m[i+8>>2],C=m[e>>2],A=m[i>>2],F=m[e+4>>2],k=m[i+4>>2],d=m[t+32>>2],fe=m[t>>2],f=m[t+16>>2],_=v(m[n>>2]*v(.5)),m[p+372>>2]=_,b=v(m[n+4>>2]*v(.5)),m[p+376>>2]=b,M=v(m[n+8>>2]*v(.5)),m[p+380>>2]=M,L=v(m[a>>2]*v(.5)),m[p+360>>2]=L,R=v(m[a+4>>2]*v(.5)),m[p+364>>2]=R,E=v(m[a+8>>2]*v(.5)),m[p+368>>2]=E,C=v(A-C),A=v(k-F),x=v(P-x),P=v(v(v(fe*C)+v(f*A))+v(d*x)),$=m[o>>2],U=m[o+16>>2],Y=m[o+32>>2],F=v(v(v(fe*$)+v(f*U))+v(d*Y)),ce=v(y(F)),I=m[o+4>>2],ee=m[o+20>>2],te=m[o+36>>2],k=v(v(v(fe*I)+v(f*ee))+v(d*te)),Ce=v(y(k)),ne=m[o+8>>2],ie=m[o+24>>2],ae=m[o+40>>2],G=v(v(v(fe*ne)+v(f*ie))+v(d*ae)),Ae=v(y(G));e:if(!((f=v(v(y(P))-v(v(v(_+v(L*ce))+v(R*Ce))+v(E*Ae))))>v(0)||(H=v(v(v(X*ne)+v(T*ie))+v(D*ae)),le=v(y(H)),Q=v(v(v(X*I)+v(T*ee))+v(D*te)),re=v(y(Q)),K=v(v(v(X*$)+v(T*U))+v(D*Y)),Z=v(y(K)),d=v(-34028234663852886e22),n=0,f>v(-34028234663852886e22)&&(V=Pv(0)||(W=v(v(v(oe*ne)+v(J*ie))+v(j*ae)),ue=v(y(W)),z=v(v(v(oe*I)+v(J*ee))+v(j*te)),pe=v(y(z)),N=v(v(v(oe*$)+v(J*U))+v(j*Y)),he=v(y(N)),f>d&&(O=t+4|0,V=Dv(0)||(f>d&&(O=t+8|0,V=Tv(0)||(f>d&&(V=jv(0)||(f>d&&(O=o+4|0,V=jv(0)||(f>d&&(O=o+8|0,V=Cv(1.1920928955078125e-7)||(j=v(pe+v(9999999747378752e-21)),J=v(re+v(9999999747378752e-21)),$=v(ce+v(9999999747378752e-21)),A=v(0),ae=v(K*K),re=v(v(N*N)+v(0)),(U=v(S(v(ae+re))))>v(1.1920928955078125e-7)?(x=v(0),f=v(f/U),C=v(0),v(f*v(1.0499999523162842))>d&&(V=Yv(1.1920928955078125e-7)||(U=v(ue+v(9999999747378752e-21)),Y=v(le+v(9999999747378752e-21)),le=v(Q*Q),ue=v(v(z*z)+v(0)),(I=v(S(v(le+ue))))>v(1.1920928955078125e-7)&&(f=v(f/I),v(f*v(1.0499999523162842))>d&&(V=Zv(1.1920928955078125e-7)||(pe=v(H*H),he=v(v(W*W)+v(0)),(I=v(S(v(pe+he))))>v(1.1920928955078125e-7)&&(f=v(f/I),v(f*v(1.0499999523162842))>d&&(V=Zv(1.1920928955078125e-7)||(ce=v(F*F),(I=v(S(v(ce+re))))>v(1.1920928955078125e-7)&&(f=v(f/I),v(f*v(1.0499999523162842))>d&&(V=Zv(1.1920928955078125e-7)||(re=v(k*k),(N=v(S(v(re+ue))))>v(1.1920928955078125e-7)&&(f=v(f/N),v(f*v(1.0499999523162842))>d&&(V=Iv(1.1920928955078125e-7)||(N=v(G*G),(T=v(S(v(N+he))))>v(1.1920928955078125e-7)&&(f=v(f/T),v(f*v(1.0499999523162842))>d&&(V=zv(1.1920928955078125e-7)||((T=v(S(v(v(ae+ce)+v(0)))))>v(1.1920928955078125e-7)&&(f=v(f/T),v(f*v(1.0499999523162842))>d&&(V=Wv(1.1920928955078125e-7)||((E=v(S(v(v(le+re)+v(0)))))>v(1.1920928955078125e-7)&&(f=v(f/E),v(f*v(1.0499999523162842))>d&&(V=Tv(1.1920928955078125e-7))))))))))))))))){t:{n:{if((_=v(S(v(v(pe+N)+v(0)))))>v(1.1920928955078125e-7)&&(f=v(f/_),v(f*v(1.0499999523162842))>d))V=E>2]=_,b=v(v(v(A*m[t+16>>2])+v(x*m[t+20>>2]))+v(C*m[t+24>>2])),m[s+4>>2]=b,A=v(v(v(A*m[t+32>>2])+v(x*m[t+36>>2]))+v(C*m[t+40>>2])),m[s+8>>2]=A;break t}_=m[O>>2],h[s>>2]=h[O>>2],b=m[O+16>>2],h[s+4>>2]=h[O+16>>2],A=m[O+32>>2],h[s+8>>2]=h[O+32>>2],f=d}if(V&&(m[s+8>>2]=-A,m[s+4>>2]=-b,m[s>>2]=-_),m[c>>2]=-f,(0|n)>=7)h[p+120>>2]=h[e+8>>2],a=h[e+4>>2],h[p+112>>2]=h[e>>2],h[p+116>>2]=a,b=v(0),R=m[p+112>>2],E=m[p+116>>2],T=d=m[p+372>>2],A=v(-d),d=m[s>>2],P=m[t>>2],C=m[s+4>>2],D=m[t+16>>2],_=m[s+8>>2],x=m[t+32>>2],A=v(v(v(d*P)+v(C*D))+v(_*x))>v(0)?T:A,I=v(m[p+120>>2]+v(A*x)),x=m[p+376>>2],T=m[t+4>>2],F=m[t+20>>2],k=m[t+36>>2],x=v(v(v(d*T)+v(C*F))+v(_*k))>v(0)?x:v(-x),I=v(I+v(x*k)),k=m[t+8>>2],G=m[t+24>>2],H=m[t+40>>2],M=v(v(v(d*k)+v(C*G))+v(_*H))>v(0)?M:v(-M),m[p+120>>2]=I+v(M*H),m[p+116>>2]=v(v(E+v(A*D))+v(x*F))+v(M*G),m[p+112>>2]=v(v(R+v(A*P))+v(x*T))+v(M*k),h[p+216>>2]=h[i+8>>2],e=h[i+4>>2],h[p+208>>2]=h[i>>2],h[p+212>>2]=e,T=v(-L),P=L,M=m[o>>2],L=m[o+16>>2],x=m[o+32>>2],A=v(v(v(d*M)+v(C*L))+v(_*x))>v(0)?T:P,T=v(m[p+216>>2]+v(A*x)),x=m[p+364>>2],R=m[o+4>>2],E=m[o+20>>2],P=m[o+36>>2],x=v(v(v(d*R)+v(C*E))+v(_*P))>v(0)?v(-x):x,I=v(T+v(x*P)),P=m[p+368>>2],N=v(-P),T=P,P=m[o+8>>2],D=m[o+24>>2],d=v(v(d*P)+v(C*D)),C=m[o+40>>2],d=v(d+v(_*C))>v(0)?N:T,C=v(I+v(d*C)),m[p+216>>2]=C,_=v(v(v(m[p+212>>2]+v(A*L))+v(x*E))+v(d*D)),m[p+212>>2]=_,d=v(v(v(m[p+208>>2]+v(A*M))+v(x*R))+v(d*P)),m[p+208>>2]=d,R=m[(e=(e=t)+((i=(0|(t=n+-7|0))/3|0)<<2)|0)>>2],t=(t-g(i,3)<<2)+o|0,A=m[t>>2],E=m[e+16>>2],x=m[t+16>>2],P=m[e+32>>2],M=m[t+32>>2],L=v(v(v(R*A)+v(E*x))+v(P*M)),(D=v(v(1)-v(L*L)))<=v(9999999747378752e-20)||(b=v(d-m[p+112>>2]),T=v(b*R),R=v(_-m[p+116>>2]),T=v(T+v(R*E)),E=v(C-m[p+120>>2]),b=v(v(v(v(T+v(E*P))*L)-v(v(v(b*A)+v(R*x))+v(E*M)))*v(v(1)/D))),m[p+216>>2]=C+v(b*M),m[p+212>>2]=_+v(b*x),m[p+208>>2]=d+v(b*A),d=m[s>>2],C=m[s+4>>2],_=m[s+8>>2],h[p+300>>2]=0,m[p+296>>2]=-_,m[p+292>>2]=-C,m[p+288>>2]=-d,r[h[h[u>>2]+16>>2]](u,p+288|0,p+208|0,f),h[l>>2]=n;else{x=m[s>>2],(0|n)<=3?(f=m[s+8>>2],C=m[s+4>>2],ge=p+372|0,B=o,O=p+360|0):(x=v(-x),f=v(-m[s+8>>2]),C=v(-m[s+4>>2]),a=i,ge=p+360|0,i=e,e=a,B=t,t=o,O=p+372|0),_=v(v(v(x*m[B>>2])+v(C*m[B+16>>2]))+v(f*m[B+32>>2])),m[p+344>>2]=_,b=v(v(v(x*m[B+4>>2])+v(C*m[B+20>>2]))+v(f*m[B+36>>2])),m[p+348>>2]=b,d=v(v(v(x*m[B+8>>2])+v(C*m[B+24>>2]))+v(f*m[B+40>>2])),m[p+352>>2]=d,d=v(y(d)),(b=v(y(b)))>(_=v(y(_)))?(o=(c=b>d)?1:2,a=0):(o=(1^(c=_>d))<<1,a=c),xe=a,d=m[(a=o<<2)+O>>2],_=v(d*m[a+B>>2]),b=v(m[i>>2]-m[e>>2]),Se=c?2:1,o=p,m[a+(p+344|0)>>2]>2]=_,b=v(v(m[i+4>>2]-m[e+4>>2])+v(d*m[(16|a)+B>>2])),m[p+332>>2]=b,d=v(v(m[i+8>>2]-m[e+8>>2])+v(d*m[(32|a)+B>>2]))):(_=v(b-_),m[p+328>>2]=_,b=v(v(m[i+4>>2]-m[e+4>>2])-v(d*m[(16|a)+B>>2])),m[p+332>>2]=b,d=v(v(m[i+8>>2]-m[e+8>>2])-v(d*m[(32|a)+B>>2]))),m[o+336>>2]=d,o=4,i=1,c=2;t:{n:{i:switch(0|(Te=((0|n)<4?-1:-4)+n|0)){case 0:break t;case 1:break i;default:break n}i=0;break t}c=1,i=0}A=m[32+(i=(a=i<<2)+t|0)>>2],M=m[i>>2],L=m[i+16>>2],R=m[(t=(i=c<<2)+t|0)>>2],E=m[t+16>>2],P=m[t+32>>2],D=v(v(v(_*R)+v(b*E))+v(d*P)),F=m[(ve=(t=xe<<2)+B|0)>>2],k=m[ve+16>>2],G=m[ve+32>>2],T=v(v(v(R*F)+v(E*k))+v(P*G)),H=m[t+O>>2],Q=v(T*H),K=v(D+Q),W=m[(ye=(t=Se<<2)+B|0)>>2],z=m[ye+16>>2],N=m[ye+32>>2],E=v(v(v(R*W)+v(E*z))+v(P*N)),X=m[t+O>>2],R=v(E*X),m[p+316>>2]=K-R,P=v(v(v(_*M)+v(b*L))+v(d*A)),F=v(v(v(M*F)+v(L*k))+v(A*G)),_=v(H*F),b=v(P+_),M=v(v(v(M*W)+v(L*z))+v(A*N)),d=v(X*M),m[p+312>>2]=b-d,m[p+308>>2]=K+R,m[p+304>>2]=b+d,b=v(D-Q),m[p+300>>2]=b+R,_=v(P-_),m[p+296>>2]=_+d,m[p+292>>2]=b-R,m[p+288>>2]=_-d,h[p+280>>2]=h[a+ge>>2],h[p+284>>2]=h[i+ge>>2],a=p+208|0,O=p+288|0,V=1,t=0;t:{for(;;){n:{i:if((0|o)>0){for(Ee=1^t,de=(se=t<<2)+(p+280|0)|0,i=a,t=O,c=0;;){if(_=m[de>>2],b=m[(q=t+se|0)>>2],_>(A=v(-b))){if(h[i>>2]=h[t>>2],h[i+4>>2]=h[t+4>>2],8&(c=c+1|0))break n;_=m[de>>2],b=m[q>>2],A=v(-b),i=i+8|0}if(_e=A<_,q=t+8|0,A=m[(be=(me=(0|o)>1)?q:O)+se>>2],(0|_e)!=(_>v(-A)|0)){if(d=m[(_e=t)+(t=Ee<<2)>>2],m[t+i>>2]=d+v(v(v(-_)-b)*v(v(m[t+be>>2]-d)/v(A-b))),m[i+se>>2]=-m[de>>2],8&(c=c+1|0))break n;i=i+8|0}if(o=o+-1|0,t=q,!me)break}if(o=0,O=(p+208|0)==(0|a)?p+112|0:p+208|0,(0|c)<=0)break i;for(i=O,t=a;;){if((b=m[(q=t+se|0)>>2])<(_=m[de>>2])){if(h[i>>2]=h[t>>2],h[i+4>>2]=h[t+4>>2],8&(o=o+1|0))break t;_=m[de>>2],b=m[q>>2],i=i+8|0}if(q=t+8|0,(b<_|0)!=((A=m[(be=(me=(0|c)>1)?q:a)+se>>2])<_|0)){if(d=m[(_e=t)+(t=Ee<<2)>>2],m[t+i>>2]=d+v(v(_-b)*v(v(m[t+be>>2]-d)/v(A-b))),h[i+se>>2]=h[de>>2],8&(o=o+1|0))break t;i=i+8|0}if(c=c+-1|0,t=q,!me)break}}else O=(p+208|0)==(0|a)?p+112|0:p+208|0,o=0;if(t=1,i=V,a=(p+208|0)==(0|O)?p+112|0:p+208|0,V=0,i)continue;break t}break}O=a,o=c}if((p+208|0)!=(0|O)&&Vn(p+208|0,O,o<<3),!((0|o)<1)){for(d=v(v(1)/v(v(F*E)-v(T*M))),b=v(d*v(-T)),A=v(E*d),M=v(M*d),L=v(F*d),R=m[(Te<<2)+ge>>2],E=m[(32|(t=Se<<2))+B>>2],T=m[(32|(i=xe<<2))+B>>2],F=m[(16|t)+B>>2],k=m[(16|i)+B>>2],G=m[ye>>2],H=m[ve>>2],t=0,Q=m[p+336>>2],K=m[p+332>>2],W=m[p+328>>2],i=0;a=(p+112|0)+g(t,12)|0,z=m[(c=i<<3)+(p+208|0)>>2],_=v(z-P),N=m[(p+208|0)+(4|c)>>2],X=v(N-D),d=v(v(A*_)-v(M*X)),_=v(v(b*_)+v(L*X)),X=v(v(W+v(d*H))+v(_*G)),m[a>>2]=X,oe=v(v(K+v(d*k))+v(_*F)),m[a+4>>2]=oe,d=v(v(Q+v(d*T))+v(_*E)),m[a+8>>2]=d,d=v(R-v(v(v(x*X)+v(C*oe))+v(f*d))),m[(p+80|0)+(t<<2)>>2]=d,d>=v(0)&&(m[(a=t<<3)+(p+208|0)>>2]=z,m[(p+208|0)+(4|a)>>2]=N,t=t+1|0),(0|o)!=(0|(i=i+1|0)););if(!((0|t)<1)){t:if((0|t)<=(0|(a=(0|(i=(0|t)<4?t:4))>1?i:1))){if((0|n)>=4){for(o=0;i=(p+112|0)+g(o,12)|0,f=m[s>>2],d=m[(p+80|0)+(o<<2)>>2],m[p+32>>2]=v(m[i>>2]+m[e>>2])-v(f*d),C=m[s+4>>2],m[p+36>>2]=v(m[i+4>>2]+m[e+4>>2])-v(d*C),_=m[s+8>>2],m[p+40>>2]=v(m[i+8>>2]+m[e+8>>2])-v(d*_),h[p+76>>2]=0,m[p+72>>2]=-_,m[p+68>>2]=-C,m[p+64>>2]=-f,r[h[h[u>>2]+16>>2]](u,p- -64|0,p+32|0,v(-d)),(0|(o=o+1|0))!=(0|t););break t}for(o=0;i=(p+112|0)+g(o,12)|0,m[p+32>>2]=m[i>>2]+m[e>>2],m[p+36>>2]=m[i+4>>2]+m[e+4>>2],m[p+40>>2]=m[i+8>>2]+m[e+8>>2],d=m[s>>2],f=m[s+4>>2],C=m[s+8>>2],h[p+76>>2]=0,m[p+72>>2]=-C,m[p+68>>2]=-f,m[p+64>>2]=-d,r[h[h[u>>2]+16>>2]](u,p- -64|0,p+32|0,v(-m[(p+80|0)+(o<<2)>>2])),(0|(o=o+1|0))!=(0|t););}else{if(i=0,(0|t)>=2)for(_=m[p+80>>2],o=1;_=(c=(d=m[(p+80|0)+(o<<2)>>2])>_)?d:_,i=c?o:i,(0|(o=o+1|0))!=(0|t););for(function(e,t,n,i,r){var o=0,a=v(0),s=v(0),c=0,l=0,u=v(0),p=v(0),d=0,f=v(0),_=v(0),b=v(0),g=0,C=v(0),A=v(0);w=l=w+-64|0;n:{i:{r:switch(e+-1|0){default:if((0|e)>=2)for(g=e+-1|0;p=m[(c=(d=o<<3)+t|0)>>2],f=m[c+12>>2],_=m[c+8>>2],b=m[(4|d)+t>>2],u=v(v(p*f)-v(_*b)),a=v(a+u),s=v(s+v(v(f+b)*u)),C=v(C+v(v(p+_)*u)),(0|g)!=(0|(o=o+1|0)););if(u=v(0xde0b6b000000000),A=a,p=m[(o=(e<<3)+t|0)-8>>2],f=m[t+4>>2],_=m[t>>2],b=m[o+-4>>2],a=v(v(p*f)-v(_*b)),A=v(A+a),v(y(A))>v(1.1920928955078125e-7)&&(u=v(v(1)/v(A*v(3)))),g=0,(0|e)<=0)break n;s=v(v(s+v(v(f+b)*a))*u),a=v(v(C+v(v(p+_)*a))*u);break i;case 0:s=m[t+4>>2],a=m[t>>2];break i;case 1:}s=v(v(m[t+4>>2]+m[t+12>>2])*v(.5)),a=v(v(m[t>>2]+m[t+8>>2])*v(.5))}for(o=0;c=o<<3,m[(l+32|0)+(o<<2)>>2]=pi(v(m[(4|c)+t>>2]-s),v(m[t+c>>2]-a)),(0|(o=o+1|0))!=(0|e););for(o=0;g=1,h[(o<<2)+l>>2]=1,(0|(o=o+1|0))!=(0|e););}if(h[(t=i<<2)+l>>2]=0,h[r>>2]=i,(0|n)>=2)for(u=v(v(6.2831854820251465)/v(0|n)),C=m[t+(l+32|0)>>2],c=1;;){if(h[r+4>>2]=i,r=r+4|0,t=i,g)for(p=(a=v(v(u*v(0|c))+C))>v(3.1415927410125732)?v(a+v(-6.2831854820251465)):a,o=0,a=v(1e9);h[(d=o<<2)+l>>2]&&(s=(s=v(y(v(m[d+(l+32|0)>>2]-p))))>v(3.1415927410125732)?v(v(6.2831854820251465)-s):s)>2]=o,t=o,a=s),(0|(o=o+1|0))!=(0|e););if(h[(t<<2)+l>>2]=0,(0|(c=c+1|0))==(0|n))break}w=l- -64|0}(t,p+208|0,a,i,p+32|0),c=(0|n)>3,t=0;i=h[(p+32|0)+(t<<2)>>2],o=(p+112|0)+g(i,12)|0,_=v(m[o>>2]+m[e>>2]),m[p+64>>2]=_,b=v(m[o+4>>2]+m[e+4>>2]),m[p+68>>2]=b,A=v(m[o+8>>2]+m[e+8>>2]),m[p+72>>2]=A,c?(f=m[s>>2],C=m[s+4>>2],d=m[s+8>>2],h[p+28>>2]=0,m[p+24>>2]=-d,m[p+20>>2]=-C,m[p+16>>2]=-f,h[p+12>>2]=0,P=d,d=m[(p+80|0)+(i<<2)>>2],m[p+8>>2]=A-v(P*d),m[p+4>>2]=b-v(C*d),m[p>>2]=_-v(f*d),r[h[h[u>>2]+16>>2]](u,p+16|0,p,v(-d))):(d=m[s>>2],f=m[s+4>>2],C=m[s+8>>2],h[p+28>>2]=0,m[p+24>>2]=-C,m[p+20>>2]=-f,m[p+16>>2]=-d,r[h[h[u>>2]+16>>2]](u,p+16|0,p- -64|0,v(-m[(p+80|0)+(i<<2)>>2]))),(0|a)!=(0|(t=t+1|0)););}h[l>>2]=n}}}}w=p+384|0}function B(e,t,n){var i,a=0,s=0,c=0,l=0,u=0,f=0,_=0,b=v(0),A=0,x=v(0),S=v(0),T=v(0),E=0,P=0,O=0,M=v(0),R=v(0),I=0,D=v(0),L=v(0),N=0;if(w=i=w-16|0,(0|(a=h[e+1112>>2]))>=1)for(;Pi(e,0),(0|(a=h[e+1112>>2]))>0;);if((0|a)<(0|(l=(0|(s=h[e+712>>2]))>(0|t)?t:s))){if(h[e+1116>>2]<(0|l)){if(l){if(h[7717]=h[7717]+1,s=0|r[h[6606]](l<<2,16),!((0|(c=h[e+1112>>2]))<1))for(t=0;h[(_=t<<2)+s>>2]=h[_+h[e+1120>>2]>>2],(0|c)!=(0|(t=t+1|0)););}else s=0;(t=h[e+1120>>2])&&(d[e+1124|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+1120>>2]=0),h[e+1120>>2]=s,h[e+1116>>2]=l,o[e+1124|0]=1}for(;h[h[e+1120>>2]+(a<<2)>>2]=0,(0|l)!=(0|(a=a+1|0)););}h[e+1112>>2]=l;e:{t:{n:{i:{if(!((0|l)<1)){for(t=0;h[7717]=h[7717]+1,a=0|r[h[6606]](384,16),o[a+36|0]=1,h[a+4>>2]=0,h[a+8>>2]=0,h[a+12>>2]=0,o[a+16|0]=1,h[a+32>>2]=0,o[a+56|0]=1,h[a+24>>2]=0,h[a+28>>2]=0,h[a+52>>2]=0,h[a+348>>2]=0,h[a+352>>2]=0,h[a+44>>2]=0,h[a+48>>2]=0,o[a+376|0]=0,h[a+368>>2]=1120403456,h[a+372>>2]=1008981770,h[a+356>>2]=0,h[a+360>>2]=0,h[a+364>>2]=0,h[(s=t<<2)+h[e+1120>>2]>>2]=a,o[h[s+h[e+1120>>2]>>2]+377|0]=1,(0|(t=t+1|0))<(0|(l=h[e+1112>>2])););if(!((0|l)<1)){if((0|(s=h[e+712>>2]))<=0){x=b=v(v(v(1)/v(0|s))*v(0)),T=b;break i}for(a=l;;){if(_=h[e+720>>2]+g(u,104)|0,T=m[_+8>>2],M=m[_+16>>2],R=m[_+12>>2],t=h[h[e+1120>>2]+((0|g(u,29873))%(0|a)<<2)>>2],(0|(c=h[t+24>>2]))==h[t+28>>2]&&!((0|c)>=(0|(A=c?c<<1:1)))){if(A?(h[7717]=h[7717]+1,f=0|r[h[6606]](A<<2,16),c=h[t+24>>2]):f=0,(0|c)>=1)for(a=0;h[(s=a<<2)+f>>2]=h[s+h[t+32>>2]>>2],(0|c)!=(0|(a=a+1|0)););(a=h[t+32>>2])&&(d[t+36|0]&&(a&&(h[7718]=h[7718]+1,r[h[6607]](a)),c=h[t+24>>2]),h[t+32>>2]=0),h[t+32>>2]=f,h[t+28>>2]=A,o[t+36|0]=1,s=h[e+712>>2]}if(S=v(S+T),b=v(b+M),x=v(x+R),h[h[t+32>>2]+(c<<2)>>2]=_,h[t+24>>2]=c+1,!((0|(u=u+1|0))<(0|s)))break;a=h[e+1112>>2]}if(_=0,(0|l)<0)break t;if(T=b,b=v(v(1)/v(0|s)),T=v(T*b),x=v(x*b),b=v(S*b),l)break i;l=0,_=0;break n}}if(n=h[e+772>>2]){if((0|l)<(0|n)){if(h[e+1116>>2]<(0|n)){if(h[7717]=h[7717]+1,a=0|r[h[6606]](n<<2,16),(0|(s=h[e+1112>>2]))>=1)for(t=0;h[(c=t<<2)+a>>2]=h[c+h[e+1120>>2]>>2],(0|s)!=(0|(t=t+1|0)););(t=h[e+1120>>2])&&(d[e+1124|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+1120>>2]=0),h[e+1120>>2]=a,h[e+1116>>2]=n,o[e+1124|0]=1}for(;h[h[e+1120>>2]+(l<<2)>>2]=0,(0|n)!=(0|(l=l+1|0)););}if(h[e+1112>>2]=n,(0|n)>=1)for(t=0;h[7717]=h[7717]+1,n=0|r[h[6606]](384,16),o[n+36|0]=1,h[n+4>>2]=0,h[n+8>>2]=0,h[n+12>>2]=0,o[n+16|0]=1,h[n+32>>2]=0,o[n+56|0]=1,h[n+24>>2]=0,h[n+28>>2]=0,h[n+52>>2]=0,h[n+348>>2]=0,h[n+352>>2]=0,h[n+44>>2]=0,h[n+48>>2]=0,o[n+376|0]=0,h[n+368>>2]=1120403456,h[n+372>>2]=1008981770,h[n+356>>2]=0,h[n+360>>2]=0,h[n+364>>2]=0,h[(a=t<<2)+h[e+1120>>2]>>2]=n,o[h[a+h[e+1120>>2]>>2]+377|0]=1,(0|(t=t+1|0))>2];);if(h[e+772>>2]<1)break e;for(;;){for(f=0;;){if(s=(h[e+780>>2]+g(u,104)|0)+(f<<2)|0,t=h[h[e+1120>>2]+(u<<2)>>2],(0|(c=h[t+24>>2]))==h[t+28>>2]&&!((0|c)>=(0|(n=c?c<<1:1)))){if(n?(h[7717]=h[7717]+1,l=0|r[h[6606]](n<<2,16),c=h[t+24>>2]):l=0,(0|c)>=1)for(a=0;h[(_=a<<2)+l>>2]=h[_+h[t+32>>2]>>2],(0|c)!=(0|(a=a+1|0)););(a=h[t+32>>2])&&(d[t+36|0]&&(a&&(h[7718]=h[7718]+1,r[h[6607]](a)),c=h[t+24>>2]),h[t+32>>2]=0),h[t+32>>2]=l,h[t+28>>2]=n,o[t+36|0]=1}if(h[h[t+32>>2]+(c<<2)>>2]=h[s+8>>2],h[t+24>>2]=c+1,4==(0|(f=f+1|0)))break}if(!((0|(u=u+1|0))>2]))break}break e}if((0|l)<(0|(n=h[e+752>>2]))){if(h[e+1116>>2]<(0|n)){if(n){if(h[7717]=h[7717]+1,s=0|r[h[6606]](n<<2,16),!((0|(a=h[e+1112>>2]))<1))for(t=0;h[(c=t<<2)+s>>2]=h[c+h[e+1120>>2]>>2],(0|a)!=(0|(t=t+1|0)););}else s=0;(t=h[e+1120>>2])&&(d[e+1124|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+1120>>2]=0),h[e+1120>>2]=s,h[e+1116>>2]=n,o[e+1124|0]=1}for(;h[h[e+1120>>2]+(l<<2)>>2]=0,(0|n)!=(0|(l=l+1|0)););}if(h[e+1112>>2]=n,(0|n)>=1)for(t=0;h[7717]=h[7717]+1,n=0|r[h[6606]](384,16),o[n+36|0]=1,h[n+4>>2]=0,h[n+8>>2]=0,h[n+12>>2]=0,o[n+16|0]=1,h[n+32>>2]=0,o[n+56|0]=1,h[n+24>>2]=0,h[n+28>>2]=0,h[n+52>>2]=0,h[n+348>>2]=0,h[n+352>>2]=0,h[n+44>>2]=0,h[n+48>>2]=0,o[n+376|0]=0,h[n+368>>2]=1120403456,h[n+372>>2]=1008981770,h[n+356>>2]=0,h[n+360>>2]=0,h[n+364>>2]=0,h[(a=t<<2)+h[e+1120>>2]>>2]=n,o[h[a+h[e+1120>>2]>>2]+377|0]=1,(0|(t=t+1|0))>2];);if(h[e+752>>2]<1)break e;for(;;){for(f=0;;){if(s=(h[e+760>>2]+g(u,44)|0)+(f<<2)|0,t=h[h[e+1120>>2]+(u<<2)>>2],(0|(c=h[t+24>>2]))==h[t+28>>2]&&!((0|c)>=(0|(n=c?c<<1:1)))){if(n?(h[7717]=h[7717]+1,l=0|r[h[6606]](n<<2,16),c=h[t+24>>2]):l=0,(0|c)>=1)for(a=0;h[(_=a<<2)+l>>2]=h[_+h[t+32>>2]>>2],(0|c)!=(0|(a=a+1|0)););(a=h[t+32>>2])&&(d[t+36|0]&&(a&&(h[7718]=h[7718]+1,r[h[6607]](a)),c=h[t+24>>2]),h[t+32>>2]=0),h[t+32>>2]=l,h[t+28>>2]=n,o[t+36|0]=1}if(h[h[t+32>>2]+(c<<2)>>2]=h[s+8>>2],h[t+24>>2]=c+1,3==(0|(f=f+1|0)))break}if(!((0|(u=u+1|0))>2]))break}break e}h[7717]=h[7717]+1,_=0|r[h[6606]](l<<4,16)}for(t=0;h[12+(a=(t<<4)+_|0)>>2]=0,m[a+8>>2]=T,m[a+4>>2]=x,m[a>>2]=b,(0|l)!=(0|(t=t+1|0)););}for(t=0;;){for(t=(a=t)+1|0,T=v(v(2)-v(C(v(v(0|a)*v(.0625)),v(1)))),E=0,f=0;;){if(a=h[(u=f<<2)+h[e+1120>>2]>>2],(0|(s=h[a+24>>2]))<1)b=v(0),x=v(0),S=v(0);else for(A=h[a+32>>2],S=v(0),a=0,x=v(0),b=v(0);c=h[A+(a<<2)>>2],b=v(b+m[c+8>>2]),S=v(S+m[c+16>>2]),x=v(x+m[c+12>>2]),(0|s)!=(0|(a=a+1|0)););if(s){if(h[12+(a=(f<<4)+_|0)>>2]=0,M=m[a+8>>2],R=S,S=v(v(1)/v(0|s)),D=v(M+v(T*v(v(R*S)-M))),m[a+8>>2]=D,R=m[a+4>>2],L=v(R+v(T*v(v(x*S)-R))),m[a+4>>2]=L,x=m[a>>2],b=v(x+v(T*v(v(b*S)-x))),m[a>>2]=b,b=v(b-x),x=v(b*b),b=v(L-R),x=v(x+v(b*b)),b=v(D-M),A=v(x+v(b*b))>v(1.1920928955078125e-7),c=h[u+h[e+1120>>2]>>2],(0|(a=h[c+24>>2]))<=-1)for(h[c+28>>2]<=-1&&((s=h[c+32>>2])&&(d[c+36|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s)),h[c+32>>2]=0),h[c+28>>2]=0,h[c+32>>2]=0,o[c+36|0]=1);h[h[c+32>>2]+(a<<2)>>2]=0,u=(s=a+1|0)>>>0>=a>>>0,a=s,u;);h[c+24>>2]=0,E|=A}if((0|(f=f+1|0))==(0|l))break}if(A=0,(0|(s=h[e+712>>2]))>0)for(;;){if(O=h[e+720>>2]+g(A,104)|0,c=0,(0|l)>=2)for(T=m[O+8>>2],x=m[O+12>>2],S=m[O+16>>2],b=v(v(v(y(v(m[_>>2]-T)))+v(y(v(m[_+4>>2]-x))))+v(y(v(m[_+8>>2]-S)))),a=1;b=(f=(M=v(v(v(y(v(m[(f=(a<<4)+_|0)>>2]-T)))+v(y(v(m[f+4>>2]-x))))+v(y(v(m[f+8>>2]-S)))))>2]+(c<<2)>>2],(0|(c=h[u+24>>2]))==h[u+28>>2]&&!((0|c)>=(0|(P=c?c<<1:1)))){if(P?(h[7717]=h[7717]+1,f=0|r[h[6606]](P<<2,16),c=h[u+24>>2]):f=0,(0|c)>=1)for(a=0;h[(s=a<<2)+f>>2]=h[s+h[u+32>>2]>>2],(0|c)!=(0|(a=a+1|0)););(a=h[u+32>>2])&&(d[u+36|0]&&(a&&(h[7718]=h[7718]+1,r[h[6607]](a)),c=h[u+24>>2]),h[u+32>>2]=0),h[u+32>>2]=f,h[u+28>>2]=P,o[u+36|0]=1,s=h[e+712>>2]}if(h[h[u+32>>2]+(c<<2)>>2]=O,h[u+24>>2]=c+1,!((0|(A=A+1|0))<(0|s)))break}if(!((0|t)<(0|n)&E))break}if((0|s)<1?A=0:(h[7717]=h[7717]+1,t=s<<2,ji(A=0|r[h[6606]](t,16),255,t)),(0|(s=h[e+1112>>2]))>=1)for(c=h[e+1120>>2],t=0;;){if(n=h[c+(t<<2)>>2],h[n+24>>2]>=1){for(s=h[n+32>>2],l=h[e+720>>2],a=0;h[((h[s+(a<<2)>>2]-l|0)/104<<2)+A>>2]=t,(0|(a=a+1|0))>2];);s=h[e+1112>>2]}if(!((0|(t=t+1|0))<(0|s)))break}if(h[e+752>>2]>=1){for(n=0;;){for(t=h[e+760>>2]+g(n,44)|0,s=h[e+720>>2],a=(h[t+8>>2]-s|0)/104|0,h[i+4>>2]=a,h[i+8>>2]=(h[t+12>>2]-s|0)/104,h[i+12>>2]=(h[t+16>>2]-s|0)/104,E=0;;){for(l=h[(a<<2)+A>>2],f=1;;){t=h[(i+4|0)+((f+E>>>0)%3<<2)>>2];t:if((0|l)!=h[(t<<2)+A>>2]){O=h[e+720>>2]+g(t,104)|0,s=h[h[e+1120>>2]+(l<<2)>>2];n:if(!((0|(t=h[s+24>>2]))<1)){for(c=h[s+32>>2],a=0;;){if((0|O)!=h[c+(a<<2)>>2]){if((0|(a=a+1|0))!=(0|t))continue;break n}break}if((0|t)!=(0|a))break t}if(h[s+28>>2]==(0|t)&&!((0|t)>=(0|(c=t?t<<1:1)))){if(c?(h[7717]=h[7717]+1,u=0|r[h[6606]](c<<2,16),t=h[s+24>>2]):u=0,(0|t)>=1)for(a=0;h[(P=a<<2)+u>>2]=h[P+h[s+32>>2]>>2],(0|(a=a+1|0))!=(0|t););(a=h[s+32>>2])&&(d[s+36|0]&&(a&&(h[7718]=h[7718]+1,r[h[6607]](a)),t=h[s+24>>2]),h[s+32>>2]=0),h[s+32>>2]=u,h[s+28>>2]=c,o[s+36|0]=1}h[h[s+32>>2]+(t<<2)>>2]=O,h[s+24>>2]=t+1}if(3==(0|(f=f+1|0)))break}if(3==(0|(E=E+1|0)))break;a=h[(i+4|0)+(E<<2)>>2]}if(!((0|(n=n+1|0))>2]))break}s=h[e+1112>>2]}if((0|s)>=2){if(a=0,h[7717]=h[7717]+1,n=0|r[h[6606]](384,16),p[n+376>>1]=0,h[n+368>>2]=1120403456,h[n+372>>2]=1008981770,h[n+348>>2]=0,h[n+352>>2]=0,h[n+12>>2]=0,o[n+16|0]=1,o[n+36|0]=1,h[n+4>>2]=0,h[n+8>>2]=0,h[n+32>>2]=0,o[n+56|0]=1,h[n+24>>2]=0,h[n+28>>2]=0,h[n+52>>2]=0,h[n+44>>2]=0,h[n+48>>2]=0,h[n+364>>2]=0,h[n+356>>2]=0,h[n+360>>2]=0,!((0|(s=h[e+712>>2]))<1)){if(h[7717]=h[7717]+1,t=0|r[h[6606]](s<<2,16),(0|(c=h[n+24>>2]))>=1)for(;h[(l=a<<2)+t>>2]=h[l+h[n+32>>2]>>2],(0|c)!=(0|(a=a+1|0)););if((a=h[n+32>>2])&&(d[n+36|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[n+32>>2]=0),h[n+32>>2]=t,o[n+36|0]=1,h[n+28>>2]=s,!((0|(c=h[e+712>>2]))<1))for(a=h[n+24>>2],f=0;;){if(u=h[e+720>>2]+g(f,104)|0,(0|a)==(0|s))if((0|s)>=(0|(t=s?s<<1:1)))a=s;else{if(a=0,l=0,t&&(h[7717]=h[7717]+1,l=0|r[h[6606]](t<<2,16),s=h[n+24>>2]),(0|s)>=1)for(;h[(c=a<<2)+l>>2]=h[c+h[n+32>>2]>>2],(0|s)!=(0|(a=a+1|0)););(a=h[n+32>>2])&&(d[n+36|0]&&(a&&(h[7718]=h[7718]+1,r[h[6607]](a)),s=h[n+24>>2]),h[n+32>>2]=0),a=s,h[n+32>>2]=l,o[n+36|0]=1,h[n+28>>2]=t,c=h[e+712>>2],s=t}if(h[h[n+32>>2]+(a<<2)>>2]=u,a=a+1|0,h[n+24>>2]=a,!((0|(f=f+1|0))<(0|c)))break}}if((0|(s=h[e+1112>>2]))==h[e+1116>>2]&&!((0|s)>=(0|(t=s?s<<1:1)))){if(a=0,l=0,t&&(h[7717]=h[7717]+1,l=0|r[h[6606]](t<<2,16),s=h[e+1112>>2]),(0|s)>=1)for(;h[(c=a<<2)+l>>2]=h[c+h[e+1120>>2]>>2],(0|s)!=(0|(a=a+1|0)););(a=h[e+1120>>2])&&(d[e+1124|0]&&(a&&(h[7718]=h[7718]+1,r[h[6607]](a)),s=h[e+1112>>2]),h[e+1120>>2]=0),h[e+1120>>2]=l,h[e+1116>>2]=t,o[e+1124|0]=1}h[(a=s<<2)+h[e+1120>>2]>>2]=n,s=s+1|0,h[e+1112>>2]=s,t=h[e+1120>>2],n=h[t>>2],c=t,t=t+a|0,h[c>>2]=h[t>>2],h[t>>2]=n}if((0|s)>=1)for(a=0;h[h[h[e+1120>>2]+(a<<2)>>2]+24>>2]||(Pi(e,a),s=h[e+1112>>2],a=a+-1|0),(0|(a=a+1|0))<(0|s););A&&A&&(h[7718]=h[7718]+1,r[h[6607]](A)),_&&_&&(h[7718]=h[7718]+1,r[h[6607]](_))}if(h[e+1112>>2]){if(function(e){var t=0,n=0,i=v(0),a=0,s=0,c=0,l=v(0),u=v(0),p=0,f=v(0),_=0,b=v(0),g=v(0),y=0,C=v(0),A=v(0),x=v(0),S=0,T=v(0),E=v(0),P=0,O=0,M=v(0),R=v(0),I=v(0);if(w=S=w-16|0,h[e+1112>>2]>=1)for(;;){if(t=h[h[e+1120>>2]+(P<<2)>>2],h[t+128>>2]=0,(0|(s=p=h[t+24>>2]))>(0|(a=h[t+4>>2]))){if(h[t+8>>2]>=(0|p))_=h[t+12>>2];else{s=0,n=a,_=0,p&&(h[7717]=h[7717]+1,_=0|r[h[6606]](p<<2,16),n=h[t+4>>2]),c=h[t+12>>2];e:{t:{if((0|n)>=1)for(;;)if(h[(y=s<<2)+_>>2]=h[c+y>>2],(0|n)==(0|(s=s+1|0)))break t;if(!c)break e}d[t+16|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c))}h[t+12>>2]=_,o[t+16|0]=1,h[t+8>>2]=p}ji((a<<2)+_|0,0,p-a<<2),s=h[t+24>>2]}h[t+4>>2]=p;e:{t:{if(_=(0|s)>0){for(a=h[t+32>>2],p=h[t+12>>2],n=0;(i=m[h[(c=n<<2)+a>>2]+88>>2])!=v(0)?i=v(v(1)/i):(o[t+376|0]=1,i=v(0xde0b6b000000000)),m[p+c>>2]=i,i=v(i+m[t+128>>2]),m[t+128>>2]=i,(0|(n=n+1|0))!=(0|s););if(i=v(v(1)/i),m[t+128>>2]=i,(0|s)>=1)break t}else i=v(v(1)/m[t+128>>2]),m[t+128>>2]=i;l=v(0),f=v(0),b=v(0);break e}for(p=h[t+32>>2],c=h[t+12>>2],b=v(0),n=0,f=v(0),l=v(0);a=h[(y=n<<2)+p>>2],u=m[c+y>>2],l=v(l+v(m[a+8>>2]*u)),b=v(b+v(u*m[a+16>>2])),f=v(f+v(u*m[a+12>>2])),(0|(n=n+1|0))!=(0|s););}if(h[t+316>>2]=0,h[t+320>>2]=0,h[t+132>>2]=0,h[t+136>>2]=0,h[t+240>>2]=0,M=v(i*b),m[t+236>>2]=M,R=v(i*f),m[t+232>>2]=R,I=v(i*l),m[t+228>>2]=I,h[t+164>>2]=0,h[t+168>>2]=0,h[t+172>>2]=0,h[t+176>>2]=0,h[t+324>>2]=0,h[t+328>>2]=0,h[t+332>>2]=0,h[t+336>>2]=0,h[t+340>>2]=0,h[t+344>>2]=0,h[t+348>>2]=0,h[t+148>>2]=0,h[t+152>>2]=0,h[t+156>>2]=0,h[t+160>>2]=0,h[t+140>>2]=0,h[t+144>>2]=0,_)for(f=m[t+156>>2],i=m[t+140>>2],l=m[t+136>>2],u=m[t+152>>2],_=h[t+32>>2],b=m[t+132>>2],p=h[t+12>>2],n=0,A=v(0);a=h[(c=n<<2)+_>>2],g=m[a+12>>2],C=v(m[a+16>>2]-M),T=v(m[a+8>>2]-I),x=m[p+c>>2],E=v(T*x),i=v(i-v(C*E)),m[t+140>>2]=i,g=v(g-R),l=v(l-v(g*E)),m[t+136>>2]=l,f=v(f-v(C*v(g*x))),m[t+156>>2]=f,T=v(T*T),g=v(g*g),A=v(v(x*v(T+g))+A),m[t+172>>2]=A,C=v(C*C),u=v(v(x*v(T+C))+u),m[t+152>>2]=u,b=v(b+v(x*v(g+C))),m[t+132>>2]=b,(0|(n=n+1|0))!=(0|s););else u=m[t+152>>2],f=m[t+156>>2],i=m[t+140>>2],l=m[t+136>>2],b=m[t+132>>2],A=v(0);if(h[t+176>>2]=0,h[t+60>>2]=1065353216,h[t+160>>2]=0,h[t+144>>2]=0,h[(n=t- -64|0)>>2]=0,h[n+4>>2]=0,h[t+72>>2]=0,h[t+76>>2]=0,h[t+84>>2]=0,h[t+88>>2]=0,h[t+80>>2]=1065353216,h[t+92>>2]=0,h[t+96>>2]=0,E=v(v(u*b)-v(l*l)),x=v(v(u*A)-v(f*f)),C=v(v(f*i)-v(A*l)),g=v(v(f*l)-v(u*i)),u=v(v(1)/v(v(v(x*b)+v(l*C))+v(g*i))),m[t+172>>2]=E*u,l=v(v(v(l*i)-v(f*b))*u),m[t+168>>2]=l,f=v(g*u),m[t+164>>2]=f,m[t+156>>2]=l,m[t+152>>2]=v(v(A*b)-v(i*i))*u,i=v(C*u),m[t+148>>2]=i,m[t+140>>2]=f,m[t+136>>2]=i,m[t+132>>2]=x*u,h[t+100>>2]=1065353216,h[t+104>>2]=0,n=h[t+232>>2],h[t+108>>2]=h[t+228>>2],h[t+112>>2]=n,n=h[t+240>>2],h[t+116>>2]=h[t+236>>2],h[t+120>>2]=n,(0|(n=h[t+44>>2]))<(0|s)){if(h[t+48>>2]<(0|s)){if(s?(h[7717]=h[7717]+1,p=0|r[h[6606]](s<<4,16),a=h[t+44>>2]):(p=0,a=n),(0|a)>=1)for(_=0;y=(c=_<<4)+p|0,c=c+h[t+52>>2]|0,O=h[c+4>>2],h[y>>2]=h[c>>2],h[y+4>>2]=O,O=h[c+12>>2],h[y+8>>2]=h[c+8>>2],h[y+12>>2]=O,(0|a)!=(0|(_=_+1|0)););(a=h[t+52>>2])&&(d[t+56|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[t+52>>2]=0),h[t+52>>2]=p,h[t+48>>2]=s,o[t+56|0]=1}for(;p=h[S+4>>2],a=h[t+52>>2]+(n<<4)|0,h[a>>2]=h[S>>2],h[a+4>>2]=p,_=h[S+12>>2],h[a+8>>2]=h[S+8>>2],h[a+12>>2]=_,(0|(n=n+1|0))!=(0|s););}if(h[t+44>>2]=s,(0|s)>=1)for(s=0;n=h[h[t+32>>2]+(s<<2)>>2],i=m[n+12>>2],l=m[n+16>>2],f=m[n+8>>2],b=m[t+232>>2],u=m[t+236>>2],A=m[t+228>>2],n=h[t+52>>2]+(s<<4)|0,h[n+12>>2]=0,m[n>>2]=f-A,m[n+8>>2]=l-u,m[n+4>>2]=i-b,(0|(s=s+1|0))>2];);if(!((0|(P=P+1|0))>2]))break}w=S+16|0}(e),Q(e),A=h[e+1112>>2],(0|(s=g(A,A)))>(0|(n=h[e+1132>>2]))){e:if(h[e+1136>>2]>=(0|s))t=h[e+1140>>2];else{a=0,c=n,t=0,s&&(h[7717]=h[7717]+1,t=0|r[h[6606]](s,16),c=h[e+1132>>2]),l=h[e+1140>>2];t:{if((0|c)>=1)for(;;)if(o[t+a|0]=d[a+l|0],(0|c)==(0|(a=a+1|0)))break t;if(!l){h[e+1140>>2]=t,h[e+1136>>2]=s,o[e+1144|0]=1;break e}}d[e+1144|0]&&l&&(h[7718]=h[7718]+1,r[h[6607]](l)),h[e+1140>>2]=t,o[e+1144|0]=1,h[e+1136>>2]=s}ji(t+n|0,0,s-n|0),A=h[e+1112>>2]}if(h[e+1132>>2]=s,!((0|A)<1))for(l=h[e+1140>>2],e=h[e+1120>>2],_=0;;){for(t=h[e+(_<<2)>>2],h[t+380>>2]=_,E=(0|(n=h[t+24>>2]))>0?n:0,u=0;;){N=l+(g(u,A)+_|0)|0;e:{if((0|n)>=1)for(P=h[e+(u<<2)>>2],s=h[P+24>>2],f=0;;){if((0|s)>=1)for(c=h[h[t+32>>2]+(f<<2)>>2],O=h[P+32>>2],a=0;;){if(I=1,(0|c)==h[O+(a<<2)>>2])break e;if(!((0|(a=a+1|0))<(0|s)))break}if((0|E)==(0|(f=f+1|0)))break}I=0}if(o[0|N]=I,(0|A)==(0|(u=u+1|0)))break}if((0|(_=_+1|0))==(0|A))break}}else A=0;return w=i+16|0,A}function k(e){var t,n=0,i=0,r=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0;w=t=w-16|0;e:{t:{n:{i:{r:{o:{a:{s:{c:{l:{u:{if((e|=0)>>>0<=244){if(3&(n=(a=h[7724])>>>(e=(s=e>>>0<11?16:e+11&-8)>>>3|0)|0)){e=(n=h[30944+(o=(i=e+(1&(-1^n))|0)<<3)>>2])+8|0,(0|(r=h[n+8>>2]))!=(0|(o=o+30936|0))?(h[r+12>>2]=o,h[o+8>>2]=r):h[7724]=Ip(i)&a,i<<=3,h[n+4>>2]=3|i,h[4+(n=n+i|0)>>2]=1|h[n+4>>2];break e}if(s>>>0<=(l=h[7726])>>>0)break u;if(n){i=n=(e=(0-(e=(0-(i=2<>>12&16,i|=n=(e=e>>>n|0)>>>5&8,i|=n=(e=e>>>n|0)>>>2&4,n=h[30944+(r=(i=((i|=n=(e=e>>>n|0)>>>1&2)|(n=(e=e>>>n|0)>>>1&1))+(e>>>n|0)|0)<<3)>>2],(0|(e=h[n+8>>2]))!=(0|(r=r+30936|0))?(h[e+12>>2]=r,h[r+8>>2]=e):(a=Ip(i)&a,h[7724]=a),e=n+8|0,h[n+4>>2]=3|s,o=(i<<=3)-s|0,h[4+(c=n+s|0)>>2]=1|o,h[n+i>>2]=o,l&&(n=30936+((i=l>>>3|0)<<3)|0,r=h[7729],(i=1<>2]:(h[7724]=i|a,i=n),h[n+8>>2]=r,h[i+12>>2]=r,h[r+12>>2]=n,h[r+8>>2]=i),h[7729]=c,h[7726]=o;break e}if(!(p=h[7725]))break u;for(i=n=(e=(p&0-p)-1|0)>>>12&16,i|=n=(e=e>>>n|0)>>>5&8,i|=n=(e=e>>>n|0)>>>2&4,n=h[31200+(((i|=n=(e=e>>>n|0)>>>1&2)|(n=(e=e>>>n|0)>>>1&1))+(e>>>n|0)<<2)>>2],r=(-8&h[n+4>>2])-s|0,i=n;(e=h[i+16>>2])||(e=h[i+20>>2]);)r=(i=(o=(-8&h[e+4>>2])-s|0)>>>0>>0)?o:r,n=i?e:n,i=e;if(u=h[n+24>>2],(0|(o=h[n+12>>2]))!=(0|n)){e=h[n+8>>2],h[e+12>>2]=o,h[o+8>>2]=e;break t}if(!(e=h[(i=n+20|0)>>2])){if(!(e=h[n+16>>2]))break l;i=n+16|0}for(;c=i,o=e,(e=h[(i=e+20|0)>>2])||(i=o+16|0,e=h[o+16>>2]););h[c>>2]=0;break t}if(s=-1,!(e>>>0>4294967231)&&(s=-8&(n=e+11|0),l=h[7725])){i=0-s|0,a=0,(n=n>>>8|0)&&(a=31,s>>>0>16777215||(a=28+((e=((a=(n<<=r=n+1048320>>>16&8)<<(e=n+520192>>>16&4))<<(n=a+245760>>>16&2)>>>15|0)-(n|e|r)|0)<<1|s>>>e+21&1)|0));p:{h:{if(r=h[31200+(a<<2)>>2])for(n=s<<(31==(0|a)?0:25-(a>>>1|0)|0),e=0;;){if(!((c=(-8&h[r+4>>2])-s|0)>>>0>=i>>>0||(o=r,i=c))){i=0,e=r;break h}if(c=h[r+20>>2],r=h[16+((n>>>29&4)+r|0)>>2],e=c?(0|c)==(0|r)?e:c:e,n<<=0!=(0|r),!r)break}else e=0;if(!(e|o)){if(!(e=(0-(e=2<>>12&16,r|=n=(e=e>>>n|0)>>>5&8,r|=n=(e=e>>>n|0)>>>2&4,e=h[31200+(((r|=n=(e=e>>>n|0)>>>1&2)|(n=(e=e>>>n|0)>>>1&1))+(e>>>n|0)<<2)>>2]}if(!e)break p}for(;i=(n=(r=(-8&h[e+4>>2])-s|0)>>>0>>0)?r:i,o=n?e:o,e=(n=h[e+16>>2])||h[e+20>>2];);}if(!(!o|i>>>0>=h[7726]-s>>>0)){if(c=h[o+24>>2],(0|o)!=(0|(n=h[o+12>>2]))){e=h[o+8>>2],h[e+12>>2]=n,h[n+8>>2]=e;break n}if(!(e=h[(r=o+20|0)>>2])){if(!(e=h[o+16>>2]))break c;r=o+16|0}for(;a=r,n=e,(e=h[(r=e+20|0)>>2])||(r=n+16|0,e=h[n+16>>2]););h[a>>2]=0;break n}}}if((n=h[7726])>>>0>=s>>>0){e=h[7729],(i=n-s|0)>>>0>=16?(h[7726]=i,r=e+s|0,h[7729]=r,h[r+4>>2]=1|i,h[e+n>>2]=i,h[e+4>>2]=3|s):(h[7729]=0,h[7726]=0,h[e+4>>2]=3|n,h[4+(n=e+n|0)>>2]=1|h[n+4>>2]),e=e+8|0;break e}if((r=h[7727])>>>0>s>>>0){n=r-s|0,h[7727]=n,i=(e=h[7730])+s|0,h[7730]=i,h[i+4>>2]=1|n,h[e+4>>2]=3|s,e=e+8|0;break e}if(e=0,i=o=s+47|0,h[7842]?n=h[7844]:(h[7845]=-1,h[7846]=-1,h[7843]=4096,h[7844]=4096,h[7842]=t+12&-16^1431655768,h[7847]=0,h[7835]=0,n=4096),(i=(a=i+n|0)&(c=0-n|0))>>>0<=s>>>0)break e;if((n=h[7834])&&(u=(l=h[7832])+i|0)>>>0<=l>>>0|u>>>0>n>>>0)break e;if(4&d[31340])break o;u:{p:{if(n=h[7730])for(e=31344;;){if((l=h[e>>2])+h[e+4>>2]>>>0>n>>>0&&l>>>0<=n>>>0)break p;if(!(e=h[e+8>>2]))break}if(-1==(0|(n=xs(0))))break a;if(a=i,(r=(e=h[7843])+-1|0)&n&&(a=(i-n|0)+(n+r&0-e)|0),a>>>0<=s>>>0|a>>>0>2147483646)break a;if((e=h[7834])&&(c=(r=h[7832])+a|0)>>>0<=r>>>0|c>>>0>e>>>0)break a;if((0|n)!=(0|(e=xs(a))))break u;break r}if((a=c&a-r)>>>0>2147483646)break a;if((0|(n=xs(a)))==(h[e>>2]+h[e+4>>2]|0))break s;e=n}if(!(-1==(0|e)|s+48>>>0<=a>>>0)){if((n=(n=h[7844])+(o-a|0)&0-n)>>>0>2147483646){n=e;break r}if(-1!=(0|xs(n))){a=n+a|0,n=e;break r}xs(0-a|0);break a}if(n=e,-1!=(0|e))break r;break a}o=0;break t}n=0;break n}if(-1!=(0|n))break r}h[7835]=4|h[7835]}if(i>>>0>2147483646)break i;if((n=xs(i))>>>0>=(e=xs(0))>>>0|-1==(0|n)|-1==(0|e))break i;if((a=e-n|0)>>>0<=s+40>>>0)break i}e=h[7832]+a|0,h[7832]=e,e>>>0>_[7833]&&(h[7833]=e);r:{o:{a:{if(i=h[7730]){for(e=31344;;){if(((r=h[e>>2])+(o=h[e+4>>2])|0)==(0|n))break a;if(!(e=h[e+8>>2]))break}break o}for(n>>>0>=(e=h[7728])>>>0&&e||(h[7728]=n),e=0,h[7837]=a,h[7836]=n,h[7732]=-1,h[7733]=h[7842],h[7839]=0;r=30936+(i=e<<3)|0,h[i+30944>>2]=r,h[i+30948>>2]=r,32!=(0|(e=e+1|0)););r=(e=a+-40|0)-(i=n+8&7?-8-n&7:0)|0,h[7727]=r,i=n+i|0,h[7730]=i,h[i+4>>2]=1|r,h[4+(e+n|0)>>2]=40,h[7731]=h[7846];break r}if(!(8&d[e+12|0]|n>>>0<=i>>>0|r>>>0>i>>>0)){h[e+4>>2]=o+a,n=(e=i+8&7?-8-i&7:0)+i|0,h[7730]=n,e=(r=h[7727]+a|0)-e|0,h[7727]=e,h[n+4>>2]=1|e,h[4+(i+r|0)>>2]=40,h[7731]=h[7846];break r}}n>>>0<(o=h[7728])>>>0&&(h[7728]=n,o=0),r=n+a|0,e=31344;o:{a:{s:{c:{l:{u:{for(;;){if((0|r)!=h[e>>2]){if(e=h[e+8>>2])continue;break u}break}if(!(8&d[e+12|0]))break l}for(e=31344;;){if((r=h[e>>2])>>>0<=i>>>0&&(o=r+h[e+4>>2]|0)>>>0>i>>>0)break c;e=h[e+8>>2]}}if(h[e>>2]=n,h[e+4>>2]=h[e+4>>2]+a,h[4+(u=(n+8&7?-8-n&7:0)+n|0)>>2]=3|s,e=((n=r+(r+8&7?-8-r&7:0)|0)-u|0)-s|0,c=s+u|0,(0|n)==(0|i)){h[7730]=c,e=h[7727]+e|0,h[7727]=e,h[c+4>>2]=1|e;break a}if(h[7729]==(0|n)){h[7729]=c,e=h[7726]+e|0,h[7726]=e,h[c+4>>2]=1|e,h[e+c>>2]=e;break a}if(1==(3&(i=h[n+4>>2]))){p=-8&i;l:if(i>>>0<=255){if(o=i>>>3|0,i=h[n+8>>2],(0|(r=h[n+12>>2]))==(0|i)){h[7724]=h[7724]&Ip(o);break l}h[i+12>>2]=r,h[r+8>>2]=i}else{if(l=h[n+24>>2],(0|(a=h[n+12>>2]))==(0|n))if((s=h[(r=n+20|0)>>2])||(s=h[(r=n+16|0)>>2])){for(;i=r,a=s,(s=h[(r=s+20|0)>>2])||(r=a+16|0,s=h[a+16>>2]););h[i>>2]=0}else a=0;else i=h[n+8>>2],h[i+12>>2]=a,h[a+8>>2]=i;if(l){i=h[n+28>>2];u:{if(h[(r=31200+(i<<2)|0)>>2]==(0|n)){if(h[r>>2]=a,a)break u;h[7725]=h[7725]&Ip(i);break l}if(h[l+(h[l+16>>2]==(0|n)?16:20)>>2]=a,!a)break l}h[a+24>>2]=l,(i=h[n+16>>2])&&(h[a+16>>2]=i,h[i+24>>2]=a),(i=h[n+20>>2])&&(h[a+20>>2]=i,h[i+24>>2]=a)}}n=n+p|0,e=e+p|0}if(h[n+4>>2]=-2&h[n+4>>2],h[c+4>>2]=1|e,h[e+c>>2]=e,e>>>0<=255){e=30936+((n=e>>>3|0)<<3)|0,(i=h[7724])&(n=1<>2]:(h[7724]=n|i,n=e),h[e+8>>2]=c,h[n+12>>2]=c,h[c+12>>2]=e,h[c+8>>2]=n;break a}if(n=0,(r=e>>>8|0)&&(n=31,e>>>0>16777215||(n=28+((n=((s=(r<<=o=r+1048320>>>16&8)<<(n=r+520192>>>16&4))<<(r=s+245760>>>16&2)>>>15|0)-(r|n|o)|0)<<1|e>>>n+21&1)|0)),h[(i=c)+28>>2]=n,h[c+16>>2]=0,h[c+20>>2]=0,i=31200+(n<<2)|0,(r=h[7725])&(o=1<>>1|0)|0),n=h[i>>2];;){if(i=n,(-8&h[n+4>>2])==(0|e))break s;if(n=r>>>29|0,r<<=1,!(n=h[16+(o=(4&n)+i|0)>>2]))break}h[o+16>>2]=c}else h[7725]=r|o,h[i>>2]=c;h[c+24>>2]=i,h[c+12>>2]=c,h[c+8>>2]=c;break a}for(c=(e=a+-40|0)-(r=n+8&7?-8-n&7:0)|0,h[7727]=c,r=n+r|0,h[7730]=r,h[r+4>>2]=1|c,h[4+(e+n|0)>>2]=40,h[7731]=h[7846],h[(r=(e=(o+(o+-39&7?39-o&7:0)|0)-47|0)>>>0>>0?i:e)+4>>2]=27,e=h[7839],h[r+16>>2]=h[7838],h[r+20>>2]=e,e=h[7837],h[r+8>>2]=h[7836],h[r+12>>2]=e,h[7838]=r+8,h[7837]=a,h[7836]=n,h[7839]=0,e=r+24|0;h[e+4>>2]=7,n=e+8|0,e=e+4|0,o>>>0>n>>>0;);if((0|i)==(0|r))break r;if(h[r+4>>2]=-2&h[r+4>>2],o=r-i|0,h[i+4>>2]=1|o,h[r>>2]=o,o>>>0<=255){e=30936+((n=o>>>3|0)<<3)|0,(r=h[7724])&(n=1<>2]:(h[7724]=n|r,n=e),h[e+8>>2]=i,h[n+12>>2]=i,h[i+12>>2]=e,h[i+8>>2]=n;break r}if(h[i+16>>2]=0,h[i+20>>2]=0,e=0,(r=o>>>8|0)&&(e=31,o>>>0>16777215||(e=28+((e=((c=(r<<=a=r+1048320>>>16&8)<<(e=r+520192>>>16&4))<<(r=c+245760>>>16&2)>>>15|0)-(r|e|a)|0)<<1|o>>>e+21&1)|0)),h[(n=i)+28>>2]=e,n=31200+(e<<2)|0,(r=h[7725])&(a=1<>>1|0)|0),n=h[n>>2];;){if(r=n,(0|o)==(-8&h[n+4>>2]))break o;if(n=e>>>29|0,e<<=1,!(n=h[16+(a=r+(4&n)|0)>>2]))break}h[a+16>>2]=i,h[i+24>>2]=r}else h[7725]=r|a,h[n>>2]=i,h[i+24>>2]=n;h[i+12>>2]=i,h[i+8>>2]=i;break r}e=h[i+8>>2],h[e+12>>2]=c,h[i+8>>2]=c,h[c+24>>2]=0,h[c+12>>2]=i,h[c+8>>2]=e}e=u+8|0;break e}e=h[r+8>>2],h[e+12>>2]=i,h[r+8>>2]=i,h[i+24>>2]=0,h[i+12>>2]=r,h[i+8>>2]=e}if(!((e=h[7727])>>>0<=s>>>0)){n=e-s|0,h[7727]=n,i=(e=h[7730])+s|0,h[7730]=i,h[i+4>>2]=1|n,h[e+4>>2]=3|s,e=e+8|0;break e}}h[7722]=48,e=0;break e}n:if(c){e=h[o+28>>2];i:{if(h[(r=31200+(e<<2)|0)>>2]==(0|o)){if(h[r>>2]=n,n)break i;l=Ip(e)&l,h[7725]=l;break n}if(h[c+(h[c+16>>2]==(0|o)?16:20)>>2]=n,!n)break n}h[n+24>>2]=c,(e=h[o+16>>2])&&(h[n+16>>2]=e,h[e+24>>2]=n),(e=h[o+20>>2])&&(h[n+20>>2]=e,h[e+24>>2]=n)}n:if(i>>>0<=15)e=i+s|0,h[o+4>>2]=3|e,h[4+(e=e+o|0)>>2]=1|h[e+4>>2];else if(h[o+4>>2]=3|s,h[4+(r=o+s|0)>>2]=1|i,h[i+r>>2]=i,i>>>0<=255)e=30936+((n=i>>>3|0)<<3)|0,(i=h[7724])&(n=1<>2]:(h[7724]=n|i,n=e),h[e+8>>2]=r,h[n+12>>2]=r,h[r+12>>2]=e,h[r+8>>2]=n;else{e=0,(s=i>>>8|0)&&(e=31,i>>>0>16777215||(e=28+((e=((c=(s<<=a=s+1048320>>>16&8)<<(e=s+520192>>>16&4))<<(s=c+245760>>>16&2)>>>15|0)-(s|e|a)|0)<<1|i>>>e+21&1)|0)),h[(n=r)+28>>2]=e,h[r+16>>2]=0,h[r+20>>2]=0,n=31200+(e<<2)|0;i:{if((s=1<>>1|0)|0),s=h[n>>2];;){if((-8&h[(n=s)+4>>2])==(0|i))break i;if(s=e>>>29|0,e<<=1,!(s=h[16+(a=(4&s)+n|0)>>2]))break}h[a+16>>2]=r}else h[7725]=s|l,h[n>>2]=r;h[r+24>>2]=n,h[r+12>>2]=r,h[r+8>>2]=r;break n}e=h[n+8>>2],h[e+12>>2]=r,h[n+8>>2]=r,h[r+24>>2]=0,h[r+12>>2]=n,h[r+8>>2]=e}e=o+8|0;break e}t:if(u){e=h[n+28>>2];n:{if(h[(i=31200+(e<<2)|0)>>2]==(0|n)){if(h[i>>2]=o,o)break n;h[7725]=Ip(e)&p;break t}if(h[u+(h[u+16>>2]==(0|n)?16:20)>>2]=o,!o)break t}h[o+24>>2]=u,(e=h[n+16>>2])&&(h[o+16>>2]=e,h[e+24>>2]=o),(e=h[n+20>>2])&&(h[o+20>>2]=e,h[e+24>>2]=o)}r>>>0<=15?(e=r+s|0,h[n+4>>2]=3|e,h[4+(e=e+n|0)>>2]=1|h[e+4>>2]):(h[n+4>>2]=3|s,h[4+(s=n+s|0)>>2]=1|r,h[r+s>>2]=r,l&&(e=30936+((i=l>>>3|0)<<3)|0,o=h[7729],(i=1<>2]:(h[7724]=i|a,i=e),h[e+8>>2]=o,h[i+12>>2]=o,h[o+12>>2]=e,h[o+8>>2]=i),h[7729]=s,h[7726]=r),e=n+8|0}return w=t+16|0,0|e}function V(e,t,n,i,r){var a,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0),q=v(0),J=v(0),$=v(0),ee=v(0),te=v(0),ne=v(0),ie=v(0),re=v(0),oe=v(0),ae=v(0),se=v(0),ce=v(0),le=v(0),ue=v(0),pe=v(0),he=v(0),de=v(0),fe=v(0),_e=v(0),me=v(0),be=v(0),ge=v(0),ve=v(0),ye=v(0),Ce=v(0),Ae=v(0),xe=v(0),Se=v(0),Te=v(0),Ee=v(0),Pe=v(0),Oe=v(0),Me=v(0),Re=v(0),Ie=0,we=v(0),De=v(0),Le=v(0),Ne=v(0),Fe=v(0),Be=v(0);w=a=w-80|0,o[e+525|0]=0,o[e+526|0]=0,h[e+500>>2]=0,h[e+504>>2]=0;e:if(d[e+527|0]|!d[e+552|0]){lt(t,a+16|0),lt(e+300|0,a),c=m[a+24>>2],s=m[a+8>>2],l=m[a+4>>2],p=m[a+20>>2],b=m[a+12>>2],k=m[a+28>>2],O=m[a+16>>2],I=m[a>>2],lt(n,a+16|0),lt(e+364|0,a),F=v(-0),V=v(1),D=v(v(v(I*c)+v(v(b*p)+v(k*l)))-v(O*s)),x=m[a+28>>2],L=m[a+8>>2],E=m[a+12>>2],g=m[a+24>>2],_=m[a+16>>2],H=m[a+4>>2],T=m[a>>2],B=m[a+20>>2],f=v(v(v(v(x*L)+v(E*g))+v(_*H))-v(T*B)),U=v(v(v(v(k*I)+v(O*b))+v(p*s))-v(c*l)),M=v(v(v(v(x*E)-v(T*_))-v(B*H))-v(L*g)),G=v(v(v(v(k*b)-v(I*O))-v(p*l))-v(s*c)),R=v(v(v(v(x*T)+v(_*E))+v(B*L))-v(g*H)),k=v(v(v(v(k*s)+v(b*c))+v(O*l))-v(I*p)),b=v(v(v(T*g)+v(v(E*B)+v(x*H)))-v(_*L)),O=v(v(D*f)+v(v(v(U*M)-v(G*R))-v(k*b))),I=v(v(U*b)+v(v(v(k*M)-v(G*f))-v(D*R))),x=v(v(k*f)+v(v(v(U*R)+v(G*M))+v(D*b))),s=v(x*v(0)),l=v(O*v(0)),c=v(v(I+s)-l),L=v(v(k*R)+v(v(v(D*M)-v(G*b))-v(U*f))),s=v(v(s+l)-L),p=v(L*v(0)),E=v(I*v(0)),l=v(v(v(-O)-p)-E),p=v(v(x+p)-E),_=E=v(v(O*c)+v(v(v(x*s)-v(I*l))-v(L*p))),P=v(E*E),E=v(v(L*s)+v(v(v(x*p)-v(O*l))-v(I*c))),c=v(v(I*p)+v(v(v(x*c)-v(L*l))-v(O*s))),s=v(v(1)/v(S(v(P+v(v(E*E)+v(c*c)))))),p=v(_*s),c=v(c*s),l=v(E*s),(s=v(v(p*v(0))+v(v(c*v(0))+l)))>2])>=(T=m[e+456>>2]))&&(g=m[e+448>>2])>=T){if(p=oi(v(C(v(A(H,v(-1))),v(1)))),_=v(p+p),c=v(0),_>v(1.1920928955078125e-7)&&(p=v(v(1)/v(S(v(v(E*E)+v(v(F*F)+v(V*V)))))),l=v(E*p),u=v(F*p),p=v(V*p),c=s,v(y(p))>v(1.1920928955078125e-7)&&(c=v(v(l*l)/v(p*p)),c=v(S(v(v(c+v(1))/v(v(c/v(s*s))+v(v(1)/v(g*g)))))))),P=m[e+428>>2],!(_>(T=v(c*P))))break t;o[e+526|0]=1,N=v(1),B=v(_-T),m[e+504>>2]=B,m[e+528>>2]=_v(1.1920928955078125e-7)&&(c=v(y(v(p*v(v(g/s)*v(v(-l)/p))))),c=l>2]=0,h[e+540>>2]=0,h[e+472>>2]=0,h[e+544>>2]=0,h[e+548>>2]=0,c=v(-p),s=v(v(v(M*c)-v(f*u))+v(R*l)),g=v(v(b*u)+v(v(R*c)-v(M*l))),_=v(v(v(R*u)+v(b*p))+v(f*l)),l=v(v(f*p)+v(v(b*v(-l))-v(M*u))),c=v(v(R*s)+v(v(v(M*g)-v(f*_))-v(b*l))),m[e+468>>2]=c,u=v(v(f*l)+v(v(v(M*s)-v(b*_))-v(R*g))),m[e+464>>2]=u,s=v(v(b*g)+v(v(v(M*l)-v(R*_))-v(f*s))),m[e+460>>2]=s,m[e+492>>2]=v(1)/v(v(v(v(s*v(v(v(s*m[i>>2])+v(m[i+16>>2]*u))+v(m[i+32>>2]*c)))+v(u*v(v(v(s*m[i+4>>2])+v(u*m[i+20>>2]))+v(c*m[i+36>>2]))))+v(c*v(v(v(s*m[i+8>>2])+v(u*m[i+24>>2]))+v(c*m[i+40>>2]))))+v(v(v(s*v(v(v(s*m[r>>2])+v(u*m[r+16>>2]))+v(c*m[r+32>>2])))+v(u*v(v(v(s*m[r+4>>2])+v(u*m[r+20>>2]))+v(c*m[r+36>>2]))))+v(c*v(v(v(s*m[r+8>>2])+v(u*m[r+24>>2]))+v(c*m[r+40>>2])))))}else{l=m[t>>2],c=m[e+308>>2],B=m[t+4>>2],u=m[e+324>>2],N=m[t+8>>2],_=m[e+340>>2],ae=v(v(v(l*c)+v(B*u))+v(N*_)),P=m[e+364>>2],j=m[e+380>>2],W=m[e+396>>2],p=v(v(v(P*m[n>>2])+v(j*m[n+4>>2]))+v(W*m[n+8>>2])),Y=m[t+16>>2],Q=m[t+20>>2],K=m[t+24>>2],se=v(v(v(Y*c)+v(Q*u))+v(K*_)),g=v(v(v(P*m[n+16>>2])+v(j*m[n+20>>2]))+v(W*m[n+24>>2])),Z=m[t+32>>2],q=m[t+36>>2],J=m[t+40>>2],ce=v(v(v(Z*c)+v(q*u))+v(J*_)),_=v(v(v(P*m[n+32>>2])+v(j*m[n+36>>2]))+v(W*m[n+40>>2])),c=v(v(v(ae*p)+v(se*g))+v(ce*_)),u=m[e+304>>2],P=m[e+320>>2],j=m[e+336>>2],W=v(v(v(l*u)+v(B*P))+v(N*j)),le=v(v(v(Y*u)+v(Q*P))+v(K*j)),ue=v(v(v(Z*u)+v(q*P))+v(J*j)),u=v(v(v(W*p)+v(le*g))+v(ue*_)),P=m[e+300>>2],z=v(P*l),l=m[e+316>>2],j=m[e+332>>2],B=v(v(z+v(l*B))+v(j*N)),N=v(v(v(P*Y)+v(l*Q))+v(j*K)),P=v(v(v(P*Z)+v(l*q))+v(j*J)),l=v(v(v(B*p)+v(N*g))+v(P*_));n:if(s>2])>2]=0,m[e+468>>2]=-v(v(N*p)-v(B*g)),m[e+464>>2]=-v(v(B*_)-v(P*p)),m[e+460>>2]=-v(v(P*g)-v(N*_));break t}if(v(y(c))=T))break n;if((T=pi(c,l))>s){u=v(0),c=wi(s),l=Ri(s);break n}if(u=v(0),!(Ts)c=v(0),u=wi(s);else{if(c=v(0),!(T>2]=0,s=v(v(ce*c)+v(v(ue*u)+v(P*l))),T=v(v(ae*c)+v(v(W*u)+v(B*l))),u=v(v(se*c)+v(v(le*u)+v(N*l))),c=v(v(1)/v(S(v(v(s*s)+v(v(T*T)+v(u*u)))))),s=v(s*c),l=v(u*c),u=v(v(g*s)-v(_*l)),P=_,_=v(T*c),c=v(v(P*_)-v(p*s)),s=v(v(p*l)-v(g*_)),l=v(S(v(v(v(u*u)+v(c*c))+v(s*s)))),m[e+504>>2]=l,l=v(v(1)/l),m[e+468>>2]=l*v(-s),m[e+464>>2]=l*v(-c),m[e+460>>2]=l*v(-u)}if((g=m[e+452>>2])>=v(0)){if(p=v(v(I*E)+v(v(L*V)+v(v(x*H)+v(O*F)))),c=v(v(O*V)+v(v(v(I*H)-v(x*E))-v(L*F))),u=v(v(L*E)+v(v(v(O*H)-v(x*F))-v(I*V))),l=v(v(I*F)+v(v(v(L*H)-v(x*V))-v(O*E))),s=v(v(1)/v(S(v(v(p*p)+v(v(c*c)+v(v(u*u)+v(l*l))))))),c=v(c*s),l=v(l*s),u=v(u*s),s=v(p*s),p=oi(v(C(v(A(s,v(-1))),v(1)))),(p=v(p+p))>v(3.1415927410125732)&&(s=oi(v(C(v(A(v(-s),v(-1))),v(1)))),p=v(s+s),l=v(-l),u=v(-u),c=v(-c)),m[e+512>>2]=p,p>v(1.1920928955078125e-7)&&(s=v(v(1)/v(S(v(v(v(u*u)+v(l*l))+v(c*c))))),c=v(c*s),l=v(l*s),u=v(u*s)),I=m[e+428>>2],p>(O=v(g*I))&&(o[e+525|0]=1,x=v(p-O),m[e+508>>2]=x,t=e,s=v(1),p>2]=s,h[e+488>>2]=0,s=v(-l),O=v(v(v(M*s)-v(f*u))+v(R*c)),I=v(v(b*u)+v(v(R*s)-v(M*c))),x=v(v(v(R*u)+v(b*l))+v(f*c)),L=v(v(f*l)+v(v(b*v(-c))-v(M*u))),s=v(v(R*O)+v(v(v(M*I)-v(f*x))-v(b*L))),m[e+484>>2]=s,p=v(v(f*L)+v(v(v(M*O)-v(b*x))-v(R*I))),m[e+480>>2]=p,f=v(v(b*I)+v(v(v(M*L)-v(R*x))-v(f*O))),m[e+476>>2]=f,m[e+496>>2]=v(1)/v(v(v(v(f*v(v(v(f*m[i>>2])+v(m[i+16>>2]*p))+v(m[i+32>>2]*s)))+v(p*v(v(v(f*m[i+4>>2])+v(p*m[i+20>>2]))+v(s*m[i+36>>2]))))+v(s*v(v(v(f*m[i+8>>2])+v(p*m[i+24>>2]))+v(s*m[i+40>>2]))))+v(v(v(f*v(v(v(f*m[r>>2])+v(p*m[r+16>>2]))+v(s*m[r+32>>2])))+v(p*v(v(v(f*m[r+4>>2])+v(p*m[r+20>>2]))+v(s*m[r+36>>2]))))+v(s*v(v(v(f*m[r+8>>2])+v(p*m[r+24>>2]))+v(s*m[r+40>>2])))))),!d[e+526|0])break e;h[e+548>>2]=0,p=v(-l),s=v(v(v(G*p)-v(k*u))+v(U*c)),p=v(v(D*u)+v(v(U*p)-v(G*c))),f=v(v(v(U*u)+v(D*l))+v(k*c)),c=v(v(k*l)+v(v(D*v(-c))-v(G*u))),m[e+544>>2]=v(U*s)+v(v(v(G*p)-v(k*f))-v(D*c)),m[e+540>>2]=v(k*c)+v(v(v(G*s)-v(D*f))-v(U*p)),m[e+536>>2]=v(D*p)+v(v(v(G*c)-v(U*f))-v(k*s))}else h[e+512>>2]=0}else{if(we=m[n+52>>2],De=m[n+56>>2],H=m[e+412>>2],T=m[e+416>>2],B=m[e+420>>2],Le=m[t+52>>2],Ne=m[t+56>>2],N=m[e+348>>2],P=m[e+352>>2],j=m[e+356>>2],l=m[n+20>>2],p=m[n+24>>2],f=m[t+20>>2],M=m[t+24>>2],W=m[e+308>>2],Y=m[e+324>>2],Q=m[e+340>>2],K=m[e+316>>2],Z=m[e+332>>2],q=m[e+304>>2],R=m[t+36>>2],J=m[e+320>>2],b=m[t+40>>2],ae=m[e+336>>2],se=m[e+372>>2],ce=m[e+388>>2],le=m[e+404>>2],ue=m[e+368>>2],me=m[e+384>>2],be=m[e+400>>2],u=m[e+568>>2],D=m[e+564>>2],s=m[e+560>>2],U=m[n+36>>2],ge=m[e+380>>2],G=m[n+40>>2],ve=m[e+396>>2],Fe=m[n+48>>2],k=m[n+8>>2],O=m[n+4>>2],I=m[n>>2],Be=m[t+48>>2],x=m[t+8>>2],L=m[t>>2],V=m[t+4>>2],E=m[n+16>>2],F=m[t+16>>2],ye=m[e+300>>2],g=m[t+32>>2],c=m[e+556>>2],_=m[n+32>>2],Ce=m[e+364>>2],h[a+76>>2]=0,h[a+60>>2]=0,h[a+44>>2]=0,pe=v(v(v(W*g)+v(Y*R))+v(Q*b)),z=v(v(2)/v(v(v(v(c*c)+v(s*s))+v(D*D))+v(u*u))),$=v(c*z),ee=v(c*$),X=v(s*z),te=v(s*X),Ae=v(v(1)-v(ee+te)),he=v(v(v(se*_)+v(ce*U))+v(le*G)),z=v(D*z),ne=v(c*z),ie=v(u*X),xe=v(ne+ie),de=v(v(v(Ce*_)+v(ge*U))+v(ve*G)),re=v(s*z),oe=v(u*$),Se=v(re-oe),s=v(v(v(ue*_)+v(me*U))+v(be*G)),$=v(v(Ae*he)+v(v(xe*de)+v(Se*s))),fe=v(v(v(ye*g)+v(K*R))+v(Z*b)),Te=v(ne-ie),D=v(D*z),Ee=v(v(1)-v(te+D)),X=v(c*X),z=v(u*z),Pe=v(X+z),c=v(v(Te*he)+v(v(Ee*de)+v(Pe*s))),u=v(v(v(q*g)+v(J*R))+v(ae*b)),Oe=v(re+oe),Me=v(X-z),Re=v(v(1)-v(ee+D)),D=v(v(Oe*he)+v(v(Me*de)+v(Re*s))),m[a+56>>2]=v(pe*$)+v(v(fe*c)+v(u*D)),z=v(v(v(W*F)+v(Y*f))+v(Q*M)),X=v(v(v(ye*F)+v(K*f))+v(Z*M)),ee=v(v(v(q*F)+v(J*f))+v(ae*M)),m[a+52>>2]=v(z*$)+v(v(X*c)+v(ee*D)),te=v(v(v(se*E)+v(ce*l))+v(le*p)),ne=v(v(v(Ce*E)+v(ge*l))+v(ve*p)),ie=v(v(v(ue*E)+v(me*l))+v(be*p)),re=v(v(Ae*te)+v(v(xe*ne)+v(Se*ie))),oe=v(v(Te*te)+v(v(Ee*ne)+v(Pe*ie))),_e=v(v(Oe*te)+v(v(Me*ne)+v(Re*ie))),m[a+40>>2]=v(pe*re)+v(v(fe*oe)+v(u*_e)),m[a+36>>2]=v(z*re)+v(v(X*oe)+v(ee*_e)),F=v(-v(Le+v(v(v(F*N)+v(f*P))+v(M*j)))),f=v(v(v(L*W)+v(V*Y))+v(x*Q)),W=v(Be+v(v(v(L*N)+v(V*P))+v(x*j))),b=v(Ne+v(v(v(g*N)+v(R*P))+v(b*j))),g=v(v(v(z*F)-v(f*W))-v(pe*b)),M=v(v(v(ye*L)+v(K*V))+v(Z*x)),N=v(v(v(X*F)-v(M*W))-v(fe*b)),R=v(v(v(L*q)+v(V*J))+v(x*ae)),x=v(v(v(ee*F)-v(R*W))-v(u*b)),m[a+72>>2]=v(v(g*$)+v(v(N*c)+v(x*D)))+v(v(v(he*v(0))+v(v(de*v(0))+v(s*v(0))))+v(De+v(v(v(_*H)+v(U*T))+v(G*B)))),m[a+68>>2]=v(v(g*re)+v(v(N*oe)+v(x*_e)))+v(v(v(te*v(0))+v(v(ne*v(0))+v(ie*v(0))))+v(we+v(v(v(E*H)+v(l*T))+v(p*B)))),h[a+28>>2]=0,m[a+48>>2]=v(f*$)+v(v(M*c)+v(R*D)),m[a+32>>2]=v(f*re)+v(v(M*oe)+v(R*_e)),c=v(v(v(Ce*I)+v(ge*O))+v(ve*k)),s=v(v(v(I*ue)+v(O*me))+v(k*be)),l=v(v(v(I*se)+v(O*ce))+v(k*le)),p=v(v(v(xe*c)+v(Se*s))+v(Ae*l)),b=v(v(v(Ee*c)+v(Pe*s))+v(Te*l)),_=u,u=v(v(v(Me*c)+v(Re*s))+v(Oe*l)),m[a+24>>2]=v(pe*p)+v(v(fe*b)+v(_*u)),m[a+20>>2]=v(z*p)+v(v(X*b)+v(ee*u)),m[a+16>>2]=v(f*p)+v(v(M*b)+v(R*u)),m[a+64>>2]=v(v(g*p)+v(v(N*b)+v(x*u)))+v(v(v(v(c*v(0))+v(s*v(0)))+v(l*v(0)))+v(Fe+v(v(v(I*H)+v(O*T))+v(k*B)))),lt(a+16|0,a),c=m[a>>2],u=m[a+4>>2],s=m[a+8>>2],l=v(v(v(c*c)+v(u*u))+v(s*s)),v(y(l))>2]=0,l=v(v(1)/v(S(l))),m[e+468>>2]=l*s,m[e+464>>2]=l*u,m[e+460>>2]=l*c,c=oi(v(C(v(A(m[a+12>>2],v(-1))),v(1)))),c=v(c+c),m[e+504>>2]=c,v(y(c))>2],I=t,(G=h[i>>2])&&(I=h[G+12>>2]),j=h[I+96>>2],E=h[t+96>>2],b=h[n+96>>2]-E|0,C=h[(G||N)+12>>2],P=h[t+92>>2],A=h[C+92>>2]-P|0,T=n,u=h[n+92>>2]-P|0,B=h[C+96>>2]-E|0,O=Eh(p=n=g(b,A)-g(u,B)|0,d=n>>31,n=b,k=n>>31),z=D,S=h[t+88>>2],x=h[C+88>>2]-S|0,v=h[T+88>>2]-S|0,C=Eh(f=t=g(x,u)-g(A,v)|0,_=t>>31,t=v,M=t>>31),A=Eh(a=O-C|0,s=z-(D+(O>>>0>>0)|0)|0,O=Y=h[I+92>>2],O>>31),z=D,C=Eh(f,_,O=u,H=O>>31),X=D,R=A,y=A=g(t,B)-g(n,x)|0,n=Eh(A,m=A>>31,n,k),C=Eh(c=C-n|0,X=X-(D+(C>>>0>>0)|0)|0,n=I=h[I+88>>2],n>>31),A=D+z|0,A=(n=R+C|0)>>>0>>0?A+1|0:A,t=Eh(t,M,y,m),C=D,R=n,n=Eh(O,H,p,d),n=Eh(H=t-n|0,l=C-(D+(t>>>0>>0)|0)|0,j,j>>31),C=D+A|0,O=t=R+n|0,n=t>>>0>>0?C+1|0:C,t=Eh(p,d,S,S>>31),C=D,E=Eh(f,_,E,E>>31),C=D+C|0,C=(t=E+t|0)>>>0>>0?C+1|0:C,E=Eh(y,m,P,P>>31),C=D+C|0,U=t=E+t|0,M=t>>>0>>0?C+1|0:C,T=N?h[N+12>>2]:T,B=h[T+96>>2],k=h[T+92>>2],z=h[T+88>>2],t=N,G&&(t=N,h[G+12>>2])){t=h[h[G+8>>2]+4>>2],S=h[t+12>>2],T=Eh(P=E=h[(C=S)+92>>2],E>>=31,y,m),A=D,R=T,V=C=h[C+88>>2],T=Eh(C,F=C>>31,p,d),A=D+A|0,A=(C=R+T|0)>>>0>>0?A+1|0:A,x=C,R=C=h[S+96>>2],T=Eh(C,L=C>>31,f,_),C=D+A|0;e:if(!((0|(C=(S=x+T|0)>>>0>>0?C+1|0:C))<(0|M)||(0|C)<=(0|M)&&!(S>>>0>=U>>>0))){for(T=t+12|0,W=h[e+100>>2];;){if((0|W)==h[t+20>>2])break e;if(C=Eh(P,E,a,s),P=D,E=(S=Eh(V,F,c,X))+C|0,C=D+P|0,C=E>>>0>>0?C+1|0:C,P=Eh(R,L,H,l),A=D+C|0,(0|(C=A=(E=P+E|0)>>>0

>>0?A+1|0:A))<(0|n)||(0|C)<=(0|n)&&!(E>>>0>O>>>0))break e;if(h[i>>2]=t,n=h[T>>2],j=h[n+96>>2],Y=h[n+92>>2],I=h[n+88>>2],!n)break;if(T=(t=h[h[t+8>>2]+4>>2])+12|0,O=E,n=C,A=h[t+12>>2],S=Eh(P=E=h[(C=A)+92>>2],E>>=31,y,m),x=D,V=C=h[C+88>>2],R=Eh(C,F=C>>31,p,d),C=D+x|0,C=(S=R+S|0)>>>0>>0?C+1|0:C,x=S,R=S=h[A+96>>2],S=x+(A=Eh(S,L=S>>31,f,_))|0,x=D+C|0,(0|(x=S>>>0>>0?x+1|0:x))<(0|M)||(0|x)<=(0|M)&&!(S>>>0>=U>>>0))break e}O=E,n=C}t=h[r>>2]}C=Eh(a,s,k,k>>31),E=D,P=Eh(c,X,z,z>>31),A=D+E|0,A=(C=P+C|0)>>>0

>>0?A+1|0:A,E=(P=Eh(H,l,B,B>>31))+C|0,C=D+A|0,C=E>>>0

>>0?C+1|0:C,P=E,E=C;e:if(t){if(h[t+12>>2]&&(T=h[h[t+8>>2]>>2],S=h[T+12>>2],V=A=h[(C=S)+92>>2],A=Eh(A,F=A>>31,y,m),x=D,Q=A,R=C=h[C+88>>2],A=Eh(C,L=C>>31,p,d),x=D+x|0,x=(C=Q+A|0)>>>0>>0?x+1|0:x,Q=C,A=C=h[S+96>>2],K=Eh(C,W=C>>31,f,_),C=D+x|0,!((0|(C=(S=Q+K|0)>>>0>>0?C+1|0:C))<(0|M)||(0|C)<=(0|M)&&!(S>>>0>=U>>>0)))){for(K=T+12|0,Z=h[e+100>>2];;){if((0|Z)==h[(S=T)+20>>2])break e;if(C=Eh(V,F,a,s),x=D,T=(V=Eh(R,L,c,X))+C|0,C=D+x|0,C=T>>>0>>0?C+1|0:C,A=Eh(H,l,A,W),x=D+C|0,x=(T=A+T|0)>>>0>>0?x+1|0:x,A=T,(0|(C=x))<(0|E)||(0|C)<=(0|E)&&!(A>>>0>P>>>0))break e;if(h[r>>2]=S,t=h[K>>2],B=h[t+96>>2],k=h[t+92>>2],z=h[t+88>>2],!t)break;if(K=(T=h[h[S+8>>2]>>2])+12|0,P=A,E=C,t=S,A=h[T+12>>2],V=S=h[(C=A)+92>>2],S=Eh(S,F=S>>31,y,m),x=D,R=C=h[C+88>>2],W=Eh(C,L=C>>31,p,d),C=D+x|0,C=(S=W+S|0)>>>0>>0?C+1|0:C,Q=S,x=Eh(A=S=h[A+96>>2],W=A>>31,f,_),C=D+C|0,(0|(C=(S=Q+x|0)>>>0>>0?C+1|0:C))<(0|M)||(0|C)<=(0|M)&&!(S>>>0>=U>>>0))break e}t=S,P=A,E=C}}else t=0;e:{if(n=E-((P>>>0>>0)+n|0)|0,O=P-O|0,(0|n)>0||(0|n)>=0&&!(O>>>0<1))for(;;){E=t=M=(g(k-Y|0,u)+g(z-I|0,v)|0)+g(B-j|0,b)|0,V=t>>31;t:if(!(!(F=h[i>>2])|!h[F+12>>2]||(R=h[h[F>>2]+8>>2],h[R+20>>2]<=h[e+100>>2]))){t=h[R+12>>2],C=(P=h[t+92>>2])-Y|0,A=(S=h[t+88>>2])-I|0,t=(T=h[t+96>>2])-j|0,N=(g(C,u)+g(A,v)|0)+g(t,b)|0,C=Eh(a,s,C,C>>31),x=D,A=(L=Eh(c,X,A,A>>31))+C|0,C=D+x|0,C=A>>>0>>0?C+1|0:C,x=A,A=Eh(H,l,t,t>>31),C=D+C|0,C=(t=x+A|0)>>>0>>0?C+1|0:C,A=t,x=C;n:{if(!(C|t)){if((0|N)<0)break n;break t}if((0|x)>-1||(0|x)>=-1&&!(A>>>0<=4294967295))break t;if(L=(t=N)>>31,C=o,(0|t)>=1?(h[o+24>>2]=t,h[o+28>>2]=L,h[o+40>>2]=1,t=-1):(0|N)<=-1?(h[o+40>>2]=-1,h[o+24>>2]=0-t,h[o+28>>2]=0-((0>>0)+L|0),t=1):(h[o+24>>2]=0,h[o+28>>2]=0,h[o+40>>2]=0,t=0),h[C+40>>2]=t,h[o+32>>2]=0-A,h[o+36>>2]=0-((0>>0)+x|0),(0|M)>=1?(h[o>>2]=E,h[o+4>>2]=V,h[o+16>>2]=1,A=-1):(0|M)<=-1?(h[o+16>>2]=-1,t=E,h[o>>2]=0-t,h[o+4>>2]=0-((0>>0)+V|0),A=1):(h[o>>2]=0,h[o+4>>2]=0,h[o+16>>2]=0,A=0),N=o,t=O,x=C=n,(0|C)>0||(0|C)>=0&&!(t>>>0<=0)||(t=0,x=0,(0|n)>-1||(0|n)>=-1&&!(O>>>0<=4294967295)||(h[o+16>>2]=A,t=0-(C=O)|0,x=0-((0>>0)+n|0)|0)),C=x,h[N+8>>2]=t,h[N+12>>2]=C,(0|En(o+24|0,o))<=-1)break t}h[i>>2]=(0|F)==(0|G)?0:R,t=Eh(a,s,t=k-P|0,t>>31),n=D,t=(C=t)+(O=Eh(c,X,t=z-S|0,t>>31))|0,C=D+n|0,C=t>>>0>>0?C+1|0:C,A=t,n=Eh(H,l,t=B-T|0,t>>31),C=D+C|0,O=t=A+n|0,n=t>>>0>>0?C+1|0:C,I=S,Y=P,j=T;continue}if(!(t=h[r>>2])|!h[t+12>>2])break e;if(F=h[h[t+8>>2]>>2],h[F+20>>2]<=h[e+100>>2])break e;if(t=h[F+12>>2],T=C=S=(P=h[t+92>>2])-k|0,C=Eh(C,N=C>>31,y,m),A=D,x=C,R=C=z=(k=h[t+88>>2])-z|0,C=x+(U=Eh(C,L=C>>31,p,d))|0,x=D+A|0,x=C>>>0>>0?x+1|0:x,A=C,U=t=B=(C=h[t+96>>2])-B|0,(0|A)!=(0-(t=Eh(f,_,t,W=t>>31))|0)|(0-(D+(0>>0)|0)|0)!=(0|x))break e;if(t=Eh(a,s,t=P-Y|0,t>>31),P=D,t=(A=t)+(k=Eh(c,X,t=k-I|0,t>>31))|0,A=D+P|0,A=t>>>0>>0?A+1|0:A,x=t,P=Eh(H,l,t=C-j|0,t>>31),C=D+A|0,C=(t=x+P|0)>>>0

>>0?C+1|0:C,P=t,t=C,(0|C)<0||(0|C)<=0&&!(P>>>0>=1))break e;S=(g(S,u)+g(z,v)|0)+g(B,b)|0,C=Eh(T,N,a,s),N=D,T=(A=Eh(R,L,c,X))+C|0,C=D+N|0,C=T>>>0>>0?C+1|0:C,N=Eh(H,l,U,W),C=D+C|0,N=C=(T=N+T|0)>>>0>>0?C+1|0:C;t:{if(!(C|T)){if((0|S)<0)break t;break e}if((0|N)>-1||(0|N)>=-1&&!(T>>>0<=4294967295))break e;if(B=(C=S)>>31,A=o,(0|C)>=1?(h[o+24>>2]=C,h[o+28>>2]=B,h[o+40>>2]=1,C=-1):(0|S)<=-1?(h[o+40>>2]=-1,h[o+24>>2]=0-C,h[o+28>>2]=0-((0>>0)+B|0),C=1):(h[o+24>>2]=0,h[o+28>>2]=0,h[o+40>>2]=0,C=0),h[A+40>>2]=C,h[o+32>>2]=0-T,h[o+36>>2]=0-((0>>0)+N|0),(0|M)>=1?(h[o>>2]=E,h[o+4>>2]=V,h[o+16>>2]=1,T=-1):(0|M)<=-1?(h[o+16>>2]=-1,h[o>>2]=0-E,h[o+4>>2]=0-((0>>0)+V|0),T=1):(h[o>>2]=0,h[o+4>>2]=0,h[o+16>>2]=0,T=0),S=o,R=o,E=n,A=C=O,(0|n)>0||(0|n)>=0&&!(C>>>0<=0)||(E=0,A=0,(0|n)>-1||(0|n)>=-1&&!(O>>>0<=4294967295)||(h[o+16>>2]=T,E=0-((0>>0)+n|0)|0,A=0-O|0)),h[R+8>>2]=A,h[S+12>>2]=E,(0|En(o+24|0,o))<=0)break e}h[r>>2]=F,n=h[F+12>>2],B=h[n+96>>2],k=h[n+92>>2],z=h[n+88>>2],O=P,n=t}if(!((0|n)>-1||(0|n)>=-1&&!(O>>>0<=4294967295)))for(;;){P=C=V=(g(k-Y|0,u)+g(z-I|0,v)|0)+g(B-j|0,b)|0,F=C>>31;t:if(!(!t|!h[t+12>>2]||(R=h[h[t+4>>2]+8>>2],h[R+20>>2]<=h[e+100>>2]))){C=h[R+12>>2],x=(E=h[C+92>>2])-k|0,M=(S=h[C+88>>2])-z|0,G=(T=h[C+96>>2])-B|0,A=(g(x,u)+g(M,v)|0)+g(G,b)|0,C=Eh(a,s,x,x>>31),L=D,x=(M=Eh(c,X,M,M>>31))+C|0,C=D+L|0,C=x>>>0>>0?C+1|0:C,M=Eh(H,l,G,G>>31),C=D+C|0,M=C=(x=M+x|0)>>>0>>0?C+1|0:C;n:{if(!(C|x)){if((0|A)>0)break n;break t}if((0|M)>-1||(0|M)>=-1&&!(x>>>0<=4294967295))break t;if(L=(C=A)>>31,U=o,(0|C)>=1?(h[o+24>>2]=C,h[o+28>>2]=L,h[o+40>>2]=1,C=-1):(0|A)<=-1?(h[o+40>>2]=-1,h[o+24>>2]=0-C,h[o+28>>2]=0-((0>>0)+L|0),C=1):(h[o+24>>2]=0,h[o+28>>2]=0,h[o+40>>2]=0,C=0),h[U+40>>2]=C,h[o+32>>2]=0-x,h[o+36>>2]=0-((0>>0)+M|0),(0|V)>=1?(h[o>>2]=P,h[o+4>>2]=F,h[o+16>>2]=1,M=-1):(0|V)<=-1?(h[o+16>>2]=-1,C=P,h[o>>2]=0-C,h[o+4>>2]=0-((0>>0)+F|0),M=1):(h[o>>2]=0,h[o+4>>2]=0,h[o+16>>2]=0,M=0),x=o,C=O,A=n,(0|n)>0||(0|n)>=0&&!(C>>>0<=0)||(C=0,A=0,(0|n)>-1||(0|n)>=-1&&!(O>>>0<=4294967295)||(h[o+16>>2]=M,C=0-(A=O)|0,A=0-((0>>0)+n|0)|0)),h[x+8>>2]=C,h[x+12>>2]=A,(0|En(o+24|0,o))>=1)break t}t=(0|t)==(0|N)?0:R,h[r>>2]=t,n=Eh(a,s,n=E-Y|0,n>>31),O=D,n=(C=n)+(P=Eh(c,X,n=S-I|0,n>>31))|0,C=D+O|0,C=n>>>0

>>0?C+1|0:C,A=n,O=Eh(H,l,n=T-j|0,n>>31),C=D+C|0,C=(n=A+O|0)>>>0>>0?C+1|0:C,O=n,n=C,z=S,k=E,B=T;continue}if(!(t=h[i>>2])|!h[t+12>>2])break e;if(M=h[h[t+8>>2]+4>>2],h[M+20>>2]<=h[e+100>>2])break e;if(t=h[M+12>>2],A=C=T=(E=h[t+92>>2])-Y|0,C=Eh(C,Y=C>>31,y,m),S=D,x=C,R=C=I=(G=h[t+88>>2])-I|0,C=x+(U=Eh(C,L=C>>31,p,d))|0,x=D+S|0,x=C>>>0>>0?x+1|0:x,U=t=j=(S=h[t+96>>2])-j|0,(0-(t=Eh(f,_,t,W=t>>31))|0)!=(0|C)|(0-(D+(0>>0)|0)|0)!=(0|x))break e;if(t=Eh(a,s,t=k-E|0,t>>31),C=D,x=t,E=Eh(c,X,t=z-G|0,t>>31),C=D+C|0,C=(t=x+E|0)>>>0>>0?C+1|0:C,x=t,E=Eh(H,l,t=B-S|0,t>>31),C=D+C|0,S=t=x+E|0,E=C=t>>>0>>0?C+1|0:C,(0|C)>-1||(0|C)>=-1&&!(t>>>0<=4294967295))break e;if(I=(g(T,u)+g(I,v)|0)+g(j,b)|0,t=Eh(A,Y,a,s),C=D,T=Eh(R,L,c,X),A=D+C|0,A=(t=T+t|0)>>>0>>0?A+1|0:A,T=Eh(H,l,U,W),C=D+A|0,C=(t=T+t|0)>>>0>>0?C+1|0:C,T=t,A=C,C|t){if((0|A)>-1||(0|A)>=-1&&!(T>>>0<=4294967295))break e;if(j=(t=I)>>31,C=o,(0|t)>=1?(h[o+24>>2]=t,h[o+28>>2]=j,h[o+40>>2]=1,t=-1):(0|I)<=-1?(h[o+40>>2]=-1,h[o+24>>2]=0-t,h[o+28>>2]=0-((0>>0)+j|0),t=1):(h[o+24>>2]=0,h[o+28>>2]=0,h[o+40>>2]=0,t=0),h[C+40>>2]=t,h[o+32>>2]=0-T,h[o+36>>2]=0-((0>>0)+A|0),(0|V)>=1?(h[o>>2]=P,h[o+4>>2]=F,h[o+16>>2]=1,I=-1):(0|V)<=-1?(h[o+16>>2]=-1,h[o>>2]=0-P,h[o+4>>2]=0-((0

>>0)+F|0),I=1):(h[o>>2]=0,h[o+4>>2]=0,h[o+16>>2]=0,I=0),P=o,T=o,A=t=O,(0|(C=n))>0||(0|C)>=0&&!(t>>>0<=0)||(C=0,A=0,(0|n)>-1||(0|n)>=-1&&!(O>>>0<=4294967295)||(h[o+16>>2]=I,C=0-((0>>0)+n|0)|0,A=0-O|0)),h[T+8>>2]=A,h[P+12>>2]=C,(0|En(o+24|0,o))>=0)break e}else if((0|I)<=0)break e;h[i>>2]=M,n=h[M+12>>2],j=h[n+96>>2],Y=h[n+92>>2],t=h[r>>2],I=h[n+88>>2],O=S,n=E}}w=o+48|0}function j(e,t,n){var i,a,s,c,l,u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),C=0,A=0,x=v(0),T=v(0),E=v(0),P=v(0),O=0,M=0,R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=0,U=0,G=0,H=0,W=v(0),X=0,Y=0,Q=v(0),K=v(0),Z=0,q=0,J=v(0),$=v(0),te=v(0),ne=v(0),ie=v(0),re=v(0),oe=0,ae=0;if(w=i=w-96|0,a=h[t+744>>2],c=bn(e,s=h[t+740>>2],m[n+12>>2]),l=bn(e,a,m[n+12>>2]),M=(A=h[e+16>>2])+g(c,244)|0,(m[M+128>>2]!=v(0)|m[M+132>>2]!=v(0)|m[136+(A+g(c,244)|0)>>2]!=v(0)|m[128+(A+g(l,244)|0)>>2]!=v(0)||(M=A+g(l,244)|0,m[M+132>>2]!=v(0)||m[M+136>>2]!=v(0)))&&!((0|(O=h[t+748>>2]))<1))for(oe=U=A+g(l,244)|0,ae=G=A+g(c,244)|0,Z=1;;){if(C=g(q,184)+t|0,m[C+84>>2]<=m[t+756>>2]){if(H=C+4|0,O=M=h[e+28>>2],(0|M)==h[e+32>>2]&&(O=M,!((0|M)>=(0|(j=M?M<<1:1))))){if(O=0,A=M,X=0,j&&(h[7717]=h[7717]+1,X=0|r[h[6606]](g(j,152),16),A=h[e+28>>2]),(0|A)>=1)for(;Vn((Y=g(O,152))+X|0,h[e+36>>2]+Y|0,152),(0|A)!=(0|(O=O+1|0)););(A=h[e+36>>2])&&(d[e+40|0]&&A&&(h[7718]=h[7718]+1,r[h[6607]](A)),h[e+36>>2]=0),h[e+36>>2]=X,o[e+40|0]=1,h[e+32>>2]=j,O=h[e+28>>2]}h[e+28>>2]=O+1,A=h[s+236>>2],O=h[a+236>>2],X=h[e+36>>2]+g(M,152)|0,h[X+148>>2]=l,h[X+144>>2]=c,h[X+132>>2]=H,W=m[C+52>>2],R=m[C+56>>2],b=m[C+60>>2],f=m[s+52>>2],p=m[s+56>>2],u=m[s+60>>2],h[i+92>>2]=0,E=v(b-u),m[i+88>>2]=E,P=v(R-p),m[i+84>>2]=P,_=v(W-f),m[i+80>>2]=_,W=m[C+36>>2],R=m[C+40>>2],b=m[C+44>>2],f=m[a+52>>2],p=m[a+56>>2],u=m[a+60>>2],h[i+76>>2]=0,Q=v(b-u),m[i+72>>2]=Q,R=v(R-p),m[i+68>>2]=R,b=v(W-f),m[i+64>>2]=b,J=v(0),$=v(0),te=v(0),ne=v(0),h[G+240>>2]&&(f=v(m[G+192>>2]+m[G+224>>2]),p=v(m[G+196>>2]+m[G+228>>2]),ne=v(v(m[G+184>>2]+m[G+216>>2])+v(v(P*f)-v(_*p))),u=v(m[G+200>>2]+m[ae+232>>2]),te=v(v(m[G+180>>2]+m[G+212>>2])+v(v(_*u)-v(E*f))),$=v(v(m[G+176>>2]+m[G+208>>2])+v(v(E*p)-v(P*u)))),ie=v(0),re=v(0),h[U+240>>2]&&(f=v(m[U+192>>2]+m[U+224>>2]),p=v(m[U+196>>2]+m[U+228>>2]),re=v(v(m[U+184>>2]+m[U+216>>2])+v(v(R*f)-v(b*p))),u=v(m[U+200>>2]+m[oe+232>>2]),ie=v(v(m[U+180>>2]+m[U+212>>2])+v(v(b*u)-v(Q*f))),J=v(v(m[U+176>>2]+m[U+208>>2])+v(v(Q*p)-v(R*u)))),Q=m[C+76>>2],W=m[(Y=C+68|0)>>2],R=m[C+72>>2],ee(e,X,c,l,H,n,i+60|0,i+80|0,i- -64|0),h[X+140>>2]=h[e+68>>2],u=v(0),x=v(0),T=v(0),I=v(0),2&A&&(I=m[336+(A=A<<30>>31&s)>>2],x=m[A+328>>2],T=m[A+332>>2]),D=v(0),L=v(0),2&O&&(L=m[336+(A=O<<30>>31&a)>>2],D=m[A+332>>2],u=m[A+328>>2]),h[i+52>>2]=0,b=v(L-I),m[i+48>>2]=b,f=v(D-T),m[i+44>>2]=f,p=v(u-x),m[i+40>>2]=p;e:if(!(m[C+92>>2]>v(0)^1|(0|Z)<1))if((u=v(S(v(v(v(p*p)+v(f*f))+v(b*b)))))>m[n+80>>2]){if(u=v(v(1)/u),x=v(b*u),m[i+48>>2]=x,T=v(f*u),m[i+44>>2]=T,u=v(p*u),m[i+40>>2]=u,2&d[s+180|0]&&(b=m[s+172>>2],N=m[s+44>>2],F=m[s+12>>2],B=m[s+28>>2],f=m[s+164>>2],k=m[s+36>>2],V=m[s+4>>2],z=m[s+20>>2],p=m[s+168>>2],E=m[s+40>>2],P=m[s+8>>2],_=m[s+24>>2],h[i+52>>2]=0,f=v(f*v(v(v(u*V)+v(T*z))+v(x*k))),p=v(p*v(v(v(u*P)+v(T*_))+v(x*E))),u=v(b*v(v(v(u*F)+v(T*B))+v(x*N))),x=v(v(v(k*f)+v(E*p))+v(N*u)),m[i+48>>2]=x,T=v(v(v(z*f)+v(_*p))+v(B*u)),m[i+44>>2]=T,u=v(v(v(V*f)+v(P*p))+v(F*u)),m[i+40>>2]=u),2&d[a+180|0]&&(b=m[a+172>>2],N=m[a+44>>2],F=m[a+12>>2],B=m[a+28>>2],f=m[a+164>>2],k=m[a+36>>2],V=m[a+4>>2],z=m[a+20>>2],p=m[a+168>>2],E=m[a+40>>2],P=m[a+8>>2],_=m[a+24>>2],h[i+52>>2]=0,f=v(f*v(v(v(V*u)+v(z*T))+v(k*x))),p=v(p*v(v(v(u*P)+v(T*_))+v(x*E))),u=v(b*v(v(v(u*F)+v(T*B))+v(x*N))),x=v(v(v(k*f)+v(E*p))+v(N*u)),m[i+48>>2]=x,T=v(v(v(z*f)+v(_*p))+v(B*u)),m[i+44>>2]=T,u=v(v(v(V*f)+v(P*p))+v(F*u)),m[i+40>>2]=u),Z=0,!(+v(S(v(v(v(u*u)+v(T*T))+v(x*x))))>.001))break e;Ar(e,i+40|0,c,l,M,H)}else Ar(e,Y,c,l,M,H),O=i,b=m[C+76>>2],v(y(b))>v(.7071067690849304)?(u=m[C+72>>2],h[i+24>>2]=0,_=u,u=v(v(b*b)+v(u*u)),p=v(v(1)/v(S(u))),T=v(_*p),m[i+32>>2]=T,x=v(p*v(-b)),m[i+28>>2]=x,D=v(u*p),m[i+8>>2]=D,u=m[Y>>2],L=v(T*v(-u)),m[i+12>>2]=L,I=v(0),u=v(u*x)):(u=m[Y>>2],f=m[C+72>>2],h[i+32>>2]=0,_=u,u=v(v(u*u)+v(f*f)),p=v(v(1)/v(S(u))),x=v(_*p),m[i+28>>2]=x,I=v(p*v(-f)),m[i+24>>2]=I,L=v(b*I),m[i+12>>2]=L,D=v(x*v(-b)),m[i+8>>2]=D,T=v(0),u=v(u*p)),m[O+16>>2]=u,(O=2&h[s+180>>2])&&(b=m[s+172>>2],N=m[s+44>>2],F=m[s+12>>2],B=m[s+28>>2],f=m[s+164>>2],_=m[s+36>>2],k=m[s+4>>2],V=m[s+20>>2],p=m[s+168>>2],z=m[s+40>>2],E=m[s+8>>2],P=m[s+24>>2],h[i+36>>2]=0,K=_,_=v(f*v(v(v(k*I)+v(V*x))+v(_*T))),f=v(p*v(v(v(I*E)+v(x*P))+v(T*z))),p=v(b*v(v(v(I*F)+v(x*B))+v(T*N))),T=v(v(v(K*_)+v(z*f))+v(N*p)),m[i+32>>2]=T,x=v(v(v(V*_)+v(P*f))+v(B*p)),m[i+28>>2]=x,I=v(v(v(k*_)+v(E*f))+v(F*p)),m[i+24>>2]=I),(A=2&h[a+180>>2])&&(b=m[a+172>>2],N=m[a+44>>2],F=m[a+12>>2],B=m[a+28>>2],f=m[a+164>>2],_=m[a+36>>2],k=m[a+4>>2],V=m[a+20>>2],p=m[a+168>>2],z=m[a+40>>2],E=m[a+8>>2],P=m[a+24>>2],h[i+36>>2]=0,K=_,_=v(f*v(v(v(k*I)+v(V*x))+v(_*T))),f=v(p*v(v(v(I*E)+v(x*P))+v(T*z))),p=v(b*v(v(v(I*F)+v(x*B))+v(T*N))),T=v(v(v(K*_)+v(z*f))+v(N*p)),m[i+32>>2]=T,x=v(v(v(V*_)+v(P*f))+v(B*p)),m[i+28>>2]=x,I=v(v(v(k*_)+v(E*f))+v(F*p)),m[i+24>>2]=I),O&&(b=m[s+172>>2],N=m[s+44>>2],F=m[s+12>>2],B=m[s+28>>2],f=m[s+164>>2],_=m[s+36>>2],k=m[s+4>>2],V=m[s+20>>2],p=m[s+168>>2],z=m[s+40>>2],E=m[s+8>>2],P=m[s+24>>2],h[i+20>>2]=0,K=_,_=v(f*v(v(v(k*D)+v(V*L))+v(u*_))),f=v(p*v(v(v(D*E)+v(L*P))+v(u*z))),p=v(b*v(v(v(D*F)+v(L*B))+v(u*N))),u=v(v(v(K*_)+v(z*f))+v(N*p)),m[i+16>>2]=u,L=v(v(v(V*_)+v(P*f))+v(B*p)),m[i+12>>2]=L,D=v(v(v(k*_)+v(E*f))+v(F*p)),m[i+8>>2]=D),A&&(b=m[a+172>>2],N=m[a+44>>2],F=m[a+12>>2],B=m[a+28>>2],f=m[a+164>>2],_=m[a+36>>2],k=m[a+4>>2],V=m[a+20>>2],p=m[a+168>>2],z=m[a+40>>2],E=m[a+8>>2],P=m[a+24>>2],h[i+20>>2]=0,K=_,_=v(f*v(v(v(k*D)+v(V*L))+v(_*u))),f=v(p*v(v(v(D*E)+v(L*P))+v(u*z))),p=v(b*v(v(v(D*F)+v(L*B))+v(u*N))),u=v(v(v(K*_)+v(z*f))+v(N*p)),m[i+16>>2]=u,L=v(v(v(V*_)+v(P*f))+v(B*p)),m[i+12>>2]=L,D=v(v(v(k*_)+v(E*f))+v(F*p)),m[i+8>>2]=D),+v(S(v(v(v(I*I)+v(x*x))+v(T*T))))>.001&&Ar(e,i+24|0,c,l,M,H),+v(S(v(v(v(D*D)+v(L*L))+v(u*u))))>.001&&Ar(e,i+8|0,c,l,M,H),Z=0;e:if(d[C+120|0]&&32&d[n+64|0])br(e,C+156|0,c,l,M,H,i+80|0,i- -64|0,u=m[i+60>>2],m[C+136>>2],m[C+144>>2]),16&d[n+64|0]&&br(e,C+172|0,c,l,M,H,i+80|0,i- -64|0,u,m[C+140>>2],m[C+148>>2]);else{if(_=m[Y>>2],E=m[C+72>>2],P=m[C+76>>2],h[C+168>>2]=0,f=v($-J),p=v(te-ie),u=v(ne-re),W=v(v(v(f*W)+v(p*R))+v(u*Q)),R=v(u-v(P*W)),m[C+164>>2]=R,b=v(p-v(W*E)),m[C+160>>2]=b,j=C+156|0,p=v(f-v(W*_)),m[j>>2]=p,!(64&d[n+64|0])&&(u=v(v(v(p*p)+v(b*b))+v(R*R)))>v(1.1920928955078125e-7)){if(u=v(v(1)/v(S(u))),m[j>>2]=p*u,m[C+160>>2]=b*u,m[C+164>>2]=R*u,lr(s,j),lr(a,j),br(e,j,c,l,M,H,i+80|0,i- -64|0,u=m[i+60>>2],v(0),v(0)),!(16&d[n+64|0]))break e;_=m[C+160>>2],Q=m[C+72>>2],W=m[Y>>2],f=m[C+164>>2],R=m[j>>2],p=m[C+76>>2],h[C+184>>2]=0,b=v(v(_*p)-v(f*Q)),f=v(v(f*W)-v(p*R)),p=v(v(Q*R)-v(_*W)),R=v(v(1)/v(S(v(v(v(b*b)+v(f*f))+v(p*p))))),m[C+180>>2]=p*R,m[C+176>>2]=f*R,m[(A=C+172|0)>>2]=b*R,lr(s,A),lr(a,A),br(e,A,c,l,M,H,i+80|0,i- -64|0,u,v(0),v(0));break e}if(A=O=C+172|0,v(y(P))>v(.7071067690849304)?(h[j>>2]=0,f=v(v(E*E)+v(P*P)),b=v(v(1)/v(S(f))),p=v(b*v(-P)),m[C+160>>2]=p,u=v(E*b),m[C+164>>2]=u,x=v(_*p),T=v(u*v(-_)),_=v(f*b)):(f=v(v(_*_)+v(E*E)),b=v(v(1)/v(S(f))),p=v(b*v(-E)),m[j>>2]=p,u=v(_*b),m[C+160>>2]=u,h[C+164>>2]=0,x=v(f*b),T=v(P*p),_=v(u*v(-P))),m[A>>2]=_,m[C+180>>2]=x,m[C+176>>2]=T,lr(s,j),lr(a,j),br(e,j,c,l,M,H,i+80|0,i- -64|0,u=m[i+60>>2],v(0),v(0)),16&(A=h[n+64>>2])&&(lr(s,O),lr(a,O),br(e,O,c,l,M,H,i+80|0,i- -64|0,u,v(0),v(0)),A=h[n+64>>2]),80!=(80&A))break e;o[C+120|0]=1}nt(e,X,c,l,H,n),O=h[t+748>>2]}if(!((0|(q=q+1|0))<(0|O)))break}w=i+96|0}function U(e,t,n,i){var a,s=0,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=0,_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=0,I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=0,V=v(0),z=v(0),j=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0);w=a=w-704|0,h[4+(s=a+624|0)>>2]=35,h[s+8>>2]=0,h[s>>2]=13316,h[s+44>>2]=1025758986,h[s+20>>2]=1065353216,h[s+24>>2]=0,h[s+12>>2]=1065353216,h[s+16>>2]=1065353216,h[s>>2]=13444,h[a+668>>2]=0,h[a+652>>2]=0,h[a+628>>2]=8,h[a+624>>2]=11556,s=h[n+12>>2];e:if(f=h[n+4>>2],(0|(R=h[f+4>>2]))<=19)h[a+616>>2]=0,h[a+620>>2]=0,h[a+448>>2]=6896,h[a+612>>2]=h[i+4>>2],o[a+420|0]=0,h[a+396>>2]=953267991,h[12+(R=a+680|0)>>2]=f,h[R+8>>2]=a+624,h[R+4>>2]=a+88,h[R>>2]=6304,h[12+(k=a+72|0)>>2]=f,h[k+8>>2]=a+624,h[k+4>>2]=a+88,h[k>>2]=7148,f=8&h[i+16>>2]?k:R,r[h[h[f>>2]+8>>2]](f,e,t,s,s,a+448|0)&&(l=m[a+580>>2],p=m[a+584>>2],c=m[a+588>>2],(u=v(v(v(l*l)+v(p*p))+v(c*c)))>v(9999999747378752e-20)&&(b=m[a+612>>2])>2]&&(_=c,c=v(v(1)/v(S(u))),m[a+588>>2]=_*c,m[a+584>>2]=p*c,m[a+580>>2]=l*c,e=h[n+8>>2],h[a+44>>2]=0,h[a+40>>2]=e,e=h[a+592>>2],h[a+56>>2]=h[a+588>>2],h[a+60>>2]=e,e=h[a+584>>2],h[a+48>>2]=h[a+580>>2],h[a+52>>2]=e,m[a+64>>2]=b,v(r[h[h[i>>2]+12>>2]](i,a+40|0,1))));else if(R+-21>>>0<=8){A=m[s+20>>2],x=m[s+36>>2],T=m[s+24>>2],E=m[s+52>>2],c=m[s+56>>2],d=m[s+40>>2],_=m[s+32>>2],y=m[s+16>>2],C=m[s>>2],P=m[s+4>>2],l=m[s+48>>2],O=m[s+8>>2],u=m[e+52>>2],b=m[e+56>>2],p=m[e+48>>2],h[a+460>>2]=0,E=v(-E),L=v(T*E),N=v(d*c),M=v(v(L-v(O*l))-N),F=v(T*u),B=v(d*b),m[a+456>>2]=M+v(v(v(O*p)+F)+B),V=v(A*E),z=v(x*c),I=v(v(V-v(P*l))-z),G=v(A*u),H=v(x*b),m[a+452>>2]=I+v(v(v(P*p)+G)+H),W=v(_*c),X=v(v(v(y*E)-v(C*l))-W),Y=v(_*b),m[a+448>>2]=X+v(v(v(C*p)+v(y*u))+Y),b=m[t+52>>2],D=m[t+56>>2],c=m[t+48>>2],h[a+52>>2]=0,j=M,Q=v(O*c),O=v(T*b),M=v(d*D),m[a+48>>2]=j+v(v(Q+O)+M),j=I,d=v(P*c),P=v(A*b),I=v(x*D),m[a+44>>2]=j+v(v(d+P)+I),_=v(_*D),m[a+40>>2]=X+v(v(v(C*c)+v(y*b))+_);t:switch(h[f+4>>2]+-21|0){case 0:e=h[n+8>>2],ea(a+88|0,a+448|0,a+40|0,h[i+16>>2]),h[a+140>>2]=f,h[a+136>>2]=e,h[a+132>>2]=i,h[a+88>>2]=7868,e=h[s+12>>2],h[a+152>>2]=h[s+8>>2],h[a+156>>2]=e,e=h[s+4>>2],h[a+144>>2]=h[s>>2],h[a+148>>2]=e,e=h[s+28>>2],h[a+168>>2]=h[s+24>>2],h[a+172>>2]=e,e=h[s+20>>2],h[a+160>>2]=h[s+16>>2],h[a+164>>2]=e,e=h[s+44>>2],h[a+184>>2]=h[s+40>>2],h[a+188>>2]=e,e=h[s+36>>2],h[a+176>>2]=h[s+32>>2],h[a+180>>2]=e,e=h[s+60>>2],h[a+200>>2]=h[s+56>>2],h[a+204>>2]=e,e=h[s+52>>2],h[a+192>>2]=h[s+48>>2],h[a+196>>2]=e,h[a+128>>2]=h[i+4>>2],function(e,t,n,i){var r=0,o=0;w=r=w-16|0,o=h[e+48>>2],h[r+8>>2]=t,h[r+4>>2]=o,h[r>>2]=11848,fa(h[e+52>>2],r,n,i),w=r+16|0}(f,a+88|0,a+448|0,a+40|0);break e;case 4:e=h[n+8>>2],ea(a+88|0,a+448|0,a+40|0,h[i+16>>2]),h[a+140>>2]=f,h[a+136>>2]=e,h[a+132>>2]=i,h[a+88>>2]=7868,e=h[s+12>>2],h[a+152>>2]=h[s+8>>2],h[a+156>>2]=e,e=h[s+4>>2],h[a+144>>2]=h[s>>2],h[a+148>>2]=e,e=h[s+28>>2],h[a+168>>2]=h[s+24>>2],h[a+172>>2]=e,e=h[s+20>>2],h[a+160>>2]=h[s+16>>2],h[a+164>>2]=e,e=h[s+44>>2],h[a+184>>2]=h[s+40>>2],h[a+188>>2]=e,e=h[s+36>>2],h[a+176>>2]=h[s+32>>2],h[a+180>>2]=e,e=h[s+60>>2],h[a+200>>2]=h[s+56>>2],h[a+204>>2]=e,e=h[s+52>>2],h[a+192>>2]=h[s+48>>2],h[a+196>>2]=e,h[a+128>>2]=h[i+4>>2],r[h[h[f>>2]+144>>2]](f,a+88|0,a+448|0,a+40|0);break e}A=m[s+16>>2],x=m[s>>2],T=m[s+4>>2],d=m[s+8>>2],h[a+692>>2]=0,y=v(v(L-v(d*l))-N),m[a+688>>2]=v(v(v(p*d)+F)+B)+y,C=v(v(V-v(T*l))-z),m[a+684>>2]=v(v(v(p*T)+G)+H)+C,l=v(v(v(A*E)-v(x*l))-W),m[a+680>>2]=v(v(v(p*x)+v(u*A))+Y)+l,h[a+84>>2]=0,m[a+80>>2]=v(v(v(c*d)+O)+M)+y,m[a+76>>2]=v(v(v(c*T)+P)+I)+C,m[a+72>>2]=v(v(v(c*x)+v(b*A))+_)+l,e=h[n+8>>2],ea(a+88|0,a+680|0,a+72|0,h[i+16>>2]),h[a+140>>2]=f,h[a+136>>2]=e,h[a+132>>2]=i,h[a+88>>2]=8052,e=h[s+12>>2],h[a+152>>2]=h[s+8>>2],h[a+156>>2]=e,e=h[s+4>>2],h[a+144>>2]=h[s>>2],h[a+148>>2]=e,e=h[s+28>>2],h[a+168>>2]=h[s+24>>2],h[a+172>>2]=e,e=h[s+20>>2],h[a+160>>2]=h[s+16>>2],h[a+164>>2]=e,e=h[s+44>>2],h[a+184>>2]=h[s+40>>2],h[a+188>>2]=e,e=h[s+36>>2],h[a+176>>2]=h[s+32>>2],h[a+180>>2]=e,e=h[s+60>>2],h[a+200>>2]=h[s+56>>2],h[a+204>>2]=e,e=h[s+52>>2],h[a+192>>2]=h[s+48>>2],h[a+196>>2]=e,h[a+128>>2]=h[i+4>>2],e=h[a+692>>2],h[a+32>>2]=h[a+688>>2],h[a+36>>2]=e,e=h[a+684>>2],h[a+24>>2]=h[a+680>>2],h[a+28>>2]=e,(l=m[a+72>>2])>2]&&(m[a+24>>2]=l),(p=m[a+76>>2])>2]&&(m[a+28>>2]=p),(c=m[a+80>>2])>2]&&(m[a+32>>2]=c),(u=m[a+84>>2])>2]&&(m[a+36>>2]=u),e=h[a+692>>2],h[a+16>>2]=h[a+688>>2],h[a+20>>2]=e,e=h[a+684>>2],h[a+8>>2]=h[a+680>>2],h[a+12>>2]=e,m[a+8>>2]>2]=l),m[a+12>>2]>2]=p),m[a+16>>2]>2]=c),m[a+20>>2]>2]=u),r[h[h[f>>2]+64>>2]](f,a+88|0,a+24|0,a+8|0)}else if(31==(0|R))if(R=h[f- -64>>2],n=h[n+8>>2],h[a+64>>2]=i,h[a+60>>2]=t,h[a+56>>2]=e,h[a+52>>2]=s,h[a+48>>2]=f,h[a+44>>2]=n,h[a+40>>2]=8240,R)l=m[s+20>>2],p=m[s+36>>2],c=m[s+24>>2],u=m[s+52>>2],y=m[e+52>>2],b=m[s+40>>2],A=m[s+56>>2],C=m[e+56>>2],P=m[s>>2],x=m[s+16>>2],T=m[s+32>>2],O=m[s+4>>2],_=m[s+8>>2],d=m[s+48>>2],E=m[e+48>>2],h[a+100>>2]=0,M=_,_=v(E-d),y=v(y-u),C=v(C-A),m[a+96>>2]=v(v(M*_)+v(c*y))+v(b*C),m[a+92>>2]=v(v(_*O)+v(y*l))+v(C*p),m[a+88>>2]=v(v(_*P)+v(y*x))+v(C*T),_=m[t+52>>2],y=m[t+56>>2],C=m[s>>2],P=m[s+4>>2],O=m[s+8>>2],E=m[t+48>>2],h[a+460>>2]=0,d=v(E-d),M=c,c=v(_-u),u=v(y-A),m[a+456>>2]=v(v(O*d)+v(M*c))+v(b*u),m[a+452>>2]=v(v(d*P)+v(c*l))+v(u*p),m[a+448>>2]=v(v(d*C)+v(c*x))+v(u*T),Et(h[R>>2],a+88|0,a+448|0,a+40|0);else if(!((0|(t=h[f+16>>2]))<1))for(n=0;;){if(e=h[f+24>>2]+g(n,80)|0,i=h[e+64>>2],_=m[e+56>>2],y=m[e+48>>2],C=m[e+52>>2],P=m[e+32>>2],O=m[e>>2],E=m[e+16>>2],D=m[e+36>>2],L=m[e+4>>2],N=m[e+20>>2],M=m[e+40>>2],F=m[e+8>>2],B=m[e+24>>2],V=m[s+52>>2],z=m[s+56>>2],l=m[s+24>>2],p=m[s+20>>2],c=m[s+40>>2],u=m[s+36>>2],I=m[s+48>>2],b=m[s+8>>2],A=m[s>>2],x=m[s+4>>2],T=m[s+16>>2],d=m[s+32>>2],h[a+148>>2]=0,h[a+132>>2]=0,h[a+116>>2]=0,h[a+100>>2]=0,m[a+128>>2]=v(v(F*d)+v(B*u))+v(M*c),m[a+124>>2]=v(v(L*d)+v(N*u))+v(D*c),m[a+120>>2]=v(v(O*d)+v(E*u))+v(P*c),m[a+112>>2]=v(v(F*T)+v(B*p))+v(M*l),m[a+108>>2]=v(v(L*T)+v(N*p))+v(D*l),m[a+104>>2]=v(v(O*T)+v(E*p))+v(P*l),m[a+96>>2]=v(v(A*F)+v(x*B))+v(b*M),m[a+92>>2]=v(v(A*L)+v(x*N))+v(b*D),m[a+88>>2]=v(v(O*A)+v(E*x))+v(P*b),m[a+144>>2]=z+v(v(v(d*y)+v(u*C))+v(c*_)),m[a+140>>2]=V+v(v(v(T*y)+v(p*C))+v(l*_)),m[a+136>>2]=I+v(v(v(A*y)+v(x*C))+v(b*_)),h[a+700>>2]=n,h[a+696>>2]=-1,h[a+688>>2]=h[a+44>>2],h[a+684>>2]=i,h[a+680>>2]=0,h[a+692>>2]=a+88,h[a+460>>2]=-65535,h[a+464>>2]=0,h[a+452>>2]=1065353216,h[a+456>>2]=0,h[a+472>>2]=n,h[a+448>>2]=8444,e=h[a+64>>2],h[a+468>>2]=e,h[a+452>>2]=h[e+4>>2],h[a+464>>2]=h[e+16>>2],U(h[a+56>>2],h[a+60>>2],a+680|0,a+448|0),(0|t)==(0|(n=n+1|0)))break e;s=h[a+52>>2],f=h[a+48>>2]}w=a+704|0}function G(e,t,n){var i,r=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0,d=0,f=0,_=0,m=0,b=0,v=0,y=0,C=0,A=0,x=0,S=0,T=0,E=0,P=0,O=0,M=0,R=0,I=0,L=0,N=0,F=0,B=0;w=i=w-128|0;e:if(h[n+4>>2])if(h[t+4>>2]){if(h[e+100>>2]=h[e+100>>2]+-1,h[i+124>>2]=0,h[i+120>>2]=0,function(e,t,n,i){var r=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0,d=0,f=0,_=0,m=0,b=0,v=0,y=0,C=0,A=0,x=0,S=0,T=0;o=h[e+12>>2],p=h[t+8>>2];t:{if(!(h[o+88>>2]!=h[p+88>>2]|h[o+92>>2]!=h[p+92>>2])){if((0|(r=h[p+4>>2]))==(0|p)){if(h[n>>2]=o,e=0,!(t=h[p+8>>2]))break t;return h[i>>2]=h[t+12>>2],0}o=h[p>>2],h[r>>2]=o,h[o+4>>2]=r,h[t>>2]==(0|p)&&(s=t,c=o,(0|(a=h[o+88>>2]))<(0|(l=h[r+88>>2]))|(h[o+92>>2]>2]?(0|a)==(0|l):0)||(c=r),h[s>>2]=c),h[t+4>>2]==(0|p)&&((0|(a=h[o+88>>2]))!=(0|(l=h[r+88>>2]))|h[o+92>>2]<=h[r+92>>2]&&(0|a)<=(0|l)?h[t+4>>2]=r:h[t+4>>2]=o)}for(y=h[t>>2],x=h[e>>2],a=S=h[e+4>>2],r=C=h[t+4>>2],l=0,o=0,c=1,T=1;;){p=o,A=l,u=h[a+88>>2];n:if((0|(s=g(h[r+88>>2]-u|0,c)))>=1)for(l=a;;){for(o=r,u=h[r+92>>2],a=s;f=u-(s=h[l+92>>2])|0,!((0|(r=h[(_=v?0:4)+l>>2]))==(0|l)||(0|(d=h[r+92>>2]-s|0))>0||(m=h[r+88>>2],(0|(s=g(m-h[l+88>>2]|0,c)))>-1|(0|g(a,d))>(0|g(s,f))&&s));)a=g(h[o+88>>2]-m|0,c),l=r;if((0|o)==(0|(r=h[o+_>>2])))break n;if((0|(_=h[r+92>>2]-u|0))>-1)break n;if(u=h[r+88>>2],(0|(s=g(u-h[l+88>>2]|0,c)))<1)break n;if(u=g(u-h[o+88>>2]|0,c)){if((0|u)>-1)break n;if(!((0|g(a,_))<(0|g(u,f))))break}}else if((0|s)<=-1){i:for(;;){for(f=h[r+92>>2],o=h[(m=v?4:0)+r>>2];;){if(u=s,l=a,_=f-(s=h[a+92>>2])|0,(0|r)!=(0|o)&&!((0|(d=h[o+92>>2]-f|0))<0||(b=h[o+88>>2],(0|(a=g(b-h[r+88>>2]|0,c)))>-1|(0|g(u,d))>(0|g(a,_))&&a))){s=g(b-h[l+88>>2]|0,c),r=o,a=l;continue i}if((0|l)==(0|(a=h[l+m>>2]))){o=r;break n}if((0|(b=h[a+92>>2]-s|0))<1){o=r;break n}if(d=h[a+88>>2],(0|(s=g(h[r+88>>2]-d|0,c)))>-1){o=r;break n}if(d=g(d-h[l+88>>2]|0,c)){if((0|d)>-1){o=r;break n}if(!((0|g(u,b))<(0|g(d,_))))break}}break}o=r}else{for(o=h[a+92>>2],c=a;l=c,!((0|(c=h[(v?0:4)+c>>2]))==(0|a)|(0|u)!=h[c+88>>2])&&(f=(0|(s=h[c+92>>2]))<=(0|o),o=s,f););for(a=h[r+92>>2],c=r;;){if((0|(c=h[(o=c)+(v?4:0)>>2]))==(0|r)|(0|u)!=h[c+88>>2])break n;if(f=(0|(s=h[c+92>>2]))>=(0|a),a=s,!f)break}}if(v=1,s=T,T=0,c=-1,a=x,r=y,!s)break}h[l+4>>2]=o,h[o>>2]=l,h[A>>2]=p,h[p+4>>2]=A,h[y+88>>2]>2]&&(h[e>>2]=y),h[C+88>>2]>=h[S+88>>2]&&(h[e+4>>2]=C),h[e+12>>2]=h[t+12>>2],h[n>>2]=A,e=1}return h[i>>2]=p,e}(t,n,i+124|0,i+120|0)){if(S=h[i+124>>2],u=h[S+92>>2],v=h[i+120>>2],p=h[v+92>>2],y=h[S+96>>2],m=h[v+96>>2],b=h[S+88>>2],M=h[v+88>>2],h[i+92>>2]=-1,n=m-y|0,h[i+88>>2]=n,a=p-u|0,h[i+84>>2]=a,c=M-b|0,h[i+80>>2]=c,t=h[S+8>>2],h[i+32>>2]=0,r=n,s=a,A=Eh(n,P=n>>31,a,f=a>>31),L=D,o=n=0-c|0,n=Eh(n,l=n>>31,c,c>>31),a=D,c=n-(O=Eh(s,f,s,f))|0,O=a-(D+(n>>>0>>0)|0)|0,P=0-(n=Eh(r,P,o,l))|0,N=0-(D+(0>>0)|0)|0,t){for(n=t;r=h[n+12>>2],_=Eh(C=a=h[r+92>>2]-u|0,a>>=31,o,l),T=D,(0|_)!=(0-(B=Eh(s,f,F=_=h[r+88>>2]-b|0,_>>=31))|0)|(0-(D+(0>>0)|0)|0)!=(0|T)||(a=Eh(A,L,C,a),T=D,C=(_=Eh(F,_,P,N))+a|0,a=D+T|0,a=C>>>0<_>>>0?a+1|0:a,_=Eh(c,O,r=h[r+96>>2]-y|0,r>>31),r=D+a|0,(0|(r=(C=_+C|0)>>>0<_>>>0?r+1|0:r))<0||(0|r)<=0&&!(C>>>0>=1)||d&&(h[i+64>>2]=-1,h[i+68>>2]=-1,h[i+56>>2]=0,h[i+60>>2]=0,1!=(0|Ni(d,n,i+80|0,i+56|0)))||(d=n)),(0|t)!=(0|(n=h[n>>2])););h[i+32>>2]=d}if(a=h[v+8>>2],t=0,h[i+8>>2]=0,a){for(n=a;u=h[n+12>>2],b=Eh(y=r=h[u+92>>2]-p|0,r>>=31,o,l),C=D,(0|b)!=(0-(T=Eh(s,f,_=b=h[u+88>>2]-M|0,b=_>>31))|0)|(0-(D+(0>>0)|0)|0)!=(0|C)||(r=Eh(A,L,y,r),C=D,y=(b=Eh(_,b,P,N))+r|0,r=D+C|0,r=y>>>0>>0?r+1|0:r,_=y,y=Eh(c,O,u=h[u+96>>2]-m|0,u>>31),r=D+r|0,(0|(r=(u=_+y|0)>>>0>>0?r+1|0:r))<0||(0|r)<=0&&!(u>>>0>=1)||t&&(h[i+64>>2]=-1,h[i+68>>2]=-1,h[i+56>>2]=0,h[i+60>>2]=0,2!=(0|Ni(t,n,i+80|0,i+56|0)))||(t=n)),(0|a)!=(0|(n=h[n>>2])););h[i+8>>2]=t}t|d&&(z(e,S,v,i+32|0,i+8|0),(t=h[i+32>>2])&&(S=h[t+12>>2],h[i+124>>2]=S),(t=h[i+8>>2])&&(v=h[t+12>>2],h[i+120>>2]=v)),b=h[v+96>>2]+1|0,M=h[v+88>>2],y=h[v+92>>2]}else v=h[i+120>>2],M=h[v+88>>2]+1|0,b=h[v+96>>2],S=h[i+124>>2],y=h[v+92>>2];for(n=v,t=S,f=0,d=0,L=1,l=0,a=0;;){r=h[n+96>>2],o=h[t+96>>2],u=h[t+92>>2],s=h[n+92>>2],m=h[t+88>>2],c=h[n+88>>2],h[i+116>>2]=-1,s=s-u|0,h[i+108>>2]=s,r=r-o|0,h[i+112>>2]=r,c=c-m|0,h[i+104>>2]=c,o=b-o|0,p=(A=g(u=y-u|0,r)-g(o,s)|0)>>31,O=A,h[i+80>>2]=A,h[i+84>>2]=p,m=(A=(_=g(o,c))-g(o=M-m|0,r)|0)>>31,P=A,h[i+88>>2]=A,h[i+92>>2]=m,A=(o=g(o,s)-g(c,u)|0)>>31,N=o,h[i+96>>2]=o,h[i+100>>2]=A,c=Eh(P,m,o=c,C=o>>31),_=D,u=s,s=Eh(O,p,s,T=s>>31),h[i+72>>2]=c-s,h[i+76>>2]=_-(D+(c>>>0>>0)|0),s=r,r=Eh(O,p,r,c=r>>31),p=D,o=Eh(N,A,o,C),h[i+64>>2]=r-o,h[i+68>>2]=p-(D+(r>>>0>>0)|0),r=Eh(N,A,u,T),o=D,s=Eh(s,c,P,m),h[i+56>>2]=r-s,h[i+60>>2]=o-(D+(r>>>0>>0)|0),h[i+48>>2]=0,h[i+40>>2]=0,h[i+44>>2]=0,h[i+32>>2]=0,h[i+36>>2]=0,m=Lt(e,0,t,i+104|0,i+80|0,i+56|0,i+32|0),h[i+24>>2]=0,h[i+16>>2]=0,h[i+20>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0;t:if((p=Lt(e,1,n,i+104|0,i+80|0,i+56|0,i+8|0))|m){u=m?-1:1,!m|!p||(u=En(i+32|0,i+8|0));n:{i:if(!L){r:{if((0|u)>=0){if(h[i+24>>2]>-1)break i;if(!(h[i+16>>2]|h[i+20>>2]))break r;break i}if(h[i+40>>2]|h[i+44>>2]|h[i+48>>2]>-1)break i}o=f,s=d,c=l,r=a;break n}r=c=Bn(e,t,n),l&&(h[l+4>>2]=c,r=a),h[c>>2]=l,s=o=h[c+8>>2],f&&(h[f>>2]=o,s=d),h[o+4>>2]=f}if(h[i+4>>2]=m,h[i>>2]=p,f=p,u||(z(e,h[i+124>>2],h[i+120>>2],i+4|0,i),f=h[i>>2]),t=o,!((0|u)<0)&&(t=o,f)){n:{i:{r:{if(x){if((0|p)!=(0|(n=h[x>>2])))for(;l=h[n+8>>2],a=0,t=0,(0|(d=h[n>>2]))!=(0|n)&&(h[d+4>>2]=h[n+4>>2],h[h[n+4>>2]>>2]=d,t=d),h[h[l+12>>2]+8>>2]=t,(0|(t=h[l>>2]))!=(0|l)&&(h[t+4>>2]=h[l+4>>2],h[h[l+4>>2]>>2]=t,a=t),h[h[n+12>>2]+8>>2]=a,h[n+12>>2]=0,h[n+16>>2]=0,h[n+4>>2]=0,h[n+8>>2]=0,h[n>>2]=h[e+56>>2],h[e+56>>2]=n,h[l+12>>2]=0,h[l+16>>2]=0,h[l+4>>2]=0,h[l+8>>2]=0,h[l>>2]=h[e+56>>2],h[e+56>>2]=l,h[e+116>>2]=h[e+116>>2]+-1,(0|p)!=(0|(n=d)););if(o)break r;break i}if(!o)break i;x=h[p+4>>2],R=s}h[x>>2]=s,h[s+4>>2]=x,h[o>>2]=p,h[p+4>>2]=o,s=0,f=h[i>>2];break n}R=x?R:p}t=h[i+120>>2],b=h[t+96>>2],y=h[t+92>>2],M=h[t+88>>2],h[i+120>>2]=h[f+12>>2],x=h[f+8>>2],t=0}if(f=t,(0|u)<=0&&(o=h[i+4>>2])){n:{i:{r:{o:{if(E){if((0|m)!=(0|(t=h[E+4>>2])))for(;d=t+4|0,p=h[t+8>>2],l=h[t+4>>2],n=0,u=0,(0|(a=h[t>>2]))!=(0|t)&&(h[a+4>>2]=l,h[h[d>>2]>>2]=a,u=a),h[h[p+12>>2]+8>>2]=u,(0|(a=h[p>>2]))!=(0|p)&&(h[a+4>>2]=h[p+4>>2],h[h[p+4>>2]>>2]=a,n=a),h[h[t+12>>2]+8>>2]=n,h[(n=d)+8>>2]=0,h[n+12>>2]=0,h[n>>2]=0,h[n+4>>2]=0,h[t>>2]=h[e+56>>2],h[e+56>>2]=t,h[p+12>>2]=0,h[p+16>>2]=0,h[p+4>>2]=0,h[p+8>>2]=0,h[p>>2]=h[e+56>>2],h[e+56>>2]=p,h[e+116>>2]=h[e+116>>2]+-1,(0|m)!=(0|(t=l)););if(!c)break o;h[r>>2]=E,t=E+4|0;break i}if(c)break r}I=E?I:m;break n}t=h[m>>2],h[r>>2]=t,I=r,t=t+4|0}h[t>>2]=r,h[m>>2]=c,h[c+4>>2]=m,r=0,o=h[i+4>>2]}t=h[i+124>>2],b=h[t+96>>2],y=h[t+92>>2],M=h[t+88>>2],t=h[o+12>>2],h[i+124>>2]=t,E=h[o+8>>2],c=0}else t=h[i+124>>2];if(n=1,(0|t)!=(0|S)|h[i+120>>2]!=(0|v))L=0;else{if(E){if((0|I)!=(0|(t=h[E+4>>2])))for(;d=t+4|0,l=h[t+8>>2],o=h[t+4>>2],n=0,u=0,(0|(a=h[t>>2]))!=(0|t)&&(h[a+4>>2]=o,h[h[d>>2]>>2]=a,u=a),h[h[l+12>>2]+8>>2]=u,(0|(a=h[l>>2]))!=(0|l)&&(h[a+4>>2]=h[l+4>>2],h[h[l+4>>2]>>2]=a,n=a),h[h[t+12>>2]+8>>2]=n,h[(n=d)+8>>2]=0,h[n+12>>2]=0,h[n>>2]=0,h[n+4>>2]=0,h[t>>2]=h[e+56>>2],h[e+56>>2]=t,h[l+12>>2]=0,h[l+16>>2]=0,h[l+4>>2]=0,h[l+8>>2]=0,h[l>>2]=h[e+56>>2],h[e+56>>2]=l,h[e+116>>2]=h[e+116>>2]+-1,(0|I)!=(0|(t=o)););c&&(h[r>>2]=E,h[E+4>>2]=r,h[I>>2]=c,h[c+4>>2]=I)}else h[r>>2]=c,h[c+4>>2]=r,h[h[i+124>>2]+8>>2]=c;if(!x){h[f>>2]=s,h[s+4>>2]=f,h[h[i+120>>2]+8>>2]=f,x=0,d=s,l=c,a=r,n=0;break t}if((0|R)!=(0|(n=h[x>>2])))for(;o=h[n+8>>2],a=0,t=0,(0|(d=h[n>>2]))!=(0|n)&&(h[d+4>>2]=h[n+4>>2],h[h[n+4>>2]>>2]=d,t=d),h[h[o+12>>2]+8>>2]=t,(0|(t=h[o>>2]))!=(0|o)&&(h[t+4>>2]=h[o+4>>2],h[h[o+4>>2]>>2]=t,a=t),h[h[n+12>>2]+8>>2]=a,h[n+12>>2]=0,h[n+16>>2]=0,h[n+4>>2]=0,h[n+8>>2]=0,h[n>>2]=h[e+56>>2],h[e+56>>2]=n,h[o+12>>2]=0,h[o+16>>2]=0,h[o+4>>2]=0,h[o+8>>2]=0,h[o>>2]=h[e+56>>2],h[e+56>>2]=o,h[e+116>>2]=h[e+116>>2]+-1,(0|R)!=(0|(n=d)););n=0,f?(h[x>>2]=s,h[s+4>>2]=x,h[f>>2]=R,h[R+4>>2]=f):f=0}d=s,l=c,a=r}else s=Bn(e,t,n),h[s+4>>2]=s,h[s>>2]=s,h[t+8>>2]=s,t=h[s+8>>2],h[t+4>>2]=t,h[t>>2]=t,h[n+8>>2]=t,n=0;if(!n)break e;t=h[i+124>>2],n=h[i+120>>2]}}else e=h[n+4>>2],h[t>>2]=h[n>>2],h[t+4>>2]=e,e=h[n+12>>2],h[t+8>>2]=h[n+8>>2],h[t+12>>2]=e;w=i+128|0}function H(e,t,n,i,a,s){var c,l,u,p=v(0),d=0,f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=0,z=v(0),j=v(0),U=v(0),G=v(0),W=v(0),X=v(0),Y=0;w=c=w-640|0,l=h[i+12>>2],u=h[i+4>>2];e:if((0|(d=h[u+4>>2]))<=19)m[c+636>>2]=s,h[c+632>>2]=0,h[c+464>>2]=6896,h[c+628>>2]=h[a+4>>2],o[c+436|0]=0,h[c+412>>2]=953267991,h[c+16>>2]=4440,h[20+(d=c+80|0)>>2]=0,h[d+16>>2]=u,h[d+12>>2]=e,h[d+8>>2]=c+16,h[d+4>>2]=c+104,h[d>>2]=7260,r[h[h[d>>2]+8>>2]](d,t,n,l,l,c+464|0)&&(s=m[c+596>>2],f=m[c+600>>2],p=m[c+604>>2],(_=v(v(v(s*s)+v(f*f))+v(p*p)))>v(9999999747378752e-20)&&(b=m[c+628>>2])>2]&&(y=p,p=v(v(1)/v(S(_))),m[c+604>>2]=y*p,m[c+600>>2]=f*p,m[c+596>>2]=s*p,e=h[i+8>>2],h[c+36>>2]=0,h[c+32>>2]=e,e=h[c+608>>2],h[c+48>>2]=h[c+604>>2],h[c+52>>2]=e,e=h[c+596>>2],t=h[c+600>>2],i=h[c+624>>2],h[(n=c- -64|0)>>2]=h[c+620>>2],h[n+4>>2]=i,h[c+40>>2]=e,h[c+44>>2]=t,e=h[c+616>>2],h[c+56>>2]=h[c+612>>2],h[c+60>>2]=e,m[c+72>>2]=b,v(r[h[h[a>>2]+12>>2]](a,c+32|0,1))));else if((V=d+-21|0)>>>0<=8){t:switch(0|V){case 0:f=m[l+20>>2],p=m[l+36>>2],_=m[l+24>>2],P=m[l+52>>2],C=m[l+56>>2],b=m[l+40>>2],y=m[l+32>>2],O=m[l+16>>2],E=m[l>>2],A=m[l+4>>2],x=m[l+48>>2],M=m[l+8>>2],T=m[t+52>>2],I=m[t+56>>2],D=m[t+48>>2],h[c+44>>2]=0,P=v(-P),L=v(v(v(_*P)-v(M*x))-v(b*C)),m[c+40>>2]=L+v(v(v(M*D)+v(_*T))+v(b*I)),R=v(v(v(f*P)-v(A*x))-v(p*C)),m[c+36>>2]=R+v(v(v(A*D)+v(f*T))+v(p*I)),P=v(v(v(O*P)-v(E*x))-v(y*C)),m[c+32>>2]=P+v(v(v(E*D)+v(O*T))+v(y*I)),C=m[n+52>>2],x=m[n+56>>2],T=m[n+48>>2],h[c+92>>2]=0,m[c+88>>2]=L+v(v(v(M*T)+v(_*C))+v(b*x)),m[c+84>>2]=R+v(v(v(A*T)+v(f*C))+v(p*x)),m[c+80>>2]=P+v(v(v(E*T)+v(O*C))+v(y*x)),C=m[n+20>>2],x=m[n+36>>2],T=m[n+24>>2],I=m[n+40>>2],D=m[n+32>>2],P=m[n>>2],L=m[n+16>>2],R=m[n+4>>2],N=m[n+8>>2],h[c+508>>2]=0,h[c+512>>2]=0,h[c+492>>2]=0,h[c+516>>2]=0,h[c+520>>2]=0,h[c+524>>2]=0,m[c+504>>2]=v(v(M*N)+v(_*T))+v(b*I),m[c+500>>2]=v(v(M*R)+v(_*C))+v(b*x),m[c+488>>2]=v(v(A*N)+v(f*T))+v(p*I),m[c+484>>2]=v(v(A*R)+v(f*C))+v(p*x),h[c+476>>2]=0,m[c+496>>2]=v(v(M*P)+v(_*L))+v(b*D),m[c+480>>2]=v(v(A*P)+v(f*L))+v(p*D),m[c+472>>2]=v(v(E*N)+v(O*T))+v(y*I),m[c+468>>2]=v(v(E*R)+v(O*C))+v(y*x),m[c+464>>2]=v(v(E*P)+v(O*L))+v(y*D),i=h[i+8>>2],gn(c+104|0,e,t,n,l,v(r[h[h[u>>2]+48>>2]](u))),h[c+324>>2]=u,h[c+320>>2]=i,h[c+104>>2]=8616,h[c+316>>2]=a,t=h[a+4>>2],m[c+312>>2]=s,h[c+304>>2]=t,r[h[h[e>>2]+8>>2]](e,c+464|0,c+16|0,c),function(e,t,n,i,r,o){var a=0,s=0;w=a=w-16|0,s=h[e+48>>2],h[a+8>>2]=t,h[a+4>>2]=s,h[a>>2]=12016,np(h[e+52>>2],a,n,i,r,o),w=a+16|0}(u,c+104|0,c+32|0,c+80|0,c+16|0,c);break e;case 7:m[c+276>>2]=s,h[c+272>>2]=0,h[c+104>>2]=6896,h[c+268>>2]=h[a+4>>2],h[20+(d=c+32|0)>>2]=u,h[d+16>>2]=0,h[d+12>>2]=e,h[d+4>>2]=0,h[d+8>>2]=0,h[d>>2]=7260,r[h[h[d>>2]+8>>2]](d,t,n,l,l,c+104|0)&&(s=m[c+236>>2],f=m[c+240>>2],p=m[c+244>>2],(_=v(v(v(s*s)+v(f*f))+v(p*p)))>v(9999999747378752e-20)&&(b=m[c+268>>2])>2]&&(y=p,p=v(v(1)/v(S(_))),m[c+244>>2]=y*p,m[c+240>>2]=f*p,m[c+236>>2]=s*p,e=h[i+8>>2],h[c+468>>2]=0,h[c+464>>2]=e,e=h[c+248>>2],h[c+480>>2]=h[c+244>>2],h[c+484>>2]=e,e=h[c+236>>2],t=h[c+240>>2],n=h[c+264>>2],h[c+496>>2]=h[c+260>>2],h[c+500>>2]=n,h[c+472>>2]=e,h[c+476>>2]=t,e=h[c+256>>2],h[c+488>>2]=h[c+252>>2],h[c+492>>2]=e,m[c+504>>2]=b,v(r[h[h[a>>2]+12>>2]](a,c+464|0,1))));break e}I=m[n+52>>2],D=m[n+56>>2],X=m[l+52>>2],p=m[l+56>>2],O=m[t+52>>2],P=m[t+56>>2],b=m[l+20>>2],y=m[l+36>>2],A=m[l+24>>2],M=m[l+40>>2],L=m[n+48>>2],R=m[l+48>>2],N=m[t+48>>2],_=m[l+32>>2],E=m[l>>2],C=m[l+16>>2],x=m[l+4>>2],T=m[l+8>>2],f=m[n+20>>2],F=m[n+36>>2],B=m[n+24>>2],k=m[n+40>>2],z=m[n+32>>2],j=m[n>>2],U=m[n+16>>2],G=m[n+4>>2],W=m[n+8>>2],h[c+508>>2]=0,h[c+512>>2]=0,h[c+492>>2]=0,h[c+516>>2]=0,h[c+520>>2]=0,h[c+524>>2]=0,m[c+504>>2]=v(v(T*W)+v(A*B))+v(M*k),m[c+500>>2]=v(v(T*G)+v(A*f))+v(M*F),m[c+488>>2]=v(v(x*W)+v(b*B))+v(y*k),m[c+484>>2]=v(v(x*G)+v(b*f))+v(y*F),h[c+476>>2]=0,m[c+496>>2]=v(v(T*j)+v(A*U))+v(M*z),m[c+480>>2]=v(v(x*j)+v(b*U))+v(y*z),m[c+472>>2]=v(v(E*W)+v(C*B))+v(_*k),m[c+468>>2]=v(v(E*G)+v(C*f))+v(_*F),m[c+464>>2]=v(v(E*j)+v(C*U))+v(_*z),i=h[i+8>>2],gn(c+104|0,e,t,n,l,v(r[h[h[u>>2]+48>>2]](u))),h[c+324>>2]=u,h[c+320>>2]=i,h[c+104>>2]=8828,h[c+316>>2]=a,t=h[a+4>>2],m[c+312>>2]=s,h[c+304>>2]=t,r[h[h[e>>2]+8>>2]](e,c+464|0,c+32|0,c+80|0),h[c+28>>2]=0,F=v(-X),B=v(v(v(A*F)-v(T*R))-v(M*p)),s=v(B+v(v(v(T*N)+v(A*O))+v(M*P))),m[c+24>>2]=s,k=v(v(v(b*F)-v(x*R))-v(y*p)),f=v(k+v(v(v(x*N)+v(b*O))+v(y*P))),m[c+20>>2]=f,R=v(v(v(C*F)-v(E*R))-v(_*p)),p=v(R+v(v(v(E*N)+v(C*O))+v(_*P))),m[c+16>>2]=p,O=p,(_=v(R+v(v(v(E*L)+v(C*I))+v(_*D))))>2]=_,O=_),E=f,(b=v(k+v(v(v(x*L)+v(b*I))+v(y*D))))>2]=b,E=b),(y=v(B+v(v(v(T*L)+v(A*I))+v(M*D))))<(A=s)&&(m[c+24>>2]=y,A=y),h[c+12>>2]=0,m[c+8>>2]=s,m[c+4>>2]=f,m[c>>2]=p,p<_&&(m[c>>2]=_,p=_),f>2]=b,f=b),s>2]=y,s=y),m[c+16>>2]=m[c+32>>2]+O,m[c+20>>2]=m[c+36>>2]+E,m[c+24>>2]=m[c+40>>2]+A,m[c>>2]=m[c+80>>2]+p,m[c+4>>2]=m[c+84>>2]+f,m[c+8>>2]=m[c+88>>2]+s,r[h[h[u>>2]+64>>2]](u,c+104|0,c+16|0,c)}else if(31==(0|d)){if(Ir(7797),h[u+16>>2]>=1)for(V=0;d=h[u+24>>2]+g(V,80)|0,Y=h[d+64>>2],C=m[d+56>>2],x=m[d+48>>2],T=m[d+52>>2],I=m[d+32>>2],D=m[d>>2],P=m[d+16>>2],L=m[d+36>>2],R=m[d+4>>2],N=m[d+20>>2],F=m[d+40>>2],B=m[d+8>>2],k=m[d+24>>2],z=m[l+48>>2],j=m[l+52>>2],U=m[l+56>>2],f=m[l+8>>2],p=m[l>>2],_=m[l+4>>2],b=m[l+24>>2],y=m[l+16>>2],O=m[l+20>>2],E=m[l+40>>2],A=m[l+32>>2],M=m[l+36>>2],h[c+164>>2]=0,h[c+148>>2]=0,h[c+132>>2]=0,h[c+116>>2]=0,m[c+144>>2]=v(v(B*A)+v(k*M))+v(F*E),m[c+140>>2]=v(v(R*A)+v(N*M))+v(L*E),m[c+136>>2]=v(v(D*A)+v(P*M))+v(I*E),m[c+128>>2]=v(v(B*y)+v(k*O))+v(F*b),m[c+124>>2]=v(v(R*y)+v(N*O))+v(L*b),m[c+120>>2]=v(v(D*y)+v(P*O))+v(I*b),m[c+112>>2]=v(v(B*p)+v(k*_))+v(F*f),m[c+108>>2]=v(v(R*p)+v(N*_))+v(L*f),m[c+104>>2]=v(v(D*p)+v(P*_))+v(I*f),m[c+160>>2]=U+v(v(v(x*A)+v(T*M))+v(C*E)),m[c+156>>2]=j+v(v(v(x*y)+v(T*O))+v(C*b)),m[c+152>>2]=z+v(v(v(x*p)+v(T*_))+v(C*f)),h[c+40>>2]=-65535,h[c+48>>2]=V,h[c+32>>2]=9044,h[c+44>>2]=a,h[c+36>>2]=h[a+4>>2],d=h[i+8>>2],h[c+484>>2]=V,h[c+480>>2]=-1,h[c+472>>2]=d,h[c+468>>2]=Y,h[c+464>>2]=i,h[c+476>>2]=c+104,H(e,t,n,c+464|0,c+32|0,s),(0|(V=V+1|0))>2];);Bo()}w=c+640|0}function W(e,t,n,i,o,a){var s,c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),C=0,A=0,x=v(0),T=0,E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=0,F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0),q=v(0),J=v(0),$=v(0),ee=0,te=v(0),ne=v(0),ie=v(0),re=v(0),oe=v(0),ae=v(0),se=v(0);w=s=w-112|0,h[6993]=h[6993]+1,x=m[n+52>>2],te=m[n+20>>2],ne=m[n+24>>2],_=m[i+52>>2],c=m[i+20>>2],u=m[i+24>>2],l=m[n+56>>2],G=m[n+36>>2],k=m[e+68>>2],V=m[n+40>>2],I=m[e+72>>2],p=m[i+56>>2],f=m[i+36>>2],D=m[t+68>>2],Q=m[i+40>>2],b=m[t+72>>2],K=m[n+48>>2],L=m[n+8>>2],Z=m[n>>2],q=m[n+4>>2],J=m[i+48>>2],$=m[i+8>>2],H=m[i>>2],W=m[i+4>>2],E=m[n+16>>2],X=m[i+16>>2],P=m[n+32>>2],M=m[e+64>>2],Y=m[i+32>>2],R=m[t+64>>2],h[s+28>>2]=0,z=v(v(l+v(v(v(M*P)+v(k*G))+v(I*V)))-v(p+v(v(v(R*Y)+v(D*f))+v(b*Q)))),m[s+24>>2]=z,j=v(v(x+v(v(v(M*E)+v(k*te))+v(I*ne)))-v(_+v(v(v(R*X)+v(D*c))+v(b*u)))),m[s+20>>2]=j,U=v(v(K+v(v(v(M*Z)+v(k*q))+v(I*L)))-v(J+v(v(v(R*H)+v(D*W))+v(b*$)))),m[s+16>>2]=U,p=v(34028234663852886e22);e:{t:{n:{i:{r:{o:if(!((0|(N=h[e+28>>2]))<1))for(;;){if(C=h[e+36>>2]+g(A,36)|0,b=m[C+28>>2],M=m[C+24>>2],R=m[C+20>>2],u=m[n>>2],l=m[n+4>>2],h[s+12>>2]=0,x=v(v(v(R*P)+v(M*G))+v(b*V)),m[s+8>>2]=x,_=v(v(v(R*E)+v(M*te))+v(b*ne)),m[s+4>>2]=_,l=v(v(v(R*u)+v(M*l))+v(b*L)),m[s>>2]=l,v(v(v(l*U)+v(_*j))+v(x*z))>2]=-x,m[s+4>>2]=-_,m[s>>2]=-l),h[6991]=h[6991]+1,!d[26409]||yi(n,i,s+16|0,s,e,t,p)){if(T=0,h[6992]=h[6992]+1,Qn(e,n,s,s+108|0,s+104|0,s+80|0,s- -64|0),Qn(t,i,s,s+100|0,s+96|0,s+48|0,s+32|0),(x=m[s+104>>2])<(l=m[s+100>>2])||(_=m[s+96>>2])<(u=m[s+108>>2])||(c=(l=v(x-l))<(c=v(_-u))?l:c,T=1),!T)break r;c>2],h[o>>2]=h[s>>2],h[o+4>>2]=C,C=h[s+12>>2],h[o+8>>2]=h[s+8>>2],h[o+12>>2]=C,p=c)}if((0|N)==(0|(A=A+1|0)))break o;V=m[n+40>>2],G=m[n+36>>2],P=m[n+32>>2],ne=m[n+24>>2],te=m[n+20>>2],E=m[n+16>>2],L=m[n+8>>2]}if((0|(N=h[t+28>>2]))>=1)for(A=0;;){if(C=h[t+36>>2]+g(A,36)|0,I=m[C+28>>2],D=m[C+20>>2],L=m[C+24>>2],E=m[i+8>>2],P=m[i>>2],b=m[i+4>>2],M=m[i+24>>2],R=m[i+16>>2],x=m[i+20>>2],_=m[i+40>>2],u=m[i+32>>2],l=m[i+36>>2],h[s+12>>2]=0,_=v(v(v(D*u)+v(L*l))+v(I*_)),m[s+8>>2]=_,u=v(v(v(D*R)+v(L*x))+v(I*M)),m[s+4>>2]=u,l=v(v(v(D*P)+v(L*b))+v(I*E)),m[s>>2]=l,v(v(v(l*U)+v(u*j))+v(_*z))>2]=-_,m[s+4>>2]=-u,m[s>>2]=-l),h[6991]=h[6991]+1,!d[26409]||yi(n,i,s+16|0,s,e,t,p)){if(T=0,h[6992]=h[6992]+1,Qn(e,n,s,s+108|0,s+104|0,s+80|0,s- -64|0),Qn(t,i,s,s+100|0,s+96|0,s+48|0,s+32|0),(x=m[s+104>>2])<(l=m[s+100>>2])||(_=m[s+96>>2])<(u=m[s+108>>2])||(c=(l=v(x-l))<(c=v(_-u))?l:c,T=1),!T)break r;c>2],h[o>>2]=h[s>>2],h[o+4>>2]=C,C=h[s+12>>2],h[o+8>>2]=h[s+8>>2],h[o+12>>2]=C,p=c)}if((0|N)==(0|(A=A+1|0)))break}if((0|(A=h[e+48>>2]))>=1)break i;N=-1,C=-1;break n}i=0;break e}for(T=h[t+48>>2],C=-1,N=-1;;){if((0|T)>=1){for(A=h[e+56>>2]+(ee<<4)|0,u=m[A>>2],l=m[A+4>>2],c=m[A+8>>2],M=v(v(v(u*m[n+32>>2])+v(l*m[n+36>>2]))+v(c*m[n+40>>2])),R=v(v(v(u*m[n+16>>2])+v(l*m[n+20>>2]))+v(c*m[n+24>>2])),x=v(v(v(u*m[n>>2])+v(l*m[n+4>>2]))+v(c*m[n+8>>2])),A=0;;){if(T=h[t+56>>2]+(A<<4)|0,k=m[T+8>>2],V=m[T>>2],I=m[T+4>>2],D=m[i+40>>2],L=m[i+32>>2],E=m[i+36>>2],P=m[i+24>>2],b=m[i+16>>2],_=m[i+20>>2],u=m[i+8>>2],l=m[i>>2],c=m[i+4>>2],h[s+12>>2]=0,_=v(v(v(V*b)+v(I*_))+v(k*P)),u=v(v(v(V*l)+v(I*c))+v(k*u)),c=v(v(x*_)-v(R*u)),m[s+8>>2]=c,l=v(v(v(V*L)+v(I*E))+v(k*D)),b=v(v(M*u)-v(x*l)),m[s+4>>2]=b,E=v(v(R*l)-v(M*_)),m[s>>2]=E,(!(+v(y(c))>1e-6^1)||+v(y(E))>1e-6|+v(y(b))>1e-6)&&(G=c,c=v(v(1)/v(S(v(v(c*c)+v(v(E*E)+v(b*b)))))),P=v(G*c),m[s+8>>2]=P,b=v(b*c),m[s+4>>2]=b,c=v(E*c),m[s>>2]=c,v(v(v(c*U)+v(b*j))+v(z*P))>2]=-P,m[s+4>>2]=-b,m[s>>2]=-c),h[6991]=h[6991]+1,!d[26409]||yi(n,i,s+16|0,s,e,t,p))){if(T=0,h[6992]=h[6992]+1,Qn(e,n,s,s+108|0,s+104|0,s+80|0,s- -64|0),Qn(t,i,s,s+100|0,s+96|0,s+48|0,s+32|0),(E=m[s+104>>2])<(P=m[s+100>>2])||(b=m[s+96>>2])<(c=m[s+108>>2])||((f=v(E-P))<(c=v(b-c))?(T=1,q=m[s+56>>2],J=m[s+52>>2],$=m[s+48>>2],Q=m[s+72>>2],K=m[s+68>>2],Z=m[s+64>>2]):(T=1,q=m[s+40>>2],J=m[s+36>>2],$=m[s+32>>2],Q=m[s+88>>2],K=m[s+84>>2],Z=m[s+80>>2],f=c)),!T)break t;f>2],h[o>>2]=h[s>>2],h[o+4>>2]=C,C=h[s+12>>2],h[o+8>>2]=h[s+8>>2],h[o+12>>2]=C,oe=$,ae=J,se=q,O=Z,F=K,B=Q,H=u,W=_,X=l,Y=x,ie=R,re=M,N=ee,C=A,p=f)}if(!((0|(A=A+1|0))<(0|(T=h[t+48>>2]))))break}A=h[e+48>>2]}if(!((0|(ee=ee+1|0))<(0|A)))break}}if(!((C|N)<0)){l=v(oe-O),O=v(ae-F),B=v(se-B),f=v(v(v(l*H)+v(O*W))+v(B*X)),F=v(v(v(l*Y)+v(O*ie))+v(B*re)),p=v(0),u=v(v(v(H*Y)+v(W*ie))+v(X*re)),(c=v(v(1)-v(u*u)))!=v(0)&&(p=v(-1.0000000150474662e30),(c=v(v(F-v(f*u))/c))v(1.0000000150474662e30)&&(p=v(1.0000000150474662e30))));n:if((f=v(v(u*p)-f))v(1.0000000150474662e30))){f=v(-1.0000000150474662e30),p=c;break n}f=v(-1.0000000150474662e30)}else f>v(1.0000000150474662e30)&&(p=v(-1.0000000150474662e30),f=v(1.0000000150474662e30),(c=v(F+v(u*v(1.0000000150474662e30))))v(1.0000000150474662e30)&&(p=v(1.0000000150474662e30))));h[s+92>>2]=0,F=v(X*f),_=v(F+v(B-v(re*p))),m[s+88>>2]=_,B=v(W*f),O=v(B+v(O-v(ie*p))),m[s+84>>2]=O,c=v(H*f),u=v(c+v(l-v(Y*p))),m[s+80>>2]=u,(p=v(v(_*_)+v(v(u*u)+v(O*O))))>v(1.1920928955078125e-7)&&(p=v(S(p)),f=v(v(1)/p),l=v(_*f),m[s+88>>2]=l,O=v(O*f),m[s+84>>2]=O,f=v(u*f),m[s+80>>2]=f,v(v(v(f*U)+v(O*j))+v(l*z))>2]=-l,m[s+84>>2]=-O,m[s+80>>2]=-f),h[s+76>>2]=0,m[s+72>>2]=se+F,m[s+68>>2]=ae+B,m[s+64>>2]=oe+c,r[h[h[a>>2]+16>>2]](a,s+80|0,s- -64|0,v(-p)))}if(i=1,f=m[o>>2],c=m[o+4>>2],p=m[o+8>>2],!(v(v(v(U*f)+v(j*c))+v(z*p))>2]=0,m[o+8>>2]=-p,m[o+4>>2]=-c,m[o>>2]=-f;break e}i=0}return w=s+112|0,i}function X(e,t,n,i){t|=0,n|=0,i|=0;var a,s=0,c=0,l=0,u=0,_=0,m=0,b=0;h[168+(e|=0)>>2]=h[e+152>>2],o[t+80|0]=1,o[t+60|0]=0,h[t+52>>2]=282,h[t>>2]=17612,h[t+76>>2]=0,o[t+100|0]=1,h[t+68>>2]=0,h[t+72>>2]=0,h[t+96>>2]=0,o[t+120|0]=1,h[t+88>>2]=0,h[t+92>>2]=0,h[t+116>>2]=0,o[t+140|0]=1,h[t+108>>2]=0,h[t+112>>2]=0,h[t+136>>2]=0,o[t+164|0]=1,h[t+144>>2]=0,h[t+128>>2]=0,h[t+132>>2]=0,h[t+160>>2]=0,h[t+152>>2]=0,h[t+156>>2]=0,h[t+168>>2]=0,h[t+28>>2]=2139095039,h[t+32>>2]=0,h[t+20>>2]=2139095039,h[t+24>>2]=2139095039,h[t+12>>2]=-8388609,h[t+16>>2]=0,h[t+4>>2]=-8388609,h[t+8>>2]=-8388609,l=h[e+56>>2],n=t,i?(h[t+56>>2]=l<<8&16711680|l<<24|l>>>8&65280|l>>>24,o[t+4|0]=d[e+7|0],o[t+5|0]=d[e+6|0],o[t+6|0]=d[e+5|0],o[t+7|0]=d[e+4|0],o[t+8|0]=d[e+11|0],o[t+9|0]=d[e+10|0],o[t+10|0]=d[e+9|0],o[t+11|0]=d[e+8|0],o[t+12|0]=d[e+15|0],o[t+13|0]=d[e+14|0],o[t+14|0]=d[e+13|0],o[t+15|0]=d[e+12|0],o[t+16|0]=d[e+19|0],o[t+17|0]=d[e+18|0],o[t+18|0]=d[e+17|0],o[t+19|0]=d[e+16|0],o[t+20|0]=d[e+23|0],o[t+21|0]=d[e+22|0],o[t+22|0]=d[e+21|0],o[t+23|0]=d[e+20|0],o[t+24|0]=d[e+27|0],o[t+25|0]=d[e+26|0],o[t+26|0]=d[e+25|0],o[t+27|0]=d[e+24|0],o[t+28|0]=d[e+31|0],o[t+29|0]=d[e+30|0],o[t+30|0]=d[e+29|0],o[t+31|0]=d[e+28|0],o[t+32|0]=d[e+35|0],o[t+33|0]=d[e+34|0],o[t+34|0]=d[e+33|0],o[t+35|0]=d[e+32|0],o[t+36|0]=d[e+39|0],o[t+37|0]=d[e+38|0],o[t+38|0]=d[e+37|0],o[t+39|0]=d[e+36|0],o[t+40|0]=d[e+43|0],o[t+41|0]=d[e+42|0],o[t+42|0]=d[e+41|0],o[t+43|0]=d[e+40|0],o[t+44|0]=d[e+47|0],o[t+45|0]=d[e+46|0],o[t+46|0]=d[e+45|0],o[t+47|0]=d[e+44|0],o[t+48|0]=d[e+51|0],o[t+49|0]=d[e+50|0],o[t+50|0]=d[e+49|0],o[t+51|0]=d[e+48|0],l=h[e+144>>2],h[t+144>>2]=l<<24|l<<8&16711680|l>>>8&65280|l>>>24,l=(l=h[e+168>>2])<<24|l<<8&16711680|l>>>8&65280|l>>>24):(h[t+56>>2]=l,l=h[e+16>>2],h[t+12>>2]=h[e+12>>2],h[t+16>>2]=l,l=h[e+8>>2],h[t+4>>2]=h[e+4>>2],h[t+8>>2]=l,l=h[e+32>>2],h[t+28>>2]=h[e+28>>2],h[t+32>>2]=l,l=h[e+24>>2],h[t+20>>2]=h[e+20>>2],h[t+24>>2]=l,l=h[e+48>>2],h[t+44>>2]=h[e+44>>2],h[t+48>>2]=l,l=h[e+40>>2],h[t+36>>2]=h[e+36>>2],h[t+40>>2]=l,h[t+144>>2]=h[e+144>>2],l=h[e+168>>2]),h[n+168>>2]=l,o[t+60|0]=d[e+60|0],l=t+172|0,a=h[e+56>>2];e:if(d[e+60|0]){(n=h[t+136>>2])&&(d[t+140|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[t+136>>2]=0),h[t+136>>2]=l,o[t+140|0]=0,h[t+132>>2]=a,h[t+128>>2]=a;t:if(i){if(!((0|a)<1))for(u=h[e+136>>2];s=(n=_<<4)+l|0,n=f[(c=n+u|0)>>1],p[s>>1]=(n<<24|n<<8&16711680)>>>16,n=f[c+2>>1],p[s+2>>1]=(n<<24|n<<8&16711680)>>>16,n=f[c+4>>1],p[s+4>>1]=(n<<24|n<<8&16711680)>>>16,n=f[c+6>>1],p[s+6>>1]=(n<<24|n<<8&16711680)>>>16,n=f[c+8>>1],p[s+8>>1]=(n<<24|n<<8&16711680)>>>16,n=f[c+10>>1],p[s+10>>1]=(n<<24|n<<8&16711680)>>>16,n=h[c+12>>2],h[s+12>>2]=n<<24|n<<8&16711680|n>>>8&65280|n>>>24,(0|a)!=(0|(_=_+1|0)););}else{if((0|a)<1)break t;for(u=h[e+136>>2];c=(n=_<<4)+l|0,n=n+u|0,p[c>>1]=f[n>>1],p[c+2>>1]=f[n+2>>1],p[c+4>>1]=f[n+4>>1],p[c+6>>1]=f[n+6>>1],p[c+8>>1]=f[n+8>>1],p[c+10>>1]=f[n+10>>1],h[c+12>>2]=h[n+12>>2],(0|a)!=(0|(_=_+1|0)););}c=t+128|0,s=a<<4}else{(n=h[t+96>>2])&&(d[t+100|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[t+96>>2]=0),c=t+88|0,h[t+96>>2]=l,o[t+100|0]=0,h[t+92>>2]=a,h[t+88>>2]=a;t:{n:{if(i){if((0|a)<1)break n;for(m=h[e+96>>2],n=l;s=(u=b<<6)+n|0,n=u+m|0,o[0|s]=d[n+3|0],o[s+1|0]=d[n+2|0],o[s+2|0]=d[n+1|0],o[s+3|0]=d[0|n],o[s+4|0]=d[n+7|0],o[s+5|0]=d[n+6|0],o[s+6|0]=d[n+5|0],o[s+7|0]=d[n+4|0],o[s+8|0]=d[n+11|0],o[s+9|0]=d[n+10|0],o[s+10|0]=d[n+9|0],o[s+11|0]=d[n+8|0],o[s+12|0]=d[n+15|0],o[s+13|0]=d[n+14|0],o[s+14|0]=d[n+13|0],o[s+15|0]=d[n+12|0],s=u+h[t+96>>2]|0,n=u+h[e+96>>2]|0,o[s+16|0]=d[n+19|0],o[s+17|0]=d[n+18|0],o[s+18|0]=d[n+17|0],o[s+19|0]=d[n+16|0],o[s+20|0]=d[n+23|0],o[s+21|0]=d[n+22|0],o[s+22|0]=d[n+21|0],o[s+23|0]=d[n+20|0],o[s+24|0]=d[n+27|0],o[s+25|0]=d[n+26|0],o[s+26|0]=d[n+25|0],o[s+27|0]=d[n+24|0],o[s+28|0]=d[n+31|0],o[s+29|0]=d[n+30|0],o[s+30|0]=d[n+29|0],o[s+31|0]=d[n+28|0],s=u+(n=h[t+96>>2])|0,m=h[e+96>>2],_=h[32+(u=u+m|0)>>2],h[s+32>>2]=_<<24|_<<8&16711680|_>>>8&65280|_>>>24,_=h[u+36>>2],h[s+36>>2]=_<<24|_<<8&16711680|_>>>8&65280|_>>>24,u=h[u+40>>2],h[s+40>>2]=u<<24|u<<8&16711680|u>>>8&65280|u>>>24,(0|a)!=(0|(b=b+1|0)););}else{if((0|a)<1)break n;for(b=h[e+96>>2],n=l;s=(m=_<<6)+n|0,n=h[4+(u=m+b|0)>>2],h[s>>2]=h[u>>2],h[s+4>>2]=n,n=h[u+12>>2],h[s+8>>2]=h[u+8>>2],h[s+12>>2]=n,u=m+h[e+96>>2]|0,n=h[u+20>>2],s=m+h[t+96>>2]|0,h[s+16>>2]=h[u+16>>2],h[s+20>>2]=n,n=h[u+28>>2],h[s+24>>2]=h[u+24>>2],h[s+28>>2]=n,s=m+(n=h[t+96>>2])|0,u=m+(b=h[e+96>>2])|0,h[s+32>>2]=h[u+32>>2],h[s+36>>2]=h[u+36>>2],h[s+40>>2]=h[u+40>>2],(0|a)!=(0|(_=_+1|0)););}if(u=s=a<<6,n)break t;break e}n=l,u=a<<6}s=u,d[t+100|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[t+96>>2]=0}h[c>>2]=0,h[c+4>>2]=0,o[c+5|0]=0,o[c+6|0]=0,o[c+7|0]=0,o[c+8|0]=0,o[c+9|0]=0,o[c+10|0]=0,o[c+11|0]=0,o[c+12|0]=0,c=h[e+168>>2],(n=h[t+160>>2])&&(d[t+164|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[t+160>>2]=0),u=s+l|0,h[t+160>>2]=u,o[t+164|0]=0,h[t+156>>2]=c,h[t+152>>2]=c,l=h[e+168>>2];e:if(i){if(!((0|l)<1))for(n=h[e+160>>2],i=0;s=(e=i<<5)+u|0,e=f[(c=e+n|0)>>1],p[s>>1]=(e<<24|e<<8&16711680)>>>16,e=f[c+2>>1],p[s+2>>1]=(e<<24|e<<8&16711680)>>>16,e=f[c+4>>1],p[s+4>>1]=(e<<24|e<<8&16711680)>>>16,e=f[c+6>>1],p[s+6>>1]=(e<<24|e<<8&16711680)>>>16,e=f[c+8>>1],p[s+8>>1]=(e<<24|e<<8&16711680)>>>16,e=f[c+10>>1],p[s+10>>1]=(e<<24|e<<8&16711680)>>>16,e=h[c+12>>2],h[s+12>>2]=e<<24|e<<8&16711680|e>>>8&65280|e>>>24,e=h[c+16>>2],h[s+16>>2]=e<<24|e<<8&16711680|e>>>8&65280|e>>>24,(0|l)!=(0|(i=i+1|0)););}else{if((0|l)<1)break e;for(l=h[e+160>>2],i=0;c=(n=i<<5)+u|0,n=n+l|0,p[c>>1]=f[n>>1],p[c+2>>1]=f[n+2>>1],p[c+4>>1]=f[n+4>>1],p[c+6>>1]=f[n+6>>1],p[c+8>>1]=f[n+8>>1],p[c+10>>1]=f[n+10>>1],h[c+12>>2]=h[n+12>>2],n=h[n+16>>2],h[c+28>>2]=0,h[c+20>>2]=0,h[c+24>>2]=0,h[c+16>>2]=n,(0|(i=i+1|0))>2];);}return h[t>>2]=0,o[t+157|0]=0,o[t+158|0]=0,o[t+159|0]=0,o[t+160|0]=0,o[t+161|0]=0,o[t+162|0]=0,o[t+163|0]=0,o[t+164|0]=0,h[t+152>>2]=0,h[t+156>>2]=0,1}function Y(e,t,n){var i,a=0,s=0,c=0,l=0,u=0,p=0,f=0,_=0,m=0,b=0,v=0,y=0,C=0,A=0;w=i=w-144|0;e:if((0|n)<=0)(t=h[e+12>>2])&&(d[e+16|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+12>>2]=0),h[e+12>>2]=0,o[e+16|0]=1,h[e+4>>2]=0,h[e+8>>2]=0,(t=h[e+32>>2])&&(d[e+36|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+32>>2]=0),h[e+32>>2]=0,o[e+36|0]=1,h[e+24>>2]=0,h[e+28>>2]=0,(t=h[e+52>>2])&&(d[e+56|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+52>>2]=0),h[e+52>>2]=0,o[e+56|0]=1,h[e+44>>2]=0,h[e+48>>2]=0;else{if(o[i+112|0]=1,h[i+88>>2]=0,h[i+92>>2]=256,h[i+72>>2]=0,h[i+76>>2]=256,h[i+56>>2]=0,h[i+60>>2]=256,h[i+108>>2]=0,h[i+100>>2]=0,h[i+104>>2]=0,h[i+80>>2]=0,h[i+84>>2]=0,h[i+64>>2]=0,h[i+68>>2]=0,h[i+48>>2]=0,h[i+52>>2]=0,le(i+16|0,t,n),(0|(n=h[e+4>>2]))<=-1)for(h[e+8>>2]<=-1&&((t=h[e+12>>2])&&(d[e+16|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+12>>2]=0),o[e+16|0]=1,h[e+8>>2]=0,h[e+12>>2]=0);t=h[i+4>>2],a=h[e+12>>2]+(n<<4)|0,h[a>>2]=h[i>>2],h[a+4>>2]=t,t=h[i+12>>2],h[a+8>>2]=h[i+8>>2],h[a+12>>2]=t,a=(t=n+1|0)>>>0>=n>>>0,n=t,a;);if(h[e+4>>2]=0,h[i+8>>2]=0,h[i>>2]=0,h[i+4>>2]=0,(0|(n=h[e+24>>2]))<=-1)for(h[e+28>>2]<=-1&&((t=h[e+32>>2])&&(d[e+36|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+32>>2]=0),h[e+28>>2]=0,h[e+32>>2]=0,o[e+36|0]=1);t=h[i+4>>2],a=h[e+32>>2]+g(n,12)|0,h[a>>2]=h[i>>2],h[a+4>>2]=t,h[a+8>>2]=h[i+8>>2],a=(t=n+1|0)>>>0>=n>>>0,n=t,a;);if(h[e+24>>2]=0,(0|(n=h[e+44>>2]))<=-1&&(t=h[e+52>>2],h[e+48>>2]<=-1&&(!t|!d[e+56|0]||t&&(h[7718]=h[7718]+1,r[h[6607]](t)),o[e+56|0]=1,h[e+48>>2]=0,h[e+52>>2]=0,t=0),ji((a=t)+(t=n<<2)|0,0,0-t|0)),h[e+44>>2]=0,t=h[i+140>>2],!(h[t+104>>2]>-1)){for(h[t+104>>2]=0,h[7717]=h[7717]+1,f=0|r[h[6606]](4,16),h[f>>2]=t,n=0,p=1,m=1;;){if(A=n,Yi(i,i+16|0,c=h[(n<<2)+f>>2]),(0|(s=h[e+4>>2]))==h[e+8>>2]&&!((0|s)>=(0|(C=s?s<<1:1)))){if(n=0,a=0,C&&(h[7717]=h[7717]+1,a=0|r[h[6606]](C<<4,16),s=h[e+4>>2]),(0|s)>=1)for(;u=(t=n<<4)+a|0,l=t+h[e+12>>2]|0,t=h[l+4>>2],h[u>>2]=h[l>>2],h[u+4>>2]=t,t=h[l+12>>2],h[u+8>>2]=h[l+8>>2],h[u+12>>2]=t,(0|s)!=(0|(n=n+1|0)););(t=h[e+12>>2])&&(d[e+16|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+12>>2]=0),h[e+12>>2]=a,o[e+16|0]=1,h[e+8>>2]=C,s=h[e+4>>2]}if(t=h[i+4>>2],n=h[e+12>>2]+(s<<4)|0,h[n>>2]=h[i>>2],h[n+4>>2]=t,t=h[i+12>>2],h[n+8>>2]=h[i+8>>2],h[n+12>>2]=t,h[e+4>>2]=h[e+4>>2]+1,u=-1,y=-1,t=C=h[c+8>>2]){for(;;){if((0|(n=h[t+20>>2]))<=-1){if(s=h[e+24>>2],h[i+8>>2]=0,h[i>>2]=0,h[i+4>>2]=0,(0|(n=s))==h[e+28>>2]&&!((0|s)>=(0|(_=n?n<<1:1)))){if(n=0,a=s,c=0,_&&(h[7717]=h[7717]+1,c=0|r[h[6606]](g(_,12),16),a=h[e+24>>2]),(0|a)>=1)for(;b=(l=g(n,12))+h[e+32>>2]|0,v=c+l|0,l=h[b+4>>2],h[v>>2]=h[b>>2],h[v+4>>2]=l,h[v+8>>2]=h[b+8>>2],(0|a)!=(0|(n=n+1|0)););(n=h[e+32>>2])&&(d[e+36|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+32>>2]=0),h[e+32>>2]=c,o[e+36|0]=1,h[e+28>>2]=_,n=h[e+24>>2]}if(a=h[e+32>>2]+g(n,12)|0,n=h[i+4>>2],h[a>>2]=h[i>>2],h[a+4>>2]=n,h[a+8>>2]=h[i+8>>2],a=h[e+24>>2]+1|0,h[e+24>>2]=a,h[i+8>>2]=0,h[i>>2]=0,h[i+4>>2]=0,h[e+28>>2]==(0|a)&&!((0|a)>=(0|(_=a?a<<1:1)))){if(n=0,c=0,_&&(h[7717]=h[7717]+1,c=0|r[h[6606]](g(_,12),16),a=h[e+24>>2]),(0|a)>=1)for(;b=(l=g(n,12))+h[e+32>>2]|0,v=c+l|0,l=h[b+4>>2],h[v>>2]=h[b>>2],h[v+4>>2]=l,h[v+8>>2]=h[b+8>>2],(0|a)!=(0|(n=n+1|0)););(n=h[e+32>>2])&&(d[e+36|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+32>>2]=0),h[e+32>>2]=c,o[e+36|0]=1,h[e+28>>2]=_,a=h[e+24>>2]}if(n=h[i+4>>2],a=h[e+32>>2]+g(a,12)|0,h[a>>2]=h[i>>2],h[a+4>>2]=n,h[a+8>>2]=h[i+8>>2],h[e+24>>2]=h[e+24>>2]+1,_=h[e+32>>2],h[t+20>>2]=s,l=s+1|0,h[h[t+8>>2]+20>>2]=l,b=g(s,12)+_|0,h[b+16>>2]=-1,h[b+4>>2]=1,v=h[t+12>>2],(0|(n=h[v+104>>2]))>-1)a=p,p=n;else{h[v+104>>2]=p;t:if((0|p)!=(0|m)||(0|m)>=(0|(c=m?m<<1:1)))s=f,c=m;else{n=0,s=0,c&&(h[7717]=h[7717]+1,s=0|r[h[6606]](c<<2,16));n:{if((0|m)>=1)for(;;)if(h[(a=n<<2)+s>>2]=h[a+f>>2],(0|m)==(0|(n=n+1|0)))break n;if(!f)break t}f&&(h[7718]=h[7718]+1,r[h[6607]](f))}h[(p<<2)+s>>2]=v,a=p+1|0,f=s,m=c}h[b+8>>2]=p,h[8+(g(l,12)+_|0)>>2]=A,p=a,n=h[t+20>>2]}if(a=n,(0|u)>=0&&(h[h[e+32>>2]+g(n,12)>>2]=u-n,a=y),u=n,y=a,(0|C)==(0|(t=h[t>>2])))break}h[h[e+32>>2]+g(y,12)>>2]=u-y}if(!((0|(n=A+1|0))<(0|p)))break}for(p=0;;){if(t=c=h[h[(p<<2)+f>>2]+8>>2])for(;;){if((0|(n=h[t+20>>2]))>=0){if((0|(s=h[e+44>>2]))==h[e+48>>2]&&!((0|s)>=(0|(u=s?s<<1:1)))){n=0,a=0,u&&(h[7717]=h[7717]+1,a=0|r[h[6606]](u<<2,16),s=h[e+44>>2]),y=h[e+52>>2];t:{n:{if((0|s)>=1)for(;;)if(h[(m=n<<2)+a>>2]=h[m+y>>2],(0|s)==(0|(n=n+1|0)))break n;if(!y)break t}d[e+56|0]&&(n=y)&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+52>>2]=0,s=h[e+44>>2]}h[e+52>>2]=a,o[e+56|0]=1,h[e+48>>2]=u,n=h[t+20>>2]}for(h[h[e+52>>2]+(s<<2)>>2]=n,h[e+44>>2]=h[e+44>>2]+1,n=t;h[n+20>>2]=-1,(0|(n=h[h[n+8>>2]+4>>2]))!=(0|t););}if((0|c)==(0|(t=h[t>>2])))break}if(t=(0|p)==(0|A),p=p+1|0,t)break}f&&f&&(h[7718]=h[7718]+1,r[h[6607]](f))}for((e=h[i+108>>2])&&(d[i+112|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[i+108>>2]=0),h[i+108>>2]=0,o[i+112|0]=1,h[i+100>>2]=0,h[i+104>>2]=0;t=h[i+80>>2];)h[i+80>>2]=h[t+8>>2],(e=h[t>>2])&&(h[7718]=h[7718]+1,r[h[6607]](e)),t&&(h[7718]=h[7718]+1,r[h[6607]](t));for(;t=h[i+64>>2];)h[i+64>>2]=h[t+8>>2],(e=h[t>>2])&&(h[7718]=h[7718]+1,r[h[6607]](e)),t&&(h[7718]=h[7718]+1,r[h[6607]](t));for(;;){if(!(t=h[i+48>>2]))break e;h[i+48>>2]=h[t+8>>2],(e=h[t>>2])&&(h[7718]=h[7718]+1,r[h[6607]](e)),t&&(h[7718]=h[7718]+1,r[h[6607]](t))}}w=i+144|0}function Q(e){var t,n=0,i=0,r=v(0),a=v(0),s=0,c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=0,S=v(0),T=v(0),E=v(0),P=0,O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=0,N=0,F=0,B=0,k=0,V=0,z=0,j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=0,Y=v(0);if(w=t=w-192|0,Ir(21072),(0|(i=h[e+1112>>2]))>=1)for(V=e+1048|0,F=t+144|4,X=h[5759],Y=m[5758];;){if(n=h[h[e+1120>>2]+(B<<2)>>2],N=h[n+24>>2]){if(h[t+184>>2]=0,h[t+188>>2]=0,h[t+176>>2]=0,h[t+180>>2]=0,h[t+168>>2]=0,h[t+172>>2]=0,h[t+160>>2]=0,h[t+164>>2]=0,h[F+8>>2]=0,h[F>>2]=0,h[F+4>>2]=0,h[t+184>>2]=966609233,h[t+164>>2]=961656599,h[t+144>>2]=953267991,P=(0|(x=h[n+24>>2]))<1)a=v(0),u=v(0),r=v(0);else for(L=h[n+32>>2],k=h[n+12>>2],r=v(0),i=0,u=v(0),a=v(0);s=h[L+(z=i<<2)>>2],p=m[k+z>>2],a=v(a+v(m[s+8>>2]*p)),r=v(r+v(p*m[s+16>>2])),u=v(u+v(p*m[s+12>>2])),(0|x)!=(0|(i=i+1|0)););if(h[n+240>>2]=0,f=r,r=m[n+128>>2],l=v(f*r),m[n+236>>2]=l,f=v(u*r),m[n+232>>2]=f,_=v(a*r),m[n+228>>2]=_,!P)for(L=h[n+52>>2],k=h[n+32>>2],i=0,a=v(9999999747378752e-20),u=v(.00019999999494757503),r=v(0),p=v(.00029999998514540493),b=v(0);P=h[k+(i<<2)>>2],y=m[P+16>>2],g=m[P+12>>2],C=m[8+(s=L+(i<<4)|0)>>2],A=m[s+4>>2],c=v(m[P+8>>2]-_),a=v(v(c*m[s>>2])+a),m[t+144>>2]=a,m[t+148>>2]=v(c*A)+m[t+148>>2],m[t+152>>2]=v(c*C)+m[t+152>>2],C=m[s+8>>2],A=m[s>>2],c=v(g-f),u=v(v(c*m[s+4>>2])+u),m[t+164>>2]=u,m[t+160>>2]=v(c*A)+m[t+160>>2],m[t+168>>2]=v(c*C)+m[t+168>>2],g=m[s>>2],C=m[s+4>>2],c=v(y-l),p=v(v(c*m[s+8>>2])+p),m[t+184>>2]=p,r=v(v(c*C)+r),m[t+180>>2]=r,b=v(v(c*g)+b),m[t+176>>2]=b,(0|x)!=(0|(i=i+1|0)););if(1&o[30644]||Vl(30644)&&(h[7660]=X,m[7659]=Y,Fu(30644)),ae(t+144|0,t+96|0,t+48|0),i=h[n+240>>2],h[n+116>>2]=h[n+236>>2],h[n+120>>2]=i,i=h[n+232>>2],h[n+108>>2]=h[n+228>>2],h[n+112>>2]=i,i=h[t+108>>2],h[n+68>>2]=h[t+104>>2],h[n+72>>2]=i,i=h[t+100>>2],h[n+60>>2]=h[t+96>>2],h[n+64>>2]=i,i=h[t+124>>2],h[n+84>>2]=h[t+120>>2],h[n+88>>2]=i,i=h[t+116>>2],h[n+76>>2]=h[t+112>>2],h[n+80>>2]=i,i=h[t+132>>2],h[n+92>>2]=h[t+128>>2],h[n+96>>2]=i,i=h[t+140>>2],h[n+100>>2]=h[t+136>>2],h[n+104>>2]=i,r=m[n+68>>2],a=m[n- -64>>2],u=m[n+84>>2],p=m[n+76>>2],b=m[n+80>>2],y=m[n+172>>2],g=m[n+140>>2],C=m[n+156>>2],A=m[n+148>>2],R=m[n+164>>2],c=m[n+100>>2],I=m[n+168>>2],l=m[n+92>>2],T=m[n+136>>2],f=m[n+96>>2],O=m[n+152>>2],_=m[n+60>>2],M=m[n+132>>2],h[n+316>>2]=0,h[n+320>>2]=0,h[n+224>>2]=0,h[n+208>>2]=0,h[n+192>>2]=0,h[n+324>>2]=0,h[n+328>>2]=0,h[n+332>>2]=0,h[n+336>>2]=0,h[n+340>>2]=0,h[n+344>>2]=0,S=v(v(v(M*l)+v(A*f))+v(R*c)),E=v(v(v(T*l)+v(O*f))+v(I*c)),D=v(v(v(g*l)+v(C*f))+v(y*c)),j=v(v(v(l*S)+v(f*E))+v(c*D)),m[n+220>>2]=j,U=v(v(v(p*S)+v(E*b))+v(D*u)),m[n+216>>2]=U,G=v(v(v(_*S)+v(E*a))+v(D*r)),m[n+212>>2]=G,S=v(v(v(M*p)+v(A*b))+v(R*u)),E=v(v(v(T*p)+v(O*b))+v(I*u)),D=v(v(v(g*p)+v(C*b))+v(y*u)),H=v(v(v(l*S)+v(f*E))+v(c*D)),m[n+204>>2]=H,W=v(v(v(S*p)+v(E*b))+v(D*u)),m[n+200>>2]=W,S=v(v(v(S*_)+v(E*a))+v(D*r)),m[n+196>>2]=S,E=l,l=v(v(v(M*_)+v(A*a))+v(R*r)),A=f,f=v(v(v(_*T)+v(a*O))+v(r*I)),T=c,c=v(v(v(_*g)+v(a*C))+v(r*y)),y=v(v(v(E*l)+v(A*f))+v(T*c)),m[n+188>>2]=y,g=v(v(v(l*p)+v(f*b))+v(c*u)),m[n+184>>2]=g,C=v(v(v(l*_)+v(f*a))+v(c*r)),m[n+180>>2]=C,(0|N)<1)r=v(0),p=v(0),b=v(0),a=v(0),u=v(0),c=v(0);else for(x=h[n+32>>2],A=m[n+236>>2],R=m[n+232>>2],I=m[n+228>>2],P=h[n+12>>2],i=0,r=v(0),p=v(0),b=v(0),a=v(0),u=v(0),c=v(0);s=h[(L=i<<2)+x>>2],T=m[s+44>>2],_=m[s+48>>2],l=m[P+L>>2],f=v(m[s+40>>2]*l),c=v(f+c),m[n+316>>2]=c,_=v(l*_),a=v(_+a),m[n+324>>2]=a,l=v(l*T),u=v(l+u),m[n+320>>2]=u,T=m[s+16>>2],O=v(m[s+8>>2]-I),M=v(m[s+12>>2]-R),r=v(v(v(l*O)-v(f*M))+r),m[n+340>>2]=r,E=f,f=v(T-A),p=v(v(v(E*f)-v(_*O))+p),m[n+336>>2]=p,b=v(b+v(v(_*M)-v(l*f))),m[n+332>>2]=b,(0|N)!=(0|(i=i+1|0)););h[n+328>>2]=0,h[n+344>>2]=0,h[n+244>>2]=0,h[n+248>>2]=0,h[n+260>>2]=0,h[n+264>>2]=0,h[n+268>>2]=0,h[n+272>>2]=0,h[n+252>>2]=0,h[n+256>>2]=0,h[n+292>>2]=0,h[n+296>>2]=0,h[n+300>>2]=0,h[n+304>>2]=0,l=m[n+128>>2],f=v(l*a),a=v(v(1)-m[n+356>>2]),m[n+324>>2]=f*a,m[n+320>>2]=v(l*u)*a,m[n+316>>2]=v(c*l)*a,a=v(v(1)-m[n+360>>2]),m[n+340>>2]=a*v(v(v(b*G)+v(p*U))+v(r*j)),m[n+336>>2]=v(v(v(b*S)+v(p*W))+v(r*H))*a,m[n+332>>2]=v(v(v(C*b)+v(g*p))+v(y*r))*a,h[n+284>>2]=0,h[n+288>>2]=0,h[n+276>>2]=0,h[n+280>>2]=0,h[n+308>>2]=0,h[n+312>>2]=0;e:if(!((r=m[n+364>>2])>v(0)^1|h[n+24>>2]<1))for(i=0;;){if(s=h[h[n+32>>2]+(i<<2)>>2],b=m[s+8>>2],c=m[s+12>>2],l=m[s+16>>2],x=h[n+52>>2]+(i<<4)|0,a=m[x+8>>2],u=m[x>>2],p=m[x+4>>2],f=m[n+108>>2],_=m[n+68>>2],y=m[n+60>>2],g=m[n+64>>2],C=m[n+112>>2],A=m[n+84>>2],R=m[n+76>>2],I=m[n+80>>2],T=m[n+116>>2],O=m[n+100>>2],M=m[n+92>>2],S=m[n+96>>2],h[s+20>>2]=0,m[s+16>>2]=l+v(r*v(v(T+v(v(v(u*M)+v(p*S))+v(a*O)))-l)),m[s+12>>2]=c+v(r*v(v(C+v(v(v(u*R)+v(p*I))+v(a*A)))-c)),m[s+8>>2]=b+v(r*v(v(f+v(v(v(u*y)+v(p*g))+v(a*_)))-b)),(0|(i=i+1|0))>=h[n+24>>2])break e;r=m[n+364>>2]}if(d[n+377|0]){if(i=1,x=h[n+32>>2],s=h[x>>2],p=r=m[s+8>>2],a=b=m[s+12>>2],c=u=m[s+16>>2],f=l=m[s+20>>2],(0|N)>1)for(;s=h[x+(i<<2)>>2],r=r<(_=m[s+8>>2])?_:r,p=_>2])?_:l,u=u<(y=m[s+16>>2])?y:u,b=b<(g=m[s+12>>2])?g:b,f=_>2]=l,m[t+40>>2]=u,m[t+36>>2]=b,m[t+32>>2]=r,m[t+28>>2]=f,m[t+24>>2]=c,m[t+20>>2]=a,m[t+16>>2]=p,(i=h[n+348>>2])?(a=m[n+316>>2],u=m[n+320>>2],p=m[n+324>>2],r=m[e+452>>2],h[t+12>>2]=0,m[t+8>>2]=v(r*p)*v(3),m[t+4>>2]=v(r*u)*v(3),m[t>>2]=v(a*r)*v(3),$n(V,i,t+16|0,t,m[e+464>>2])):h[n+348>>2]=Rr(V,t+16|0,n)}i=h[e+1112>>2]}if(!((0|(B=B+1|0))<(0|i)))break}Bo(),w=t+192|0}function K(e,t){var n,i=0,a=0,s=0,c=v(0),l=v(0),u=0,p=v(0),f=0,_=v(0),b=v(0),y=v(0),C=v(0),A=0,x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0);if(w=n=w-144|0,d[e+924|0]&&(o[e+924|0]=0,jr(e),Xo(i=e+988|0),16&d[e+388|0]&&(Xo(i),!(h[e+752>>2]<1))))for(;Kn(n+8|0,u=h[e+760>>2]+g(s,44)|0,v(0)),h[u+40>>2]=Rr(i,n+8|0,u),(0|(s=s+1|0))>2];);if(t=v(m[e+368>>2]*t),m[e+452>>2]=t,m[e+460>>2]=t*v(3),m[e+456>>2]=v(1)/t,s=h[e+192>>2],t=v(r[h[h[s>>2]+48>>2]](s)),m[e+464>>2]=t,m[e+468>>2]=t*v(.25),(0|(u=h[e+712>>2]))>=1)for(t=m[e+452>>2],s=h[e+684>>2],c=v(t*m[s+48>>2]),l=v(t*m[s+44>>2]),t=v(m[s+40>>2]*t),a=h[e+720>>2],s=0;i=a+g(s,104)|0,m[i+88>>2]>v(0)&&(m[i+40>>2]=t+m[i+40>>2],m[i+44>>2]=l+m[i+44>>2],m[i+48>>2]=c+m[i+48>>2]),(0|u)!=(0|(s=s+1|0)););if(mi(e),(0|(a=h[e+712>>2]))>=1)for(s=0;i=h[e+720>>2]+g(s,104)|0,u=h[i+12>>2],f=h[i+8>>2],h[i+24>>2]=f,h[i+28>>2]=u,u=h[i+20>>2],h[i+32>>2]=h[i+16>>2],h[i+36>>2]=u,l=m[e+452>>2],t=v(m[h[e+684>>2]+12>>2]/l),c=v(-t),p=m[i+88>>2],_=v(v(m[i+56>>2]*p)*l),_=v(((_=_>t?t:_)>2]),m[i+40>>2]=_,b=v(l*v(p*m[i+60>>2])),b=v(((b=b>t?t:b)>2]),m[i+44>>2]=b,l=v(l*v(p*m[(u=i- -64|0)>>2])),c=v(((t=l>t?t:l)>2]),m[i+48>>2]=c,t=m[e+452>>2],m[i+8>>2]=v(_*t)+m[i+8>>2],m[i+12>>2]=v(b*t)+m[i+12>>2],m[i+16>>2]=v(c*t)+m[i+16>>2],h[u>>2]=0,h[u+4>>2]=0,h[i+56>>2]=0,h[i+60>>2]=0,(0|a)!=(0|(s=s+1|0)););Q(e);e:if(s=h[e+928>>2]){if(i=h[e+192>>2],t=v(r[h[h[i>>2]+48>>2]](i)),c=m[s>>2],l=m[s+4>>2],p=m[s+8>>2],h[e+904>>2]=0,m[e+900>>2]=p-t,m[e+896>>2]=l-t,m[e+892>>2]=c-t,c=m[s+20>>2],l=m[s+24>>2],p=m[s+16>>2],h[e+920>>2]=0,m[e+916>>2]=t+l,m[e+912>>2]=t+c,m[(s=e+908|0)>>2]=t+p,!(i=h[e+188>>2]))break e;u=h[e+684>>2],a=h[u+32>>2],r[h[h[a>>2]+16>>2]](a,i,e+892|0,s,h[u+36>>2])}else h[e+892>>2]=0,h[e+896>>2]=0,h[e+916>>2]=0,h[e+920>>2]=0,h[e+908>>2]=0,h[e+912>>2]=0,h[e+900>>2]=0,h[e+904>>2]=0;if((0|(u=h[e+712>>2]))>=1)for(a=e+928|0,s=0;i=h[e+720>>2]+g(s,104)|0,c=m[i+12>>2],l=m[i+16>>2],p=m[i+8>>2],t=m[e+464>>2],h[n+140>>2]=0,m[n+128>>2]=t+p,h[n+124>>2]=0,m[n+112>>2]=p-t,m[n+136>>2]=t+l,m[n+132>>2]=t+c,m[n+120>>2]=l-t,m[n+116>>2]=c-t,f=h[i+96>>2],c=m[i+40>>2],l=m[i+44>>2],p=m[i+48>>2],t=m[e+460>>2],h[n+20>>2]=0,m[n+16>>2]=t*p,m[n+12>>2]=t*l,m[n+8>>2]=c*t,$n(a,f,n+112|0,n+8|0,m[e+468>>2]),(0|u)!=(0|(s=s+1|0)););if(u=e+988|0,!(!h[e+988>>2]|h[e+752>>2]<1))for(s=0;i=h[e+760>>2]+g(s,44)|0,a=h[i+16>>2],c=m[a+40>>2],f=h[i+8>>2],l=m[f+40>>2],A=h[i+12>>2],p=m[A+40>>2],_=m[a+44>>2],b=m[f+44>>2],x=m[A+44>>2],S=m[a+48>>2],T=m[f+48>>2],E=m[A+48>>2],Kn(n+8|0,i,m[e+464>>2]),a=h[n+36>>2],h[n+136>>2]=h[n+32>>2],h[n+140>>2]=a,a=h[n+28>>2],h[n+128>>2]=h[n+24>>2],h[n+132>>2]=a,a=h[n+20>>2],h[n+120>>2]=h[n+16>>2],h[n+124>>2]=a,a=h[n+12>>2],h[n+112>>2]=h[n+8>>2],h[n+116>>2]=a,i=h[i+40>>2],t=m[e+460>>2],h[n+20>>2]=0,m[n+16>>2]=t*v(v(S+v(T+E))*v(.3333333432674408)),m[n+12>>2]=t*v(v(_+v(b+x))*v(.3333333432674408)),m[n+8>>2]=t*v(v(c+v(l+p))*v(.3333333432674408)),$n(u,i,n+112|0,n+8|0,m[e+468>>2]),(0|(s=s+1|0))>2];);if(function(e){var t=0,n=v(0),i=0,r=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=0,x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=0,M=v(0),R=v(0),I=0,D=0,L=0,N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=0;if(w=t=w-144|0,d[e+473|0]){if(!(O=(0|(I=h[e+712>>2]))<1))for(D=h[e+512>>2],L=h[e+720>>2];A=L+g(i,104)|0,a=m[D+(i<<2)>>2],n=v(n+v(m[A+8>>2]*a)),f=v(f+v(a*m[A+16>>2])),_=v(_+v(a*m[A+12>>2])),(0|I)!=(0|(i=i+1|0)););if(h[e+532>>2]=0,m[e+528>>2]=f,m[e+524>>2]=_,m[e+520>>2]=n,h[t+136>>2]=0,h[t+140>>2]=0,h[t+120>>2]=0,h[t+124>>2]=0,h[t+108>>2]=0,h[t+112>>2]=0,h[t+116>>2]=0,h[t+116>>2]=880803840,h[t+136>>2]=884998144,h[t+128>>2]=0,h[t+132>>2]=0,h[t+100>>2]=0,h[t+104>>2]=0,h[t+96>>2]=872415232,!O)for(D=h[e+492>>2],L=h[e+720>>2],H=h[e+512>>2],a=m[t+120>>2],u=v(1.1920928955078125e-7),s=v(2.384185791015625e-7),c=v(3.5762786865234375e-7),p=m[t+112>>2],l=m[t+104>>2],b=m[t+100>>2],A=0;O=L+g(A,104)|0,y=m[O+16>>2],S=m[O+12>>2],T=m[(i=D+(A<<4)|0)>>2],E=m[i+4>>2],C=m[(A<<2)+H>>2],r=v(v(m[O+8>>2]-n)*C),l=v(v(r*m[i+8>>2])+l),m[t+104>>2]=l,b=v(v(r*E)+b),m[t+100>>2]=b,u=v(v(r*T)+u),m[t+96>>2]=u,T=m[i>>2],E=m[i+4>>2],r=v(C*v(S-_)),a=v(v(r*m[i+8>>2])+a),m[t+120>>2]=a,s=v(v(r*E)+s),m[t+116>>2]=s,p=v(v(r*T)+p),m[t+112>>2]=p,r=m[i>>2],S=m[i+4>>2],C=v(C*v(y-f)),c=v(v(C*m[i+8>>2])+c),m[t+136>>2]=c,M=v(v(C*S)+M),m[t+132>>2]=M,R=v(v(C*r)+R),m[t+128>>2]=R,(0|I)!=(0|(A=A+1|0)););1&o[30644]||Vl(30644)&&(n=m[5758],h[7660]=h[5759],m[7659]=n,Fu(30644)),ae(t+96|0,t+48|0,t),i=h[t+60>>2],h[e+544>>2]=h[t+56>>2],h[e+548>>2]=i,i=h[t+52>>2],h[e+536>>2]=h[t+48>>2],h[e+540>>2]=i,i=h[t+76>>2],h[e+560>>2]=h[t+72>>2],h[e+564>>2]=i,i=h[t+68>>2],h[e+552>>2]=h[t+64>>2],h[e+556>>2]=i,i=h[t+84>>2],h[e+568>>2]=h[t+80>>2],h[e+572>>2]=i,i=h[t+92>>2],h[e+576>>2]=h[t+88>>2],h[e+580>>2]=i,n=m[e+640>>2],f=m[e+632>>2],_=m[e+636>>2],a=m[e+656>>2],u=m[e+648>>2],s=m[e+652>>2],c=m[e+672>>2],p=m[e+664>>2],l=m[e+668>>2],b=m[t+88>>2],C=m[t+84>>2],r=m[t+56>>2],y=m[t+120>>2],S=m[t+72>>2],T=m[t+68>>2],E=m[t+128>>2],M=m[t+96>>2],R=m[t+112>>2],N=m[t+132>>2],F=m[t+100>>2],B=m[t+116>>2],k=m[t+136>>2],V=m[t+80>>2],z=m[t+104>>2],j=m[t+48>>2],U=m[t+52>>2],G=m[t+64>>2],h[e+628>>2]=0,h[e+612>>2]=0,h[e+596>>2]=0,x=v(v(v(j*p)+v(U*l))+v(r*c)),P=v(v(v(G*p)+v(T*l))+v(S*c)),l=v(v(v(V*p)+v(C*l))+v(b*c)),c=v(v(v(z*x)+v(y*P))+v(k*l)),m[e+624>>2]=c,p=v(v(v(x*F)+v(P*B))+v(l*N)),m[e+620>>2]=p,l=v(v(v(M*x)+v(R*P))+v(l*E)),m[e+616>>2]=l,x=v(v(v(j*u)+v(U*s))+v(r*a)),P=v(v(v(G*u)+v(T*s))+v(S*a)),s=v(v(v(V*u)+v(C*s))+v(b*a)),a=v(v(v(z*x)+v(y*P))+v(k*s)),m[e+608>>2]=a,u=v(v(v(x*F)+v(P*B))+v(s*N)),m[e+604>>2]=u,s=v(v(v(x*M)+v(P*R))+v(s*E)),m[e+600>>2]=s,r=v(v(v(j*f)+v(U*_))+v(r*n)),x=y,y=v(v(v(G*f)+v(T*_))+v(S*n)),n=v(v(v(V*f)+v(C*_))+v(b*n)),f=v(v(v(z*r)+v(x*y))+v(k*n)),m[e+592>>2]=f,_=v(v(v(r*F)+v(y*B))+v(n*N)),m[e+588>>2]=_,b=v(v(v(r*M)+v(y*R))+v(n*E)),m[e+584>>2]=b,(n=m[e+364>>2])>v(1)&&(h[e+628>>2]=0,h[e+612>>2]=0,h[e+596>>2]=0,y=c,n=(c=v(v(1)/v(v(f*v(v(p*s)-v(u*l)))+v(v(b*v(v(u*c)-v(a*p)))+v(_*v(v(a*l)-v(c*s)))))))n?n:c,m[e+624>>2]=y*n,m[e+620>>2]=p*n,m[e+616>>2]=l*n,m[e+608>>2]=a*n,m[e+604>>2]=u*n,m[e+600>>2]=s*n,m[e+592>>2]=f*n,m[e+588>>2]=_*n,m[e+584>>2]=b*n)}w=t+144|0}(e),!(!d[e+473|0]|m[e+320>>2]>v(0)^1||(0|(f=h[e+712>>2]))<1))for(_=m[e+576>>2],b=m[e+572>>2],x=m[e+568>>2],S=m[e+560>>2],T=m[e+556>>2],E=m[e+552>>2],O=m[e+544>>2],M=m[e+540>>2],R=m[e+536>>2],s=0;i=h[e+720>>2]+g(s,104)|0,m[i+88>>2]>v(0)&&(a=h[e+492>>2]+(s<<4)|0,t=m[a+8>>2],c=m[a>>2],l=m[a+4>>2],I=m[e+520>>2],y=m[e+524>>2],p=m[e+320>>2],C=m[e+528>>2],h[i+20>>2]=0,P=m[i+16>>2],m[i+16>>2]=P+v(p*v(v(C+v(v(v(x*c)+v(b*l))+v(_*t)))-P)),C=m[i+12>>2],m[i+12>>2]=C+v(p*v(v(y+v(v(v(E*c)+v(T*l))+v(S*t)))-C)),y=m[i+8>>2],m[i+8>>2]=y+v(p*v(v(I+v(v(v(R*c)+v(M*l))+v(O*t)))-y))),(0|f)!=(0|(s=s+1|0)););if(ji(n+8|0,0,104),(0|(s=h[e+812>>2]))<=-1)for(h[e+816>>2]<=-1&&((i=h[e+820>>2])&&(d[e+824|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+820>>2]=0),h[e+816>>2]=0,h[e+820>>2]=0,o[e+824|0]=1);f=h[n+12>>2],i=h[e+820>>2]+g(s,104)|0,h[i>>2]=h[n+8>>2],h[i+4>>2]=f,h[i+24>>2]=h[n+32>>2],a=h[n+28>>2],h[i+16>>2]=h[n+24>>2],h[i+20>>2]=a,a=h[n+20>>2],h[i+8>>2]=h[n+16>>2],h[i+12>>2]=a,a=h[n+48>>2],h[i+36>>2]=h[n+44>>2],h[i+40>>2]=a,a=h[n+40>>2],h[i+28>>2]=h[n+36>>2],h[i+32>>2]=a,a=h[n+64>>2],h[i+52>>2]=h[n+60>>2],h[i+56>>2]=a,a=h[n+56>>2],h[i+44>>2]=h[n+52>>2],h[i+48>>2]=a,a=h[n+72>>2],h[i+60>>2]=h[n+68>>2],h[i+64>>2]=a,a=h[n+80>>2],h[i+68>>2]=h[n+76>>2],h[i+72>>2]=a,a=h[n+88>>2],h[i+76>>2]=h[n+84>>2],h[i+80>>2]=a,a=h[n+96>>2],h[i+84>>2]=h[n+92>>2],h[i+88>>2]=a,a=h[n+104>>2],h[i+92>>2]=h[n+100>>2],h[i+96>>2]=a,h[i+100>>2]=h[n+108>>2],a=(i=s+1|0)>>>0>=s>>>0,s=i,a;);if(h[e+812>>2]=0,h[n+56>>2]=0,h[n+60>>2]=0,h[n+48>>2]=0,h[n+52>>2]=0,h[n+40>>2]=0,h[n+44>>2]=0,h[n+32>>2]=0,h[n+36>>2]=0,h[n+24>>2]=0,h[n+28>>2]=0,h[n+16>>2]=0,h[n+20>>2]=0,h[n+8>>2]=0,h[n+12>>2]=0,(0|(s=h[e+832>>2]))<=-1)for(h[e+836>>2]<=-1&&((i=h[e+840>>2])&&(d[e+844|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+840>>2]=0),h[e+836>>2]=0,h[e+840>>2]=0,o[e+844|0]=1);f=h[n+12>>2],i=h[e+840>>2]+g(s,56)|0,h[i>>2]=h[n+8>>2],h[i+4>>2]=f,a=h[n+60>>2],h[i+48>>2]=h[n+56>>2],h[i+52>>2]=a,a=h[n+52>>2],h[i+40>>2]=h[n+48>>2],h[i+44>>2]=a,a=h[n+44>>2],h[i+32>>2]=h[n+40>>2],h[i+36>>2]=a,a=h[n+36>>2],h[i+24>>2]=h[n+32>>2],h[i+28>>2]=a,a=h[n+28>>2],h[i+16>>2]=h[n+24>>2],h[i+20>>2]=a,a=h[n+20>>2],h[i+8>>2]=h[n+16>>2],h[i+12>>2]=a,a=(i=s+1|0)>>>0>=s>>>0,s=i,a;);h[e+832>>2]=0,cn(e+928|0,1),cn(u,1),cn(e+1048|0,1),w=n+144|0}function Z(e,t,n){var i,r=v(0),o=0,a=v(0),s=v(0),c=v(0),l=v(0),u=0,p=0,d=0,f=0,_=v(0),b=v(0),y=0,C=0,A=0,x=v(0),T=v(0),E=v(0),P=v(0),O=0,M=0,R=0,I=0,D=0;w=i=w-96|0,h[e+376>>2]=0,h[e+364>>2]=4,h[e+368>>2]=0,u=e+316|0,h[e+360>>2]=u,h[e+356>>2]=e+284,h[e+352>>2]=e+252,h[e+348>>2]=e+220,o=h[t+4>>2],h[e>>2]=h[t>>2],h[e+4>>2]=o,o=h[t+20>>2],h[e+16>>2]=h[t+16>>2],h[e+20>>2]=o,o=h[t+12>>2],h[e+8>>2]=h[t+8>>2],h[e+12>>2]=o,o=h[t+36>>2],h[e+32>>2]=h[t+32>>2],h[e+36>>2]=o,o=h[t+28>>2],h[e+24>>2]=h[t+24>>2],h[e+28>>2]=o,o=h[t+52>>2],h[e+48>>2]=h[t+48>>2],h[e+52>>2]=o,o=h[t+44>>2],h[e+40>>2]=h[t+40>>2],h[e+44>>2]=o,f=h[4+(d=t- -64|0)>>2],h[(o=e- -64|0)>>2]=h[d>>2],h[o+4>>2]=f,o=h[t+60>>2],h[e+56>>2]=h[t+56>>2],h[e+60>>2]=o,o=h[t+84>>2],h[e+80>>2]=h[t+80>>2],h[e+84>>2]=o,o=h[t+76>>2],h[e+72>>2]=h[t+72>>2],h[e+76>>2]=o,o=h[t+100>>2],h[e+96>>2]=h[t+96>>2],h[e+100>>2]=o,o=h[t+92>>2],h[e+88>>2]=h[t+88>>2],h[e+92>>2]=o,o=h[t+108>>2],h[e+104>>2]=h[t+104>>2],h[e+108>>2]=o,o=h[t+116>>2],h[e+112>>2]=h[t+112>>2],h[e+116>>2]=o,o=h[t+124>>2],t=h[t+120>>2],h[e+180>>2]=0,h[e+144>>2]=0,h[e+120>>2]=t,h[e+124>>2]=o,t=h[n+12>>2],h[e+136>>2]=h[n+8>>2],h[e+140>>2]=t,t=h[n+4>>2],h[e+128>>2]=h[n>>2],h[e+132>>2]=t,o=e+128|0,r=m[e+128>>2],c=m[e+132>>2],s=m[e+136>>2],(_=v(v(v(r*r)+v(c*c))+v(s*s)))>v(0)?(m[i+40>>2]=-s,m[i+36>>2]=-c,m[i+32>>2]=-r):(h[i+40>>2]=0,h[i+32>>2]=1065353216,h[i+36>>2]=0),h[i+44>>2]=0,h[e+364>>2]=3,h[e+164>>2]=0,h[e+180>>2]=1,h[e+148>>2]=u,pr(e,i+32|0,u),h[e+164>>2]=1065353216,t=h[e+148>>2],n=h[t+20>>2],h[o>>2]=h[t+16>>2],h[o+4>>2]=n,n=h[t+28>>2],h[o+8>>2]=h[t+24>>2],h[o+12>>2]=n,n=h[t+28>>2],h[i+88>>2]=h[t+24>>2],h[i+92>>2]=n,n=h[t+20>>2],h[i+80>>2]=h[t+16>>2],h[i+84>>2]=n,n=h[t+28>>2],h[i+72>>2]=h[t+24>>2],h[i+76>>2]=n,n=h[t+20>>2],h[i+64>>2]=h[t+16>>2],h[i+68>>2]=n,n=h[t+28>>2],h[i+56>>2]=h[t+24>>2],h[i+60>>2]=n,n=h[t+20>>2],h[i+48>>2]=h[t+16>>2],h[i+52>>2]=n,n=h[t+28>>2],h[i+40>>2]=h[t+24>>2],h[i+44>>2]=n,n=h[t+20>>2],h[i+32>>2]=h[t+16>>2],h[i+36>>2]=n,r=m[e+136>>2],c=m[e+132>>2],s=m[e+128>>2],u=h[e+368>>2];e:{t:{n:{for(;;){if((b=v(S(v(v(v(s*s)+v(c*c))+v(r*r)))))>2]=1;break n}if(h[i+28>>2]=0,m[i+24>>2]=-r,m[i+20>>2]=-c,m[i+16>>2]=-s,d=148+(n=g(u,36)+e|0)|0,t=h[n+180>>2],h[16+(f=d+(t<<2)|0)>>2]=0,p=h[e+364>>2]+-1|0,h[e+364>>2]=p,y=f,f=h[348+((p<<2)+e|0)>>2],h[y>>2]=f,h[n+180>>2]=t+1,pr(e,i+16|0,f),p=h[n+180>>2],t=h[(d+(p<<2)|0)-4>>2],r=m[t+16>>2],c=v(r-m[i+32>>2]),a=v(c*c),c=m[t+20>>2],s=v(c-m[i+36>>2]),l=v(a+v(s*s)),s=m[t+24>>2],a=v(s-m[i+40>>2]),!(v(l+v(a*a))>2]),l=v(a*a),a=v(c-m[i+52>>2]),l=v(l+v(a*a)),a=v(s-m[i+56>>2]),v(l+v(a*a))>2]),l=v(a*a),a=v(c-m[i+68>>2]),l=v(l+v(a*a)),a=v(s-m[i+72>>2]),v(l+v(a*a))>2]),l=v(a*a),a=v(c-m[i+84>>2]),l=v(l+v(a*a)),a=v(s-m[i+88>>2]),v(l+v(a*a))>2],h[8+(f=(i+32|0)+((O=O+1&3)<<4)|0)>>2]=h[t+24>>2],h[f+12>>2]=A,y=h[t+20>>2],h[f>>2]=h[t+16>>2],h[f+4>>2]=y,r=v(v(v(v(m[e+128>>2]*r)+v(m[e+132>>2]*c))+v(m[e+136>>2]*s))/b),v(v(b-(x=r>x?r:x))+v(b*v(-9999999747378752e-20)))<=v(0)){u=h[e+368>>2],n=g(u,36)+e|0,t=h[n+180>>2]+-1|0,h[n+180>>2]=t,t=h[148+(n+(t<<2)|0)>>2],n=h[e+364>>2],h[e+364>>2]=n+1,h[348+((n<<2)+e|0)>>2]=t;break n}h[i+12>>2]=0;i:{r:{o:{a:switch(p+-2|0){case 0:if(t=h[n+152>>2],T=m[t+16>>2],d=h[d>>2],_=m[d+16>>2],b=v(T-_),E=m[t+20>>2],c=m[d+20>>2],a=v(E-c),P=m[t+24>>2],s=m[d+24>>2],l=v(P-s),!((r=v(v(v(b*b)+v(a*a))+v(l*l)))>v(0)))break r;if((r=v(v(-v(v(v(_*b)+v(c*a))+v(s*l)))/r))>=v(1)){h[i+16>>2]=0,h[i+20>>2]=1065353216,h[i+12>>2]=2,_=v(v(v(T*T)+v(E*E))+v(P*P));break o}if(r<=v(0)){h[i+16>>2]=1065353216,h[i+20>>2]=0,h[i+12>>2]=1,_=v(v(v(_*_)+v(c*c))+v(s*s));break o}h[i+12>>2]=3,m[i+20>>2]=r,m[i+16>>2]=v(1)-r,s=v(s+v(l*r)),_=v(_+v(b*r)),r=v(c+v(a*r)),_=v(v(s*s)+v(v(_*_)+v(r*r)));break o;case 1:_=ot(h[d>>2]+16|0,h[n+152>>2]+16|0,h[n+156>>2]+16|0,i+16|0,i+12|0);break o;case 2:break a;default:break o}_=Ye(h[d>>2]+16|0,h[n+152>>2]+16|0,h[n+156>>2]+16|0,h[n+160>>2]+16|0,i+16|0,i+12|0)}if(_>=v(0)){if(t=0,y=g(u=1-u|0,36)+e|0,h[(d=y)+180>>2]=0,h[o+8>>2]=0,h[o+12>>2]=0,h[o>>2]=0,h[o+4>>2]=0,h[e+368>>2]=u,r=v(0),f=h[i+12>>2],c=v(0),s=v(0),!(A=h[n+180>>2]))break i;for(;p=h[148+(M=(C=t<<2)+n|0)>>2],f>>>t&1?(R=h[d+180>>2],h[148+(I=(R<<2)+y|0)>>2]=p,r=m[(p=C+(i+16|0)|0)>>2],p=h[p>>2],h[d+180>>2]=R+1,h[I+164>>2]=p,p=h[M+148>>2],b=m[p+24>>2],c=m[p+20>>2],s=v(v(m[p+16>>2]*r)+m[e+128>>2]),m[e+128>>2]=s,c=v(v(c*r)+m[e+132>>2]),m[e+132>>2]=c,r=v(v(b*r)+m[e+136>>2]),m[e+136>>2]=r):(C=h[e+364>>2],h[e+364>>2]=C+1,h[348+((C<<2)+e|0)>>2]=p),(0|A)!=(0|(t=t+1|0)););break i}}u=h[e+368>>2],n=g(u,36)+e|0,t=h[n+180>>2]+-1|0,h[n+180>>2]=t,t=h[148+(n+(t<<2)|0)>>2],n=h[e+364>>2],h[e+364>>2]=n+1,h[348+((n<<2)+e|0)>>2]=t;break n}if(15==(0|f)&&(h[e+376>>2]=1),127==(0|D)){t=2,h[e+376>>2]=2,h[e+372>>2]=148+(g(u,36)+e|0);break e}if(D=D+1|0,!(t=h[e+376>>2]))continue;break t}break}u=h[e+368>>2],n=g(u,36)+e|0,t=h[n+180>>2]+-1|0,h[n+180>>2]=t,t=h[148+(n+(t<<2)|0)>>2],n=h[e+364>>2],h[e+364>>2]=n+1,h[348+((n<<2)+e|0)>>2]=t}t=h[e+376>>2]}h[e+372>>2]=148+(g(u,36)+e|0);t:switch(0|t){case 0:r=m[e+128>>2],a=v(r*r),r=m[e+132>>2],a=v(a+v(r*r)),r=m[e+136>>2],m[e+144>>2]=S(v(a+v(r*r))),t=0;break e;case 1:break t;default:break e}h[e+144>>2]=0,t=1}return w=i+96|0,t}function q(e){var t,n=0,i=0,a=0,s=v(0),u=v(0),b=0,C=v(0),A=v(0),x=v(0),T=0,E=v(0),P=0,O=v(0),M=v(0),R=0,I=v(0),D=0,L=0,N=0,F=v(0),B=0,k=v(0),V=0,z=0,j=0,U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0);if(w=t=w-96|0,o[t+52|0]=1,h[t+48>>2]=0,o[t+72|0]=1,h[t+40>>2]=0,h[t+44>>2]=0,h[t+68>>2]=0,o[t+92|0]=1,h[t+60>>2]=0,h[t+64>>2]=0,h[t+88>>2]=0,h[t+80>>2]=0,h[t+84>>2]=0,h[t+28>>2]=0,o[t+32|0]=1,h[t+20>>2]=0,h[t+24>>2]=0,h[e+72>>2]=0,h[e+76>>2]=0,h[e+64>>2]=0,h[e+68>>2]=0,!((0|(i=h[e+28>>2]))<1)){for(;;){if(n=h[e+36>>2],V=g(T,36),(0|(z=h[4+(n+V|0)>>2]))>=1){for(D=0;;){i=h[12+(n+V|0)>>2],n=h[i+(D<<2)>>2],b=h[i+(((N=(0|z)==(0|(D=D+1|0)))?0:D)<<2)>>2],p[t+10>>1]=b,p[t+8>>1]=n,L=0,(0|(a=b<<16>>16))>(0|(i=n<<16>>16))&&(p[t+10>>1]=n,p[t+8>>1]=b,a=n,i=b);e:if(!((n=(b=a<<16)+(P=i<<16>>16)&h[t+64>>2]+-1)>>>0>=_[t+20>>2])&&-1!=(0|(n=h[h[t+28>>2]+(n<<2)>>2]))){for(R=h[t+48>>2],B=h[t+88>>2];;){if(f[2+(j=(n<<=2)+B|0)>>1]!=(65535&a)||f[j>>1]!=(65535&i)){if(-1!=(0|(n=h[n+R>>2])))continue;break e}break}L=n+h[t+68>>2]|0}i=(a=h[e+16>>2])+(b>>16<<4)|0,a=a+(P<<4)|0,s=v(m[i+8>>2]-m[a+8>>2]),u=v(m[i>>2]-m[a>>2]),C=v(m[i+4>>2]-m[a+4>>2]),x=v(v(1)/v(S(v(v(v(u*u)+v(C*C))+v(s*s))))),s=v(s*x),C=v(C*x),u=v(u*x);e:{if((0|(i=h[e+48>>2]))>=1)for(b=h[e+56>>2],n=0;;){if(x=m[8+(a=b+(n<<4)|0)>>2],O=m[a>>2],E=m[a+4>>2],(+v(y(v(x-s)))>1e-6^1?!(+v(y(v(O-u)))>1e-6|+v(y(v(E-C)))>1e-6):0)|(+v(y(v(s+x)))>1e-6^1?!(+v(y(v(u+O)))>1e-6|+v(y(v(C+E)))>1e-6):0))break e;if(!((0|(n=n+1|0))<(0|i)))break}if(h[e+52>>2]==(0|i)&&!((0|i)>=(0|(a=i?i<<1:1)))){if(n=0,b=0,a&&(h[7717]=h[7717]+1,b=0|r[h[6606]](a<<4,16),i=h[e+48>>2]),(0|i)>=1)for(;R=(P=n<<4)+b|0,P=P+h[e+56>>2]|0,j=h[P+4>>2],h[R>>2]=h[P>>2],h[R+4>>2]=j,B=h[P+12>>2],h[R+8>>2]=h[P+8>>2],h[R+12>>2]=B,(0|i)!=(0|(n=n+1|0)););(i=h[e+56>>2])&&(d[e+60|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+56>>2]=0),h[e+56>>2]=b,o[e+60|0]=1,h[e+52>>2]=a,i=h[e+48>>2]}i=h[e+56>>2]+(i<<4)|0,h[i+12>>2]=0,m[i+8>>2]=s,m[i+4>>2]=C,m[i>>2]=u,h[e+48>>2]=h[e+48>>2]+1}if(L?p[L+2>>1]=T:(p[t>>1]=T,p[t+2>>1]=65535,Dt(t+16|0,t+8|0,t)),N)break;n=h[e+36>>2]}i=h[e+28>>2]}if(!((0|(T=T+1|0))<(0|i)))break}if(b=0,!((0|i)<1))for(b=(0|i)>0,a=h[e+16>>2],V=h[e+36>>2],T=0;;){if(n=V+g(T,36)|0,(0|(D=h[n+4>>2]))>=3)for(z=D+-1|0,L=h[n+12>>2],B=P=a+(h[L>>2]<<4)|0,u=m[e+72>>2],x=m[e+68>>2],E=m[e+64>>2],n=1;N=a+(h[L+(n<<2)>>2]<<4)|0,s=m[N+8>>2],R=a+(h[L+((0|(n=n+1|0))%(0|D)<<2)>>2]<<4)|0,C=m[R+8>>2],O=m[P>>2],U=m[N>>2],G=v(O-U),A=m[P+4>>2],H=m[R+4>>2],k=v(A-H),W=m[N+4>>2],I=v(A-W),X=m[R>>2],Y=v(O-X),F=v(v(G*k)-v(I*Y)),Z=I,I=m[B+8>>2],Q=v(I-C),K=v(I-s),k=v(v(Z*Q)-v(K*k)),C=v(v(v(I+s)+C)*v(.3333333432674408)),s=v(v(K*Y)-v(G*Q)),s=v(v(S(v(v(F*F)+v(v(k*k)+v(s*s)))))*v(.5)),u=v(u+v(C*s)),m[e+72>>2]=u,x=v(x+v(v(v(H+v(A+W))*v(.3333333432674408))*s)),m[e+68>>2]=x,E=v(E+v(v(v(X+v(O+U))*v(.3333333432674408))*s)),m[e+64>>2]=E,M=v(M+s),(0|n)!=(0|z););if((0|(T=T+1|0))==(0|i))break}}if(h[e+96>>2]=2139095039,s=v(v(1)/M),x=v(s*m[e+64>>2]),m[e+64>>2]=x,E=v(s*m[e+68>>2]),m[e+68>>2]=E,M=v(s*m[e+72>>2]),m[e+72>>2]=M,s=v(34028234663852886e22),C=v(34028234663852886e22),b)for(b=h[e+36>>2],a=0;n=b+g(a,36)|0,(u=v(y(v(m[n+32>>2]+v(v(v(x*m[n+20>>2])+v(E*m[n+24>>2]))+v(M*m[n+28>>2]))))))>2]=u,C=u),(0|(a=a+1|0))!=(0|i););if((0|(a=h[e+8>>2]))<1)O=v(-34028234663852886e22),u=v(34028234663852886e22),x=v(-34028234663852886e22),E=v(-34028234663852886e22),M=v(34028234663852886e22);else for(b=h[e+16>>2],E=v(-34028234663852886e22),n=0,M=v(34028234663852886e22),x=v(-34028234663852886e22),O=v(-34028234663852886e22),u=v(34028234663852886e22);E=(A=m[8+(i=b+(n<<4)|0)>>2])>E?A:E,u=A>2])>x?A:x,s=A>2])>O?A:O,M=A>2]=0,A=v(E-u),m[e+124>>2]=A,F=v(x-s),m[e+120>>2]=F,I=v(O-M),m[e+116>>2]=I,h[e+112>>2]=0,m[e+108>>2]=u+E,m[e+104>>2]=s+x,m[e+100>>2]=O+M,u=m[(b=(a=(i=I>2],s=v(C/v(1.7320507764816284)),m[e+84>>2]=s,m[e+88>>2]=s,m[e+80>>2]=s,a=a+(e+80|0)|0,C=v(m[b>>2]*v(.5)),m[a>>2]=C,u=v(v(v(u*v(.5))-s)*v(.0009765625));e:{t:{for(;;){if(Fn(e))break t;if(C=v(C-u),m[a>>2]=C,1024==(0|(n=n+1|0)))break}m[e+84>>2]=s,m[e+88>>2]=s,m[e+80>>2]=s;break e}if(b=h[(n=(a=e+80|0)+((1<<(i=1<>2],a=h[(i=T=a+(i<<2)|0)>>2],u=v(v(m[e+96>>2]-s)*v(.0009765625)),m[i>>2]=u+m[i>>2],s=v(u+m[n>>2]),m[n>>2]=s,Fn(e)){for(i=0;;){if(C=s,1024==(0|(i=i+1|0)))break e;if(a=h[T>>2],m[T>>2]=u+m[T>>2],s=v(u+m[n>>2]),m[n>>2]=s,!Fn(e))break}c(C),b=l(0)}h[T>>2]=a,h[n>>2]=b}(e=h[t+88>>2])&&(d[t+92|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[t+88>>2]=0),h[t+88>>2]=0,o[t+92|0]=1,h[t+80>>2]=0,h[t+84>>2]=0,(e=h[t+68>>2])&&(d[t+72|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[t+68>>2]=0),h[t+68>>2]=0,o[t+72|0]=1,h[t+60>>2]=0,h[t+64>>2]=0,(e=h[t+48>>2])&&(d[t+52|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[t+48>>2]=0),h[t+48>>2]=0,o[t+52|0]=1,h[t+40>>2]=0,h[t+44>>2]=0,(e=h[t+28>>2])&&(d[t+32|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[t+28>>2]=0),w=t+96|0}function J(e,t,n,i){var a,s=0,c=0,l=0,u=0,p=0,f=v(0),_=v(0),b=v(0),g=0,y=v(0),C=v(0),A=v(0),x=0,T=v(0),E=0,P=v(0),O=0,M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=0,B=v(0),k=v(0),V=v(0),z=v(0);if(w=a=w-80|0,!((0|n)<4)){for(T=m[t+8>>2],P=m[t+4>>2],b=m[t>>2],h[7717]=h[7717]+1,l=n<<2,E=0|r[h[6606]](l,16),h[a+60>>2]=0,h[7717]=h[7717]+1,l=0|r[h[6606]](l,16),h[a+68>>2]=l,o[a+72|0]=1,h[a+64>>2]=n,p=E,C=T,y=P,I=b,x=u=n;;){if((0|s)==(0|u))if((0|u)>=(0|(O=u?u<<1:1)))c=l;else{s=0,c=0,O&&(h[7717]=h[7717]+1,c=0|r[h[6606]](O<<2,16));e:{t:{if((0|u)>=1)for(;;)if(h[(F=s<<2)+c>>2]=h[l+F>>2],(0|u)==(0|(s=s+1|0)))break t;if(!l)break e}l&&(h[7718]=h[7718]+1,r[h[6607]](l)),h[a+68>>2]=0,u=h[a+60>>2]}h[a+68>>2]=c,o[a+72|0]=1,h[a+64>>2]=O}else c=l,u=s;if(h[(u<<2)+c>>2]=1,h[a+60>>2]=h[a+60>>2]+1,(0|g)==(0|x))if(g>>>0>=(x=g?g<<1:1)>>>0)x=g;else{s=0,h[7717]=h[7717]+1,E=0|r[h[6606]](x<<2,16);e:{t:{if(g)for(;;)if(h[(l=s<<2)+E>>2]=h[l+p>>2],(0|g)==(0|(s=s+1|0)))break t;if(!p){x=1;break e}}p&&(h[7718]=h[7718]+1,r[h[6607]](p))}p=E}if(h[(g<<2)+p>>2]=0,C=C<(_=m[8+(l=(g<<4)+t|0)>>2])?_:C,y=y<(f=m[l+4>>2])?f:y,I=I<(A=m[l>>2])?A:I,T=_>2],s=h[a+60>>2],l=c}if(function(e,t,n,i){var r=0,o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=0,p=0,d=v(0),f=v(0),_=v(0),b=0,g=v(0),y=0,C=0,A=0,x=v(0),T=0,E=0,P=v(0),O=v(0),M=v(0);w=r=w+-64|0,h[r+24>>2]=1065353216,h[r+28>>2]=0,h[r+16>>2]=1008981770,h[r+20>>2]=1017370378,C=at(t,n,r+16|0,i),h[r+12>>2]=0,m[r+8>>2]=-m[r+24>>2],m[r+4>>2]=-m[r+20>>2],m[r>>2]=-m[r+16>>2],A=at(t,n,r,i),_=m[(b=(C<<4)+t|0)>>2],s=m[(T=(A<<4)+t|0)>>2],c=m[b+4>>2],l=m[T+4>>2],a=m[b+8>>2],o=m[T+8>>2],h[r+28>>2]=0,x=v(a-o),m[r+24>>2]=x,d=v(c-l),m[r+20>>2]=d,s=v(_-s),m[r+16>>2]=s,(0|C)!=(0|A)&&x!=v(0)|d!=v(0)|s!=v(0)?(h[r+60>>2]=0,h[r+44>>2]=0,c=v(v(d*v(-.019999999552965164))-s),m[r+56>>2]=c,a=v(s*v(0)),o=v(x*v(.019999999552965164)),l=v(a+o),m[r+52>>2]=l,f=v(d+v(s*v(-.019999999552965164))),m[r+40>>2]=f,_=v(a-x),m[r+36>>2]=_,g=o,o=v(d*v(0)),s=v(g-o),m[r+32>>2]=s,a=v(x-o),m[r+48>>2]=a,E=r+48|0,u=r+32|0,y=r,(o=v(S(v(v(v(s*s)+v(_*_))+v(f*f)))))>v(S(v(v(v(a*a)+v(l*l))+v(c*c))))?(o=v(v(1)/o),m[r+36>>2]=_*o,m[r+32>>2]=s*o,g=v(f*o)):(p=h[E+4>>2],h[u>>2]=h[E>>2],h[u+4>>2]=p,p=h[E+12>>2],h[u+8>>2]=h[E+8>>2],h[u+12>>2]=p,l=m[r+32>>2],a=m[r+36>>2],o=m[r+40>>2],c=v(v(1)/v(S(v(v(v(l*l)+v(a*a))+v(o*o))))),m[r+36>>2]=a*c,m[r+32>>2]=l*c,g=v(o*c)),m[y+40>>2]=g,(0|(u=at(t,n,u,i)))!=(0|A)&&(0|C)!=(0|u)||(h[r+12>>2]=0,m[r+8>>2]=-m[r+40>>2],m[r+4>>2]=-m[r+36>>2],m[r>>2]=-m[r+32>>2],u=at(t,n,r,i)),(0|u)!=(0|A)&&(0|u)!=(0|C)?(_=m[4+(y=(u<<4)+t|0)>>2],s=m[y+8>>2],c=m[y>>2],l=m[b+4>>2],a=m[b+8>>2],o=m[b>>2],h[r+44>>2]=0,h[r+60>>2]=0,d=v(c-o),m[r+32>>2]=d,f=m[r+24>>2],s=v(s-a),m[r+40>>2]=s,c=m[r+16>>2],a=m[r+20>>2],o=v(_-l),m[r+36>>2]=o,l=v(v(a*d)-v(o*c)),a=v(v(o*f)-v(s*a)),o=v(v(s*c)-v(f*d)),c=v(v(1)/v(S(v(v(l*l)+v(v(a*a)+v(o*o)))))),m[r+56>>2]=l*c,m[r+52>>2]=o*c,m[r+48>>2]=a*c,((0|(p=at(t,n,E,i)))==(0|A)||(0|u)==(0|p)|(0|p)==(0|C))&&(h[r+12>>2]=0,m[r+8>>2]=-m[r+56>>2],m[r+4>>2]=-m[r+52>>2],m[r>>2]=-m[r+48>>2],p=at(t,n,r,i)),(0|p)==(0|A)||(0|u)==(0|p)|(0|p)==(0|C)?(h[e>>2]=-1,h[e+4>>2]=-1,h[e+8>>2]=-1,h[e+12>>2]=-1):(s=m[8+(t=(p<<4)+t|0)>>2],x=m[t>>2],d=m[t+4>>2],f=m[T+4>>2],c=m[y+4>>2],P=m[b+4>>2],_=m[T+8>>2],l=m[y>>2],o=m[T>>2],O=m[b>>2],a=m[y+8>>2],M=m[b+8>>2],h[e+4>>2]=A,h[e>>2]=C,g=v(s-M),s=v(o-O),c=v(c-P),o=v(f-P),l=v(l-O),f=v(g*v(v(s*c)-v(o*l))),a=v(a-M),g=v(o*a),o=v(_-M),t=v(f+v(v(v(x-O)*v(g-v(o*c)))+v(v(d-P)*v(v(o*l)-v(s*a)))))>2]=t?u:p,h[e+8>>2]=t?p:u)):(h[e>>2]=-1,h[e+4>>2]=-1,h[e+8>>2]=-1,h[e+12>>2]=-1)):(h[e>>2]=-1,h[e+4>>2]=-1,h[e+8>>2]=-1,h[e+12>>2]=-1),w=r- -64|0}(a+40|0,t,n,a+56|0),s=0,-1!=(0|(l=h[a+40>>2]))){if(c=h[a+52>>2],_=m[(p=(c<<4)+t|0)>>2],s=h[a+48>>2],f=m[(g=(s<<4)+t|0)>>2],u=h[a+44>>2],A=m[(x=(u<<4)+t|0)>>2],M=m[(O=(l<<4)+t|0)>>2],D=m[p+4>>2],L=m[g+4>>2],N=m[x+4>>2],R=m[O+4>>2],B=m[p+8>>2],k=m[g+8>>2],V=m[x+8>>2],z=m[O+8>>2],h[a+36>>2]=0,m[a+32>>2]=v(B+v(k+v(z+V)))*v(.25),m[a+28>>2]=v(D+v(L+v(R+N)))*v(.25),m[a+24>>2]=v(_+v(f+v(M+A)))*v(.25),p=sr(e,s,c,u),h[p+12>>2]=2,h[p+16>>2]=3,h[p+20>>2]=1,p=sr(e,c,s,l),h[p+12>>2]=3,h[p+16>>2]=2,h[p+20>>2]=0,p=sr(e,l,u,c),h[p+12>>2]=0,h[p+16>>2]=1,h[p+20>>2]=3,l=sr(e,u,l,s),h[l+12>>2]=1,h[l+16>>2]=0,h[l+20>>2]=2,h[(c<<2)+E>>2]=1,h[(h[a+48>>2]<<2)+E>>2]=1,h[(h[a+44>>2]<<2)+E>>2]=1,h[(h[a+40>>2]<<2)+E>>2]=1,(0|(s=h[e+4>>2]))>=1)for(g=0;l=h[h[e+12>>2]+(g<<2)>>2],c=(h[l+4>>2]<<4)+t|0,_=m[c>>2],s=(h[l>>2]<<4)+t|0,A=v(_-m[s>>2]),u=(h[l+8>>2]<<4)+t|0,f=m[c+4>>2],M=v(m[u+4>>2]-f),f=v(f-m[s+4>>2]),D=v(m[u>>2]-_),_=v(v(A*M)-v(f*D)),R=f,f=m[c+8>>2],L=v(m[u+8>>2]-f),N=v(f-m[s+8>>2]),f=v(v(R*L)-v(N*M)),A=v(v(N*D)-v(A*L)),(M=v(S(v(v(_*_)+v(v(f*f)+v(A*A))))))!=v(0)?(R=_,_=v(v(1)/M),m[a+16>>2]=R*_,m[a+12>>2]=A*_,m[a+8>>2]=f*_):(h[a+16>>2]=0,h[a+8>>2]=1065353216,h[a+12>>2]=0),h[a+20>>2]=0,c=at(t,n,a+8|0,a+56|0),h[l+28>>2]=c,u=l,c=(c<<4)+t|0,l=(h[l>>2]<<4)+t|0,m[u+32>>2]=v(v(v(m[c>>2]-m[l>>2])*m[a+8>>2])+v(v(m[c+4>>2]-m[l+4>>2])*m[a+12>>2]))+v(v(m[c+8>>2]-m[l+8>>2])*m[a+16>>2]),(0|(g=g+1|0))<(0|(s=h[e+4>>2])););e:if(!((0|(l=i?i+-4|0:999999996))<1))for(b=v(I-b),P=v(y-P),T=v(C-T),T=v(v(S(v(v(v(b*b)+v(P*P))+v(T*T))))*v(.0010000000474974513)),P=v(T*v(.009999999776482582)),I=v(v(T*T)*v(.10000000149011612));;){for(p=(0|s)>1?s:1,u=h[e+12>>2],i=0,s=0;!(c=h[(s<<2)+u>>2])|m[i+32>>2]>2]^1&&i||(i=c),(0|p)!=(0|(s=s+1|0)););if(!i|m[i+32>>2]>T^1)break e;c=h[i+28>>2],h[(c<<2)+E>>2]=1;t:if(s=h[e+4>>2]){for(p=(c<<4)+t|0;(i=h[((s=s+-1|0)<<2)+u>>2])&&(h[a+16>>2]=h[i+8>>2],u=h[i+4>>2],h[a+8>>2]=h[i>>2],h[a+12>>2]=u,mr(t,a+8|0,p,P)&&Ge(e,i,c)),s;)u=h[e+12>>2];if(g=u=h[e+4>>2],u){for(;;){n:{if(O=h[e+12>>2],i=h[O+((g=g+-1|0)<<2)>>2]){if((0|c)!=h[i+8>>2]&&!((0|c)==h[i>>2]|(0|c)==h[i+4>>2]))break n;h[a+16>>2]=h[i+8>>2],s=h[i+4>>2],h[a+8>>2]=h[i>>2],h[a+12>>2]=s,(mr(t,a+8|0,a+24|0,P)||(s=(h[a+12>>2]<<4)+t|0,b=m[s>>2],p=(h[a+8>>2]<<4)+t|0,C=v(b-m[p>>2]),x=(h[a+16>>2]<<4)+t|0,y=m[s+4>>2],_=v(m[x+4>>2]-y),y=v(y-m[p+4>>2]),b=v(m[x>>2]-b),f=v(v(C*_)-v(y*b)),A=v(f*f),R=y,y=m[s+8>>2],f=v(m[x+8>>2]-y),y=v(y-m[p+8>>2]),_=v(v(R*f)-v(y*_)),b=v(v(y*b)-v(C*f)),v(S(v(A+v(v(_*_)+v(b*b)))))>2]<<2)>>2],c),g=u=h[e+4>>2])}if(g)continue}break}if(u)for(;;){if(u=u+-1|0,i=h[h[e+12>>2]+(u<<2)>>2]){if(h[i+28>>2]>-1)break t;c=(h[i+4>>2]<<4)+t|0,b=m[c>>2],s=(h[i>>2]<<4)+t|0,y=v(b-m[s>>2]),p=(h[i+8>>2]<<4)+t|0,C=m[c+4>>2],_=v(m[p+4>>2]-C),C=v(C-m[s+4>>2]),f=v(m[p>>2]-b),b=v(v(y*_)-v(C*f)),R=C,C=m[c+8>>2],A=v(m[p+8>>2]-C),M=v(C-m[s+8>>2]),C=v(v(R*A)-v(M*_)),y=v(v(M*f)-v(y*A)),(_=v(S(v(v(b*b)+v(v(C*C)+v(y*y))))))!=v(0)?(f=b,b=v(v(1)/_),m[a+16>>2]=f*b,m[a+12>>2]=y*b,m[a+8>>2]=C*b):(h[a+16>>2]=0,h[a+8>>2]=1065353216,h[a+12>>2]=0),h[a+20>>2]=0,c=at(t,n,a+8|0,a+56|0),h[i+28>>2]=c,h[(c<<2)+E>>2]?h[i+28>>2]=-1:(g=i,c=(c<<4)+t|0,i=(h[i>>2]<<4)+t|0,m[g+32>>2]=v(v(v(m[c>>2]-m[i>>2])*m[a+8>>2])+v(v(m[c+4>>2]-m[i+4>>2])*m[a+12>>2]))+v(v(m[c+8>>2]-m[i+8>>2])*m[a+16>>2]))}if(!u)break}}}if((0|l)<2)break e;l=l+-1|0,s=h[e+4>>2]}s=1}(e=h[a+68>>2])&&(d[a+72|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[a+68>>2]=0),E&&E&&(h[7718]=h[7718]+1,r[h[6607]](E))}return w=a+80|0,s}function $(e,t,n){var i,a=0,s=0,c=0,l=0,u=0,p=v(0),f=0,_=0,b=0,C=v(0),A=v(0),x=0,T=0,E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0);w=i=w-32|0,A=m[n+8>>2],v(y(A))>v(.7071067690849304)?(C=m[n+4>>2],p=v(v(1)/v(S(v(v(A*A)+v(C*C))))),O=v(C*p),E=v(p*v(-A)),p=v(0)):(A=m[n>>2],C=m[n+4>>2],p=v(v(1)/v(S(v(v(A*A)+v(C*C))))),E=v(A*p),p=v(p*v(-C)));e:if((0|(l=h[e+4>>2]))>=2){for(a=h[e+12>>2];u=g(_,24),v(v(v(p*m[(s=u+a|0)>>2])+v(E*m[s+4>>2]))+v(O*m[s+8>>2]))>2])+v(E*m[a+4>>2]))+v(O*m[a+8>>2]))&&(c=h[a+20>>2],h[i+24>>2]=h[a+16>>2],h[i+28>>2]=c,c=h[a+12>>2],h[i+16>>2]=h[a+8>>2],h[i+20>>2]=c,c=h[a+4>>2],h[i+8>>2]=h[a>>2],h[i+12>>2]=c,c=h[s+4>>2],h[a>>2]=h[s>>2],h[a+4>>2]=c,c=h[s+12>>2],h[a+8>>2]=h[s+8>>2],h[a+12>>2]=c,c=h[s+20>>2],h[a+16>>2]=h[s+16>>2],h[a+20>>2]=c,s=h[i+12>>2],c=u+h[e+12>>2]|0,h[(a=c)>>2]=h[i+8>>2],h[a+4>>2]=s,s=h[i+28>>2],h[a+16>>2]=h[i+24>>2],h[a+20>>2]=s,s=h[i+20>>2],h[a+8>>2]=h[i+16>>2],h[a+12>>2]=s,l=h[e+4>>2],a=h[e+12>>2]),(0|(_=_+1|0))<(0|l););if(h[a+16>>2]=-246811958,(0|l)>=2)for(I=m[a+8>>2],A=m[a+4>>2],C=m[a>>2],_=1;s=g(_,24)+a|0,M=v(m[s+4>>2]-A),R=v(m[s>>2]-C),P=v(m[s+8>>2]-I),m[s+16>>2]=v(v(v(v(p*M)-v(E*R))*m[n+8>>2])+v(v(m[n>>2]*v(v(E*P)-v(O*M)))+v(m[n+4>>2]*v(v(O*R)-v(p*P)))))/v(S(v(v(v(R*R)+v(M*M))+v(P*P)))),(0|(_=_+1|0))!=(0|l););if(s=h[a+12>>2],h[i+16>>2]=h[a+8>>2],h[i+20>>2]=s,s=h[a+4>>2],h[i+8>>2]=h[a>>2],h[i+12>>2]=s,on(e,i+8|0,1,l+-1|0),s=h[e+12>>2],(0|(l=h[t+4>>2]))==h[t+8>>2]&&!((0|l)>=(0|(b=l?l<<1:1)))){if(a=0,b&&(h[7717]=h[7717]+1,x=0|r[h[6606]](g(b,24),16),l=h[t+4>>2]),(0|l)>=1)for(;u=T=(c=g(a,24))+x|0,f=c+h[t+12>>2]|0,c=h[f+4>>2],h[u>>2]=h[f>>2],h[u+4>>2]=c,c=h[f+20>>2],h[u+16>>2]=h[f+16>>2],h[u+20>>2]=c,c=h[f+12>>2],h[u+8>>2]=h[f+8>>2],h[u+12>>2]=c,(0|l)!=(0|(a=a+1|0)););(a=h[t+12>>2])&&(d[t+16|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[t+12>>2]=0),h[t+12>>2]=x,o[t+16|0]=1,h[t+8>>2]=b,l=h[t+4>>2]}if(a=h[s+4>>2],u=h[t+12>>2]+g(l,24)|0,h[(c=u)>>2]=h[s>>2],h[c+4>>2]=a,a=h[s+20>>2],h[c+16>>2]=h[s+16>>2],h[c+20>>2]=a,a=h[s+12>>2],h[c+8>>2]=h[s+8>>2],h[c+12>>2]=a,l=h[t+4>>2]+1|0,h[t+4>>2]=l,s=h[e+12>>2],h[t+8>>2]==(0|l)&&!((0|l)>=(0|(b=l?l<<1:1)))){if(a=0,x=0,b&&(h[7717]=h[7717]+1,x=0|r[h[6606]](g(b,24),16),l=h[t+4>>2]),(0|l)>=1)for(;u=T=(c=g(a,24))+x|0,f=c+h[t+12>>2]|0,c=h[f+4>>2],h[u>>2]=h[f>>2],h[u+4>>2]=c,c=h[f+20>>2],h[u+16>>2]=h[f+16>>2],h[u+20>>2]=c,c=h[f+12>>2],h[u+8>>2]=h[f+8>>2],h[u+12>>2]=c,(0|l)!=(0|(a=a+1|0)););(a=h[t+12>>2])&&(d[t+16|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[t+12>>2]=0),h[t+12>>2]=x,o[t+16|0]=1,h[t+8>>2]=b,l=h[t+4>>2]}if(a=h[s+28>>2],u=h[t+12>>2]+g(l,24)|0,h[(c=u)>>2]=h[s+24>>2],h[c+4>>2]=a,a=h[s+44>>2],h[c+16>>2]=h[s+40>>2],h[c+20>>2]=a,a=h[s+36>>2],h[c+8>>2]=h[s+32>>2],h[c+12>>2]=a,s=h[t+4>>2]+1|0,h[t+4>>2]=s,2==(0|(a=h[e+4>>2])))break e;for(x=2;;){if((0|s)>=2){for(c=h[e+12>>2]+g(x,24)|0,D=m[c+8>>2],L=m[c+4>>2],E=m[c>>2],O=m[n+8>>2],M=m[n+4>>2],R=m[n>>2],l=h[t+12>>2],a=s;;){if(s=g(a,24)+l|0,C=m[(u=s+-48|0)>>2],P=v(C-m[(s=s+-24|0)>>2]),p=m[u+4>>2],I=v(p-L),p=v(p-m[s+4>>2]),A=v(C-E),N=v(v(v(P*I)-v(p*A))*O),F=p,p=m[u+8>>2],C=v(p-D),p=v(p-m[s+8>>2]),v(N+v(v(R*v(v(F*C)-v(p*I)))+v(M*v(v(p*A)-v(P*C)))))>v(0)){if(h[t+8>>2]==(0|a)&&!((0|a)>=(0|(T=a<<1)))){if(h[7717]=h[7717]+1,l=0|r[h[6606]](g(a,48),16),a=0,(0|(b=h[t+4>>2]))>=1)for(;u=f=(s=g(a,24))+l|0,_=s+h[t+12>>2]|0,s=h[_+4>>2],h[u>>2]=h[_>>2],h[u+4>>2]=s,s=h[_+20>>2],h[u+16>>2]=h[_+16>>2],h[u+20>>2]=s,s=h[_+12>>2],h[u+8>>2]=h[_+8>>2],h[u+12>>2]=s,(0|b)!=(0|(a=a+1|0)););(s=h[t+12>>2])&&(d[t+16|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s)),h[t+12>>2]=0),h[t+12>>2]=l,o[t+16|0]=1,h[t+8>>2]=T,a=h[t+4>>2]}s=h[c+4>>2],u=g(a,24)+l|0,h[(a=u)>>2]=h[c>>2],h[a+4>>2]=s,s=h[c+20>>2],h[a+16>>2]=h[c+16>>2],h[a+20>>2]=s,s=h[c+12>>2],h[a+8>>2]=h[c+8>>2],h[a+12>>2]=s,s=h[t+4>>2]+1|0,h[t+4>>2]=s}else if(s=a+-1|0,h[t+4>>2]=s,u=(0|a)>2,a=s,u)continue;break}a=h[e+4>>2]}if((0|(x=x+1|0))==(0|a))break}}else if(1==(0|l))for(l=h[t+4>>2];;){if(s=h[e+12>>2],h[t+8>>2]==(0|l)&&!((0|l)>=(0|(b=l?l<<1:1)))){if(a=0,n=0,b&&(h[7717]=h[7717]+1,n=0|r[h[6606]](g(b,24),16),l=h[t+4>>2]),(0|l)>=1)for(;u=T=(c=g(a,24))+n|0,f=c+h[t+12>>2]|0,c=h[f+4>>2],h[u>>2]=h[f>>2],h[u+4>>2]=c,c=h[f+20>>2],h[u+16>>2]=h[f+16>>2],h[u+20>>2]=c,c=h[f+12>>2],h[u+8>>2]=h[f+8>>2],h[u+12>>2]=c,(0|l)!=(0|(a=a+1|0)););(a=h[t+12>>2])&&(d[t+16|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[t+12>>2]=0),h[t+12>>2]=n,o[t+16|0]=1,h[t+8>>2]=b,l=h[t+4>>2]}if(n=h[s+4>>2],c=h[t+12>>2]+g(l,24)|0,h[(a=c)>>2]=h[s>>2],h[a+4>>2]=n,n=h[s+20>>2],h[a+16>>2]=h[s+16>>2],h[a+20>>2]=n,n=h[s+12>>2],h[a+8>>2]=h[s+8>>2],h[a+12>>2]=n,l=h[t+4>>2]+1|0,h[t+4>>2]=l,!((0|(_=_+1|0))>2]))break}w=i+32|0}function ee(e,t,n,i,r,o,a,s,c){var l,u,p,f,_,b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=v(0),N=v(0);f=(p=h[e+16>>2])+g(i,244)|0,l=h[f+240>>2],_=g(n,244)+p|0,u=h[_+240>>2],h[a>>2]=1065353216,b=m[r+68>>2],y=m[s>>2],C=m[s+4>>2],A=m[r+64>>2],T=v(v(b*y)-v(C*A)),x=m[s+8>>2],P=v(x*A),A=m[r+72>>2],E=v(P-v(A*y)),O=v(v(C*A)-v(x*b)),b=v(0),y=v(0),C=v(0),u&&(C=v(v(v(v(O*m[u+296>>2])+v(E*m[u+300>>2]))+v(T*m[u+304>>2]))*m[u+552>>2]),y=v(v(v(v(O*m[u+280>>2])+v(E*m[u+284>>2]))+v(T*m[u+288>>2]))*m[u+548>>2]),b=v(v(v(v(O*m[u+264>>2])+v(E*m[u+268>>2]))+v(T*m[u+272>>2]))*m[u+544>>2])),m[t+64>>2]=b,h[t+76>>2]=0,m[t+72>>2]=C,m[t+68>>2]=y,A=m[r+68>>2],x=m[c>>2],M=m[c+4>>2],I=m[r+64>>2],w=v(v(A*x)-v(M*I)),P=m[c+8>>2],R=m[r+72>>2],I=v(v(P*I)-v(R*x)),M=v(v(M*R)-v(P*A)),A=v(0),x=v(0),l&&(S=v(-I),x=v(v(v(v(m[l+300>>2]*S)-v(M*m[l+296>>2]))-v(w*m[l+304>>2]))*m[l+552>>2]),A=v(v(v(v(m[l+284>>2]*S)-v(M*m[l+280>>2]))-v(w*m[l+288>>2]))*m[l+548>>2]),S=v(v(v(v(m[l+268>>2]*S)-v(M*m[l+264>>2]))-v(w*m[l+272>>2]))*m[l+544>>2])),m[t+80>>2]=S,h[t+92>>2]=0,m[t+88>>2]=x,m[t+84>>2]=A,e=t,D=m[a>>2],u?(R=m[s+8>>2],L=m[s+4>>2],N=v(v(v(y*R)-v(C*L))*m[r+64>>2]),P=C,C=m[s>>2],y=v(m[u+344>>2]+v(v(N+v(v(v(P*C)-v(R*b))*m[r+68>>2]))+v(v(v(L*b)-v(y*C))*m[r+72>>2])))):y=v(0),P=y,l?(y=m[c+4>>2],C=m[c+8>>2],b=v(v(v(x*y)-v(A*C))*m[r+64>>2]),R=v(S*C),C=m[c>>2],y=v(m[l+344>>2]+v(v(b+v(v(R-v(x*C))*m[r+68>>2]))+v(v(v(A*C)-v(S*y))*m[r+72>>2])))):y=v(0),m[e+108>>2]=D/v(P+y),u?(a=h[4+(e=r- -64|0)>>2],h[t+16>>2]=h[e>>2],h[t+20>>2]=a,a=h[e+12>>2],h[t+24>>2]=h[e+8>>2],h[t+28>>2]=a,h[t+12>>2]=0,m[t+8>>2]=T,m[t+4>>2]=E,m[t>>2]=O):(h[t>>2]=0,h[t+4>>2]=0,h[t+24>>2]=0,h[t+28>>2]=0,h[t+16>>2]=0,h[t+20>>2]=0,h[t+8>>2]=0,h[t+12>>2]=0),l?(b=m[r+64>>2],y=m[r+68>>2],C=m[r+72>>2],h[t+60>>2]=0,h[t+44>>2]=0,m[t+40>>2]=-w,m[t+36>>2]=-I,m[t+32>>2]=-M,m[t+56>>2]=-C,m[t+52>>2]=-y,m[t+48>>2]=-b):(h[t+32>>2]=0,h[t+36>>2]=0,h[t+56>>2]=0,h[t+60>>2]=0,h[t+48>>2]=0,h[t+52>>2]=0,h[t+40>>2]=0,h[t+44>>2]=0),R=m[o+56>>2],L=m[r+80>>2],S=v(0),b=v(0),y=v(0),C=v(0),u&&(b=m[s+4>>2],y=m[u+328>>2],A=m[u+332>>2],x=m[s>>2],C=v(v(v(b*y)-v(A*x))+m[u+320>>2]),T=m[u+336>>2],P=v(T*x),x=m[s+8>>2],y=v(m[u+316>>2]+v(P-v(x*y))),b=v(v(v(A*x)-v(T*b))+m[u+312>>2])),A=v(0),x=v(0),l&&(S=m[c+4>>2],A=m[l+328>>2],T=m[l+332>>2],E=m[c>>2],x=v(v(v(S*A)-v(T*E))+m[l+320>>2]),O=m[l+336>>2],P=v(O*E),E=m[c+8>>2],A=v(m[l+316>>2]+v(P-v(E*A))),S=v(v(v(T*E)-v(O*S))+m[l+312>>2])),T=m[r+72>>2],E=m[r+64>>2],O=m[r+68>>2],h[t+104>>2]=h[r+84>>2],S=v(-v(v(v(E*v(b-S))+v(O*v(y-A)))+v(T*v(C-x)))),D=m[r+92>>2];e:if(4&d[o+64|0]){if(b=v(m[r+120>>2]*m[o+60>>2]),m[t+100>>2]=b,!u|!h[_+240>>2]||(y=m[u+356>>2],C=m[t+24>>2],A=m[u+352>>2],x=m[t+20>>2],e=g(n,244)+p|0,m[e+64>>2]=v(m[e+112>>2]*v(b*v(v(m[t+16>>2]*m[e+128>>2])*m[u+348>>2])))+m[e+64>>2],m[e+68>>2]=v(v(b*v(A*v(x*m[e+132>>2])))*m[e+116>>2])+m[e+68>>2],m[e+72>>2]=v(v(b*v(y*v(C*m[e+136>>2])))*m[e+120>>2])+m[e+72>>2],y=m[t+72>>2],C=m[t+68>>2],m[e+80>>2]=v(v(b*m[e+96>>2])*m[t+64>>2])+m[e+80>>2],A=m[e+104>>2],m[e+84>>2]=v(C*v(b*m[e+100>>2]))+m[e+84>>2],m[e+88>>2]=v(y*v(b*A))+m[e+88>>2]),!l|!h[f+240>>2])break e;y=m[l+356>>2],C=m[t+56>>2],A=m[l+352>>2],x=m[t+52>>2],T=m[t+88>>2],E=m[t+84>>2],O=m[t+80>>2],e=g(i,244)+p|0,b=v(-m[t+100>>2]),m[e+64>>2]=m[e+64>>2]-v(m[e+112>>2]*v(v(v(m[e+128>>2]*m[t+48>>2])*m[l+348>>2])*b)),m[e+68>>2]=m[e+68>>2]-v(v(v(A*v(x*m[e+132>>2]))*b)*m[e+116>>2]),m[e+72>>2]=m[e+72>>2]-v(v(v(y*v(C*m[e+136>>2]))*b)*m[e+120>>2]),m[e+80>>2]=m[e+80>>2]-v(O*v(m[e+96>>2]*b)),y=m[e+104>>2],m[e+84>>2]=m[e+84>>2]-v(E*v(m[e+100>>2]*b)),m[e+88>>2]=m[e+88>>2]-v(T*v(y*b))}else h[t+100>>2]=0;h[t+96>>2]=0,b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),h[_+240>>2]&&(e=g(n,244)+p|0,E=m[e+224>>2],A=m[e+208>>2],x=m[e+232>>2],T=m[e+228>>2],C=m[e+212>>2],y=m[e+216>>2]),O=v(0),w=v(0),M=v(0),I=v(0),P=v(0),h[f+240>>2]&&(e=g(i,244)+p|0,P=m[e+224>>2],M=m[e+232>>2],I=m[e+228>>2],w=m[e+216>>2],O=m[e+212>>2],b=m[e+208>>2]),D=(S=v(D*S))<=v(0)?v(0):S,e=g(n,244)+p|0,y=v(v(v(v(v(A+m[e+176>>2])*m[t+16>>2])+v(v(C+m[e+180>>2])*m[t+20>>2]))+v(v(y+m[e+184>>2])*m[t+24>>2]))+v(v(v(v(E+m[e+192>>2])*m[t>>2])+v(v(T+m[e+196>>2])*m[t+4>>2]))+v(v(x+m[e+200>>2])*m[t+8>>2]))),e=g(i,244)+p|0,b=v(y+v(v(v(v(v(b+m[e+176>>2])*m[t+48>>2])+v(v(O+m[e+180>>2])*m[t+52>>2]))+v(v(w+m[e+184>>2])*m[t+56>>2]))+v(v(v(v(P+m[e+192>>2])*m[t+32>>2])+v(v(I+m[e+196>>2])*m[t+36>>2]))+v(v(M+m[e+200>>2])*m[t+40>>2])))),e=o+36|0,!(n=h[o+44>>2])|!!((S=v(L+R))>m[o+48>>2])&&(e=o+32|0),b=v(D-b),y=v(0),S>v(0)?b=v(b-v(S/m[o+12>>2])):y=v(v(m[e>>2]*v(-S))/m[o+12>>2]),C=m[t+108>>2],b=v(b*C),y=v(y*C),e=t,S>m[o+48>>2]^1&&n||(b=v(y+b),y=v(0)),m[e+128>>2]=y,m[t+112>>2]=b,h[t+124>>2]=1343554297,h[t+116>>2]=0,h[t+120>>2]=0}function te(e,t,n,i,a,s,c,l){var u=v(0),p=v(0),f=v(0),_=0,b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=0,E=0,P=v(0),O=0,M=v(0),R=v(0),I=v(0),w=v(0),D=0,L=0,N=0,F=v(0);if(!t)return 0;for((0|(E=h[e+24>>2]))<=-1&&(_=h[e+32>>2],h[e+28>>2]<=-1&&(!_|!d[e+36|0]||_&&(h[7718]=h[7718]+1,r[h[6607]](_)),o[e+36|0]=1,h[e+28>>2]=0,h[e+32>>2]=0,_=0),ji((T=_)+(_=E<<2)|0,0,0-_|0)),h[e+24>>2]=0,h[a>>2]=0,h[l+8>>2]=1065353216,h[l>>2]=1065353216,h[l+4>>2]=1065353216,E=t>>>0>1?t:1,g=v(34028234663852886e22),x=v(-34028234663852886e22),S=v(-34028234663852886e22),C=v(34028234663852886e22),A=v(-34028234663852886e22),p=v(34028234663852886e22),_=n;(u=m[_>>2])>2]),b=u,T=u>A,(u=m[_+4>>2])>2]),A=T?b:A,S=u>S?u:S,(u=m[_+8>>2])>2]),x=u>x?u:x,_=i+_|0,(0|E)!=(0|(O=O+1|0)););if(u=v(x-g),x=v(g+v(u*v(.5))),b=v(S-C),S=v(C+v(b*v(.5))),g=p,p=v(A-p),A=v(g+v(p*v(.5))),t>>>0<3|pv(9.999999974752427e-7)&&pv(9.999999974752427e-7)&&bv(9.999999974752427e-7)&&u>2]=u,p=v(S+g),m[s+116>>2]=p,b=v(A-C),m[s+112>>2]=b,m[s+104>>2]=u,m[s+100>>2]=p,C=v(A+C),m[s+96>>2]=C,m[s+88>>2]=u,g=v(S-g),m[s+84>>2]=g,m[s+80>>2]=C,m[s+72>>2]=u,m[s+68>>2]=g,m[s+64>>2]=b,c=v(x-c),m[s+56>>2]=c,m[s+52>>2]=p,m[s+48>>2]=b,m[s+40>>2]=c,m[s+36>>2]=p,m[s+32>>2]=C,m[s+24>>2]=c,m[s+20>>2]=g,m[s+16>>2]=C,m[s+8>>2]=c,m[s+4>>2]=g,m[s>>2]=b,h[a>>2]=8,1;for(m[l+8>>2]=u,m[l+4>>2]=b,m[l>>2]=p,f=v(v(1)/u),x=v(f*x),M=v(v(1)/b),b=v(M*S),S=v(v(1)/p),p=v(S*A),l=0;;){u=v(f*m[n+8>>2]),g=v(M*m[n+4>>2]),C=v(S*m[n>>2]),_=0;e:{if(l){E=(O=h[a>>2])>>>0>1?O:1;t:{for(;;){if(A=m[(T=(_<<4)+s|0)>>2],v(y(v(A-C)))>2],v(y(v(P-g)))>2],v(y(v(I-u)))v(P+v(A*A))))break t;m[T>>2]=C,m[T+4>>2]=g,m[T+8>>2]=u;break t}if(l=O,(0|E)==(0|(_=_+1|0)))break}_=E}if((0|l)!=(0|_))break e}m[8+(l=(_<<4)+s|0)>>2]=u,m[l+4>>2]=g,m[l>>2]=C,h[a>>2]=_+1}if((0|(l=h[e+24>>2]))==h[e+28>>2]&&!((0|l)>=(0|(T=l?l<<1:1)))){O=0,D=0,T&&(h[7717]=h[7717]+1,D=0|r[h[6606]](T<<2,16),l=h[e+24>>2]),E=h[e+32>>2];e:{t:{if((0|l)>=1)for(;;)if(h[(L=O<<2)+D>>2]=h[E+L>>2],(0|(O=O+1|0))==(0|l))break t;if(!E)break e}d[e+36|0]&&E&&(h[7718]=h[7718]+1,r[h[6607]](E)),h[e+32>>2]=0,l=h[e+24>>2]}h[e+32>>2]=D,o[e+36|0]=1,h[e+28>>2]=T}if(n=n+i|0,h[h[e+32>>2]+(l<<2)>>2]=_,h[e+24>>2]=h[e+24>>2]+1,l=h[a>>2],(0|(N=N+1|0))==(0|t))break}if(p=v(-34028234663852886e22),c=v(34028234663852886e22),l){for(_=0,g=v(34028234663852886e22),M=v(-34028234663852886e22),C=v(34028234663852886e22),P=v(-34028234663852886e22),x=v(-34028234663852886e22),S=v(34028234663852886e22),A=v(-34028234663852886e22),b=v(34028234663852886e22),u=v(-34028234663852886e22),I=v(34028234663852886e22);x=(t=(f=m[8+(e=(_<<4)+s|0)>>2])>x)?f:x,p=t?f:p,S=(t=f>2])>A)?f:A,M=t?f:M,b=(t=f>2])>u)?f:u,P=e?f:P,I=(e=f>>0<3}else g=v(34028234663852886e22),M=v(-34028234663852886e22),C=v(34028234663852886e22),P=v(-34028234663852886e22),e=1;return p=v(p-c),x=v(M-g),((S=v(P-C))=v(9.999999974752427e-7)&&S=v(9.999999974752427e-7)&&x=v(9.999999974752427e-7)&&p>2]=c,g=v(M+b),m[s+116>>2]=g,C=v(P-A),m[s+112>>2]=C,m[s+104>>2]=c,m[s+100>>2]=g,p=v(P+A),m[s+96>>2]=p,m[s+88>>2]=c,b=v(M-b),m[s+84>>2]=b,m[s+80>>2]=p,m[s+72>>2]=c,m[s+68>>2]=b,m[s+64>>2]=C,c=v(f-u),m[s+56>>2]=c,m[s+52>>2]=g,m[s+48>>2]=C,m[s+40>>2]=c,m[s+36>>2]=g,m[s+32>>2]=p,m[s+24>>2]=c,m[s+20>>2]=b,m[s+16>>2]=p,m[s+8>>2]=c,m[s+4>>2]=b,m[s>>2]=C,h[a>>2]=8),1}function ne(e,t,n,i){var o,a=0,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=0,M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=0,F=v(0),B=0,k=0,V=0,z=0;w=o=w-672|0,h[4+(a=o+456|0)>>2]=35,h[a+8>>2]=0,h[a>>2]=13316,h[a+44>>2]=1025758986,h[a+20>>2]=1065353216,h[a+24>>2]=0,h[a+12>>2]=1065353216,h[a+16>>2]=1065353216,h[a>>2]=13444,m[o+500>>2]=0,m[o+484>>2]=0,h[o+456>>2]=11556,h[o+460>>2]=8,h[o+404>>2]=0,h[o+408>>2]=0,h[o+416>>2]=0,h[o+420>>2]=0,h[o+412>>2]=1065353216,h[o+432>>2]=1065353216,h[o+436>>2]=0,h[o+396>>2]=0,h[o+400>>2]=0,h[o+392>>2]=1065353216,h[o+424>>2]=0,h[o+428>>2]=0,a=h[e+12>>2],h[o+448>>2]=h[e+8>>2],h[o+452>>2]=a,a=h[e+4>>2],h[o+440>>2]=h[e>>2],h[o+444>>2]=a,h[i+32>>2]=0,h[i+24>>2]=0,h[i+28>>2]=0,h[i+16>>2]=0,h[i+20>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0,h[i>>2]=0,h[i+4>>2]=0,h[o+512>>2]=t,h[o+516>>2]=o+456,s=m[n+36>>2],l=m[n+20>>2],c=m[n+40>>2],u=m[n+24>>2],y=m[n+32>>2],C=m[n>>2],b=m[n+16>>2],d=m[n+4>>2],p=m[n+8>>2],h[o+564>>2]=0,h[o+548>>2]=0,h[o+532>>2]=0,f=v(p*v(0)),A=v(u*v(0)),E=v(c+v(f+A)),m[o+560>>2]=E,g=v(d*v(0)),x=v(l*v(0)),R=v(s+v(g+x)),m[o+556>>2]=R,T=v(C*v(0)),P=v(b*v(0)),F=v(y+v(T+P)),m[o+552>>2]=F,I=v(f+u),f=v(c*v(0)),I=v(I+f),m[o+544>>2]=I,D=v(g+l),g=v(s*v(0)),D=v(D+g),m[o+540>>2]=D,L=v(T+b),T=v(y*v(0)),L=v(L+T),m[o+536>>2]=L,f=v(v(p+A)+f),m[o+528>>2]=f,A=v(v(d+x)+g),m[o+524>>2]=A,g=v(v(C+P)+T),m[o+520>>2]=g,x=m[n+52>>2],T=m[n+56>>2],P=m[n+48>>2],h[o+636>>2]=0,h[o+628>>2]=0,h[o+612>>2]=0,m[o+608>>2]=E,m[o+604>>2]=I,m[o+600>>2]=f,h[o+596>>2]=0,m[o+592>>2]=R,m[o+588>>2]=D,m[o+584>>2]=A,h[o+580>>2]=0,m[o+576>>2]=F,m[o+572>>2]=L,f=p,p=v(m[o+440>>2]-P),A=u,u=v(m[o+444>>2]-x),x=c,c=v(m[o+448>>2]-T),m[o+624>>2]=v(v(f*p)+v(A*u))+v(x*c),m[o+620>>2]=v(v(p*d)+v(u*l))+v(c*s),m[o+616>>2]=v(v(p*C)+v(u*b))+v(c*y),h[o+632>>2]=98,m[o+568>>2]=g,h[o+144>>2]=0,h[o+148>>2]=0,h[o+136>>2]=0,h[o+140>>2]=0,h[o+372>>2]=0,h[o+376>>2]=0,h[o+384>>2]=2,h[o+152>>2]=0,h[o+664>>2]=1065353216,h[o+668>>2]=0,h[o+656>>2]=1065353216,h[o+660>>2]=1065353216,s=v(34028234663852886e22);e:{t:switch(0|Z(o+8|0,o+512|0,o+656|0)){case 0:if(s=v(0),c=v(0),u=v(0),y=v(0),C=v(0),a=h[o+380>>2],h[a+32>>2])for(e=0;l=m[16+(O=(B=e<<2)+a|0)>>2],a=h[o+632>>2],N=o+656|0,k=h[o+636>>2],z=V=h[o+512>>2]+(k>>1)|0,O=h[O>>2],1&k&&(a=h[a+h[V>>2]>>2]),r[a](N,z,O),N=h[o+636>>2],O=h[o+516>>2]+(N>>1)|0,f=v(l*m[o+664>>2]),A=v(l*m[o+660>>2]),E=v(l*m[o+656>>2]),a=h[h[o+380>>2]+B>>2],b=m[a+8>>2],d=m[a>>2],p=v(-m[a+4>>2]),a=h[o+632>>2],a=1&N?h[h[O>>2]+a>>2]:a,C=v(C+f),y=v(y+A),u=v(u+E),h[o+652>>2]=0,m[o+648>>2]=v(v(m[o+556>>2]*p)-v(d*m[o+552>>2]))-v(b*m[o+560>>2]),m[o+644>>2]=v(v(m[o+540>>2]*p)-v(d*m[o+536>>2]))-v(b*m[o+544>>2]),m[o+640>>2]=v(v(m[o+524>>2]*p)-v(d*m[o+520>>2]))-v(b*m[o+528>>2]),r[a](o+656|0,O,o+640|0),b=m[o+656>>2],d=m[o+660>>2],p=m[o+664>>2],c=v(c+v(l*v(v(v(v(b*m[o+600>>2])+v(d*m[o+604>>2]))+v(p*m[o+608>>2]))+m[o+624>>2]))),s=v(s+v(l*v(v(v(v(b*m[o+584>>2])+v(d*m[o+588>>2]))+v(p*m[o+592>>2]))+m[o+620>>2]))),M=v(M+v(l*v(v(v(v(b*m[o+568>>2])+v(d*m[o+572>>2]))+v(p*m[o+576>>2]))+m[o+616>>2]))),e=e+1|0,a=h[o+380>>2],e>>>0<_[a+32>>2];);l=m[n+48>>2],b=m[n+8>>2],d=m[n>>2],p=m[n+4>>2],f=m[n+52>>2],A=m[n+24>>2],E=m[n+16>>2],g=m[n+20>>2],x=m[n+56>>2],R=m[n+40>>2],T=m[n+32>>2],P=m[n+36>>2],h[i+16>>2]=0,x=v(x+v(v(v(u*T)+v(y*P))+v(C*R))),m[i+12>>2]=x,f=v(f+v(v(v(u*E)+v(y*g))+v(C*A))),m[i+8>>2]=f,l=v(l+v(v(v(u*d)+v(y*p))+v(C*b))),m[i+4>>2]=l,u=m[n+48>>2],y=m[n+8>>2],C=m[n>>2],b=m[n+4>>2],d=m[n+52>>2],p=m[n+24>>2],A=m[n+16>>2],E=m[n+20>>2],g=m[n+56>>2],R=m[n+40>>2],T=m[n+32>>2],P=m[n+36>>2],h[i+32>>2]=0,g=v(g+v(v(v(M*T)+v(s*P))+v(c*R))),m[i+28>>2]=g,d=v(d+v(v(v(M*A)+v(s*E))+v(c*p))),m[i+24>>2]=d,s=v(u+v(v(v(M*C)+v(s*b))+v(c*y))),m[i+20>>2]=s,y=Ua(t),C=Ua(o+456|0),h[i+48>>2]=0,l=v(s-l),c=v(d-f),u=v(g-x),M=v(S(v(v(v(l*l)+v(c*c))+v(u*u)))),s=v(v(1)/M),u=v(u*s),m[i+44>>2]=u,c=v(c*s),m[i+40>>2]=c,l=v(l*s),m[i+36>>2]=l,s=v(y+C),m[i+4>>2]=v(s*l)+m[i+4>>2],m[i+8>>2]=v(s*c)+m[i+8>>2],m[i+12>>2]=v(s*u)+m[i+12>>2],s=v(M-s);break e;case 1:break t;default:break e}_e(t,n,o+456|0,o+392|0,o+136|0,i,1)&&(s=v(m[i+4>>2]-m[i+20>>2]),l=v(m[i+8>>2]-m[i+24>>2]),c=v(m[i+12>>2]-m[i+28>>2]),(u=v(S(v(v(v(s*s)+v(l*l))+v(c*c)))))>=v(1.1920928955078125e-7)&&(h[i+48>>2]=0,p=c,c=v(v(1)/u),m[i+44>>2]=p*c,m[i+40>>2]=l*c,m[i+36>>2]=s*c),s=v(-u))}return w=o+672|0,s}function ie(e,t,n,i,o,a){e|=0,t|=0,n|=0,i|=0,o|=0,a|=0;var s,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=0,C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=0,V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0),q=v(0),J=v(0),$=v(0),ee=v(0),te=v(0),ne=v(0),ie=0,re=0;w=s=w-96|0,ha(h[e+4>>2]),Q=m[i+40>>2],K=m[i+36>>2],Z=m[i+24>>2],q=m[i+20>>2],V=m[t+20>>2],z=m[t+36>>2],j=m[t+24>>2],O=m[t+52>>2],l=m[n+52>>2],M=m[i+52>>2],d=m[o+52>>2],U=m[t+40>>2],R=m[t+56>>2],f=m[n+56>>2],I=m[i+56>>2],c=m[o+56>>2],J=m[i+32>>2],$=m[i+16>>2],ee=m[i+8>>2],te=m[i+4>>2],ne=m[i>>2],G=m[t>>2],H=m[t+16>>2],W=m[t+32>>2],X=m[t+4>>2],Y=m[t+8>>2],D=m[t+48>>2],u=m[n+48>>2],L=m[i+48>>2],p=m[o+48>>2],y=h[e+8>>2],h[s+60>>2]=0,E=v(v(l-O)-v(d-M)),l=v(-E),C=v(v(u-D)-v(p-L)),A=v(v(f-R)-v(c-I)),m[s+56>>2]=v(v(j*l)-v(Y*C))-v(U*A),m[s+52>>2]=v(v(V*l)-v(C*X))-v(A*z),m[s+48>>2]=v(v(H*l)-v(C*G))-v(A*W),r[h[h[y>>2]+64>>2]](s+80|0,y,s+48|0),c=m[t+52>>2],u=m[t+24>>2],p=m[t+20>>2],l=m[t+56>>2],f=m[t+40>>2],d=m[t+36>>2],_=m[t+48>>2],b=m[t+8>>2],g=m[t>>2],T=m[t+4>>2],P=m[t+16>>2],x=m[t+32>>2],h[s+76>>2]=0,N=l,l=m[s+80>>2],F=d,d=m[s+84>>2],B=f,f=m[s+88>>2],m[s+72>>2]=N+v(v(v(x*l)+v(F*d))+v(B*f)),m[s+68>>2]=c+v(v(v(l*P)+v(d*p))+v(f*u)),m[s+64>>2]=_+v(v(v(l*g)+v(d*T))+v(f*b)),y=h[e+12>>2],l=m[i+20>>2],d=m[i+36>>2],f=m[i+24>>2],c=m[i+40>>2],u=m[i>>2],p=m[i+16>>2],_=m[i+32>>2],b=m[i+4>>2],g=m[i+8>>2],h[s+28>>2]=0,m[s+24>>2]=v(v(C*g)+v(E*f))+v(A*c),m[s+20>>2]=v(v(C*b)+v(E*l))+v(A*d),m[s+16>>2]=v(v(C*u)+v(E*p))+v(A*_),r[h[h[y>>2]+64>>2]](s+32|0,y,s+16|0),c=m[i+52>>2],u=m[i+24>>2],p=m[i+20>>2],l=m[i+56>>2],f=m[i+40>>2],d=m[i+36>>2],_=m[i+16>>2],b=m[i+48>>2],g=m[i+8>>2],T=m[i>>2],P=m[i+4>>2],x=m[i+32>>2],h[s+60>>2]=0,h[s+92>>2]=0,N=l,l=m[s+32>>2],F=d,d=m[s+36>>2],B=f,f=m[s+40>>2],x=v(N+v(v(v(x*l)+v(F*d))+v(B*f))),m[s+56>>2]=x,b=v(b+v(v(v(l*T)+v(d*P))+v(f*g))),m[s+48>>2]=b,l=v(c+v(v(v(l*_)+v(d*p))+v(f*u))),m[s+52>>2]=l,c=v(m[s+68>>2]-l),m[s+84>>2]=c,u=v(m[s+64>>2]-b),m[s+80>>2]=u,p=v(m[s+72>>2]-x),m[s+88>>2]=p,l=v(0),d=v(0),f=v(0),_=v(0);e:{t:if(v(v(v(u*u)+v(c*c))+v(p*p))>v(9999999747378752e-20))for(y=32;;){if(!y)break t;if(k=h[e+8>>2],h[s+12>>2]=0,c=v(-m[s+84>>2]),u=m[s+80>>2],p=m[s+88>>2],m[s+8>>2]=v(v(j*c)-v(Y*u))-v(U*p),m[s+4>>2]=v(v(V*c)-v(X*u))-v(z*p),m[s>>2]=v(v(H*c)-v(G*u))-v(W*p),r[h[h[k>>2]+64>>2]](s+16|0,k,s),h[s+76>>2]=0,c=m[s+16>>2],u=m[s+20>>2],p=m[s+24>>2],m[s+72>>2]=R+v(v(v(W*c)+v(z*u))+v(U*p)),m[s+68>>2]=O+v(v(v(H*c)+v(V*u))+v(j*p)),m[s+64>>2]=D+v(v(v(G*c)+v(X*u))+v(Y*p)),k=h[e+12>>2],h[s+12>>2]=0,c=m[s+80>>2],u=m[s+84>>2],p=m[s+88>>2],m[s+8>>2]=v(v(ee*c)+v(Z*u))+v(Q*p),m[s+4>>2]=v(v(te*c)+v(q*u))+v(K*p),m[s>>2]=v(v(ne*c)+v($*u))+v(J*p),r[h[h[k>>2]+64>>2]](s+16|0,k,s),h[s+60>>2]=0,h[s+44>>2]=0,c=m[s+16>>2],u=m[s+20>>2],p=m[s+24>>2],b=v(I+v(v(v(J*c)+v(K*u))+v(Q*p))),m[s+56>>2]=b,b=v(m[s+72>>2]-b),m[s+40>>2]=b,g=v(M+v(v(v($*c)+v(q*u))+v(Z*p))),m[s+52>>2]=g,g=v(m[s+68>>2]-g),m[s+36>>2]=g,c=v(L+v(v(v(ne*c)+v(te*u))+v(ee*p))),m[s+48>>2]=c,T=v(m[s+64>>2]-c),m[s+32>>2]=T,_>v(1))break e;if(c=m[s+80>>2],u=m[s+84>>2],p=m[s+88>>2],(P=v(v(v(T*c)+v(g*u))+v(b*p)))>v(0)){if((l=v(v(v(C*c)+v(E*u))+v(A*p)))>=v(-14210854715202004e-30))break e;d=m[t+48>>2],f=m[n+48>>2],O=m[t+52>>2],D=m[n+52>>2],R=m[t+56>>2],x=m[n+56>>2],L=m[i+48>>2],N=m[o+48>>2],M=m[i+52>>2],F=m[o+52>>2],I=m[i+56>>2],B=m[o+56>>2],h[s+44>>2]=0,m[s+40>>2]=b,m[s+36>>2]=g,m[s+32>>2]=T,_=v(_-v(P/l)),l=v(v(1)-_),I=v(v(I*l)+v(_*B)),M=v(v(l*M)+v(_*F)),L=v(v(l*L)+v(_*N)),R=v(v(l*R)+v(_*x)),O=v(v(l*O)+v(_*D)),D=v(v(l*d)+v(_*f)),ie=h[s+92>>2],d=u,f=p,l=c}if(qr(h[e+4>>2],s+32|0)||Fr(h[e+4>>2],s+32|0,s- -64|0,s+48|0),!gc(h[e+4>>2],s+80|0))break t;if(y=y+-1|0,c=m[s+80>>2],u=v(c*c),c=m[s+84>>2],u=v(u+v(c*c)),c=m[s+88>>2],!(v(u+v(c*c))>v(9999999747378752e-20)))break}m[a+164>>2]=_,(c=v(v(v(l*l)+v(d*d))+v(f*f)))>=v(14210854715202004e-30)?(h[a+144>>2]=ie,u=f,f=v(v(1)/v(S(c))),_=v(u*f),m[a+140>>2]=_,d=v(d*f),m[a+136>>2]=d,l=v(l*f),m[a+132>>2]=l):(h[a+132>>2]=0,h[a+136>>2]=0,h[a+140>>2]=0,h[a+144>>2]=0,_=v(0),d=v(0),l=v(0)),v(v(v(C*l)+v(E*d))+v(A*_))>=v(-m[a+172>>2])||(Ca(h[e+4>>2],s+16|0,s),e=h[s+12>>2],h[a+156>>2]=h[s+8>>2],h[a+160>>2]=e,e=h[s+4>>2],h[a+148>>2]=h[s>>2],h[a+152>>2]=e,re=1)}return w=s+96|0,0|re}function re(e,t,n){var i,r,o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0);i=d[e+180|0],d[e+48|0]&&!i?(R=m[n+52>>2],I=m[n+56>>2],b=m[e+164>>2],g=m[e+168>>2],y=m[e+172>>2],o=m[n+20>>2],a=m[n+24>>2],C=m[e+132>>2],O=m[e+148>>2],A=m[e+120>>2],x=m[e+136>>2],S=m[e+152>>2],M=m[e+124>>2],s=m[n+36>>2],T=m[e+140>>2],p=m[n+40>>2],E=m[e+156>>2],w=m[n+48>>2],l=m[n+8>>2],c=m[n>>2],u=m[n+4>>2],f=m[n+16>>2],P=m[e+116>>2],_=m[n+32>>2],h[e+884>>2]=0,h[e+868>>2]=0,h[e+852>>2]=0,h[e+836>>2]=0,m[e+864>>2]=v(v(M*_)+v(T*s))+v(E*p),m[e+860>>2]=v(v(A*_)+v(x*s))+v(S*p),m[e+856>>2]=v(v(P*_)+v(C*s))+v(O*p),m[e+848>>2]=v(v(M*f)+v(T*o))+v(E*a),m[e+844>>2]=v(v(A*f)+v(x*o))+v(S*a),m[e+840>>2]=v(v(P*f)+v(C*o))+v(O*a),m[e+832>>2]=v(v(c*M)+v(u*T))+v(l*E),m[e+828>>2]=v(v(c*A)+v(u*x))+v(l*S),m[e+824>>2]=v(v(P*c)+v(C*u))+v(O*l),m[e+880>>2]=I+v(v(v(_*b)+v(s*g))+v(p*y)),m[e+876>>2]=R+v(v(v(f*b)+v(o*g))+v(a*y)),m[e+872>>2]=w+v(v(v(c*b)+v(u*g))+v(l*y)),o=m[t+16>>2],u=m[e+100>>2],a=m[t+20>>2],f=m[e+104>>2],s=m[t+24>>2],_=m[e+108>>2],b=v(v(v(o*u)+v(a*f))+v(s*_)),g=m[e+60>>2],p=m[t+32>>2],y=m[e+76>>2],l=m[t+36>>2],C=m[e+92>>2],c=m[t+40>>2],O=v(v(v(g*p)+v(y*l))+v(C*c)),A=m[e+56>>2],x=m[e+72>>2],S=m[e+88>>2],M=v(v(v(A*p)+v(x*l))+v(S*c)),T=m[e+52>>2],E=m[e+68>>2],P=m[e+84>>2],R=v(v(v(T*p)+v(E*l))+v(P*c)),I=v(v(v(g*o)+v(y*a))+v(C*s)),w=v(v(v(A*o)+v(x*a))+v(S*s)),D=v(v(v(T*o)+v(E*a))+v(P*s)),c=v(c*_),p=v(v(p*u)+v(l*f)),o=m[t>>2],a=m[t+4>>2],s=m[t+8>>2],u=v(v(v(o*u)+v(a*f))+v(s*_)),f=v(v(v(o*g)+v(a*y))+v(s*C)),l=v(v(v(o*A)+v(a*x))+v(s*S)),n=t,o=v(v(v(T*o)+v(E*a))+v(P*s))):(R=m[t+52>>2],I=m[t+56>>2],b=m[e+100>>2],g=m[e+104>>2],y=m[e+108>>2],o=m[t+20>>2],a=m[t+24>>2],C=m[e+68>>2],O=m[e+84>>2],A=m[e+56>>2],x=m[e+72>>2],S=m[e+88>>2],M=m[e+60>>2],s=m[t+36>>2],T=m[e+76>>2],p=m[t+40>>2],E=m[e+92>>2],w=m[t+48>>2],l=m[t+8>>2],c=m[t>>2],u=m[t+4>>2],f=m[t+16>>2],P=m[e+52>>2],_=m[t+32>>2],h[e+884>>2]=0,h[e+868>>2]=0,h[e+852>>2]=0,h[e+836>>2]=0,m[e+864>>2]=v(v(M*_)+v(T*s))+v(E*p),m[e+860>>2]=v(v(A*_)+v(x*s))+v(S*p),m[e+856>>2]=v(v(P*_)+v(C*s))+v(O*p),m[e+848>>2]=v(v(M*f)+v(T*o))+v(E*a),m[e+844>>2]=v(v(A*f)+v(x*o))+v(S*a),m[e+840>>2]=v(v(P*f)+v(C*o))+v(O*a),m[e+832>>2]=v(v(c*M)+v(u*T))+v(l*E),m[e+828>>2]=v(v(c*A)+v(u*x))+v(l*S),m[e+824>>2]=v(v(P*c)+v(C*u))+v(O*l),m[e+880>>2]=I+v(v(v(_*b)+v(s*g))+v(p*y)),m[e+876>>2]=R+v(v(v(f*b)+v(o*g))+v(a*y)),m[e+872>>2]=w+v(v(v(c*b)+v(u*g))+v(l*y)),o=m[n+16>>2],u=m[e+164>>2],a=m[n+20>>2],f=m[e+168>>2],s=m[n+24>>2],_=m[e+172>>2],b=v(v(v(o*u)+v(a*f))+v(s*_)),g=m[e+124>>2],p=m[n+32>>2],y=m[e+140>>2],l=m[n+36>>2],C=m[e+156>>2],c=m[n+40>>2],O=v(v(v(g*p)+v(y*l))+v(C*c)),A=m[e+120>>2],x=m[e+136>>2],S=m[e+152>>2],M=v(v(v(A*p)+v(x*l))+v(S*c)),T=m[e+116>>2],E=m[e+132>>2],P=m[e+148>>2],R=v(v(v(T*p)+v(E*l))+v(P*c)),I=v(v(v(g*o)+v(y*a))+v(C*s)),w=v(v(v(A*o)+v(x*a))+v(S*s)),D=v(v(v(T*o)+v(E*a))+v(P*s)),c=v(c*_),p=v(v(p*u)+v(l*f)),o=m[n>>2],a=m[n+4>>2],s=m[n+8>>2],u=v(v(v(o*u)+v(a*f))+v(s*_)),f=v(v(v(o*g)+v(a*y))+v(s*C)),l=v(v(v(o*A)+v(a*x))+v(s*S)),o=v(v(v(T*o)+v(E*a))+v(P*s))),a=m[n+56>>2],s=m[n+52>>2],m[e+936>>2]=m[n+48>>2]+u,h[e+932>>2]=0,m[e+928>>2]=O,m[e+924>>2]=M,m[e+920>>2]=R,h[e+916>>2]=0,m[e+912>>2]=I,m[e+908>>2]=w,m[e+904>>2]=D,h[e+900>>2]=0,m[e+896>>2]=f,m[e+892>>2]=l,m[e+888>>2]=o,h[e+948>>2]=0,m[e+940>>2]=b+s,m[e+944>>2]=a+v(p+c),t=h[e+876>>2],h[e+968>>2]=h[e+872>>2],h[e+972>>2]=t,t=h[e+884>>2],h[e+976>>2]=h[e+880>>2],h[e+980>>2]=t,t=h[e+948>>2],h[e+992>>2]=h[e+944>>2],h[e+996>>2]=t,t=h[e+940>>2],h[e+984>>2]=h[e+936>>2],h[e+988>>2]=t,s=m[e+840>>2],t=h[e+840>>2],a=m[e+856>>2],n=h[e+856>>2],p=m[e+824>>2],r=h[e+824>>2],h[e+964>>2]=0,h[e+960>>2]=n,h[e+956>>2]=t,h[e+952>>2]=r,t=e,d[e+48|0]||i?(l=m[e+976>>2],c=v(m[e+992>>2]-l),_=m[e+972>>2],u=v(m[e+988>>2]-_),b=m[e+968>>2],o=v(m[e+984>>2]-b)):(l=m[e+976>>2],c=v(l-m[e+992>>2]),_=m[e+972>>2],u=v(_-m[e+988>>2]),b=m[e+968>>2],o=v(b-m[e+984>>2])),m[t+1016>>2]=o,h[e+1028>>2]=0,m[e+1024>>2]=c,m[e+1020>>2]=u,h[e+1012>>2]=0,f=v(v(v(o*p)+v(u*s))+v(c*a)),m[e+1032>>2]=f,m[e+1008>>2]=l+v(f*a),m[e+1004>>2]=_+v(f*s),m[e+1e3>>2]=b+v(f*p),m[e+1036>>2]=v(v(o*m[e+828>>2])+v(u*m[e+844>>2]))+v(c*m[e+860>>2]),m[e+1040>>2]=v(v(o*m[e+832>>2])+v(u*m[e+848>>2]))+v(c*m[e+864>>2])}function oe(e,t,n){var i,a=0,s=0,c=0,l=0,u=0,p=0,f=0,b=0,y=0,C=0,A=0,x=0,S=0,T=v(0),E=v(0),P=v(0);if(w=i=w-80|0,h[i+68>>2]=0,l=1,o[i+72|0]=1,h[i+60>>2]=0,h[i+64>>2]=0,h[i+48>>2]=0,h[i+52>>2]=0,h[i+40>>2]=0,h[i+44>>2]=0,a=e,(0|(b=(c=h[t+4>>2])>>>0>8?c:8))>=1){for(h[7717]=h[7717]+1,C=0|r[h[6606]](b<<4,16);c=h[i+28>>2],h[(p=(u<<4)+C|0)>>2]=h[i+24>>2],h[p+4>>2]=c,c=h[i+36>>2],h[p+8>>2]=h[i+32>>2],h[p+12>>2]=c,(0|b)!=(0|(u=u+1|0)););c=h[t+4>>2]}if(te(a,c,h[t+8>>2],h[t+12>>2],i+20|0,C,m[t+16>>2],i+24|0)){if(c=h[i+20>>2])for(T=m[i+32>>2],E=m[i+28>>2],P=m[i+24>>2];m[(a=(s<<4)+C|0)>>2]=P*m[a>>2],m[a+4>>2]=E*m[a+4>>2],m[a+8>>2]=T*m[a+8>>2],(0|c)!=(0|(s=s+1|0)););if(function(e,t,n,i,a,s){var c=0,l=0,u=0,p=0,f=0,_=0,m=0,b=0;if(!J(e,t,n,s))return 0;if((0|(t=h[e+4>>2]))<1)n=0;else for(n=0;;){if(c=h[(m=b<<2)+h[e+12>>2]>>2]){e:if((0|l)!=(0|p)||(0|l)>=(0|(u=l?l<<1:1)))u=l,s=n;else{t=0,s=0,u&&(h[7717]=h[7717]+1,s=0|r[h[6606]](u<<2,16));t:{if((0|l)>=1)for(;;)if(h[(f=t<<2)+s>>2]=h[n+f>>2],(0|l)==(0|(t=t+1|0)))break t;if(!n)break e}n&&(h[7718]=h[7718]+1,r[h[6607]](n))}h[(p<<2)+s>>2]=h[c>>2],n=h[h[e+12>>2]+m>>2];e:if((0|(l=p+1|0))!=(0|u)||(0|u)>=(0|(f=u?u<<1:1)))f=u,c=s;else{t=0,c=0,f&&(h[7717]=h[7717]+1,c=0|r[h[6606]](f<<2,16));t:{if((0|u)<=0){if(s)break t;break e}for(;h[(_=t<<2)+c>>2]=h[s+_>>2],(0|u)!=(0|(t=t+1|0)););}s&&(h[7718]=h[7718]+1,r[h[6607]](s))}h[(l<<2)+c>>2]=h[n+4>>2],s=h[h[e+12>>2]+m>>2];e:if((0|(u=p+2|0))!=(0|f)||(0|f)>=(0|(l=f?f<<1:1)))l=f,n=c;else{t=0,n=0,l&&(h[7717]=h[7717]+1,n=0|r[h[6606]](l<<2,16));t:{if((0|f)<=0){if(c)break t;break e}for(;h[(_=t<<2)+n>>2]=h[c+_>>2],(0|f)!=(0|(t=t+1|0)););}c&&(h[7718]=h[7718]+1,r[h[6607]](c))}h[(u<<2)+n>>2]=h[s+8>>2],s=h[e+12>>2],t=h[s+m>>2],h[(h[t+24>>2]<<2)+s>>2]=0,t&&(h[7718]=h[7718]+1,r[h[6607]](t)),p=p+3|0,t=h[e+4>>2]}if(!((0|(b=b+1|0))<(0|t)))break}if(h[a>>2]=(0|p)/3,a=h[i+4>>2],(0|p)>(0|a)){if(h[i+8>>2]>=(0|p))c=h[i+12>>2];else{t=0,l=a,c=0,p&&(h[7717]=h[7717]+1,c=0|r[h[6606]](p<<2,16),l=h[i+4>>2]),s=h[i+12>>2];e:{t:{if((0|l)>=1)for(;;)if(h[(u=t<<2)+c>>2]=h[s+u>>2],(0|l)==(0|(t=t+1|0)))break t;if(!s)break e}d[i+16|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s))}h[i+12>>2]=c,o[i+16|0]=1,h[i+8>>2]=p}ji((a<<2)+c|0,0,p-a<<2)}if(h[i+4>>2]=p,(0|p)>=1)for(i=h[i+12>>2],t=0;h[(a=t<<2)+i>>2]=h[n+a>>2],(0|p)!=(0|(t=t+1|0)););if((0|(t=h[e+4>>2]))<=-1)for(h[e+8>>2]<=-1&&((i=h[e+12>>2])&&(d[e+16|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+12>>2]=0),o[e+16|0]=1,h[e+8>>2]=0,h[e+12>>2]=0);h[h[e+12>>2]+(t<<2)>>2]=0,a=(i=t+1|0)>>>0>=t>>>0,t=i,a;);return h[e+4>>2]=0,n&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),1}(e,C,c,i+56|0,i+4|0,h[t+20>>2])){if(h[i+52>>2]=C,y=h[i+4>>2],h[i+48>>2]=y,A=g(y,3),h[i+44>>2]=A,h[i+40>>2]=c,(0|c)>=1)for(u=0,h[7717]=h[7717]+1,x=0|r[h[6606]](c<<4,16);s=h[i+8>>2],h[(a=(u<<4)+x|0)>>2]=h[i+4>>2],h[a+4>>2]=s,s=h[i+16>>2],h[a+8>>2]=h[i+12>>2],h[a+12>>2]=s,(0|c)!=(0|(u=u+1|0)););!function(e,t,n,i,o,a,s){var c=0,l=0,u=0,p=0,d=0,f=0,_=0,m=0;if(!((0|(c=h[e+24>>2]))<1||(h[7717]=h[7717]+1,c<<=2,c=ji(d=0|r[h[6606]](c,16),0,c),h[e+24>>2]<1)))for(u=h[e+32>>2];h[(p=l<<2)+c>>2]=h[u+p>>2],(0|(l=l+1|0))>2];);c=n<<2;e:{t:{n:{if((0|n)>=1){if(h[7717]=h[7717]+1,n=ji(ji(p=0|r[h[6606]](c,16),0,c),0,c),h[o>>2]=0,(0|s)>0)break n;if(!n)break e;break t}if(p=0,h[o>>2]=ji(0,0,c),(0|s)<1)break e}for(n=0;;){if(f=h[(c=(n<<2)+a|0)>>2],u=h[(m=(f<<2)+p|0)>>2])h[c>>2]=u+-1;else{if(h[c>>2]=h[o>>2],c=h[o>>2],l=(f<<4)+t|0,h[(u=(c<<4)+i|0)>>2]=h[l>>2],h[u+4>>2]=h[l+4>>2],h[u+8>>2]=h[l+8>>2],l=0,u=o,(0|(_=h[e+24>>2]))>0){for(;(0|f)==h[(c=l<<2)+d>>2]&&(h[c+h[e+32>>2]>>2]=h[o>>2],_=h[e+24>>2]),(0|(l=l+1|0))<(0|_););c=h[o>>2]}c=c+1|0,h[u>>2]=c,h[m>>2]=c}if((0|s)==(0|(n=n+1|0)))break}}p&&(h[7718]=h[7718]+1,r[h[6607]](p))}d&&d&&(h[7718]=h[7718]+1,r[h[6607]](d))}(e,C,c,x,i+20|0,u=h[i+68>>2],A);e:{t:{n:{i:{if(1&o[0|t]){if(o[0|n]=0,f=h[i+20>>2],h[n+4>>2]=f,(0|(s=h[n+12>>2]))<(0|f)){if(h[n+16>>2]<(0|f)){if(f?(h[7717]=h[7717]+1,e=0|r[h[6606]](f<<4,16),a=h[n+12>>2]):(e=0,a=s),(0|a)>=1)for(l=0;p=(c=l<<4)+e|0,S=c+h[n+20>>2]|0,c=h[S+4>>2],h[p>>2]=h[S>>2],h[p+4>>2]=c,c=h[S+12>>2],h[p+8>>2]=h[S+8>>2],h[p+12>>2]=c,(0|a)!=(0|(l=l+1|0)););(l=h[n+20>>2])&&(d[n+24|0]&&l&&(h[7718]=h[7718]+1,r[h[6607]](l)),h[n+20>>2]=0),h[n+20>>2]=e,h[n+16>>2]=f,o[n+24|0]=1}for(;e=h[i+8>>2],a=h[n+20>>2]+(s<<4)|0,h[a>>2]=h[i+4>>2],h[a+4>>2]=e,e=h[i+16>>2],h[a+8>>2]=h[i+12>>2],h[a+12>>2]=e,(0|f)!=(0|(s=s+1|0)););}if(h[n+12>>2]=f,h[n+32>>2]=A,h[n+28>>2]=y,(0|(a=h[n+40>>2]))>=(0|A))break t;if(h[n+44>>2]>=(0|A)){e=h[n+48>>2];break n}if(s=0,l=a,e=0,y&&(h[7717]=h[7717]+1,e=0|r[h[6606]](g(y,12),16),l=h[n+40>>2]),b=h[n+48>>2],(0|l)>=1)for(;;)if(h[(c=s<<2)+e>>2]=h[c+b>>2],(0|l)==(0|(s=s+1|0)))break i;if(b)break i;h[n+48>>2]=e,h[n+44>>2]=A,o[n+52|0]=1;break n}if(o[0|n]=1,f=h[i+20>>2],h[n+4>>2]=f,(0|(s=h[n+12>>2]))<(0|f)){if(h[n+16>>2]<(0|f)){if(f?(h[7717]=h[7717]+1,S=0|r[h[6606]](f<<4,16),e=h[n+12>>2]):e=s,(0|e)>=1)for(l=0;c=b=(a=l<<4)+S|0,p=a+h[n+20>>2]|0,a=h[p+4>>2],h[c>>2]=h[p>>2],h[c+4>>2]=a,a=h[p+12>>2],h[c+8>>2]=h[p+8>>2],h[c+12>>2]=a,(0|e)!=(0|(l=l+1|0)););(e=h[n+20>>2])&&(d[n+24|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[n+20>>2]=0),h[n+20>>2]=S,h[n+16>>2]=f,o[n+24|0]=1}for(;e=h[i+8>>2],a=h[n+20>>2]+(s<<4)|0,h[a>>2]=h[i+4>>2],h[a+4>>2]=e,e=h[i+16>>2],h[a+8>>2]=h[i+12>>2],h[a+12>>2]=e,(0|f)!=(0|(s=s+1|0)););}if(h[n+12>>2]=f,p=y<<2,h[n+32>>2]=p,h[n+28>>2]=y,(0|p)>(0|(a=h[n+40>>2]))){r:if(h[n+44>>2]>=(0|p))e=h[n+48>>2];else{s=0,l=a,e=0,p&&(h[7717]=h[7717]+1,e=0|r[h[6606]](y<<4,16),l=h[n+40>>2]),b=h[n+48>>2];o:{if((0|l)>=1)for(;;)if(h[(c=s<<2)+e>>2]=h[c+b>>2],(0|l)==(0|(s=s+1|0)))break o;if(!b){h[n+48>>2]=e,h[n+44>>2]=p,o[n+52|0]=1;break r}}d[n+52|0]&&b&&(h[7718]=h[7718]+1,r[h[6607]](b)),h[n+48>>2]=e,o[n+52|0]=1,h[n+44>>2]=p}ji((a<<2)+e|0,0,p-a<<2)}if(h[n+40>>2]=p,Vn(h[n+20>>2],x,h[i+20>>2]<<4),!y)break e;for(s=h[n+48>>2],l=0;h[s>>2]=3,n=s,2&d[0|t]?(h[s+4>>2]=h[u+8>>2],h[s+8>>2]=h[u+4>>2],e=u):(h[s+4>>2]=h[u>>2],h[s+8>>2]=h[u+4>>2],e=u+8|0),h[n+12>>2]=h[e>>2],u=u+12|0,s=s+16|0,(l=l+1|0)>>>0<_[i+48>>2];);break e}d[n+52|0]&&b&&(h[7718]=h[7718]+1,r[h[6607]](b)),h[n+48>>2]=e,o[n+52|0]=1,h[n+44>>2]=A}ji((l=e)+(e=a<<2)|0,0,g(y,12)-e|0)}if(h[n+40>>2]=A,Vn(h[n+20>>2],x,h[i+20>>2]<<4),2&d[0|t]){if(!y)break e;for(s=h[n+48>>2],l=0;h[s>>2]=h[u+8>>2],h[s+4>>2]=h[u+4>>2],h[s+8>>2]=h[u>>2],u=u+12|0,s=s+12|0,(l=l+1|0)>>>0<_[i+48>>2];);}else Vn(h[n+48>>2],u,g(y,12))}h[i+60>>2]&&((e=h[i+68>>2])&&(d[i+72|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[i+68>>2]=0),h[i+68>>2]=0,o[i+72|0]=1,h[i+60>>2]=0,h[i+64>>2]=0),l=0,h[i+52>>2]=0,h[i+40>>2]=0,h[i+44>>2]=0,x&&x&&(h[7718]=h[7718]+1,r[h[6607]](x))}}return C&&C&&(h[7718]=h[7718]+1,r[h[6607]](C)),(e=h[i+68>>2])&&(d[i+72|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[i+68>>2]=0),w=i+80|0,l}function ae(e,t,n){var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=0,O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=0;P=h[e+4>>2],h[t>>2]=h[e>>2],h[t+4>>2]=P,P=h[e+12>>2],h[t+8>>2]=h[e+8>>2],h[t+12>>2]=P,P=h[e+28>>2],h[t+24>>2]=h[e+24>>2],h[t+28>>2]=P,P=h[e+20>>2],h[t+16>>2]=h[e+16>>2],h[t+20>>2]=P,P=h[e+36>>2],h[t+32>>2]=h[e+32>>2],h[t+36>>2]=P,P=h[e+44>>2],h[t+40>>2]=h[e+40>>2],h[t+44>>2]=P,r=m[e+8>>2],o=m[e+20>>2],p=m[e+40>>2],a=m[e+24>>2],c=m[e+36>>2],l=m[e+4>>2],d=m[e+32>>2],f=m[e+16>>2],s=m[e>>2],h[n+44>>2]=0,h[n+28>>2]=0,h[n+12>>2]=0,u=v(v(o*p)-v(a*c)),b=v(v(a*d)-v(p*f)),g=v(v(c*f)-v(o*d)),i=v(v(1)/v(v(v(s*u)+v(l*b))+v(r*g))),C=v(v(v(c*r)-v(p*l))*i),m[n+4>>2]=C,A=v(v(v(a*l)-v(o*r))*i),m[n+8>>2]=A,b=v(b*i),m[n+16>>2]=b,x=v(v(v(p*s)-v(d*r))*i),m[n+20>>2]=x,S=v(v(v(f*r)-v(a*s))*i),m[n+24>>2]=S,g=v(g*i),m[n+32>>2]=g,T=v(v(v(d*l)-v(c*s))*i),m[n+36>>2]=T,E=v(v(v(o*s)-v(f*l))*i),m[n+40>>2]=E,u=v(u*i),m[n>>2]=u;e:{t:if(h[7660])for(;;){if(i=v(y(u)),r=v(y(b)),l=v(y(g)),s=v(v(i+r)+l),o=v(y(C)),p=v(y(x)),a=v(y(T)),s=s>(c=v(v(o+p)+a))?s:c,c=v(y(A)),d=v(y(S)),f=v(y(E)),M=v(v(c+d)+f),i=(i=v(v(i+o)+c))>(r=v(v(r+p)+d))?i:r,r=v(v(l+a)+f),(r=v((s>M?s:M)*(i>r?i:r)))>2],o=v(y(M)),l=m[t+16>>2],a=v(y(l)),s=m[t+32>>2],f=v(y(s)),i=v(v(o+a)+f),R=m[t+4>>2],w=v(y(R)),d=m[t+20>>2],D=v(y(d)),p=m[t+36>>2],L=v(y(p)),N=i>(c=v(v(w+D)+L))?i:c,I=m[t+8>>2],F=v(y(I)),c=m[t+24>>2],B=v(y(c)),i=m[t+40>>2],k=v(y(i)),N=N>(O=v(v(F+B)+k))?N:O,o=(o=v(v(o+w)+F))>(a=v(v(a+D)+B))?o:a,a=v(v(f+L)+k),(o=v(N*(o>a?o:a)))>2]=0,h[t+28>>2]=0,h[t+12>>2]=0,O=i,r=he(v(r/o),v(.25)),i=v(r+v(-2)),r=v(v(1)/r),w=v(v(v(O*i)+v(r*E))*v(.5)),o=v(O+w),m[t+40>>2]=o,D=v(v(v(p*i)+v(r*S))*v(.5)),p=v(p+D),m[t+36>>2]=p,L=v(v(v(s*i)+v(r*A))*v(.5)),a=v(s+L),m[t+32>>2]=a,F=v(v(v(c*i)+v(r*T))*v(.5)),c=v(c+F),m[t+24>>2]=c,B=v(v(v(d*i)+v(r*x))*v(.5)),d=v(d+B),m[t+20>>2]=d,k=v(v(v(l*i)+v(r*C))*v(.5)),f=v(l+k),m[t+16>>2]=f,O=I,I=v(v(v(I*i)+v(r*g))*v(.5)),l=v(O+I),m[t+8>>2]=l,O=R,R=v(v(v(R*i)+v(r*b))*v(.5)),s=v(O+R),m[t+4>>2]=s,O=M,M=v(v(v(M*i)+v(r*u))*v(.5)),r=v(O+M),m[t>>2]=r,h[n+44>>2]=0,h[n+28>>2]=0,h[n+12>>2]=0,C=v(v(f*p)-v(d*a)),u=v(v(d*o)-v(c*p)),A=v(v(c*a)-v(f*o)),i=v(v(1)/v(v(l*C)+v(v(r*u)+v(s*A)))),E=v(v(v(r*d)-v(s*f))*i),m[n+40>>2]=E,T=v(v(v(s*a)-v(r*p))*i),m[n+36>>2]=T,g=v(C*i),m[n+32>>2]=g,S=v(v(v(l*f)-v(r*c))*i),m[n+24>>2]=S,x=v(v(v(r*o)-v(l*a))*i),m[n+20>>2]=x,b=v(A*i),m[n+16>>2]=b,A=v(v(v(s*c)-v(l*d))*i),m[n+8>>2]=A,C=v(v(v(l*p)-v(s*o))*i),m[n+4>>2]=C,u=v(u*i),m[n>>2]=u,((i=(i=v(v(v(y(M))+v(y(k)))+v(y(L))))>(r=v(v(v(y(R))+v(y(B)))+v(y(D))))?i:r)>(r=v(v(v(y(I))+v(y(F)))+v(y(w))))?i:r)<=v(N*m[7659]))break e;if(!((V=V+1|0)>>>0<_[7660]))break}return i=m[t+36>>2],r=m[t+20>>2],l=m[t+40>>2],s=m[t+24>>2],o=m[t+4>>2],p=m[e+36>>2],a=m[e+20>>2],c=m[e+4>>2],d=m[e+40>>2],f=m[e+24>>2],C=m[e+8>>2],A=m[t+8>>2],b=m[e+32>>2],x=m[t+32>>2],S=m[e>>2],g=m[t>>2],T=m[e+16>>2],E=m[t+16>>2],h[n+44>>2]=0,h[n+28>>2]=0,h[n+12>>2]=0,u=v(v(v(g*S)+v(E*T))+v(x*b)),m[n>>2]=v(u+u)*v(.5),u=v(v(v(A*C)+v(s*f))+v(l*d)),m[n+40>>2]=v(u+u)*v(.5),u=v(v(v(v(v(o*C)+v(r*f))+v(i*d))+v(v(v(A*c)+v(s*a))+v(l*p)))*v(.5)),m[n+36>>2]=u,l=v(v(v(v(v(g*C)+v(E*f))+v(x*d))+v(v(v(A*S)+v(s*T))+v(l*b)))*v(.5)),m[n+32>>2]=l,m[n+24>>2]=u,s=v(v(v(o*c)+v(r*a))+v(i*p)),m[n+20>>2]=v(s+s)*v(.5),i=v(v(v(v(v(g*c)+v(E*a))+v(x*p))+v(v(v(o*S)+v(r*T))+v(i*b)))*v(.5)),m[n+16>>2]=i,m[n+8>>2]=l,void(m[n+4>>2]=i)}i=m[t+32>>2],r=m[t>>2],l=m[t+16>>2],s=m[e+32>>2],o=m[e>>2],p=m[e+16>>2],a=m[t+36>>2],c=m[t+4>>2],d=m[t+20>>2],f=m[e+36>>2],C=m[e+4>>2],A=m[e+20>>2],b=m[e+40>>2],x=m[t+40>>2],S=m[e+8>>2],g=m[t+8>>2],T=m[e+24>>2],E=m[t+24>>2],h[n+44>>2]=0,h[n+28>>2]=0,h[n+12>>2]=0,u=v(v(v(g*S)+v(E*T))+v(x*b)),m[n+40>>2]=v(u+u)*v(.5),u=v(v(v(v(v(c*S)+v(d*T))+v(a*b))+v(v(v(g*C)+v(E*A))+v(x*f)))*v(.5)),m[n+36>>2]=u,b=v(v(v(v(v(r*S)+v(l*T))+v(i*b))+v(v(v(g*o)+v(E*p))+v(x*s)))*v(.5)),m[n+32>>2]=b,m[n+24>>2]=u,x=v(v(v(c*C)+v(d*A))+v(a*f)),m[n+20>>2]=v(x+x)*v(.5),a=v(v(v(v(v(r*C)+v(l*A))+v(i*f))+v(v(v(c*o)+v(d*p))+v(a*s)))*v(.5)),m[n+16>>2]=a,m[n+8>>2]=b,m[n+4>>2]=a,i=v(v(v(r*o)+v(l*p))+v(i*s)),m[n>>2]=v(i+i)*v(.5)}function se(e,t,n){var i,r=0,a=v(0),s=0,c=v(0),l=0,u=0,p=0,f=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=0,x=v(0),T=v(0),E=0,P=0,O=v(0),M=v(0);w=i=w-16|0;e:{if(u=h[t+372>>2],!(_[u+32>>2]<2)&&me(t)){if(s=h[e+9280>>2]){for(r=h[e+9292>>2],p=h[e+9284>>2];(l=h[s+48>>2])&&(h[l+44>>2]=h[s+44>>2]),(l=h[s+44>>2])&&(h[l+48>>2]=h[s+48>>2]),h[e+9280>>2]==(0|s)&&(h[e+9280>>2]=h[s+48>>2]),h[s+44>>2]=0,h[s+48>>2]=h[e+9288>>2],(l=h[e+9288>>2])&&(h[l+44>>2]=s),p=p+-1|0,h[e+9288>>2]=s,r=r+1|0,s=h[e+9280>>2];);h[e+9292>>2]=r,h[e+9284>>2]=p}if(h[e+9276>>2]=0,h[e>>2]=0,r=h[u>>2],p=h[u+12>>2],a=m[p+16>>2],C=v(m[r+16>>2]-a),s=h[u+4>>2],c=m[p+20>>2],b=v(m[s+20>>2]-c),l=h[u+8>>2],f=m[p+24>>2],g=v(m[l+24>>2]-f),y=v(m[r+20>>2]-c),x=v(m[s+24>>2]-f),T=v(m[l+16>>2]-a),f=v(m[r+24>>2]-f),a=v(m[s+16>>2]-a),c=v(m[l+20>>2]-c),v(v(v(v(C*b)*g)+v(v(v(v(v(y*x)*T)+v(v(f*a)*c))-v(v(C*x)*c))-v(v(y*a)*g)))-v(v(f*b)*T))>2]=r,h[u>>2]=s,p=h[u+16>>2],h[u+16>>2]=h[u+20>>2],h[u+20>>2]=p,p=r):(p=s,s=r),p=Zt(e,s,p,l,1),l=Zt(e,h[u+4>>2],h[u>>2],h[u+12>>2],1),A=Zt(e,h[u+8>>2],h[u+4>>2],h[u+12>>2],1),E=Zt(e,h[u>>2],h[u+8>>2],h[u+12>>2],1),4==h[e+9284>>2]){if(r=h[e+9280>>2],a=m[r+16>>2],s=h[r+48>>2]){for(a=v(a*a);c=m[s+16>>2],r=(n=(c=v(c*c))>2];);a=m[r+16>>2]}for(n=h[r+28>>2],u=h[r+24>>2],P=h[r+20>>2],b=m[r+12>>2],C=m[r+8>>2],f=m[r+4>>2],c=m[r>>2],h[p+32>>2]=l,o[p+52|0]=0,h[l+32>>2]=p,o[l+52|0]=0,h[p+36>>2]=A,o[p+53|0]=0,h[A+32>>2]=p,o[A+52|0]=1,h[p+40>>2]=E,o[p+54|0]=0,h[E+32>>2]=p,o[E+52|0]=2,h[l+36>>2]=E,o[l+53|0]=2,h[E+40>>2]=l,o[E+54|0]=1,h[l+40>>2]=A,o[l+54|0]=1,h[A+36>>2]=l,o[A+53|0]=258,o[A+54|0]=1,h[A+40>>2]=E,h[E+36>>2]=A,o[E+53|0]=2,h[e>>2]=0,p=0;;){t:{n:{if(!((l=h[e+9276>>2])>>>0<=63)){h[e>>2]=6;break t}if(s=0,h[i+8>>2]=0,h[i>>2]=0,h[i+4>>2]=0,h[e+9276>>2]=l+1,p=p+1|0,o[r+55|0]=p,pr(t,r,A=60+(l=(l<<5)+e|0)|0),!(v(v(v(v(m[r>>2]*m[l+76>>2])+v(m[r+4>>2]*m[l+80>>2]))+v(m[r+8>>2]*m[l+84>>2]))-m[r+16>>2])>v(9999999747378752e-20))){h[e>>2]=7;break t}for(;;){if(!(l=ai(e,p,A,h[32+((s<<2)+r|0)>>2],d[52+(r+s|0)|0],i)))break n;if(E=s>>>0<2,s=s+1|0,!E)break}}if(l&_[i+8>>2]>2){if(n=h[i>>2],s=h[i+4>>2],h[n+36>>2]=s,o[n+53|0]=2,h[s+40>>2]=n,o[s+54|0]=1,(n=h[r+48>>2])&&(h[n+44>>2]=h[r+44>>2]),(n=h[r+44>>2])&&(h[n+48>>2]=h[r+48>>2]),h[e+9280>>2]==(0|r)&&(h[e+9280>>2]=h[r+48>>2]),h[e+9284>>2]=h[e+9284>>2]+-1,h[r+44>>2]=0,h[r+48>>2]=h[e+9288>>2],(n=h[e+9288>>2])&&(h[n+44>>2]=r),h[e+9288>>2]=r,h[e+9292>>2]=h[e+9292>>2]+1,r=h[e+9280>>2],a=m[r+16>>2],s=h[r+48>>2]){for(a=v(a*a);c=m[s+16>>2],r=(n=(c=v(c*c))>2];);a=m[r+16>>2]}if(n=h[r+28>>2],u=h[r+24>>2],P=h[r+20>>2],b=m[r+12>>2],C=m[r+8>>2],f=m[r+4>>2],c=m[r>>2],255!=(0|p))continue}else h[e>>2]=4}break}m[e+56>>2]=a,m[e+40>>2]=c,h[e+4>>2]=P,m[e+52>>2]=b,m[e+48>>2]=C,m[e+44>>2]=f,h[e+36>>2]=3,h[e+12>>2]=n,h[e+8>>2]=u,c=v(c*a),b=v(m[u+16>>2]-c),f=v(f*a),g=v(m[n+20>>2]-f),y=v(m[u+20>>2]-f),x=v(m[n+16>>2]-c),T=v(v(b*g)-v(y*x)),a=v(C*a),C=v(m[n+24>>2]-a),O=v(y*C),y=v(m[u+24>>2]-a),g=v(O-v(y*g)),C=v(v(y*x)-v(b*C)),C=v(S(v(v(T*T)+v(v(g*g)+v(C*C))))),m[e+20>>2]=C,b=v(m[n+16>>2]-c),g=v(m[P+20>>2]-f),y=v(m[n+20>>2]-f),x=v(m[P+16>>2]-c),T=v(v(b*g)-v(y*x)),M=v(T*T),O=y,y=v(m[P+24>>2]-a),T=v(m[n+24>>2]-a),g=v(v(O*y)-v(T*g)),b=v(v(T*x)-v(b*y)),b=v(S(v(M+v(v(g*g)+v(b*b))))),m[e+24>>2]=b,g=v(m[P+16>>2]-c),y=v(m[u+20>>2]-f),f=v(m[P+20>>2]-f),c=v(m[u+16>>2]-c),x=v(v(g*y)-v(f*c)),O=f,f=v(m[u+24>>2]-a),a=v(m[P+24>>2]-a),y=v(v(O*f)-v(a*y)),a=v(v(a*c)-v(g*f)),c=v(S(v(v(x*x)+v(v(y*y)+v(a*a))))),a=v(c+v(C+b)),m[e+28>>2]=c/a,m[e+24>>2]=b/a,m[e+20>>2]=C/a,e=h[e>>2];break e}}h[e>>2]=8,a=m[n>>2],c=m[n+4>>2],f=m[n+8>>2],h[e+52>>2]=0,C=v(-f),m[e+48>>2]=C,b=v(-c),m[e+44>>2]=b,g=v(-a),m[e+40>>2]=g,(a=v(S(v(v(v(a*a)+v(c*c))+v(f*f)))))>v(0)?(a=v(v(1)/a),m[e+48>>2]=a*C,m[e+44>>2]=a*b,m[e+40>>2]=a*g):(h[e+48>>2]=0,h[e+40>>2]=1065353216,h[e+44>>2]=0),h[e+52>>2]=0,h[e+56>>2]=0,h[e+36>>2]=1,t=h[u>>2],h[e+20>>2]=1065353216,h[e+4>>2]=t,e=8}return w=i+16|0,e}function ce(e,t,n){var i,a=0,s=0,c=0,l=0,u=0,p=0,f=0,b=0,y=0,C=0,A=0,x=v(0),E=0,P=0,O=v(0),M=0,R=0,I=0,D=0,L=0;if(w=i=w-32|0,(0|t)>=2){if(u=h[e+712>>2],y=Tl((0|(s=g(u,u)))!=(1073741823&s)?-1:s<<2),(0|u)>=1)for(;;){for(l=((f=g(a,u))+a<<2)+y|0,s=0;c=(g(s,u)+a<<2)+y|0,(0|a)==(0|s)?(h[c>>2]=0,h[l>>2]=0):(h[c>>2]=2147483647,h[(s+f<<2)+y>>2]=2147483647),(0|u)!=(0|(s=s+1|0)););if((0|u)==(0|(a=a+1|0)))break}if((0|(c=h[e+732>>2]))>=1)for(a=h[e+720>>2],f=h[e+740>>2],s=0;l=f+g(s,52)|0,p=(h[l+12>>2]-a|0)/104|0,l=(h[l+8>>2]-a|0)/104|0,h[(g(p,u)+l<<2)+y>>2]=1,h[(p+g(l,u)<<2)+y>>2]=1,(0|c)!=(0|(s=s+1|0)););e:{if(2==(0|t)){l=0,h[i+20>>2]=0,o[i+24|0]=1,h[i+12>>2]=0,h[i+16>>2]=0;t:{n:{if((0|u)>-1){if(u)for(function(e,t){var n=0,i=0,a=0,s=0,c=0,l=0,u=0,p=0,f=0,_=0,m=0,b=0;if(h[e+8>>2]<(0|t)){if(t?(h[7717]=h[7717]+1,l=0|r[h[6606]](g(t,20),16)):l=0,!((0|(p=h[e+4>>2]))<1)){for(;;){if(i=h[e+12>>2],a=g(u,20),h[12+(n=a+l|0)>>2]=0,o[n+16|0]=1,h[n+4>>2]=0,h[n+8>>2]=0,(0|(a=h[4+(f=i+a|0)>>2]))>=1){h[7717]=h[7717]+1,_=a<<2,c=0|r[h[6606]](_,16),s=h[n+12>>2],i=0;i:{r:{if((0|(m=h[n+4>>2]))>=1)for(;;)if(h[c+(b=i<<2)>>2]=h[s+b>>2],(0|m)==(0|(i=i+1|0)))break r;if(!s)break i}d[n+16|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s))}for(o[n+16|0]=1,h[n+12>>2]=c,h[n+8>>2]=a,i=0,ji(c,0,_),h[n+4>>2]=a,s=h[f+12>>2],n=h[n+12>>2];h[(c=i<<2)+n>>2]=h[s+c>>2],(0|a)!=(0|(i=i+1|0)););}else h[n+4>>2]=a;if((0|p)==(0|(u=u+1|0)))break}if(!((0|(c=h[e+4>>2]))<1))for(i=0;a=n=h[e+12>>2]+g(i,20)|0,(s=h[n+12>>2])&&(d[n+16|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s)),h[a+12>>2]=0),o[n+16|0]=1,h[a+12>>2]=0,h[n+4>>2]=0,h[n+8>>2]=0,(0|c)!=(0|(i=i+1|0)););}(n=h[e+12>>2])&&(d[e+16|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+12>>2]=0),h[e+12>>2]=l,o[e+16|0]=1,h[e+8>>2]=t}}(i+8|0,u),l=h[i+20>>2],s=0;a=g(s,20)+l|0,h[a+4>>2]=0,h[a+8>>2]=0,o[a+16|0]=1,h[a+12>>2]=0,(0|u)!=(0|(s=s+1|0)););if(h[i+12>>2]=u,c=u,h[e+732>>2]<1)break t;for(f=0;;){a=h[e+740>>2]+g(f,52)|0,s=h[e+720>>2],b=(h[a+12>>2]-s|0)/104|0,A=(h[a+8>>2]-s|0)/104|0,c=g(A,20)+l|0;i:{r:if(!((0|(a=h[c+4>>2]))<1)){for(p=h[c+12>>2],s=0;;){if((0|b)!=h[p+(s<<2)>>2]){if((0|(s=s+1|0))!=(0|a))continue;break r}break}if((0|a)!=(0|s))break i}if(h[c+8>>2]==(0|a)&&!((0|a)>=(0|(C=a?a<<1:1)))){s=0,l=0,C&&(h[7717]=h[7717]+1,l=0|r[h[6606]](C<<2,16),a=h[c+4>>2]),p=h[c+12>>2];r:{o:{if((0|a)>=1)for(;;)if(h[(E=s<<2)+l>>2]=h[p+E>>2],(0|(s=s+1|0))==(0|a))break o;if(!p)break r}d[c+16|0]&&p&&(h[7718]=h[7718]+1,r[h[6607]](p)),h[c+12>>2]=0,a=h[c+4>>2]}o[c+16|0]=1,h[c+12>>2]=l,h[c+8>>2]=C}h[h[c+12>>2]+(a<<2)>>2]=b,h[c+4>>2]=h[c+4>>2]+1,l=h[i+20>>2]}c=g(b,20)+l|0;i:{r:if(!((0|(a=h[c+4>>2]))<1)){for(l=h[c+12>>2],s=0;;){if((0|A)!=h[l+(s<<2)>>2]){if((0|(s=s+1|0))!=(0|a))continue;break r}break}if((0|a)!=(0|s))break i}if(h[c+8>>2]==(0|a)&&!((0|a)>=(0|(p=a?a<<1:1)))){s=0,b=0,p&&(h[7717]=h[7717]+1,b=0|r[h[6606]](p<<2,16),a=h[c+4>>2]),l=h[c+12>>2];r:{o:{if((0|a)>=1)for(;;)if(h[(C=s<<2)+b>>2]=h[l+C>>2],(0|(s=s+1|0))==(0|a))break o;if(!l)break r}d[c+16|0]&&l&&(h[7718]=h[7718]+1,r[h[6607]](l)),h[c+12>>2]=0,a=h[c+4>>2]}o[c+16|0]=1,h[c+12>>2]=b,h[c+8>>2]=p}h[h[c+12>>2]+(a<<2)>>2]=A,h[c+4>>2]=h[c+4>>2]+1}if((0|(f=f+1|0))>=h[e+732>>2])break n;l=h[i+20>>2]}}T()}c=h[i+12>>2]}if(!((0|c)<1)){for(a=0,l=h[i+20>>2];;){if(p=l+g(a,20)|0,h[p+4>>2]>=1)for(R=g(a,u),I=h[p+12>>2],f=0;;){if(b=h[(f<<2)+I>>2],C=l+g(b,20)|0,(0|(A=h[C+4>>2]))>=1)for(D=(g(u,b)+a<<2)+y|0,L=h[C+12>>2],s=0;(0|(E=h[(s<<2)+L>>2]))!=(0|a)&&(M=((P=g(u,E))+a<<2)+y|0,P=h[(b+P<<2)+y>>2]+h[D>>2]|0,_[M>>2]<=P>>>0||(h[(E+R<<2)+y>>2]=P,h[M>>2]=P,A=h[C+4>>2])),(0|(s=s+1|0))<(0|A););if(!((0|(f=f+1|0))>2]))break}if((0|c)==(0|(a=a+1|0)))break}if(!((0|c)<1))for(a=0;f=s=h[i+20>>2]+g(a,20)|0,(l=h[s+12>>2])&&(d[s+16|0]&&l&&(h[7718]=h[7718]+1,r[h[6607]](l)),h[f+12>>2]=0),o[s+16|0]=1,h[f+12>>2]=0,h[s+4>>2]=0,h[s+8>>2]=0,(0|c)!=(0|(a=a+1|0)););}(a=h[i+20>>2])&&(d[i+24|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[i+20>>2]=0)}else{if(f=0,(0|u)<=0)break e;for(;;){for(p=g(u,f),a=0;;){if(c=a,(0|(a=a+1|0))<(0|u))for(C=((b=g(c,u))+f<<2)+y|0,s=a;A=(s+b<<2)+y|0,l=h[C>>2]+h[(s+p<<2)+y>>2]|0,_[A>>2]>l>>>0&&(h[(c+g(s,u)<<2)+y>>2]=l,h[A>>2]=l),(0|u)!=(0|(s=s+1|0)););if((0|a)==(0|u))break}if((0|(f=f+1|0))==(0|u))break}}if(f=0,!((0|u)<1))for(a=0;;){if(c=a,(0|(a=a+1|0))<(0|u))for(C=g(c,u),s=a;h[(s+C<<2)+y>>2]==(0|t)&&(p=h[e+720>>2],yn(e,n),b=(A=g(h[e+732>>2],52)+-52|0)+h[e+740>>2]|0,l=p+g(s,104)|0,h[b+8>>2]=l,p=p+g(c,104)|0,h[b+12>>2]=p,x=v(m[l+8>>2]-m[p+8>>2]),O=v(x*x),x=v(m[l+12>>2]-m[p+12>>2]),O=v(O+v(x*x)),x=v(m[l+16>>2]-m[p+16>>2]),m[b+16>>2]=S(v(O+v(x*x))),o[e+924|0]=1,l=A+h[e+740>>2]|0,o[l+20|0]=1|d[l+20|0],f=f+1|0),(0|u)!=(0|(s=s+1|0)););if((0|a)==(0|u))break}}Se(y)}return w=i+32|0,f}function le(e,t,n){var i,a=0,c=0,l=0,p=0,f=v(0),_=v(0),b=v(0),C=0,A=0,x=0,S=0,T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=0,D=0,L=0;if(w=i=w-48|0,p=-246811958,l=1900671690,(0|n)>0)for(a=t,x=1900671690,C=1900671690,c=-246811958,A=-246811958;S=h[a+8>>2],f=m[a+8>>2],s(0,p),p=u()>2],_=m[a+4>>2],s(0,c),c=u()<_?I:c,D=h[a>>2],b=m[a>>2],s(0,A),A=u()>2]=a,(0|a)==(0|(l=p?(1^l)<<1:c?1:2))&&(l=(a+1>>>0)%3|0),h[e+104>>2]=l,h[e+12>>2]=0,h[e+28>>2]=0,c=(3^a)-l|0,h[e+108>>2]=c,m[e+24>>2]=v(P+O)*v(.5),m[e+20>>2]=v(T+E)*v(.5),m[e+16>>2]=v(M+R)*v(.5),_=v((a=(0|a)==((c+1|0)%3|0))?_*v(9788566967472434e-20):_*v(-9788566967472434e-20)),m[e+8>>2]=_,f=v(a?f*v(9788566967472434e-20):f*v(-9788566967472434e-20)),m[e+4>>2]=f,b=v(a?b*v(9788566967472434e-20):b*v(-9788566967472434e-20)),m[e>>2]=b,h[i+36>>2]=0,o[i+40|0]=1,h[i+28>>2]=0,h[i+32>>2]=0,(0|n)>=1){if(h[7717]=h[7717]+1,a=0|r[h[6606]](n<<4,16),h[i+36>>2]=a,p=1,o[i+40|0]=1,h[i+32>>2]=n,c=h[i+20>>2],h[a+8>>2]=h[i+16>>2],h[a+12>>2]=c,c=h[i+12>>2],h[a>>2]=h[i+8>>2],h[a+4>>2]=c,1!=(0|n))for(;c=h[i+12>>2],a=h[i+36>>2]+(p<<4)|0,h[a>>2]=h[i+8>>2],h[a+4>>2]=c,c=h[i+20>>2],h[a+8>>2]=h[i+16>>2],h[a+12>>2]=c,(0|(p=p+1|0))!=(0|n););if(h[i+28>>2]=n,!((0|n)<1)){for(_=_!=v(0)?v(v(1)/_):_,T=f!=v(0)?v(v(1)/f):f,b=b!=v(0)?v(v(1)/b):b,C=(i+8|0)+(h[e+104>>2]<<2)|0,A=(i+8|0)+(h[e+112>>2]<<2)|0,x=(i+8|0)+(h[e+108>>2]<<2)|0,E=m[e+24>>2],P=m[e+20>>2],O=m[e+16>>2],S=h[i+36>>2],l=0;f=m[t>>2],M=m[t+4>>2],R=m[t+8>>2],h[i+20>>2]=0,m[i+16>>2]=_*v(R-E),m[i+12>>2]=T*v(M-P),m[i+8>>2]=b*v(f-O),p=a=S+(l<<4)|0,f=m[x>>2],c=v(y(f))>2]=c,p=a,f=m[A>>2],c=v(y(f))>2]=c,f=m[C>>2],h[a+12>>2]=l,p=v(y(f))>2]=p,t=t+16|0,(0|(l=l+1|0))!=(0|n););(0|n)<2||ii(i+24|0,i+8|0,0,n+-1|0)}}else h[i+28>>2]=n;if(h[e+44>>2]=n,h[e+40>>2]=0,h[e+36>>2]=h[e+32>>2],(0|(t=h[e+84>>2]))<(0|n)){if(h[e+88>>2]<(0|n)){if(n?(h[7717]=h[7717]+1,A=0|r[h[6606]](n<<2,16),a=h[e+84>>2]):(A=0,a=t),(0|a)>=1)for(p=0;h[(c=p<<2)+A>>2]=h[c+h[e+92>>2]>>2],(0|a)!=(0|(p=p+1|0)););(a=h[e+92>>2])&&(d[e+96|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+92>>2]=0),h[e+92>>2]=A,h[e+88>>2]=n,o[e+96|0]=1}for(;h[h[e+92>>2]+(t<<2)>>2]=0,(0|n)!=(0|(t=t+1|0)););}if(h[e+84>>2]=n,(0|n)>=1)for(C=0;;){if(!((c=h[e+40>>2])||((l=h[e+36>>2])?h[e+36>>2]=h[l+8>>2]:(h[7717]=h[7717]+1,l=0|r[h[6606]](12,16),t=h[e+44>>2],h[l+8>>2]=0,h[l+4>>2]=t,h[7717]=h[7717]+1,h[l>>2]=r[h[6606]](g(t,112),16),h[l+8>>2]=h[e+32>>2],h[e+32>>2]=l),t=0,p=c=h[l>>2],(0|(a=h[l+4>>2]))<1)))for(;l=p,p=p+112|0,t=t+1|0,h[l>>2]=(0|t)<(0|a)?p:0,(0|t)!=(0|a););if(h[e+40>>2]=h[c>>2],h[c+8>>2]=0,h[c+12>>2]=0,h[c+16>>2]=0,h[c>>2]=0,h[c+4>>2]=0,h[c+104>>2]=-1,h[c+8>>2]=0,t=h[i+36>>2]+(C<<4)|0,a=h[t+4>>2],h[c+88>>2]=h[t>>2],h[c+92>>2]=a,a=h[t+12>>2],h[c+96>>2]=h[t+8>>2],h[c+100>>2]=a,h[c+104>>2]=-1,h[h[e+92>>2]+(C<<2)>>2]=c,(0|(C=C+1|0))==(0|n))break}(t=h[i+36>>2])&&(d[i+40|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[i+36>>2]=0),h[i+36>>2]=0,o[i+40|0]=1,h[i+28>>2]=0,h[i+32>>2]=0,h[e+100>>2]=-3,h[e+56>>2]=0,h[e+60>>2]=g(n,6),h[e+116>>2]=0,h[e+120>>2]=0,h[e+52>>2]=h[e+48>>2],h[i+16>>2]=0,h[i+20>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0,mn(e,0,n,i+8|0),h[e+124>>2]=h[i+8>>2],(e=h[i+36>>2])&&(d[i+40|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[i+36>>2]=0),w=i+48|0}function ue(e,t,n,i,a){var s,c=0,l=0,u=0,_=0,b=0,g=0;if(w=s=w-112|0,o[e+60|0]=n,n){if(function(e,t,n){var i=v(0),r=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0);r=m[t>>2],s=m[t+4>>2],c=m[t+8>>2],h[e+16>>2]=0,a=v(c-v(1)),m[e+12>>2]=a,s=v(s-v(1)),m[e+8>>2]=s,r=v(r-v(1)),m[e+4>>2]=r,c=m[n>>2],l=m[n+4>>2],u=m[n+8>>2],o[e+60|0]=1,h[e+48>>2]=0,h[e+32>>2]=0,u=v(u+v(1)),m[e+28>>2]=u,l=v(l+v(1)),m[e+24>>2]=l,c=v(c+v(1)),m[e+20>>2]=c,f=v(v(65533)/v(u-a)),m[e+44>>2]=f,p=v(v(65533)/v(l-s)),m[e+40>>2]=p,_=v(v(65533)/v(c-r)),m[e+36>>2]=_,t=(i=v(v(a-a)*f))=v(0)?~~i>>>0:0,b=v((65534&t)>>>0),d=i=s,t=(i=v(v(i-i)*p))=v(0)?~~i>>>0:0,g=v(d+v(v((65534&t)>>>0)/p)),d=i=r,t=(i=v(v(i-i)*_))=v(0)?~~i>>>0:0,!((i=v(v(d+v(v((65534&t)>>>0)/_))-v(1)))>2]=i,r=i),!((i=v(g-v(1)))>2]=i,s=i),!((i=v(v(a+v(b/f))-v(1)))>2]=i,a=i),t=(i=v(v(f*v(u-a))+v(1)))=v(0)?~~i>>>0:0,b=v((1|t)>>>0),d=i=s,t=(i=v(v(p*v(l-i))+v(1)))=v(0)?~~i>>>0:0,g=v(d+v(v((1|t)>>>0)/p)),d=i=c,p=r,t=(i=v(v(_*v(i-r))+v(1)))=v(0)?~~i>>>0:0,i=v(v(p+v(v((1|t)>>>0)/_))+v(1)),!(d>2]=i,c=i),i=v(g+v(1)),!(l>2]=i,l=i),i=v(v(a+v(b/f))+v(1)),!(u>2]=i,u=i),h[e+48>>2]=0,m[e+44>>2]=v(65533)/v(u-a),m[e+40>>2]=v(65533)/v(l-s),m[e+36>>2]=v(65533)/v(c-r)}(e,i,a),h[s+96>>2]=e,h[s+92>>2]=e+104,h[s+88>>2]=15236,r[h[h[t>>2]+8>>2]](t,s+88|0,e+4|0,e+20|0),a=h[e+108>>2],h[s+16>>2]=0,h[s+20>>2]=0,h[s+8>>2]=0,h[s+12>>2]=0,(0|(n=h[e+128>>2]))<(0|(c=a<<1))){if(h[e+132>>2]<(0|c)){if(a?(h[7717]=h[7717]+1,_=0|r[h[6606]](a<<5,16),i=h[e+128>>2]):i=n,(0|i)>=1)for(t=0;u=b=(l=t<<4)+_|0,l=l+h[e+136>>2]|0,g=h[l+4>>2],h[u>>2]=h[l>>2],h[u+4>>2]=g,u=h[l+12>>2],h[b+8>>2]=h[l+8>>2],h[b+12>>2]=u,(0|i)!=(0|(t=t+1|0)););(t=h[e+136>>2])&&(d[e+140|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+136>>2]=0),h[e+136>>2]=_,h[e+132>>2]=c,o[e+140|0]=1}for(;_=h[s+12>>2],t=h[e+136>>2]+(n<<4)|0,h[t>>2]=h[s+8>>2],h[t+4>>2]=_,i=h[s+20>>2],h[t+8>>2]=h[s+16>>2],h[t+12>>2]=i,(0|c)!=(0|(n=n+1|0)););}h[e+128>>2]=c}else{if(h[s+104>>2]=15368,h[s+108>>2]=e- -64,h[s+96>>2]=-581039253,h[s+100>>2]=0,h[s+88>>2]=-581039253,h[s+92>>2]=-581039253,h[s+80>>2]=1566444395,h[s+84>>2]=0,h[s+72>>2]=1566444395,h[s+76>>2]=1566444395,r[h[h[t>>2]+8>>2]](t,s+104|0,s+88|0,s+72|0),a=h[e+68>>2],h[(t=s- -64|0)>>2]=0,h[t+4>>2]=0,h[s+56>>2]=0,h[s+60>>2]=0,h[s+48>>2]=0,h[s+52>>2]=0,h[s+40>>2]=0,h[s+44>>2]=0,h[s+32>>2]=0,h[s+36>>2]=0,h[s+24>>2]=0,h[s+28>>2]=0,h[s+16>>2]=0,h[s+20>>2]=0,h[s+8>>2]=0,h[s+12>>2]=0,(0|(t=h[e+88>>2]))<(0|(l=a<<1))){if(h[e+92>>2]<(0|l)){if(a?(h[7717]=h[7717]+1,_=0|r[h[6606]](a<<7,16),n=h[e+88>>2]):n=t,(0|n)>=1)for(;c=(i=b<<6)+_|0,i=i+h[e+96>>2]|0,g=h[i+4>>2],h[c>>2]=h[i>>2],h[c+4>>2]=g,u=h[i+60>>2],h[c+56>>2]=h[i+56>>2],h[c+60>>2]=u,u=h[i+52>>2],h[c+48>>2]=h[i+48>>2],h[c+52>>2]=u,u=h[i+44>>2],h[c+40>>2]=h[i+40>>2],h[c+44>>2]=u,u=h[i+36>>2],h[c+32>>2]=h[i+32>>2],h[c+36>>2]=u,u=h[i+28>>2],h[c+24>>2]=h[i+24>>2],h[c+28>>2]=u,u=h[i+20>>2],h[c+16>>2]=h[i+16>>2],h[c+20>>2]=u,u=h[i+12>>2],h[c+8>>2]=h[i+8>>2],h[c+12>>2]=u,(0|n)!=(0|(b=b+1|0)););(n=h[e+96>>2])&&(d[e+100|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+96>>2]=0),h[e+96>>2]=_,h[e+92>>2]=l,o[e+100|0]=1}for(;c=h[s+12>>2],n=h[e+96>>2]+(t<<6)|0,h[n>>2]=h[s+8>>2],h[n+4>>2]=c,c=h[4+(i=s- -64|0)>>2],h[n+56>>2]=h[i>>2],h[n+60>>2]=c,i=h[s+60>>2],h[n+48>>2]=h[s+56>>2],h[n+52>>2]=i,i=h[s+52>>2],h[n+40>>2]=h[s+48>>2],h[n+44>>2]=i,i=h[s+44>>2],h[n+32>>2]=h[s+40>>2],h[n+36>>2]=i,i=h[s+36>>2],h[n+24>>2]=h[s+32>>2],h[n+28>>2]=i,i=h[s+28>>2],h[n+16>>2]=h[s+24>>2],h[n+20>>2]=i,i=h[s+20>>2],h[n+8>>2]=h[s+16>>2],h[n+12>>2]=i,(0|l)!=(0|(t=t+1|0)););}h[e+88>>2]=l}if(h[e+56>>2]=0,Ve(e,0,a),!(h[e+152>>2]|!d[e+60|0])){if(t=e,h[e+156>>2])a=h[e+160>>2],n=1;else{if(h[7717]=h[7717]+1,a=0|r[h[6606]](32,16),(0|(_=h[e+152>>2]))>=1)for(i=0;c=(n=i<<5)+a|0,n=n+h[e+160>>2]|0,b=h[n+4>>2],h[c>>2]=h[n>>2],h[c+4>>2]=b,l=h[n+28>>2],h[c+24>>2]=h[n+24>>2],h[c+28>>2]=l,l=h[n+20>>2],h[c+16>>2]=h[n+16>>2],h[c+20>>2]=l,l=h[n+12>>2],h[c+8>>2]=h[n+8>>2],h[c+12>>2]=l,(0|_)!=(0|(i=i+1|0)););(n=h[e+160>>2])&&(d[e+164|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+160>>2]=0),h[e+160>>2]=a,h[e+156>>2]=1,o[e+164|0]=1,n=h[e+152>>2]+1|0}h[t+152>>2]=n,t=h[s+36>>2],h[a+24>>2]=h[s+32>>2],h[a+28>>2]=t,t=h[s+28>>2],h[a+16>>2]=h[s+24>>2],h[a+20>>2]=t,t=h[s+20>>2],h[a+8>>2]=h[s+16>>2],h[a+12>>2]=t,t=h[s+12>>2],h[a>>2]=h[s+8>>2],h[a+4>>2]=t,t=h[e+160>>2],n=h[e+136>>2],p[t>>1]=f[n>>1],p[t+2>>1]=f[n+2>>1],p[t+4>>1]=f[n+4>>1],p[t+6>>1]=f[n+6>>1],p[t+8>>1]=f[n+8>>1],i=f[n+10>>1],h[t+12>>2]=0,p[t+10>>1]=i,i=t,t=h[n+12>>2],h[i+16>>2]=(0|t)>-1?1:0-t|0}h[e+168>>2]=h[e+152>>2],(t=h[e+116>>2])&&(d[e+120|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+116>>2]=0),h[e+116>>2]=0,o[e+120|0]=1,h[e+108>>2]=0,h[e+112>>2]=0,(t=h[e+76>>2])&&(d[e+80|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+76>>2]=0),h[e+76>>2]=0,o[e+80|0]=1,h[e+68>>2]=0,h[e+72>>2]=0,w=s+112|0}function pe(e,t,n,i,o,a){var s,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=0,x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=0,F=0,B=v(0),k=v(0),V=v(0),z=v(0),j=0;if(w=s=w-544|0,h[a>>2]=0,h[a+4>>2]=0,h[a+32>>2]=0,h[a+24>>2]=0,h[a+28>>2]=0,h[a+16>>2]=0,h[a+20>>2]=0,h[a+8>>2]=0,h[a+12>>2]=0,h[s+388>>2]=n,h[s+384>>2]=e,u=m[i+20>>2],p=m[i+36>>2],d=m[t+20>>2],f=m[t+36>>2],b=m[i+24>>2],c=m[t+24>>2],l=m[i+40>>2],g=m[t+40>>2],y=m[i+32>>2],C=m[i>>2],x=m[i+16>>2],T=m[i+4>>2],E=m[t+32>>2],O=m[t>>2],M=m[t+16>>2],R=m[t+4>>2],P=m[i+8>>2],I=m[t+8>>2],h[s+436>>2]=0,h[s+420>>2]=0,h[s+404>>2]=0,D=v(v(v(I*P)+v(c*b))+v(g*l)),m[s+432>>2]=D,L=v(v(v(R*P)+v(d*b))+v(f*l)),m[s+428>>2]=L,b=v(v(v(O*P)+v(M*b))+v(E*l)),m[s+424>>2]=b,l=v(v(v(I*T)+v(c*u))+v(g*p)),m[s+416>>2]=l,P=v(v(v(R*T)+v(d*u))+v(f*p)),m[s+412>>2]=P,u=v(v(v(O*T)+v(M*u))+v(E*p)),m[s+408>>2]=u,p=v(v(v(C*I)+v(x*c))+v(y*g)),m[s+400>>2]=p,d=v(v(v(C*R)+v(x*d))+v(y*f)),m[s+396>>2]=d,f=v(v(v(C*O)+v(x*M))+v(y*E)),m[s+392>>2]=f,c=m[t+20>>2],g=m[t+36>>2],y=m[t+24>>2],C=m[t+52>>2],x=m[i+52>>2],T=m[t+40>>2],E=m[t+56>>2],O=m[i+56>>2],M=m[t>>2],R=m[t+16>>2],I=m[t+32>>2],B=m[t+4>>2],k=m[t+8>>2],V=m[t+48>>2],z=m[i+48>>2],h[s+508>>2]=0,h[s+500>>2]=0,h[s+484>>2]=0,m[s+480>>2]=D,m[s+476>>2]=l,m[s+472>>2]=p,h[s+468>>2]=0,m[s+464>>2]=L,m[s+460>>2]=P,m[s+456>>2]=d,h[s+452>>2]=0,m[s+448>>2]=b,m[s+444>>2]=u,u=v(z-V),p=v(x-C),d=v(O-E),m[s+496>>2]=v(v(k*u)+v(y*p))+v(T*d),m[s+492>>2]=v(v(u*B)+v(p*c))+v(d*g),m[s+488>>2]=v(v(u*M)+v(p*R))+v(d*I),h[s+504>>2]=98,m[s+440>>2]=f,h[s+136>>2]=0,h[s+140>>2]=0,h[s+128>>2]=0,h[s+132>>2]=0,h[s+364>>2]=0,h[s+368>>2]=0,h[s+376>>2]=2,h[s+144>>2]=0,e=Z(s,s+384|0,o))h[a>>2]=1==(0|e)?1:2;else{if(A=h[s+372>>2],h[A+32>>2])for(c=v(0),i=0,b=v(0),f=v(0),d=v(0),p=v(0),u=v(0);l=m[16+(o=(n=i<<2)+A|0)>>2],e=h[s+504>>2],A=s+528|0,N=h[s+508>>2],j=F=h[s+384>>2]+(N>>1)|0,o=h[o>>2],1&N&&(e=h[e+h[F>>2]>>2]),r[e](A,j,o),o=h[s+508>>2],e=h[s+388>>2]+(o>>1)|0,x=v(l*m[s+536>>2]),T=v(l*m[s+532>>2]),E=v(l*m[s+528>>2]),n=h[n+h[s+372>>2]>>2],g=m[n+8>>2],y=m[n>>2],C=v(-m[n+4>>2]),A=h[s+504>>2],A=1&o?h[h[e>>2]+A>>2]:A,c=v(c+x),b=v(b+T),f=v(f+E),h[s+524>>2]=0,m[s+520>>2]=v(v(m[s+428>>2]*C)-v(y*m[s+424>>2]))-v(g*m[s+432>>2]),m[s+516>>2]=v(v(m[s+412>>2]*C)-v(y*m[s+408>>2]))-v(g*m[s+416>>2]),m[s+512>>2]=v(v(m[s+396>>2]*C)-v(y*m[s+392>>2]))-v(g*m[s+400>>2]),r[A](s+528|0,e,s+512|0),g=m[s+528>>2],y=m[s+532>>2],C=m[s+536>>2],d=v(d+v(l*v(v(v(v(g*m[s+472>>2])+v(y*m[s+476>>2]))+v(C*m[s+480>>2]))+m[s+496>>2]))),p=v(p+v(l*v(v(v(v(g*m[s+456>>2])+v(y*m[s+460>>2]))+v(C*m[s+464>>2]))+m[s+492>>2]))),u=v(u+v(l*v(v(v(v(g*m[s+440>>2])+v(y*m[s+444>>2]))+v(C*m[s+448>>2]))+m[s+488>>2]))),i=i+1|0,A=h[s+372>>2],i>>>0<_[A+32>>2];);else u=v(0),p=v(0),d=v(0),f=v(0),b=v(0),c=v(0);l=m[t+48>>2],g=m[t+8>>2],y=m[t>>2],C=m[t+4>>2],x=m[t+52>>2],T=m[t+24>>2],E=m[t+16>>2],O=m[t+20>>2],M=m[t+56>>2],R=m[t+40>>2],P=m[t+32>>2],I=m[t+36>>2],h[a+16>>2]=0,m[a+12>>2]=M+v(v(v(f*P)+v(b*I))+v(c*R)),m[a+8>>2]=x+v(v(v(f*E)+v(b*O))+v(c*T)),m[a+4>>2]=l+v(v(v(f*y)+v(b*C))+v(c*g)),g=m[t+48>>2],y=m[t+8>>2],C=m[t>>2],x=m[t+4>>2],T=m[t+52>>2],E=m[t+24>>2],O=m[t+16>>2],M=m[t+20>>2],R=m[t+56>>2],P=m[t+40>>2],I=m[t+32>>2],D=m[t+36>>2],f=v(f-u),b=v(b-p),c=v(c-d),l=v(S(v(v(v(f*f)+v(b*b))+v(c*c)))),m[a+52>>2]=l,h[a+48>>2]=0,h[a+32>>2]=0,L=c,c=l>v(9999999747378752e-20)?v(v(1)/l):v(1),m[a+44>>2]=L*c,m[a+40>>2]=b*c,m[a+36>>2]=f*c,m[a+28>>2]=R+v(v(v(u*I)+v(p*D))+v(d*P)),m[a+24>>2]=T+v(v(v(u*O)+v(p*M))+v(d*E)),m[a+20>>2]=g+v(v(v(u*C)+v(p*x))+v(d*y)),A=1}return w=s+544|0,A}function he(e,t){var n=v(0),i=0,r=0,o=0,a=v(0),p=0,h=0,d=v(0),f=v(0),_=v(0),b=0,g=v(0),C=0,A=v(0),x=v(0),T=v(0),E=v(0);a=v(1);e:{t:{c(e);n:if(1065353216!=(0|(p=l(0)))&&(c(t),i=2147483647&(h=l(0)))){if(r=2147483647&p,!(i>>>0<2139095041&&r>>>0<=2139095040))return v(e+t);b=0,(0|p)>-1||(b=2,i>>>0>1266679807||(b=0,i>>>0<1065353216||(b=0,(0|i)==(C=i>>>(o=150-(i>>>23|0)|0)|0)<>>0>=1065353217?(0|h)>-1?t:v(0):v((0|h)>-1?0:-t)}return(0|h)>-1?e:v(v(1)/e)}if(1073741824==(0|h))return v(e*e);if(!(1056964608!=(0|h)|(0|p)<0))return v(S(e));if(n=v(y(e)),!r||1065353216==(1073741823&p)){if(a=(0|h)<0?v(v(1)/n):n,(0|p)>-1)break n;return o|r+-1065353216?1==(0|o)?v(-a):a:(e=v(a-a),v(e/e))}i:if(!((0|p)>-1)){r:switch(0|o){case 0:return e=v(e-e),v(e/e);case 1:break r;default:break i}a=v(-1)}if(i>>>0>=1291845633){if(r>>>0<=1065353207)return v((0|h)<0?v(a*v(1.0000000150474662e30))*v(1.0000000150474662e30):v(a*v(1.0000000031710769e-30))*v(1.0000000031710769e-30));if(r>>>0>=1065353224)return v((0|h)>0?v(a*v(1.0000000150474662e30))*v(1.0000000150474662e30):v(a*v(1.0000000031710769e-30))*v(1.0000000031710769e-30));e=v(n+v(-1)),n=v(e*v(1.44268798828125)),d=v(v(e*v(7052607543300837e-21))+v(v(v(e*e)*v(v(.5)-v(e*v(v(e*v(-.25))+v(.3333333432674408)))))*v(-1.4426950216293335))),s(0,-4096&(c(v(n+d)),l(0))),e=u(),g=v(e-n)}else o=1065353216|(p=8388607&(r=(i=r>>>0<8388608)?(c(v(n*v(16777216))),l(0)):r)),i=(r>>23)+(i?-151:-127)|0,r=0,p>>>0<1885298||(p>>>0<6140887?r=1:(o=o+-8388608|0,i=i+1|0)),g=m[25968+(p=r<<2)>>2],s(0,o),d=u(),f=m[p+25952>>2],_=v(d-f),A=v(v(1)/v(f+d)),s(0,-4096&(c(n=v(_*A)),l(0))),e=u(),x=v(e*e),T=e,E=_,s(0,4194304+((o>>1&-536875008|536870912)+(r<<21)|0)|0),_=u(),d=v(A*v(v(E-v(e*_))-v(e*v(d-v(_-f))))),_=v(v(n+e)*d),e=v(n*n),f=v(_+v(v(e*e)*v(v(e*v(v(e*v(v(e*v(v(e*v(v(e*v(.20697501301765442))+v(.23066075146198273)))+v(.2727281153202057)))+v(.3333333432674408)))+v(.4285714328289032)))+v(.6000000238418579)))),s(0,-4096&(c(v(v(x+v(3))+f)),l(0))),e=u(),_=v(T*e),n=v(v(d*e)+v(n*v(f-v(v(e+v(-3))-x)))),s(0,-4096&(c(v(_+n)),l(0))),e=u(),f=v(e*v(.9619140625)),d=v(m[p+25960>>2]+v(v(v(n-v(e-_))*v(.9617967009544373))+v(e*v(-.00011736857413779944)))),n=v(0|i),s(0,-4096&(c(v(v(g+v(f+d))+n)),l(0))),e=u(),g=v(v(v(e-n)-g)-f);if(s(0,-4096&h),f=u(),n=v(e*f),e=v(v(v(d-g)*t)+v(v(t-f)*e)),c(t=v(n+e)),(0|(o=l(0)))>=1124073473)break t;r=1124073472;i:{r:{if(1124073472==(0|o)){if(!(v(e+v(4.299566569443414e-8))>v(t-n)))break r;break t}if(r=2147483647&o,!(e<=v(t-n)^1|-1021968384!=(0|o))|r>>>0>=1125515265)break e;if(i=0,r>>>0<1056964609)break i}i=(8388607&(h=(8388608>>>(r>>>23|0)-126|0)+o|0)|8388608)>>>150-(r=h>>>23&255)|0,i=(0|o)<0?0-i|0:i,n=v(n-(s(0,h&-8388608>>r+-127),u())),c(v(e+n)),o=l(0)}s(0,-32768&o),t=u(),d=v(t*v(.693145751953125)),n=v(v(t*v(14286065379565116e-22))+v(v(e-v(t-n))*v(.6931471824645996))),e=v(d+n),t=v(e*e),t=v(e-v(t*v(v(t*v(v(t*v(v(t*v(v(t*v(4.138136944220605e-8))+v(-16533901998627698e-22)))+v(661375597701408e-19)))+v(-.0027777778450399637)))+v(.1666666716337204)))),_=v(v(e*t)/v(t+v(-2))),t=v(n-v(e-d)),(0|(o=0|(c(e=v(v(e-v(_-v(t+v(e*t))))+v(1))),l(0)+(i<<23))))<=8388607?e=function(e,t){i:if((0|t)>=128){if(e=v(e*v(17014118346046923e22)),(0|t)<255){t=t+-127|0;break i}e=v(e*v(17014118346046923e22)),t=((0|t)<381?t:381)+-254|0}else(0|t)>-127||(e=v(e*v(11754943508222875e-54)),(0|t)>-253?t=t+126|0:(e=v(e*v(11754943508222875e-54)),t=((0|t)>-378?t:-378)+252|0));return v(e*(s(0,1065353216+(t<<23)|0),u()))}(e,i):(s(0,o),e=u()),a=v(a*e)}return a}return v(v(a*v(1.0000000150474662e30))*v(1.0000000150474662e30))}return v(v(a*v(1.0000000031710769e-30))*v(1.0000000031710769e-30))}function de(e){var t,n=v(0),i=v(0),r=v(0),a=0,s=v(0),c=v(0),l=0,u=v(0),p=v(0),f=v(0),_=v(0),b=0,g=v(0),y=v(0),C=0,A=v(0),x=v(0),S=v(0),T=v(0),E=v(0);w=t=w-16|0;e:if(d[e+356|0]){o[e+356|0]=0,o[e+352|0]=0,h[e+344>>2]=0,h[e+348>>2]=0,h[e+336>>2]=0,h[e+340>>2]=0,l=-16&d[0|(b=e+332|0)],o[0|b]=l,C=e+316|0;t:{n:switch(h[e>>2]-1|0){case 0:a=h[e+168>>2],h[e+260>>2]=h[e+164>>2],h[e+264>>2]=a,a=h[e+88>>2],h[e+244>>2]=h[e+84>>2],h[e+248>>2]=a,a=h[e+176>>2],h[e+268>>2]=h[e+172>>2],h[e+272>>2]=a,a=h[e+96>>2],h[e+252>>2]=h[e+92>>2],h[e+256>>2]=a,o[e+352|0]=0,h[e+288>>2]=0,m[e+280>>2]=m[e+248>>2]-m[e+264>>2],m[e+276>>2]=m[e+244>>2]-m[e+260>>2],m[e+284>>2]=m[e+252>>2]-m[e+268>>2],h[e+344>>2]=0,h[e+348>>2]=0,h[e+336>>2]=1065353216,h[e+340>>2]=0,o[e+332|0]=l,a=1;break t;case 1:if(c=m[e+4>>2],i=v(m[e+20>>2]-c),u=m[e+8>>2],r=v(m[e+24>>2]-u),p=m[e+12>>2],s=v(m[e+28>>2]-p),a=1,(c=v(v(v(v(v(0)-c)*i)+v(v(v(0)-u)*r))+v(v(v(0)-p)*s)))>v(0)&&(c<(n=v(v(v(i*i)+v(r*r))+v(s*s)))?(n=v(c/n),a=3):(n=v(1),a=2)),h[e+344>>2]=0,h[e+348>>2]=0,m[e+340>>2]=n,m[e+336>>2]=v(1)-n,o[e+332|0]=a|l,a=0,h[e+256>>2]=0,i=m[e+92>>2],c=v(i+v(n*v(m[e+108>>2]-i))),m[e+252>>2]=c,i=m[e+88>>2],u=v(i+v(n*v(m[e+104>>2]-i))),m[e+248>>2]=u,i=m[e+84>>2],p=v(i+v(n*v(m[e+100>>2]-i))),m[e+244>>2]=p,f=m[e+180>>2],_=m[e+184>>2],i=m[e+168>>2],g=m[e+188>>2],r=m[e+172>>2],s=m[e+164>>2],h[e+288>>2]=0,r=v(r+v(n*v(g-r))),m[e+284>>2]=c-r,i=v(i+v(n*v(_-i))),m[e+280>>2]=u-i,n=v(s+v(n*v(f-s))),m[e+276>>2]=p-n,h[e+272>>2]=0,m[e+268>>2]=r,m[e+264>>2]=i,m[e+260>>2]=n,Ft(e,e+332|0),m[e+336>>2]>=v(0)^1|m[e+340>>2]>=v(0)^1|m[e+344>>2]>=v(0)^1)break t;a=m[e+348>>2]>=v(0);break t;case 2:if(h[(l=t)+8>>2]=0,h[l+12>>2]=0,h[l>>2]=0,h[l+4>>2]=0,dt(l,e+4|0,e+20|0,e+36|0,C),h[e+256>>2]=0,n=m[e+336>>2],i=m[e+340>>2],r=m[e+344>>2],s=v(v(v(n*m[e+92>>2])+v(i*m[e+108>>2]))+v(r*m[e+124>>2])),m[e+252>>2]=s,c=v(v(v(n*m[e+88>>2])+v(i*m[e+104>>2]))+v(r*m[e+120>>2])),m[e+248>>2]=c,u=v(v(v(n*m[e+84>>2])+v(i*m[e+100>>2]))+v(r*m[e+116>>2])),m[e+244>>2]=u,p=m[e+180>>2],f=m[e+196>>2],_=m[e+168>>2],g=m[e+184>>2],A=m[e+200>>2],x=m[e+172>>2],S=m[e+188>>2],T=m[e+204>>2],E=m[e+164>>2],h[e+288>>2]=0,y=s,s=v(v(v(n*x)+v(i*S))+v(r*T)),m[e+284>>2]=y-s,y=c,c=v(v(v(n*_)+v(i*g))+v(r*A)),m[e+280>>2]=y-c,n=v(v(v(n*E)+v(i*p))+v(r*f)),m[e+276>>2]=u-n,h[e+272>>2]=0,m[e+268>>2]=s,m[e+264>>2]=c,m[e+260>>2]=n,Ft(e,b),m[e+336>>2]>=v(0)^1|m[e+340>>2]>=v(0)^1|m[e+344>>2]>=v(0)^1)break t;a=m[e+348>>2]>=v(0);break t;case 3:break n;default:break t}if(h[(l=t)+8>>2]=0,h[l+12>>2]=0,h[l>>2]=0,h[l+4>>2]=0,function(e,t,n,i,r,a){var s=v(0),c=0,l=v(0),u=v(0),p=v(0),f=0,_=v(0),b=v(0),g=v(0),y=0,C=v(0),A=v(0),x=0,S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=0,K=v(0),Z=v(0),q=v(0),J=0,$=0;return w=c=w-48|0,o[c+24|0]=0,f=h[e+12>>2],h[a+8>>2]=h[e+8>>2],h[a+12>>2]=f,f=h[e+4>>2],h[a>>2]=h[e>>2],h[a+4>>2]=f,o[a+16|0]=15|d[a+16|0],G=m[e+8>>2],S=m[t+8>>2],V=v(G-S),T=m[n+8>>2],E=v(T-S),H=m[i>>2],P=m[t>>2],O=v(H-P),k=m[r+4>>2],M=m[t+4>>2],R=v(k-M),I=m[i+4>>2],D=v(I-M),_=m[r>>2],L=v(_-P),b=v(v(O*R)-v(D*L)),N=m[n>>2],F=v(N-P),W=m[r+8>>2],g=v(W-S),u=m[i+8>>2],p=v(u-S),s=v(v(D*g)-v(p*R)),B=m[n+4>>2],C=v(B-M),l=v(v(p*L)-v(O*g)),A=v(v(E*b)+v(v(F*s)+v(C*l))),X=m[e>>2],z=v(X-P),Y=m[e+4>>2],j=v(Y-M),Q=v(A*A)>2],s=v(_-m[e>>2]),l=v(s*s),b=m[c+12>>2],s=v(b-m[e+4>>2]),l=v(l+v(s*s)),u=m[c+16>>2],s=v(u-m[e+8>>2]),s=v(l+v(s*s)),l=v(34028234663852886e22),s>2]=h[c+20>>2],m[a+8>>2]=u,m[a+4>>2]=b,m[a>>2]=_,f=d[c+24|0],o[a+16|0]=1&f|240&d[a+16|0]|2&f|4&f,x=h[c+36>>2],y=h[c+32>>2],f=h[c+28>>2],h[a+32>>2]=0,h[a+28>>2]=x,h[a+20>>2]=f,h[a+24>>2]=y,l=s)),Q&&(dt(e,t,i,r,c+8|0),_=m[c+8>>2],s=v(_-m[e>>2]),p=v(s*s),b=m[c+12>>2],s=v(b-m[e+4>>2]),p=v(p+v(s*s)),u=m[c+16>>2],s=v(u-m[e+8>>2]),(s=v(p+v(s*s)))>2]=h[c+20>>2],m[a+8>>2]=u,m[a+4>>2]=b,m[a>>2]=_,y=(f=d[c+24|0])<<1,o[a+16|0]=8&y|4&y|1&f|240&d[a+16|0],x=h[c+36>>2],y=h[c+32>>2],f=h[c+28>>2],h[a+24>>2]=0,h[a+28>>2]=y,h[a+32>>2]=x,h[a+20>>2]=f,l=s)),$&&(dt(e,t,r,n,c+8|0),_=m[c+8>>2],s=v(_-m[e>>2]),p=v(s*s),b=m[c+12>>2],s=v(b-m[e+4>>2]),p=v(p+v(s*s)),u=m[c+16>>2],s=v(u-m[e+8>>2]),(s=v(p+v(s*s)))>2]=h[c+20>>2],m[a+8>>2]=u,m[a+4>>2]=b,m[a>>2]=_,t=d[c+24|0],o[a+16|0]=1&t|240&d[a+16|0]|t>>>1&2|t<<2&8,f=h[c+36>>2],t=h[c+28>>2],h[a+32>>2]=h[c+32>>2],h[a+28>>2]=0,h[a+24>>2]=f,h[a+20>>2]=t,l=s)),J?(dt(e,n,r,i,c+8|0),x=1,_=m[c+8>>2],s=v(_-m[e>>2]),p=v(s*s),b=m[c+12>>2],s=v(b-m[e+4>>2]),p=v(p+v(s*s)),u=m[c+16>>2],s=v(u-m[e+8>>2]),v(p+v(s*s))>2]=h[c+20>>2],m[a+8>>2]=u,m[a+4>>2]=b,m[a>>2]=_,e=d[c+24|0],o[a+16|0]=4&e|240&d[a+16|0]|e<<1&2|e<<2&8,t=h[c+36>>2],e=h[c+28>>2],h[a+32>>2]=h[c+32>>2],h[a+28>>2]=t,h[a+24>>2]=e,h[a+20>>2]=0)):x=1),w=c+48|0,x}(l,e+4|0,e+20|0,e+36|0,e+52|0,C)){if(h[e+256>>2]=0,n=m[e+336>>2],i=m[e+340>>2],r=m[e+344>>2],s=m[e+348>>2],c=v(v(v(v(n*m[e+92>>2])+v(i*m[e+108>>2]))+v(r*m[e+124>>2]))+v(s*m[e+140>>2])),m[e+252>>2]=c,u=v(v(v(v(n*m[e+88>>2])+v(i*m[e+104>>2]))+v(r*m[e+120>>2]))+v(s*m[e+136>>2])),m[e+248>>2]=u,p=v(v(v(v(n*m[e+84>>2])+v(i*m[e+100>>2]))+v(r*m[e+116>>2]))+v(s*m[e+132>>2])),m[e+244>>2]=p,h[e+288>>2]=0,h[e+272>>2]=0,f=v(v(v(v(n*m[e+164>>2])+v(i*m[e+180>>2]))+v(r*m[e+196>>2]))+v(s*m[e+212>>2])),m[e+260>>2]=f,_=v(v(v(v(n*m[e+168>>2])+v(i*m[e+184>>2]))+v(r*m[e+200>>2]))+v(s*m[e+216>>2])),m[e+264>>2]=_,n=v(v(v(v(n*m[e+172>>2])+v(i*m[e+188>>2]))+v(r*m[e+204>>2]))+v(s*m[e+220>>2])),m[e+268>>2]=n,m[e+276>>2]=p-f,m[e+280>>2]=u-_,m[e+284>>2]=c-n,Ft(e,e+332|0),m[e+336>>2]>=v(0)^1|m[e+340>>2]>=v(0)^1|m[e+344>>2]>=v(0)^1)break t;a=m[e+348>>2]>=v(0)}else if(!d[e+352|0]){h[e+276>>2]=0,h[e+280>>2]=0,a=1,o[e+312|0]=1,h[e+284>>2]=0,h[e+288>>2]=0;break e}}o[e+312|0]=a}else a=d[e+312|0];return w=t+16|0,0!=(0|a)}function fe(e,t,n,i,r){var a,s=0,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=0,M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=0,z=v(0),j=v(0),U=v(0),G=v(0);if(w=a=w-48|0,m[t+52>>2]>2]){O=h[t+48>>2],A=m[t+44>>2],p=m[t+40>>2],d=m[t+36>>2],s=ri(n),f=v(m[t+12>>2]-m[s+56>>2]),_=v(m[t+8>>2]-m[s+52>>2]),l=m[s+48>>2],c=m[t+4>>2],s=ri(i),b=v(c-l),c=v(v(1)/v(S(v(v(v(d*d)+v(p*p))+v(A*A))))),R=v(A*c),I=v(p*c),D=v(d*c),g=v(m[t+28>>2]-m[s+56>>2]),y=v(m[t+24>>2]-m[s+52>>2]),C=v(m[t+20>>2]-m[s+48>>2]);e:{t:{if(!(s=h[n+4>>2])){if(s=h[n>>2])break t;c=v(0);break e}u=m[s+328>>2],l=m[s+332>>2],x=v(v(_*u)-v(b*l)),c=m[s+336>>2],T=v(v(b*c)-v(f*u)),u=v(v(f*l)-v(_*c)),E=m[s+316>>2],P=m[s+312>>2],c=m[s+320>>2];break e}u=m[s+332>>2],l=m[s+336>>2],x=v(v(_*u)-v(b*l)),c=m[s+340>>2],T=v(v(b*c)-v(f*u)),u=v(v(f*l)-v(_*c)),E=m[s+320>>2],P=m[s+316>>2],c=m[s+324>>2]}z=v(c+x),j=v(E+T),U=v(P+u);e:{t:{if(!(s=h[i+4>>2])){if(s=h[i>>2])break t;T=v(0),x=v(0),E=v(0),P=v(0),L=v(0);break e}u=m[s+328>>2],l=m[s+332>>2],P=v(v(y*u)-v(C*l)),c=m[s+336>>2],E=v(v(C*c)-v(g*u)),k=v(v(g*l)-v(y*c)),T=m[s+316>>2],x=m[s+312>>2],L=m[s+320>>2];break e}u=m[s+332>>2],l=m[s+336>>2],P=v(v(y*u)-v(C*l)),c=m[s+340>>2],E=v(v(C*c)-v(g*u)),k=v(v(g*l)-v(y*c)),T=m[s+320>>2],x=m[s+316>>2],L=m[s+324>>2]}G=m[e+12>>2],M=m[t+52>>2],t=h[n+4>>2],h[r+4>>2]=h[n>>2],h[r+8>>2]=t,h[r+12>>2]=h[n+8>>2],s=h[i+4>>2],h[(t=r)+16>>2]=h[i>>2],h[t+20>>2]=s,h[t+24>>2]=h[i+8>>2],s=ri(n),N=m[s+36>>2],F=m[s+20>>2],B=m[s+40>>2],A=m[s+24>>2],p=m[s+4>>2],d=m[s+8>>2],u=m[s+32>>2],l=m[s>>2],c=m[s+16>>2],h[t+40>>2]=0,m[t+28>>2]=v(v(b*l)+v(_*c))+v(f*u),m[t+36>>2]=v(v(b*d)+v(_*A))+v(f*B),m[t+32>>2]=v(v(b*p)+v(_*F))+v(f*N),s=ri(i),N=m[s+36>>2],F=m[s+20>>2],B=m[s+40>>2],A=m[s+24>>2],p=m[s+4>>2],d=m[s+8>>2],u=m[s+32>>2],l=m[s>>2],c=m[s+16>>2],h[t+192>>2]=0,m[t+188>>2]=g,m[t+184>>2]=y,m[(V=t+180|0)>>2]=C,h[t+176>>2]=0,m[t+172>>2]=f,m[t+168>>2]=_,m[t+164>>2]=b,h[t+56>>2]=0,h[t+156>>2]=0,h[t+160>>2]=0,h[t+60>>2]=1065353216,h[t+64>>2]=1065353216,h[t+208>>2]=O,m[t+204>>2]=R,m[t+200>>2]=I,m[t+196>>2]=D,h[t+84>>2]=0,M=v(M-G),m[t+80>>2]=R*M,m[t+76>>2]=I*M,m[t+72>>2]=D*M,h[t+68>>2]=1065353216,m[t+44>>2]=v(v(C*l)+v(y*c))+v(g*u),m[t+52>>2]=v(v(C*d)+v(y*A))+v(g*B),m[t+48>>2]=v(v(C*p)+v(y*F))+v(g*N),o[t+152|0]=0,u=v(U-v(x+k)),l=v(j-v(T+E)),c=v(z-v(L+P)),p=v(v(v(D*u)+v(I*l))+v(R*c)),d=m[e+16>>2],c=v(c-v(R*p)),f=v(c*c),c=v(u-v(D*p)),u=v(c*c),c=v(l-v(I*p)),m[t+212>>2]=v(f+v(u+v(c*c)))>2])e=e+344|0;else{if(e=h[n>>2],l=v(0),!e)break e;e=e+128|0}l=m[e>>2]}1&o[30696]||Vl(30696)&&(h[7672]=0,h[7673]=0,h[7670]=0,h[7671]=0,h[7668]=0,h[7669]=0,h[7666]=0,h[7667]=0,h[7664]=0,h[7665]=0,h[7662]=0,h[7663]=0,Fu(30696)),O=(e=h[n>>2])?e+180|0:30648,n=(s=h[n+4>>2])+264|0;e:{if(e=h[i+4>>2])e=e+344|0;else{if(e=h[i>>2],c=v(0),!e)break e;e=e+128|0}c=m[e>>2]}t=r+164|0,e=s?n:O,s=1,1&o[30696]||Vl(30696)&&(h[7672]=0,h[7673]=0,h[7670]=0,h[7671]=0,h[7668]=0,h[7669]=0,h[7666]=0,h[7667]=0,h[7664]=0,h[7665]=0,h[7662]=0,h[7663]=0,Fu(30696)),n=e,O=t,t=h[i+4>>2],e=h[i>>2],function(e,t,n,i,r,o,a){var s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0);_=m[n+40>>2],b=m[n+24>>2],g=m[n+36>>2],u=m[n+20>>2],y=m[o+40>>2],T=m[o+24>>2],C=m[o+36>>2],A=m[o+20>>2],s=m[i+4>>2],x=m[n+8>>2],S=m[n+4>>2],M=m[n+32>>2],c=m[i>>2],R=m[n>>2],p=m[i+8>>2],I=m[n+16>>2],l=m[a+4>>2],w=m[o+8>>2],D=m[o+4>>2],L=m[o+32>>2],d=m[a>>2],N=m[o>>2],f=m[a+8>>2],F=m[o+16>>2],h[e+44>>2]=0,h[e+28>>2]=0,h[e+12>>2]=0,B=v(v(v(p*S)+v(u*v(0)))-v(c*g)),k=v(v(v(p*R)+v(I*v(0)))-v(c*M)),V=v(v(v(p*x)+v(b*v(0)))-v(c*_)),z=v(v(v(f*D)+v(A*v(0)))-v(d*C)),j=v(v(v(f*N)+v(F*v(0)))-v(d*L)),U=v(v(v(f*w)+v(T*v(0)))-v(d*y)),O=v(v(t-v(v(v(B*v(0))-v(p*k))+v(c*V)))+v(r-v(v(v(z*v(0))-v(f*j))+v(d*U)))),G=v(v(v(R*v(0))-v(p*I))+v(s*M)),H=v(v(v(S*v(0))-v(p*u))+v(s*g)),W=v(v(v(x*v(0))-v(p*b))+v(s*_)),X=v(v(v(N*v(0))-v(f*F))+v(l*L)),Y=v(v(v(D*v(0))-v(f*A))+v(l*C)),Q=v(v(v(w*v(0))-v(f*T))+v(l*y)),E=v(v(t-v(v(v(G*v(0))+v(p*H))-v(s*W)))+v(r-v(v(v(X*v(0))+v(f*Y))-v(l*Q)))),P=v(v(v(0)-v(v(v(s*G)-v(c*H))+v(W*v(0))))+v(v(0)-v(v(v(l*X)-v(d*Y))+v(Q*v(0))))),u=v(v(v(c*u)-v(s*S))+v(g*v(0))),S=v(v(v(c*I)-v(s*R))+v(M*v(0))),x=v(v(v(c*b)-v(s*x))+v(_*v(0))),C=v(v(v(d*A)-v(l*D))+v(C*v(0))),A=v(v(v(d*F)-v(l*N))+v(L*v(0))),y=v(v(v(d*T)-v(l*w))+v(y*v(0))),_=v(v(v(0)-v(v(v(u*v(0))-v(p*S))+v(c*x)))+v(v(0)-v(v(v(C*v(0))-v(f*A))+v(d*y)))),b=v(v(v(v(s*V)-v(v(k*v(0))+v(p*B)))+v(0))+v(v(v(l*U)-v(v(j*v(0))+v(f*z)))+v(0))),g=v(v(v(v(s*x)-v(v(S*v(0))+v(p*u)))+v(0))+v(v(v(l*y)-v(v(A*v(0))+v(f*C)))+v(0))),T=v(v(_*b)-v(O*g)),u=v(v(t-v(v(v(s*S)-v(c*u))+v(x*v(0))))+v(r-v(v(v(l*A)-v(d*C))+v(y*v(0))))),s=v(v(v(0)-v(v(v(s*k)-v(c*B))+v(V*v(0))))+v(v(0)-v(v(v(l*j)-v(d*z))+v(U*v(0))))),l=v(v(O*u)-v(s*_)),r=v(v(v(0)-v(v(v(H*v(0))-v(p*G))+v(c*W)))+v(v(0)-v(v(v(Y*v(0))-v(f*X))+v(d*Q)))),c=v(v(s*g)-v(u*b)),t=v(v(1)/v(v(P*T)+v(v(E*l)+v(r*c)))),m[e+40>>2]=v(v(O*E)-v(b*r))*t,m[e+36>>2]=v(v(g*r)-v(_*E))*t,m[e+32>>2]=T*t,m[e+24>>2]=v(v(b*P)-v(s*E))*t,m[e+20>>2]=v(v(u*E)-v(g*P))*t,m[e+16>>2]=c*t,m[e+8>>2]=v(v(s*r)-v(O*P))*t,m[e+4>>2]=v(v(_*P)-v(u*r))*t,m[e>>2]=l*t}(a,l,n,O,c,t?t+264|0:e?e+180|0:30648,V),t=h[(e=a)+12>>2],h[r+112>>2]=h[e+8>>2],h[r+116>>2]=t,t=h[e+4>>2],h[r+104>>2]=h[e>>2],h[r+108>>2]=t,t=h[e+20>>2],h[r+120>>2]=h[e+16>>2],h[r+124>>2]=t,t=h[e+28>>2],h[r+128>>2]=h[e+24>>2],h[r+132>>2]=t,t=h[e+36>>2],h[r+136>>2]=h[e+32>>2],h[r+140>>2]=t,t=h[e+44>>2],h[r+144>>2]=h[e+40>>2],h[r+148>>2]=t}return w=a+48|0,s}function _e(e,t,n,i,o,a,s){var c,l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=0,N=v(0),F=0,B=v(0),k=v(0),V=v(0),z=v(0),j=0;w=c=w-9824|0,h[a>>2]=0,h[a+4>>2]=0,h[a+32>>2]=0,h[a+24>>2]=0,h[a+28>>2]=0,h[a+16>>2]=0,h[a+20>>2]=0,h[a+8>>2]=0,h[a+12>>2]=0,h[c+9700>>2]=n,h[c+9696>>2]=e,l=m[i+20>>2],u=m[i+36>>2],p=m[t+20>>2],d=m[t+36>>2],f=m[i+24>>2],y=m[t+24>>2],b=m[i+40>>2],C=m[t+40>>2],A=m[i+32>>2],x=m[i>>2],S=m[i+16>>2],T=m[i+4>>2],E=m[t+32>>2],P=m[t>>2],O=m[t+16>>2],R=m[t+4>>2],M=m[i+8>>2],I=m[t+8>>2],h[c+9748>>2]=0,h[c+9732>>2]=0,h[c+9716>>2]=0,D=v(v(v(I*M)+v(y*f))+v(C*b)),m[c+9744>>2]=D,N=v(v(v(R*M)+v(p*f))+v(d*b)),m[c+9740>>2]=N,f=v(v(v(P*M)+v(O*f))+v(E*b)),m[c+9736>>2]=f,b=v(v(v(I*T)+v(y*l))+v(C*u)),m[c+9728>>2]=b,M=v(v(v(R*T)+v(p*l))+v(d*u)),m[c+9724>>2]=M,l=v(v(v(P*T)+v(O*l))+v(E*u)),m[c+9720>>2]=l,u=v(v(v(x*I)+v(S*y))+v(A*C)),m[c+9712>>2]=u,p=v(v(v(x*R)+v(S*p))+v(A*d)),m[c+9708>>2]=p,d=v(v(v(x*P)+v(S*O))+v(A*E)),m[c+9704>>2]=d,y=m[t+20>>2],C=m[t+36>>2],A=m[t+24>>2],x=m[t+52>>2],S=m[i+52>>2],T=m[t+40>>2],E=m[t+56>>2],P=m[i+56>>2],O=m[t>>2],R=m[t+16>>2],I=m[t+32>>2],B=m[t+4>>2],k=m[t+8>>2],V=m[t+48>>2],z=m[i+48>>2],h[c+9820>>2]=0,h[c+9812>>2]=0,h[c+9796>>2]=0,m[c+9792>>2]=D,m[c+9788>>2]=b,m[c+9784>>2]=u,h[c+9780>>2]=0,m[c+9776>>2]=N,m[c+9772>>2]=M,m[c+9768>>2]=p,h[c+9764>>2]=0,m[c+9760>>2]=f,m[c+9756>>2]=l,l=v(z-V),u=v(S-x),p=v(P-E),m[c+9808>>2]=v(v(k*l)+v(A*u))+v(T*p),m[c+9804>>2]=v(v(l*B)+v(u*y))+v(p*C),m[c+9800>>2]=v(v(l*O)+v(u*R))+v(p*I),h[c+9816>>2]=s?99:98,m[c+9752>>2]=d,h[(e=c+9448|0)>>2]=0,h[e+4>>2]=0,h[c+9440>>2]=0,h[c+9444>>2]=0,h[c+9676>>2]=0,h[c+9680>>2]=0,h[c+9688>>2]=2,h[c+9456>>2]=0,l=m[o>>2],u=m[o+4>>2],p=m[o+8>>2],h[c+28>>2]=0,m[c+24>>2]=-p,m[c+20>>2]=-u,m[c+16>>2]=-l;e:{t:{n:switch(Z(c+9312|0,c+9696|0,c+16|0)+-1|0){case 0:for(h[(e=c+9304|0)>>2]=0,h[e+4>>2]=0,h[(e=c- -64|0)>>2]=0,h[e+4>>2]=0,h[c+72>>2]=0,h[c+9296>>2]=0,h[c+9300>>2]=0,h[c+9292>>2]=0,h[c+16>>2]=9,h[c+56>>2]=0,h[c+60>>2]=0,i=0;e=7128+(g(0-i|0,56)+c|0)|0,h[e+2152>>2]=0,n=h[c+9304>>2],h[e+2156>>2]=n,e=e+2108|0,n&&(h[n+44>>2]=e),h[c+9304>>2]=e,128!=(0|(i=i+1|0)););if(h[c+9308>>2]=128,l=m[o>>2],u=m[o+4>>2],p=m[o+8>>2],h[c+12>>2]=0,m[c+8>>2]=-p,m[c+4>>2]=-u,m[c>>2]=-l,9!=(0|se(c+16|0,c+9312|0,c))){if(!h[c+52>>2]){l=v(0),u=v(0),p=v(0);break t}for(p=v(0),i=0,u=v(0),l=v(0);e=h[c+9816>>2],n=c,o=h[c+9820>>2],L=s=h[c+9696>>2]+(o>>1)|0,j=h[4+(F=(c+16|0)+(i<<2)|0)>>2],1&o&&(e=h[e+h[s>>2]>>2]),r[e](n,L,j),d=m[F+20>>2],p=v(p+v(d*m[c+8>>2])),u=v(u+v(d*m[c+4>>2])),l=v(l+v(m[c>>2]*d)),(i=i+1|0)>>>0<_[c+52>>2];);break t}h[a>>2]=3;break e;case 1:break n;default:break e}h[a>>2]=2;break e}L=1,h[a>>2]=1,d=m[t+48>>2],f=m[t+8>>2],y=m[t>>2],b=m[t+4>>2],C=m[t+52>>2],A=m[t+24>>2],x=m[t+16>>2],S=m[t+20>>2],T=m[t+56>>2],E=m[t+40>>2],P=m[t+32>>2],O=m[t+36>>2],h[a+16>>2]=0,m[a+12>>2]=T+v(v(v(l*P)+v(u*O))+v(p*E)),m[a+8>>2]=C+v(v(v(l*x)+v(u*S))+v(p*A)),m[a+4>>2]=d+v(v(v(l*y)+v(u*b))+v(p*f)),C=m[t+48>>2],A=m[t+8>>2],x=m[t>>2],S=m[t+4>>2],T=m[t+52>>2],E=m[t+24>>2],P=m[t+16>>2],O=m[t+20>>2],R=m[t+56>>2],M=m[t+40>>2],I=m[t+32>>2],D=m[t+36>>2],f=m[c+60>>2],y=m[c- -64>>2],b=m[c+56>>2],d=m[c+72>>2],h[a+48>>2]=0,h[a+32>>2]=0,m[a+52>>2]=-d,m[a+44>>2]=-y,m[a+40>>2]=-f,m[a+36>>2]=-b,l=v(l-v(b*d)),u=v(u-v(d*f)),p=v(p-v(d*y)),m[a+28>>2]=R+v(v(v(I*l)+v(D*u))+v(M*p)),m[a+24>>2]=T+v(v(v(l*P)+v(u*O))+v(p*E)),m[a+20>>2]=C+v(v(v(l*x)+v(u*S))+v(p*A))}return w=c+9824|0,L}function me(e){var t,n=0,i=0,r=0,o=0,a=v(0),s=v(0),c=v(0),l=v(0),u=0,p=v(0),d=v(0),f=v(0),_=0,b=v(0),g=v(0);w=t=w-48|0;e:{t:{n:{i:{r:{o:{a:switch(i=h[e+372>>2],h[i+32>>2]+-1|0){case 3:break i;case 2:break r;case 1:break o;case 0:break a;default:break n}for(r=h[e+364>>2],n=1;;){if(h[t+40>>2]=0,h[t+44>>2]=0,h[t+32>>2]=0,h[t+36>>2]=0,h[(t+32|0)+(o<<2)>>2]=1065353216,h[16+(u=(n<<2)+i|0)>>2]=0,r=r+-1|0,h[e+364>>2]=r,r=h[348+((r<<2)+e|0)>>2],h[u>>2]=r,h[i+32>>2]=n+1,pr(e,t+32|0,r),me(e))break t;if(i=h[e+372>>2],n=h[i+32>>2]+-1|0,h[i+32>>2]=n,r=h[e+364>>2],n=h[i+(n<<2)>>2],h[348+((r<<2)+e|0)>>2]=n,i=h[e+372>>2],h[t+28>>2]=0,m[t+24>>2]=-m[t+40>>2],m[t+20>>2]=-m[t+36>>2],m[t+16>>2]=-m[t+32>>2],u=h[i+32>>2],h[16+(_=i+(u<<2)|0)>>2]=0,h[e+364>>2]=r,h[_>>2]=n,h[i+32>>2]=u+1,pr(e,t+16|0,n),me(e))break t;if(i=h[e+372>>2],n=h[i+32>>2]+-1|0,h[i+32>>2]=n,i=h[i+(n<<2)>>2],r=(n=h[e+364>>2])+1|0,h[e+364>>2]=r,h[348+((n<<2)+e|0)>>2]=i,3==(0|(o=o+1|0)))break n;i=h[e+372>>2],n=h[i+32>>2]}}for(n=h[i+4>>2],i=h[i>>2],a=v(m[n+24>>2]-m[i+24>>2]),c=v(m[n+20>>2]-m[i+20>>2]),s=v(m[n+16>>2]-m[i+16>>2]),i=0;;){if(h[t+40>>2]=0,h[t+44>>2]=0,h[t+32>>2]=0,h[t+36>>2]=0,h[(t+32|0)+(i<<2)>>2]=1065353216,h[t+28>>2]=0,l=m[t+32>>2],p=m[t+40>>2],d=v(v(a*l)-v(s*p)),m[t+20>>2]=d,f=m[t+36>>2],p=v(v(c*p)-v(a*f)),m[t+16>>2]=p,l=v(v(s*f)-v(c*l)),m[t+24>>2]=l,v(v(l*l)+v(v(p*p)+v(d*d)))>v(0)){if(n=h[e+372>>2],r=h[n+32>>2],h[16+(o=(r<<2)+n|0)>>2]=0,u=h[e+364>>2]+-1|0,h[e+364>>2]=u,_=o,o=h[348+((u<<2)+e|0)>>2],h[_>>2]=o,h[n+32>>2]=r+1,pr(e,t+16|0,o),me(e))break t;if(n=h[e+372>>2],r=h[n+32>>2]+-1|0,h[n+32>>2]=r,o=h[e+364>>2],r=h[n+(r<<2)>>2],h[348+((o<<2)+e|0)>>2]=r,n=h[e+372>>2],h[t+12>>2]=0,m[t+8>>2]=-m[t+24>>2],m[t+4>>2]=-m[t+20>>2],m[t>>2]=-m[t+16>>2],u=h[n+32>>2],h[16+(_=n+(u<<2)|0)>>2]=0,h[e+364>>2]=o,h[_>>2]=r,h[n+32>>2]=u+1,pr(e,t,r),me(e))break t;n=h[e+372>>2],r=h[n+32>>2]+-1|0,h[n+32>>2]=r,n=h[n+(r<<2)>>2],r=h[e+364>>2],h[e+364>>2]=r+1,h[348+((r<<2)+e|0)>>2]=n}if(3==(0|(i=i+1|0)))break}break n}if(n=h[i+4>>2],d=m[n+20>>2],r=h[i+8>>2],p=m[r+24>>2],o=h[i>>2],a=m[o+24>>2],l=m[n+24>>2],f=m[r+20>>2],c=m[o+20>>2],b=m[r+16>>2],s=m[o+16>>2],g=m[n+16>>2],h[t+44>>2]=0,d=v(d-c),p=v(p-a),l=v(l-a),f=v(f-c),a=v(v(d*p)-v(l*f)),m[t+32>>2]=a,c=l,l=v(b-s),s=v(g-s),c=v(v(c*l)-v(s*p)),m[t+36>>2]=c,s=v(v(s*f)-v(d*l)),m[t+40>>2]=s,!(v(v(s*s)+v(v(a*a)+v(c*c)))>v(0)))break n;if(h[i+28>>2]=0,n=h[e+364>>2]+-1|0,h[e+364>>2]=n,n=h[348+((n<<2)+e|0)>>2],h[i+32>>2]=4,h[i+12>>2]=n,pr(e,t+32|0,n),me(e))break t;if(i=h[e+372>>2],n=h[i+32>>2]+-1|0,h[i+32>>2]=n,r=h[e+364>>2],n=h[i+(n<<2)>>2],h[348+((r<<2)+e|0)>>2]=n,i=h[e+372>>2],h[t+28>>2]=0,m[t+24>>2]=-m[t+40>>2],m[t+20>>2]=-m[t+36>>2],m[t+16>>2]=-m[t+32>>2],o=h[i+32>>2],h[16+(u=i+(o<<2)|0)>>2]=0,h[e+364>>2]=r,h[u>>2]=n,h[i+32>>2]=o+1,pr(e,t+16|0,n),n=1,me(e))break e;i=h[e+372>>2],n=h[i+32>>2]+-1|0,h[i+32>>2]=n,i=h[i+(n<<2)>>2],n=h[e+364>>2],h[e+364>>2]=n+1,h[348+((n<<2)+e|0)>>2]=i,n=0;break e}if(e=h[i>>2],r=h[i+12>>2],a=m[r+16>>2],d=v(m[e+16>>2]-a),o=h[i+4>>2],c=m[r+20>>2],p=v(m[o+20>>2]-c),i=h[i+8>>2],s=m[r+24>>2],l=v(m[i+24>>2]-s),f=v(m[e+20>>2]-c),b=v(m[o+24>>2]-s),g=v(m[i+16>>2]-a),s=v(m[e+24>>2]-s),a=v(m[o+16>>2]-a),c=v(m[i+20>>2]-c),n=1,(a=v(v(v(v(d*p)*l)+v(v(v(v(v(f*b)*g)+v(v(s*a)*c))-v(v(d*b)*c))-v(v(f*a)*l)))-v(v(s*p)*g)))!=v(0)&a==a)break e}n=0;break e}n=1}return w=t+48|0,n}function be(e){var t,n=0,i=0,o=0,a=v(0),s=0,c=0,l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0);if(w=t=w+-64|0,Tt(e,0),(0|(c=h[e+732>>2]))>=1)for(;n=h[e+740>>2]+g(i,52)|0,o=h[n+8>>2],u=m[o+28>>2],s=h[n+12>>2],p=m[s+28>>2],l=m[o+32>>2],d=m[s+32>>2],a=m[o+24>>2],f=m[s+24>>2],h[n+48>>2]=0,a=v(f-a),m[n+36>>2]=a,l=v(d-l),m[n+44>>2]=l,u=v(p-u),m[n+40>>2]=u,m[n+32>>2]=v(1)/v(m[n+24>>2]*v(v(v(a*a)+v(u*u))+v(l*l))),(0|c)!=(0|(i=i+1|0)););if((0|(s=h[e+792>>2]))>=1)for(o=0;n=h[e+800>>2]+g(o,96)|0,i=h[n+20>>2],p=m[i+12>>2],d=m[i+8>>2],f=m[i+4>>2],_=m[i+28>>2],b=m[i+20>>2],y=m[i+24>>2],a=m[n+12>>2],C=m[i+44>>2],l=m[n+4>>2],A=m[i+36>>2],u=m[n+8>>2],x=m[i+40>>2],h[t+60>>2]=0,m[t+56>>2]=v(v(l*A)+v(u*x))+v(a*C),m[t+52>>2]=v(v(l*b)+v(u*y))+v(a*_),m[t+48>>2]=v(v(f*l)+v(d*u))+v(p*a),wt(t,m[e+452>>2],m[h[n>>2]+88>>2],m[i+344>>2],i+264|0,t+48|0),c=h[(i=t)+12>>2],h[n+36>>2]=h[i+8>>2],h[n+40>>2]=c,c=h[i+4>>2],h[n+28>>2]=h[i>>2],h[n+32>>2]=c,c=h[i+28>>2],h[n+52>>2]=h[i+24>>2],h[n+56>>2]=c,c=h[i+20>>2],h[n+44>>2]=h[i+16>>2],h[n+48>>2]=c,c=h[i+44>>2],h[n+68>>2]=h[i+40>>2],h[n+72>>2]=c,c=h[i+36>>2],h[n+60>>2]=h[i+32>>2],h[n+64>>2]=c,c=h[i+60>>2],h[n+84>>2]=h[i+56>>2],h[n+88>>2]=c,c=h[i+52>>2],h[n+76>>2]=h[i+48>>2],h[n+80>>2]=c,m[n+92>>2]=m[e+452>>2]*m[h[n>>2]+88>>2],Zu(h[n+20>>2],0),(0|s)!=(0|(o=o+1|0)););if(!((0|(s=h[e+372>>2]))<1)){for(i=h[e+396>>2],o=0;;){if(n=0,(0|i)>0){for(;r[h[h[e+404>>2]+(n<<2)>>2]?0:833](e,v(1)),(0|(n=n+1|0))<(0|(i=h[e+396>>2])););s=h[e+372>>2]}if(!((0|(o=o+1|0))<(0|s)))break}if(!((0|(o=h[e+712>>2]))<1))for(i=0;a=m[e+452>>2],n=h[e+720>>2]+g(i,104)|0,h[n+20>>2]=0,m[n+8>>2]=v(a*m[n+40>>2])+m[n+24>>2],m[n+16>>2]=v(a*m[n+48>>2])+m[n+32>>2],m[n+12>>2]=v(a*m[n+44>>2])+m[n+28>>2],(0|o)!=(0|(i=i+1|0)););}if(!((0|(n=h[e+376>>2]))<1)){for(i=h[e+416>>2],o=0;;){if((0|i)>0){for(a=v(v(0|o)/v(0|n)),n=0;r[h[22176+(h[h[e+424>>2]+(n<<2)>>2]<<2)>>2]](e,v(1),a),(0|(n=n+1|0))<(0|(i=h[e+416>>2])););n=h[e+376>>2]}if(!((0|(o=o+1|0))<(0|n)))break}if(!((0|(o=h[e+712>>2]))<1))for(a=v(m[e+456>>2]*v(v(1)-m[e+296>>2])),i=0;n=h[e+720>>2]+g(i,104)|0,h[n+52>>2]=0,h[n+56>>2]=0,h[n+60>>2]=0,h[n+64>>2]=0,h[n+68>>2]=0,m[n+40>>2]=a*v(m[n+8>>2]-m[n+24>>2]),m[n+48>>2]=a*v(m[n+16>>2]-m[n+32>>2]),m[n+44>>2]=a*v(m[n+12>>2]-m[n+28>>2]),(0|o)!=(0|(i=i+1|0)););}if(!((0|(s=h[e+380>>2]))<1)){a=m[e+456>>2],l=m[e+292>>2];e:{if((0|(o=h[e+712>>2]))>=1){for(i=0;n=h[e+720>>2]+g(i,104)|0,s=h[n+12>>2],h[n+24>>2]=h[n+8>>2],h[n+28>>2]=s,s=h[n+20>>2],h[n+32>>2]=h[n+16>>2],h[n+36>>2]=s,(0|o)!=(0|(i=i+1|0)););if((0|(s=h[e+380>>2]))<1)break e}for(i=h[e+436>>2],o=0;;){if(n=0,(0|i)>0){for(;r[h[22176+(h[h[e+444>>2]+(n<<2)>>2]<<2)>>2]](e,v(1),v(0)),(0|(n=n+1|0))<(0|(i=h[e+436>>2])););s=h[e+380>>2]}if(!((0|(o=o+1|0))<(0|s)))break}}if(!((0|(o=h[e+712>>2]))<1))for(a=v(l*a),s=h[e+720>>2],i=0;n=s+g(i,104)|0,m[n+40>>2]=v(a*v(m[n+8>>2]-m[n+24>>2]))+m[n+40>>2],m[n+44>>2]=v(a*v(m[n+12>>2]-m[n+28>>2]))+m[n+44>>2],m[n+48>>2]=v(a*v(m[n+16>>2]-m[n+32>>2]))+m[n+48>>2],(0|o)!=(0|(i=i+1|0)););}!function(e){var t=v(0),n=0,i=v(0),r=v(0),o=v(0),a=v(0),s=0,c=0,l=v(0),u=v(0),p=0,d=0,f=0,_=0;if((0|(p=h[e+1112>>2]))>=1)for(f=h[e+1120>>2];;){if(e=h[(c<<2)+f>>2],m[e+352>>2]>v(0)&&!((0|(d=h[e+24>>2]))<1))for(_=h[e+32>>2],s=0;n=h[(s<<2)+_>>2],m[n+88>>2]>v(0)&&(o=m[e+336>>2],i=v(m[n+32>>2]-m[e+236>>2]),t=v(m[n+28>>2]-m[e+232>>2]),a=m[e+340>>2],l=v(m[e+316>>2]+v(v(o*i)-v(t*a))),r=v(m[n+24>>2]-m[e+228>>2]),u=i,i=m[e+332>>2],a=v(m[e+320>>2]+v(v(r*a)-v(u*i))),r=v(v(v(t*i)-v(r*o))+m[e+324>>2]),o=m[n+40>>2],i=m[n+44>>2],t=m[n+48>>2],v(v(v(l*l)+v(a*a))+v(r*r))<=v(v(v(o*o)+v(i*i))+v(t*t))&&(u=t,r=v(r-t),t=m[e+352>>2],m[n+48>>2]=u+v(r*t),m[n+44>>2]=i+v(t*v(a-i)),m[n+40>>2]=o+v(t*v(l-o)))),(0|d)!=(0|(s=s+1|0)););if((0|p)==(0|(c=c+1|0)))break}}(e),Tt(e,1),w=t- -64|0}function ge(e,t,n){e|=0,t|=0,n|=0;var i,o=v(0),a=v(0),s=v(0),u=v(0),p=v(0),d=0,f=v(0),_=0,b=v(0),g=0,y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0);w=i=w-48|0;e:{t:switch(h[t+4>>2]){case 8:h[e>>2]=0,h[e+4>>2]=0,h[e+8>>2]=0,h[e+12>>2]=0;break e;case 0:o=m[t+28>>2],a=m[t+32>>2],s=m[t+36>>2],u=m[n>>2],p=m[n+4>>2],f=m[n+8>>2],h[e+12>>2]=0,m[e+8>>2]=f>=v(0)?s:v(-s),m[e+4>>2]=p>=v(0)?a:v(-a),m[e>>2]=u>=v(0)?o:v(-o);break e;case 1:o=m[n>>2],a=m[n+4>>2],s=m[n+8>>2],u=v(v(v(o*m[t+72>>2])+v(a*m[t+76>>2]))+v(s*m[t+80>>2])),p=v(v(v(o*m[t+88>>2])+v(a*m[t+92>>2]))+v(s*m[t+96>>2])),o=v(v(v(o*m[t+56>>2])+v(a*m[t+60>>2]))+v(s*m[t- -64>>2])),n=h[4+(t=(t+56|0)+((o>2],d=h[t>>2],t=h[t+8>>2],h[e+12>>2]=0,h[e+8>>2]=t,h[e>>2]=d,h[e+4>>2]=n;break e;case 13:d=h[t+40>>2],h[i+40>>2]=h[t+36>>2],h[i+44>>2]=d,d=h[t+32>>2],h[i+32>>2]=h[t+28>>2],h[i+36>>2]=d,h[i+16>>2]=h[n>>2],a=m[n+4>>2],h[i+20>>2]=h[n+4>>2],o=m[n+8>>2],n=h[n+8>>2],h[i+28>>2]=0,h[i+24>>2]=n,n=1,d=2;n:{i:{r:switch((t=h[t+52>>2])+-1|0){case 1:break i;case 0:break r;default:break n}n=0,_=1;break n}o=a,n=0,_=2,d=1}a=m[(i+32|0)+(t<<2)>>2],s=m[((t=n<<2)|i+32)>>2],u=m[(t|i+16)>>2],(p=v(S(v(v(u*u)+v(o*o)))))==v(0)?(m[(n<<2|i)>>2]=s,m[(t=_<<2)+i>>2]=m[t+(i+16|0)>>2]>2]=0,n=4|i,t=i+8|0):(s=v(s/p),m[(n<<2|i)>>2]=u*s,m[(t=_<<2)+i>>2]=m[t+(i+16|0)>>2]>2]=o*s,n=4|i,t=i+8|0),h[e>>2]=h[i>>2],h[e+4>>2]=h[n>>2],t=h[t>>2],h[e+12>>2]=0,h[e+8>>2]=t;break e;case 10:_=t+28|0,d=h[t+52>>2],f=m[_+(g=d<<2)>>2],u=m[_+((d+2|0)%3<<2)>>2],a=m[n>>2],o=m[n+4>>2],s=m[n+8>>2],(p=v(v(v(a*a)+v(o*o))+v(s*s)))>2]=0,h[i+44>>2]=0,h[i+32>>2]=0,h[i+36>>2]=0,m[g+(i+32|0)>>2]=f,s=v(-0xde0b6b000000000),n=0,_=0,g=0,x=v(u*p),b=m[t+44>>2],T=v(p*b),A=v(v(x+m[i+40>>2])-T),C=v(u*a),E=v(a*b),y=v(v(C+m[i+32>>2])-E),P=v(u*o),b=v(o*b),O=v(v(P+m[i+36>>2])-b),(u=v(v(p*A)+v(v(a*y)+v(o*O))))>v(-0xde0b6b000000000)&&(c(A),g=l(0),c(O),_=l(0),s=u,c(y),n=l(0)),h[i+40>>2]=0,h[i+44>>2]=0,h[i+32>>2]=0,h[i+36>>2]=0,m[(i+32|0)+(d<<2)>>2]=-f,u=m[i+40>>2],f=m[i+32>>2],A=m[i+36>>2],h[e+12>>2]=0,y=a,a=v(v(C+f)-E),f=o,o=v(v(P+A)-b),u=v(v(x+u)-T),t=v(v(v(y*a)+v(f*o))+v(p*u))>s,h[e+8>>2]=t?(c(u),l(0)):g,h[e+4>>2]=t?(c(o),l(0)):_,h[e>>2]=t?(c(a),l(0)):n;break e;case 5:if(a=m[t+12>>2],s=m[t+20>>2],u=m[t+16>>2],_=h[t+92>>2],d=-1,(0|(g=h[t+96>>2]))>=1)for(p=v(m[n>>2]*a),f=v(m[n+8>>2]*s),C=v(m[n+4>>2]*u),t=0,o=v(-34028234663852886e22);o=(n=(b=v(v(v(p*m[(n=_+(t<<4)|0)>>2])+v(C*m[n+4>>2]))+v(f*m[n+8>>2])))>o)?b:o,d=n?t:d,(0|g)!=(0|(t=t+1|0)););o=m[(t=_+(d<<4)|0)>>2],p=m[t+4>>2],f=m[t+8>>2],h[e+12>>2]=0,m[e+8>>2]=s*f,m[e+4>>2]=u*p,m[e>>2]=a*o;break e;case 4:if(a=m[t+12>>2],s=m[t+20>>2],u=m[t+16>>2],_=h[t+104>>2],d=-1,(0|(g=h[t+96>>2]))>=1)for(p=v(m[n>>2]*a),f=v(m[n+8>>2]*s),C=v(m[n+4>>2]*u),t=0,o=v(-34028234663852886e22);o=(n=(b=v(v(v(p*m[(n=_+(t<<4)|0)>>2])+v(C*m[n+4>>2]))+v(f*m[n+8>>2])))>o)?b:o,d=n?t:d,(0|g)!=(0|(t=t+1|0)););o=m[(t=_+(d<<4)|0)>>2],p=m[t+4>>2],f=m[t+8>>2],h[e+12>>2]=0,m[e+8>>2]=s*f,m[e+4>>2]=u*p,m[e>>2]=a*o;break e}r[h[h[t>>2]+68>>2]](e,t,n)}w=i+48|0}function ve(e){var t=0,n=0;if(h[(e|=0)>>2]=20956,(t=h[e+192>>2])&&r[h[h[t>>2]+4>>2]](t),h[e+1112>>2]>=1)for(;Pi(e,0),h[e+1112>>2]>0;);if(h[e+872>>2]>=1)for(t=0;(n=h[h[e+880>>2]+(t<<2)>>2])&&(h[7718]=h[7718]+1,r[h[6607]](n)),(0|(t=t+1|0))>2];);if(h[e+852>>2]>=1)for(t=0;(n=h[h[e+860>>2]+(t<<2)>>2])&&(h[7718]=h[7718]+1,r[h[6607]](n)),(0|(t=t+1|0))>2];);return(t=h[e+1244>>2])&&(d[e+1248|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+1244>>2]=0),h[e+1244>>2]=0,o[e+1248|0]=1,h[(t=e+1236|0)>>2]=0,h[t+4>>2]=0,(t=h[e+1140>>2])&&(d[e+1144|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+1140>>2]=0),h[e+1140>>2]=0,o[e+1144|0]=1,h[(t=e+1132|0)>>2]=0,h[t+4>>2]=0,(t=h[e+1120>>2])&&(d[e+1124|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+1120>>2]=0),h[e+1120>>2]=0,h[e+1112>>2]=0,h[e+1116>>2]=0,o[e+1124|0]=1,gr(e+1048|0),gr(e+988|0),gr(e+928|0),(t=h[e+880>>2])&&(d[e+884|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+880>>2]=0),h[e+880>>2]=0,h[e+872>>2]=0,h[e+876>>2]=0,o[e+884|0]=1,(t=h[e+860>>2])&&(d[e+864|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+860>>2]=0),h[e+860>>2]=0,h[e+852>>2]=0,h[e+856>>2]=0,o[e+864|0]=1,(t=h[e+840>>2])&&(d[e+844|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+840>>2]=0),h[e+840>>2]=0,o[e+844|0]=1,h[e+832>>2]=0,h[e+836>>2]=0,(t=h[e+820>>2])&&(d[e+824|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+820>>2]=0),h[e+820>>2]=0,o[e+824|0]=1,h[e+812>>2]=0,h[e+816>>2]=0,(t=h[e+800>>2])&&(d[e+804|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+800>>2]=0),h[e+800>>2]=0,o[e+804|0]=1,h[e+792>>2]=0,h[e+796>>2]=0,(t=h[e+780>>2])&&(d[e+784|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+780>>2]=0),h[e+780>>2]=0,o[e+784|0]=1,h[e+772>>2]=0,h[e+776>>2]=0,(t=h[e+760>>2])&&(d[e+764|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+760>>2]=0),h[e+760>>2]=0,o[e+764|0]=1,h[e+752>>2]=0,h[e+756>>2]=0,(t=h[e+740>>2])&&(d[e+744|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+740>>2]=0),h[e+740>>2]=0,o[e+744|0]=1,h[e+732>>2]=0,h[e+736>>2]=0,(t=h[e+720>>2])&&(d[e+724|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+720>>2]=0),h[e+720>>2]=0,o[e+724|0]=1,h[e+712>>2]=0,h[e+716>>2]=0,(t=h[e+700>>2])&&(d[e+704|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+700>>2]=0),h[e+700>>2]=0,o[e+704|0]=1,h[e+692>>2]=0,h[e+696>>2]=0,(t=h[e+512>>2])&&(d[e+516|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+512>>2]=0),h[e+512>>2]=0,o[e+516|0]=1,h[e+504>>2]=0,h[e+508>>2]=0,(t=h[e+492>>2])&&(d[e+496|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+492>>2]=0),h[e+492>>2]=0,o[e+496|0]=1,h[e+484>>2]=0,h[e+488>>2]=0,(t=h[e+444>>2])&&(d[e+448|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+444>>2]=0),h[e+444>>2]=0,o[e+448|0]=1,h[e+436>>2]=0,h[e+440>>2]=0,(t=h[e+424>>2])&&(d[e+428|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+424>>2]=0),h[e+424>>2]=0,o[e+428|0]=1,h[e+416>>2]=0,h[e+420>>2]=0,(t=h[e+404>>2])&&(d[e+408|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+404>>2]=0),h[e+404>>2]=0,o[e+408|0]=1,h[e+396>>2]=0,h[e+400>>2]=0,(t=h[e+276>>2])&&(d[e+280|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+276>>2]=0),h[e+276>>2]=0,o[e+280|0]=1,h[e+268>>2]=0,h[e+272>>2]=0,h[e>>2]=3948,0|e}function ye(e,t,n,i,r,o,a,s,c,l,u,p,f){var _,b,y,C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=0,O=0,M=v(0),R=v(0),I=v(0),D=0,L=v(0),N=v(0),F=v(0),B=v(0),k=0,V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=0,X=0,Y=0,Q=v(0),K=v(0);w=_=w-16|0,P=h[c+24>>2],y=d[t+44|0];e:if((b=h[t+56>>2])||y){W=h[(p?20:16)+c>>2],k=h[(p?12:8)+c>>2],D=g(l,P),h[k+(O=D<<2)>>2]=h[u>>2],h[(P=(X=D+1|0)<<2)+k>>2]=h[u+4>>2],h[k+(l=(Y=D+2|0)<<2)>>2]=h[u+8>>2],m[O+W>>2]=-m[u>>2],m[P+W>>2]=-m[u+4>>2],m[l+W>>2]=-m[u+8>>2],p||(d[e+1301|0]?(S=m[e+1112>>2],j=m[n+52>>2],M=m[e+1116>>2],B=m[n+56>>2],E=m[e+1120>>2],U=m[e+1176>>2],G=m[i+52>>2],H=m[e+1180>>2],R=m[i+56>>2],T=m[e+1184>>2],V=m[e+1276>>2],z=m[e+1272>>2],I=m[t+48>>2],x=m[t+52>>2],A=m[n+48>>2],L=m[u>>2],C=m[i+48>>2],N=m[u+4>>2],F=m[u+8>>2],h[_+12>>2]=0,S=v(S-A),M=v(M-j),E=v(E-B),Q=v(v(v(L*S)+v(N*M))+v(F*E)),A=v(L*Q),B=v(x-I),U=v(U-C),G=v(H-G),H=v(T-R),x=v(v(v(L*U)+v(N*G))+v(F*H)),R=v(L*x),K=v(v(A+v(L*B))-R),C=v(N*Q),T=v(N*x),j=v(v(C+v(N*B))-T),S=v(v(S-A)+v(z*K)),A=v(v(M-C)+v(z*j)),I=v(v(N*S)-v(L*A)),m[_+8>>2]=I,C=v(F*Q),x=v(F*x),B=v(v(C+v(F*B))-x),C=v(v(E-C)+v(z*B)),M=v(v(L*C)-v(F*S)),m[_+4>>2]=M,E=v(v(F*A)-v(N*C)),m[_>>2]=E,S=v(v(U-R)-v(V*K)),A=v(v(G-T)-v(V*j)),R=v(v(N*S)-v(L*A)),C=v(v(H-x)-v(V*B)),T=v(v(L*C)-v(F*S)),x=v(v(F*A)-v(N*C)),!d[e+1280|0]|f||(m[_+8>>2]=z*I,m[_+4>>2]=z*M,m[_>>2]=z*E,R=v(V*R),T=v(V*T),x=v(V*x)),e=h[_+4>>2],i=(n=D<<2)+h[c+12>>2]|0,h[i>>2]=h[_>>2],h[i+4>>2]=e,h[i+8>>2]=h[_+8>>2],e=h[c+20>>2],m[e+n>>2]=-x,m[e+(X<<2)>>2]=-T,m[e+(Y<<2)>>2]=-R):(x=m[(O=e+1176|0)>>2],M=m[n+48>>2],I=m[u>>2],k=h[c+12>>2],P=D<<2,E=v(m[(f=e+1180|0)>>2]-m[n+52>>2]),S=m[u+8>>2],C=v(m[(l=e+1184|0)>>2]-m[n+56>>2]),A=m[u+4>>2],m[k+P>>2]=v(E*S)-v(C*A),n=X<<2,T=v(C*I),C=v(x-M),m[n+k>>2]=T-v(S*C),m[(e=Y<<2)+k>>2]=v(C*A)-v(E*I),x=m[O>>2],M=m[i+48>>2],I=m[u>>2],O=P,P=h[c+20>>2],E=v(m[f>>2]-m[i+52>>2]),S=m[u+8>>2],C=v(m[l>>2]-m[i+56>>2]),A=m[u+4>>2],m[O+P>>2]=-v(v(E*S)-v(C*A)),T=v(C*I),C=v(x-M),m[n+P>>2]=-v(T-v(S*C)),m[e+P>>2]=-v(v(C*A)-v(E*I))));t:{n:{if(b){if(A=m[t+4>>2],C=m[t>>2],i=h[c+28>>2]+(D<<2)|0,h[i>>2]=0,!y|C==A||(h[h[c+32>>2]+(D<<2)>>2]=h[t+28>>2]),A=v(m[c>>2]*m[t+32>>2]),C=m[t+48>>2],p)break n;C=v(v(A*C)+m[i>>2]);break t}if(h[(n=D<<2)+h[c+28>>2]>>2]=0,O=1,!y)break e;h[n+h[c+32>>2]>>2]=h[t+28>>2],C=m[t+8>>2],C=Ko(m[t+52>>2],m[t>>2],m[t+4>>2],p?C:v(-C),v(m[c>>2]*m[t+32>>2])),e=n+h[c+28>>2]|0,m[e>>2]=v(C*m[t+8>>2])+m[e>>2],m[n+h[c+36>>2]>>2]=-m[t+12>>2],h[n+h[c+40>>2]>>2]=h[t+12>>2];break e}C=v(m[i>>2]-v(A*C))}if(m[i>>2]=C,h[(n=D<<2)+h[c+32>>2]>>2]=h[t+36>>2],m[t>>2]!=m[t+4>>2]){if(O=1,e=1==(0|b),m[n+h[c+36>>2]>>2]=v(e?0:-34028234663852886e22),m[n+h[c+40>>2]>>2]=v(e?34028234663852886e22:0),(S=m[t+40>>2])>v(0))if(p?(A=m[u+8>>2],R=v(m[a+8>>2]*A),x=m[u>>2],T=m[u+4>>2],C=v(v(m[a>>2]*x)+v(m[a+4>>2]*T))):(A=m[u+8>>2],R=v(m[r+8>>2]*A),s=o,x=m[u>>2],T=m[u+4>>2],C=v(v(m[r>>2]*x)+v(m[r+4>>2]*T))),C=v(v(C+R)-v(v(v(x*m[s>>2])+v(T*m[s+4>>2]))+v(A*m[s+8>>2]))),1!=(0|b))C>v(0)&&(C=v(C*v(-S)))>2]&&(m[i>>2]=C);else{if(!(Cm[i>>2]))break e;m[i>>2]=C}}else h[n+h[c+36>>2]>>2]=-8388609,h[n+h[c+40>>2]>>2]=2139095039,O=1}return w=_+16|0,O}function Ce(e,t,n,i,a,s,c){var l,u=0,p=0,f=0,_=v(0),b=0,y=v(0),C=v(0),A=v(0),x=v(0),S=0,T=0,E=v(0),P=v(0),O=v(0),M=v(0),R=0,I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=0,U=0,G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0);if(w=l=w+-64|0,h[l+52>>2]=0,h[l+44>>2]=0,h[l+48>>2]=0,o[l+56|0]=1,(0|(u=h[i+4>>2]))>=1){if(h[7717]=h[7717]+1,S=0|r[h[6606]](u<<4,16),(0|(R=h[l+44>>2]))>=1)for(;b=(p=f<<4)+S|0,p=p+h[l+52>>2]|0,T=h[p+4>>2],h[b>>2]=h[p>>2],h[b+4>>2]=T,j=h[p+12>>2],h[b+8>>2]=h[p+8>>2],h[b+12>>2]=j,(0|R)!=(0|(f=f+1|0)););(p=h[l+52>>2])&&(d[l+56|0]&&p&&(h[7718]=h[7718]+1,r[h[6607]](p)),h[l+52>>2]=0),h[l+52>>2]=S,o[l+56|0]=1,h[l+48>>2]=u}if(!((0|(S=h[t+28>>2]))<1)){for(E=m[n+40>>2],I=m[n+36>>2],A=m[n+24>>2],D=m[n+20>>2],b=h[t+36>>2],P=m[e+8>>2],L=m[e+4>>2],O=m[e>>2],N=m[n+32>>2],F=m[n+16>>2],B=m[n+8>>2],k=m[n+4>>2],M=m[n>>2],f=0,C=v(34028234663852886e22),u=-1;p=b+g(f,36)|0,y=m[p+20>>2],_=m[p+24>>2],x=m[p+28>>2],C=(p=(y=v(v(v(v(v(v(y*M)+v(_*k))+v(x*B))*O)+v(v(v(v(y*F)+v(_*D))+v(x*A))*L))+v(v(v(v(y*N)+v(_*I))+v(x*E))*P)))>2]+g(u,36)|0,(0|(j=h[b+4>>2]))<1)p=i;else for(u=l+40|0,f=0;;){if(p=u,R=(0|(S=f+1|0))==(0|j),U=h[t+16>>2],T=h[b+12>>2],u=U+(h[T+((R?0:S)<<2)>>2]<<4)|0,V=m[u+8>>2],M=m[u>>2],z=m[u+4>>2],u=U+(h[(f<<2)+T>>2]<<4)|0,C=m[u+8>>2],y=m[u>>2],_=m[u+4>>2],Q=m[n+56>>2],K=m[n+52>>2],Z=m[n+48>>2],x=m[n+40>>2],E=m[n+32>>2],I=m[n+36>>2],A=m[b+28>>2],D=m[n+8>>2],P=m[b+20>>2],L=m[n>>2],O=m[b+24>>2],N=m[n+4>>2],F=m[n+24>>2],B=m[n+16>>2],k=m[n+20>>2],h[l+36>>2]=0,M=v(y-M),z=v(_-z),V=v(C-V),G=v(v(v(L*M)+v(N*z))+v(D*V)),H=v(v(v(B*P)+v(k*O))+v(F*A)),W=v(v(v(M*B)+v(z*k))+v(V*F)),X=v(v(v(L*P)+v(N*O))+v(D*A)),Y=v(v(G*H)-v(W*X)),m[l+32>>2]=-Y,A=v(v(v(E*P)+v(I*O))+v(x*A)),P=v(v(v(M*E)+v(z*I))+v(V*x)),O=v(v(W*A)-v(P*H)),m[l+24>>2]=-O,A=v(-v(v(P*X)-v(G*A))),m[l+28>>2]=A,Re(u=i,p,l+24|0,v(-v(v(v(v(K+v(v(v(y*B)+v(_*k))+v(C*F)))*A)-v(O*v(Z+v(v(v(y*L)+v(_*N))+v(C*D)))))-v(Y*v(Q+v(v(v(y*E)+v(_*I))+v(C*x))))))),(0|(f=h[u+4>>2]))<=-1)for(h[u+8>>2]<=-1&&((i=h[u+12>>2])&&(d[u+16|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[u+12>>2]=0),o[u+16|0]=1,h[u+8>>2]=0,h[u+12>>2]=0);U=h[l+12>>2],i=h[u+12>>2]+(f<<4)|0,h[i>>2]=h[l+8>>2],h[i+4>>2]=U,T=h[l+20>>2],h[i+8>>2]=h[l+16>>2],h[i+12>>2]=T,T=(i=f+1|0)>>>0>=f>>>0,f=i,T;);if(h[u+4>>2]=0,f=S,i=p,R)break}if(!((0|(u=h[p+4>>2]))<1))for(C=m[b+20>>2],y=m[b+24>>2],_=m[b+28>>2],x=v(v(v(C*m[n>>2])+v(y*m[n+4>>2]))+v(_*m[n+8>>2])),E=v(v(v(C*m[n+16>>2])+v(y*m[n+20>>2]))+v(_*m[n+24>>2])),C=v(v(v(C*m[n+32>>2])+v(y*m[n+36>>2]))+v(_*m[n+40>>2])),y=v(m[b+32>>2]-v(v(v(x*m[n+48>>2])+v(E*m[n+52>>2]))+v(C*m[n+56>>2]))),n=0;t=h[p+12>>2]+(n<<4)|0,(_=(_=v(y+v(v(v(x*m[t>>2])+v(E*m[t+4>>2]))+v(C*m[t+8>>2]))))<=a?a:_)<=s&&(i=h[t+12>>2],h[l+32>>2]=h[t+8>>2],h[l+36>>2]=i,i=h[t+4>>2],h[l+24>>2]=h[t>>2],h[l+28>>2]=i,r[h[h[c>>2]+16>>2]](c,e,l+24|0,_),u=h[p+4>>2]),(0|(n=n+1|0))<(0|u););}}(e=h[l+52>>2])&&(d[l+56|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[l+52>>2]=0),w=l- -64|0}function Ae(e,t,n,i){var o,a=0,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=0,D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=0,z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0),q=v(0),J=0,$=0,ee=v(0),te=v(0),ne=v(0),ie=v(0),re=v(0),oe=v(0);w=o=w-240|0,h[e+16>>2]?(ha(h[e+4>>2]),a=h[e+12>>2],I=h[a+4>>2],V=h[e+16>>2],J=a,$=h[V+4>>2],D=v(r[h[h[a>>2]+48>>2]](a)),a=h[e+16>>2],e=Yo(o+160|0,J,V,I,$,D,v(r[h[h[a>>2]+48>>2]](a)),h[e+4>>2],h[e+8>>2]),h[o+152>>2]=1566444395,a=h[t+12>>2],h[o+32>>2]=h[t+8>>2],h[o+36>>2]=a,a=h[t+4>>2],h[o+24>>2]=h[t>>2],h[o+28>>2]=a,a=h[t+28>>2],h[o+48>>2]=h[t+24>>2],h[o+52>>2]=a,a=h[t+20>>2],h[o+40>>2]=h[t+16>>2],h[o+44>>2]=a,I=h[t+44>>2],h[(a=o- -64|0)>>2]=h[t+40>>2],h[a+4>>2]=I,a=h[t+36>>2],h[o+56>>2]=h[t+32>>2],h[o+60>>2]=a,a=h[t+60>>2],h[o+80>>2]=h[t+56>>2],h[o+84>>2]=a,a=h[t+52>>2],h[o+72>>2]=h[t+48>>2],h[o+76>>2]=a,t=h[n+12>>2],h[o+96>>2]=h[n+8>>2],h[o+100>>2]=t,t=h[n+4>>2],h[o+88>>2]=h[n>>2],h[o+92>>2]=t,t=h[n+20>>2],h[o+104>>2]=h[n+16>>2],h[o+108>>2]=t,t=h[n+28>>2],h[o+112>>2]=h[n+24>>2],h[o+116>>2]=t,t=h[n+44>>2],h[o+128>>2]=h[n+40>>2],h[o+132>>2]=t,t=h[n+36>>2],h[o+120>>2]=h[n+32>>2],h[o+124>>2]=t,t=h[n+52>>2],h[o+136>>2]=h[n+48>>2],h[o+140>>2]=t,t=h[n+60>>2],h[o+144>>2]=h[n+56>>2],h[o+148>>2]=t,hh(e,o+24|0,i,0)):(ee=m[n+52>>2],L=m[n+56>>2],N=m[t+52>>2],F=m[t+56>>2],u=m[t+20>>2],p=m[t+36>>2],l=m[n+20>>2],d=m[n+36>>2],s=m[n+24>>2],f=m[t+24>>2],c=m[n+40>>2],y=m[t+40>>2],B=m[n+48>>2],k=m[t+48>>2],a=h[e+12>>2],C=m[t+32>>2],A=m[t>>2],x=m[t+16>>2],S=m[t+4>>2],b=m[n+32>>2],_=m[n+16>>2],O=m[n>>2],M=m[n+4>>2],R=m[n+8>>2],T=m[t+8>>2],e=h[e+20>>2],g=m[e+52>>2],E=m[e+56>>2],P=m[e+48>>2],h[o+172>>2]=0,z=v(v(v(T*M)+v(f*l))+v(y*d)),g=v(-g),j=v(v(v(T*O)+v(f*_))+v(y*b)),U=v(v(v(T*R)+v(f*s))+v(y*c)),m[o+168>>2]=v(v(z*g)-v(P*j))-v(E*U),G=v(v(v(S*M)+v(u*l))+v(p*d)),H=v(v(v(S*O)+v(u*_))+v(p*b)),W=v(v(v(S*R)+v(u*s))+v(p*c)),m[o+164>>2]=v(v(G*g)-v(P*H))-v(E*W),X=v(v(v(A*M)+v(x*l))+v(C*d)),Y=v(v(v(A*O)+v(x*_))+v(C*b)),Q=v(v(v(A*R)+v(x*s))+v(C*c)),m[o+160>>2]=v(v(X*g)-v(P*Y))-v(E*Q),r[h[h[a>>2]+64>>2]](o+24|0,a,o+160|0),u=m[e+52>>2],p=m[e+56>>2],te=m[e+64>>2],f=m[e+48>>2],y=m[o+24>>2],C=m[o+28>>2],A=m[o+32>>2],ne=m[n+52>>2],x=m[n+24>>2],S=m[n+20>>2],ie=m[n+56>>2],T=m[n+40>>2],E=m[n+36>>2],re=m[n+48>>2],P=m[n+8>>2],g=m[n>>2],K=m[n+4>>2],Z=m[n+16>>2],q=m[n+32>>2],h[o+172>>2]=0,oe=v(v(v(k*O)+v(N*_))+v(F*b)),D=_,_=v(-ee),b=v(v(oe+v(v(v(D*_)-v(O*B))-v(b*L)))+v(v(v(Y*y)+v(H*C))+v(j*A))),c=v(v(v(v(v(k*R)+v(N*s))+v(F*c))+v(v(v(s*_)-v(R*B))-v(c*L)))+v(v(v(Q*y)+v(W*C))+v(U*A))),s=v(v(v(v(v(k*M)+v(N*l))+v(F*d))+v(v(v(l*_)-v(M*B))-v(d*L)))+v(v(v(X*y)+v(G*C))+v(z*A))),l=v(v(v(p*c)+v(v(f*b)+v(u*s)))-te),d=v(b-v(f*l)),s=v(s-v(u*l)),c=v(c-v(p*l)),m[o+168>>2]=ie+v(v(v(q*d)+v(E*s))+v(T*c)),m[o+164>>2]=ne+v(v(v(d*Z)+v(s*S))+v(c*x)),m[o+160>>2]=re+v(v(P*c)+v(v(g*d)+v(K*s))),h[o+20>>2]=0,m[o+16>>2]=v(v(f*q)+v(u*E))+v(p*T),m[o+12>>2]=v(v(f*Z)+v(u*S))+v(p*x),m[o+8>>2]=v(v(g*f)+v(K*u))+v(P*p),r[h[h[i>>2]+16>>2]](i,o+8|0,o+160|0,l)),w=o+240|0}function xe(e,t,n,i,o){var a,s,c,l,u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0),q=v(0),J=v(0),$=v(0),ee=v(0),te=v(0),ne=v(0),ie=v(0),re=v(0),oe=v(0);w=a=w-48|0,l=d[e+16|0],s=h[(c=l?n:i)+12>>2],J=m[s+56>>2],W=m[s+52>>2],$=m[s+48>>2],n=h[(i=l?i:n)+12>>2],ee=m[n+56>>2],te=m[n+52>>2],ne=m[n+48>>2],i=h[i+4>>2],A=m[s+40>>2],_=m[s+8>>2],b=m[s+24>>2],g=m[s+36>>2],S=m[s+4>>2],P=m[s+20>>2],T=m[s+32>>2],R=m[n+40>>2],I=m[n+32>>2],D=m[n+36>>2],O=m[s>>2],L=m[n+8>>2],N=m[n>>2],F=m[n+4>>2],M=m[s+16>>2],V=m[n+24>>2],z=m[n+16>>2],j=m[n+20>>2],f=m[t+12>>2],C=m[t+8>>2],u=m[t>>2],p=m[t+4>>2],n=h[c+4>>2],U=m[n+56>>2],ie=m[n+52>>2],G=m[n+48>>2],h[a+28>>2]=0,x=v(v(2)/v(v(v(v(u*u)+v(p*p))+v(C*C))+v(f*f))),y=v(C*x),X=v(u*y),B=v(p*x),Y=v(f*B),k=v(X+Y),Q=v(p*y),E=v(u*x),K=v(f*E),x=v(Q-K),Z=v(u*E),q=v(p*B),p=v(v(1)-v(Z+q)),E=v(v(v(I*k)+v(D*x))+v(R*p)),H=v(v(v(N*k)+v(F*x))+v(L*p)),p=v(v(v(z*k)+v(j*x))+v(V*p)),x=v(-ie),m[a+24>>2]=v(v(v(v(g*E)+v(v(S*H)+v(P*p)))*x)-v(G*v(v(T*E)+v(v(O*H)+v(M*p)))))-v(U*v(v(A*E)+v(v(_*H)+v(b*p)))),p=v(Q+K),B=v(u*B),k=v(f*y),u=v(B-k),E=v(C*y),f=v(v(1)-v(Z+E)),C=v(v(R*p)+v(v(I*u)+v(D*f))),y=v(v(L*p)+v(v(N*u)+v(F*f))),u=v(v(V*p)+v(v(z*u)+v(j*f))),m[a+20>>2]=v(v(v(v(g*C)+v(v(S*y)+v(P*u)))*x)-v(G*v(v(T*C)+v(v(O*y)+v(M*u)))))-v(U*v(v(A*C)+v(v(_*y)+v(b*u)))),u=v(X-Y),f=v(B+k),p=v(v(1)-v(q+E)),C=v(v(R*u)+v(v(D*f)+v(I*p))),y=v(v(L*u)+v(v(F*f)+v(N*p))),u=v(v(V*u)+v(v(j*f)+v(z*p))),m[a+16>>2]=v(v(v(v(g*C)+v(v(S*y)+v(P*u)))*x)-v(G*v(v(T*C)+v(v(O*y)+v(M*u)))))-v(U*v(v(A*C)+v(v(_*y)+v(b*u)))),r[h[h[i>>2]+64>>2]](a+32|0,i,a+16|0),t=h[c+12>>2],x=m[t+48>>2],B=m[t+32>>2],k=m[t+16>>2],E=m[t+8>>2],H=m[t+4>>2],ie=m[t>>2],X=m[t+56>>2],Y=m[t+52>>2],Q=m[t+40>>2],K=m[t+36>>2],Z=m[t+24>>2],q=m[t+20>>2],re=m[n+64>>2],C=m[n+56>>2],U=m[n+48>>2],G=m[n+52>>2],u=m[a+40>>2],f=m[a+32>>2],p=m[a+36>>2],oe=m[h[e+12>>2]+752>>2],h[o+4>>2]=h[e+12>>2],y=v(-W),W=v(v(v(v(v(ne*_)+v(te*b))+v(ee*A))+v(v(v(b*y)-v(_*$))-v(A*J)))+v(v(v(f*v(v(v(N*_)+v(z*b))+v(I*A)))+v(p*v(v(v(F*_)+v(j*b))+v(D*A))))+v(u*v(v(v(L*_)+v(V*b))+v(R*A))))),T=v(v(v(v(v(ne*O)+v(te*M))+v(ee*T))+v(v(v(M*y)-v(O*$))-v(T*J)))+v(v(v(f*v(v(v(N*O)+v(z*M))+v(I*T)))+v(p*v(v(v(F*O)+v(j*M))+v(D*T))))+v(u*v(v(v(L*O)+v(V*M))+v(R*T))))),S=v(v(v(v(v(ne*S)+v(te*P))+v(ee*g))+v(v(v(P*y)-v(S*$))-v(g*J)))+v(v(v(f*v(v(v(N*S)+v(z*P))+v(I*g)))+v(p*v(v(v(F*S)+v(j*P))+v(D*g))))+v(u*v(v(v(L*S)+v(V*P))+v(R*g))))),(A=v(v(v(C*W)+v(v(U*T)+v(G*S)))-re))>2],P=m[e+24>>2],O=m[e+20>>2],M=m[e+40>>2],R=m[e+36>>2],I=m[e+16>>2],D=m[e+32>>2],_=m[n+56>>2],L=m[e+8>>2],b=m[n+48>>2],N=m[e>>2],g=m[n+52>>2],F=m[e+4>>2],h[a+28>>2]=0,m[a+16>>2]=v(v(N*b)+v(F*g))+v(L*_),m[a+24>>2]=v(v(b*D)+v(g*R))+v(_*M),m[a+20>>2]=v(v(b*I)+v(g*O))+v(_*P),h[a+12>>2]=0,_=v(T-v(U*A)),b=v(S-v(G*A)),g=v(W-v(C*A)),m[a+8>>2]=v(v(v(_*B)+v(b*K))+v(g*Q))+X,m[a+4>>2]=v(v(v(_*k)+v(b*q))+v(g*Z))+Y,m[a>>2]=v(v(E*g)+v(v(ie*_)+v(H*b)))+x,r[h[h[o>>2]+16>>2]](o,a+16|0,a,A)),w=a+48|0}function Se(e){var t=0,n=0,i=0,r=0,o=0,a=0,s=0;e:if(e|=0){o=(i=e+-8|0)+(e=-8&(n=h[e+-4>>2]))|0;t:if(!(1&n)){if(!(3&n))break e;if((i=i-(n=h[i>>2])|0)>>>0<_[7728])break e;if(e=e+n|0,h[7729]==(0|i)){if(3==(3&(n=h[o+4>>2])))return h[7726]=e,h[o+4>>2]=-2&n,h[i+4>>2]=1|e,void(h[e+i>>2]=e)}else{if(n>>>0<=255){if(r=h[i+8>>2],n=n>>>3|0,(0|(t=h[i+12>>2]))==(0|r)){h[7724]=h[7724]&Ip(n);break t}h[r+12>>2]=t,h[t+8>>2]=r;break t}if(s=h[i+24>>2],(0|i)==(0|(n=h[i+12>>2])))if((t=h[(r=i+20|0)>>2])||(t=h[(r=i+16|0)>>2])){for(;a=r,(t=h[(r=(n=t)+20|0)>>2])||(r=n+16|0,t=h[n+16>>2]););h[a>>2]=0}else n=0;else t=h[i+8>>2],h[t+12>>2]=n,h[n+8>>2]=t;if(!s)break t;r=h[i+28>>2];n:{if(h[(t=31200+(r<<2)|0)>>2]==(0|i)){if(h[t>>2]=n,n)break n;h[7725]=h[7725]&Ip(r);break t}if(h[s+(h[s+16>>2]==(0|i)?16:20)>>2]=n,!n)break t}if(h[n+24>>2]=s,(t=h[i+16>>2])&&(h[n+16>>2]=t,h[t+24>>2]=n),!(t=h[i+20>>2]))break t;h[n+20>>2]=t,h[t+24>>2]=n}}if(!(o>>>0<=i>>>0)&&1&(n=h[o+4>>2])){t:{if(!(2&n)){if(h[7730]==(0|o)){if(h[7730]=i,e=h[7727]+e|0,h[7727]=e,h[i+4>>2]=1|e,h[7729]!=(0|i))break e;return h[7726]=0,void(h[7729]=0)}if(h[7729]==(0|o))return h[7729]=i,e=h[7726]+e|0,h[7726]=e,h[i+4>>2]=1|e,void(h[e+i>>2]=e);e=(-8&n)+e|0;n:if(n>>>0<=255){if(n=n>>>3|0,(0|(t=h[o+8>>2]))==(0|(r=h[o+12>>2]))){h[7724]=h[7724]&Ip(n);break n}h[t+12>>2]=r,h[r+8>>2]=t}else{if(s=h[o+24>>2],(0|o)==(0|(n=h[o+12>>2])))if((t=h[(r=o+20|0)>>2])||(t=h[(r=o+16|0)>>2])){for(;a=r,(t=h[(r=(n=t)+20|0)>>2])||(r=n+16|0,t=h[n+16>>2]););h[a>>2]=0}else n=0;else t=h[o+8>>2],h[t+12>>2]=n,h[n+8>>2]=t;if(s){r=h[o+28>>2];i:{if(h[(t=31200+(r<<2)|0)>>2]==(0|o)){if(h[t>>2]=n,n)break i;h[7725]=h[7725]&Ip(r);break n}if(h[s+(h[s+16>>2]==(0|o)?16:20)>>2]=n,!n)break n}h[n+24>>2]=s,(t=h[o+16>>2])&&(h[n+16>>2]=t,h[t+24>>2]=n),(t=h[o+20>>2])&&(h[n+20>>2]=t,h[t+24>>2]=n)}}if(h[i+4>>2]=1|e,h[e+i>>2]=e,h[7729]!=(0|i))break t;return void(h[7726]=e)}h[o+4>>2]=-2&n,h[i+4>>2]=1|e,h[e+i>>2]=e}if(e>>>0<=255)return n=30936+((e=e>>>3|0)<<3)|0,(t=h[7724])&(e=1<>2]:(h[7724]=e|t,e=n),h[n+8>>2]=i,h[e+12>>2]=i,h[i+12>>2]=n,void(h[i+8>>2]=e);h[i+16>>2]=0,h[i+20>>2]=0,t=0,(r=e>>>8|0)&&(t=31,e>>>0>16777215||(t=(n=r)<<(r=r+1048320>>>16&8),t=28+((t=((t<<=s=t+520192>>>16&4)<<(a=t+245760>>>16&2)>>>15|0)-(a|r|s)|0)<<1|e>>>t+21&1)|0)),h[(o=i)+28>>2]=t,a=31200+(t<<2)|0;t:{n:{if((r=h[7725])&(n=1<>>1|0)|0),n=h[a>>2];;){if(t=n,(-8&h[n+4>>2])==(0|e))break n;if(n=r>>>29|0,r<<=1,!(n=h[16+(a=t+(4&n)|0)>>2]))break}h[a+16>>2]=i,h[i+24>>2]=t}else h[7725]=n|r,h[a>>2]=i,h[i+24>>2]=a;h[i+12>>2]=i,h[i+8>>2]=i;break t}e=h[t+8>>2],h[e+12>>2]=i,h[t+8>>2]=i,h[i+24>>2]=0,h[i+12>>2]=t,h[i+8>>2]=e}if(e=h[7732]+-1|0,h[7732]=e,!e){for(i=31352;i=(e=h[i>>2])+8|0,e;);h[7732]=-1}}}}function Te(e,t,n,i,o,a){var s,c=0,l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0);w=s=w-400|0,Ir(7817),c=h[n+12>>2],h[s+344>>2]=h[n+8>>2],h[s+348>>2]=c,c=h[n+4>>2],h[s+336>>2]=h[n>>2],h[s+340>>2]=c,c=h[n+28>>2],h[s+360>>2]=h[n+24>>2],h[s+364>>2]=c,c=h[n+20>>2],h[s+352>>2]=h[n+16>>2],h[s+356>>2]=c,c=h[n+44>>2],h[s+376>>2]=h[n+40>>2],h[s+380>>2]=c,c=h[n+36>>2],h[s+368>>2]=h[n+32>>2],h[s+372>>2]=c,c=h[n+60>>2],h[s+392>>2]=h[n+56>>2],h[s+396>>2]=c,c=h[n+52>>2],h[s+384>>2]=h[n+48>>2],h[s+388>>2]=c,c=h[i+12>>2],h[s+280>>2]=h[i+8>>2],h[s+284>>2]=c,c=h[i+4>>2],h[s+272>>2]=h[i>>2],h[s+276>>2]=c,c=h[i+28>>2],h[s+296>>2]=h[i+24>>2],h[s+300>>2]=c,c=h[i+20>>2],h[s+288>>2]=h[i+16>>2],h[s+292>>2]=c,c=h[i+44>>2],h[s+312>>2]=h[i+40>>2],h[s+316>>2]=c,c=h[i+36>>2],h[s+304>>2]=h[i+32>>2],h[s+308>>2]=c,c=h[i+60>>2],h[s+328>>2]=h[i+56>>2],h[s+332>>2]=c,c=h[i+52>>2],h[s+320>>2]=h[i+48>>2],h[s+324>>2]=c,Gt(s+336|0,s+272|0,s+8|0,s+256|0),h[s+236>>2]=0,l=m[s+256>>2],m[s+232>>2]=l*m[s+16>>2],m[s+228>>2]=l*m[s+12>>2],m[s+224>>2]=l*m[s+8>>2],h[s+216>>2]=0,h[s+220>>2]=0,h[s+208>>2]=0,h[s+212>>2]=0,h[(c=s- -64|0)>>2]=0,h[c+4>>2]=0,h[s+56>>2]=0,h[s+60>>2]=0,lt(s+336|0,s+256|0),h[s+52>>2]=0,h[s+36>>2]=0,l=m[s+256>>2],u=m[s+260>>2],p=m[s+264>>2],_=m[s+268>>2],f=v(v(2)/v(v(v(v(l*l)+v(u*u))+v(p*p))+v(_*_))),g=v(p*f),d=v(u*g),b=v(l*f),y=v(_*b),m[s+44>>2]=d+y,m[s+32>>2]=d-y,d=v(l*b),b=u,u=v(u*f),f=v(b*u),m[s+48>>2]=v(1)-v(d+f),p=v(p*g),m[s+28>>2]=v(1)-v(d+p),h[s+20>>2]=0,d=v(l*g),b=v(_*u),m[s+40>>2]=d-b,l=v(l*u),u=v(_*g),m[s+24>>2]=l+u,m[s+16>>2]=d+b,m[s+12>>2]=l-u,m[s+8>>2]=v(1)-v(f+p),Ci(t,s+8|0,s+208|0,s+224|0,s+256|0,s+240|0),h[s+8>>2]=9368,c=h[n+12>>2],h[s+52>>2]=h[n+8>>2],h[s+56>>2]=c,c=h[n+4>>2],h[s+44>>2]=h[n>>2],h[s+48>>2]=c,c=h[n+28>>2],h[s+68>>2]=h[n+24>>2],h[s+72>>2]=c,c=h[n+20>>2],h[s+60>>2]=h[n+16>>2],h[s+64>>2]=c,c=h[n+44>>2],h[s+84>>2]=h[n+40>>2],h[s+88>>2]=c,c=h[n+36>>2],h[s+76>>2]=h[n+32>>2],h[s+80>>2]=c,c=h[n+60>>2],h[s+100>>2]=h[n+56>>2],h[s+104>>2]=c,c=h[n+52>>2],h[s+92>>2]=h[n+48>>2],h[s+96>>2]=c,n=h[i+12>>2],h[s+116>>2]=h[i+8>>2],h[s+120>>2]=n,n=h[i+4>>2],h[s+108>>2]=h[i>>2],h[s+112>>2]=n,n=h[i+20>>2],h[s+124>>2]=h[i+16>>2],h[s+128>>2]=n,n=h[i+28>>2],h[s+132>>2]=h[i+24>>2],h[s+136>>2]=n,n=h[i+44>>2],h[s+148>>2]=h[i+40>>2],h[s+152>>2]=n,n=h[i+36>>2],h[s+140>>2]=h[i+32>>2],h[s+144>>2]=n,n=h[i+52>>2],h[s+156>>2]=h[i+48>>2],h[s+160>>2]=n,n=h[i+60>>2],h[s+164>>2]=h[i+56>>2],h[s+168>>2]=n,h[s+192>>2]=o,m[s+196>>2]=a,h[s+200>>2]=t,h[s+188>>2]=e,a=v(m[s+156>>2]-m[s+92>>2]),l=v(m[s+160>>2]-m[s+96>>2]),u=v(m[s+164>>2]-m[s+100>>2]),_=v(v(1)/v(S(v(v(v(a*a)+v(l*l))+v(u*u))))),g=(p=v(u*_))==v(0)?v(0xde0b6b000000000):v(v(1)/p),m[s+20>>2]=g,d=(f=v(l*_))==v(0)?v(0xde0b6b000000000):v(v(1)/f),m[s+16>>2]=d,h[s+36>>2]=g>2]=d>2]=v(u*p)+v(v(b*a)+v(l*f)),a=a==v(0)?v(0xde0b6b000000000):v(v(1)/a),m[s+12>>2]=a,h[s+28>>2]=a>2],r[h[h[e>>2]+24>>2]](e,s+384|0,s+320|0,s+8|0,s+256|0,s+240|0),Bo(),w=s+400|0}function Ee(e,t,n,i,a){var s,c,l,u=0,p=v(0),f=v(0),_=0,b=v(0),y=v(0),C=v(0),A=0,x=0;if(w=s=w-112|0,Ki(e),o[e+280|0]=1,h[e>>2]=20956,h[e+276>>2]=0,o[e+408|0]=1,h[e+284>>2]=0,h[e+268>>2]=0,h[e+272>>2]=0,h[e+404>>2]=0,o[e+428|0]=1,h[e+396>>2]=0,h[e+400>>2]=0,h[e+424>>2]=0,o[e+448|0]=1,h[e+416>>2]=0,h[e+420>>2]=0,h[e+444>>2]=0,o[e+496|0]=1,h[e+436>>2]=0,h[e+440>>2]=0,h[e+492>>2]=0,h[e+484>>2]=0,h[e+488>>2]=0,o[e+516|0]=1,h[e+512>>2]=0,o[e+704|0]=1,h[e+684>>2]=t,h[e+504>>2]=0,h[e+508>>2]=0,h[e+700>>2]=0,h[e+692>>2]=0,h[e+696>>2]=0,o[e+724|0]=1,h[e+720>>2]=0,h[e+712>>2]=0,h[e+716>>2]=0,o[e+744|0]=1,h[e+740>>2]=0,h[e+732>>2]=0,h[e+736>>2]=0,o[e+764|0]=1,h[e+760>>2]=0,h[e+752>>2]=0,h[e+756>>2]=0,o[e+784|0]=1,h[e+780>>2]=0,h[e+772>>2]=0,h[e+776>>2]=0,o[e+804|0]=1,o[e+824|0]=1,h[e+800>>2]=0,h[e+792>>2]=0,h[e+796>>2]=0,o[e+844|0]=1,h[e+820>>2]=0,h[e+812>>2]=0,h[e+816>>2]=0,o[e+864|0]=1,h[e+840>>2]=0,h[e+832>>2]=0,h[e+836>>2]=0,o[e+884|0]=1,h[e+860>>2]=0,h[e+852>>2]=0,h[e+856>>2]=0,h[e+880>>2]=0,h[e+872>>2]=0,h[e+876>>2]=0,l=rs(e+928|0),rs(e+988|0),rs(e+1048|0),h[e+1120>>2]=0,o[e+1124|0]=1,o[e+1144|0]=1,h[(t=e+1112|0)>>2]=0,h[t+4>>2]=0,h[e+1140>>2]=0,o[e+1248|0]=1,h[(t=e+1132|0)>>2]=0,h[t+4>>2]=0,h[e+1244>>2]=0,h[(t=e+1236|0)>>2]=0,h[t+4>>2]=0,At(e),c=Ti(e),h[(t=c)+12>>2]=1065353216,h[t+16>>2]=1,h[t+4>>2]=1065353216,h[t+8>>2]=1065353216,t=h[e+192>>2],p=v(r[h[h[t>>2]+48>>2]](t)),ji(s+8|0,0,100),(0|(t=h[e+712>>2]))<(0|n)){if(h[e+716>>2]<(0|n)){if(u=t,n&&(h[7717]=h[7717]+1,A=0|r[h[6606]](g(n,104),16),u=h[e+712>>2]),(0|u)>=1)for(;Vn((x=g(_,104))+A|0,h[e+720>>2]+x|0,104),(0|(_=_+1|0))!=(0|u););(u=h[e+720>>2])&&(d[e+724|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u)),h[e+720>>2]=0),h[e+720>>2]=A,o[e+724|0]=1,h[e+716>>2]=n}for(;u=h[e+720>>2]+g(t,104)|0,h[u>>2]=0,Vn(u+4|0,s+8|0,100),(0|n)!=(0|(t=t+1|0)););}if(h[e+712>>2]=n,(0|n)>=1)for(_=0;u=ji(h[e+720>>2]+g(_,104)|0,0,104),b=v(0),y=v(0),C=v(0),f=v(0),t=0,i&&(f=m[i+12>>2],C=m[i+8>>2],b=m[i+4>>2],y=m[i>>2],t=i+16|0),m[u+8>>2]=y,m[u+12>>2]=b,m[u+20>>2]=f,m[u+16>>2]=C,i=h[u+12>>2],h[u+24>>2]=h[u+8>>2],h[u+28>>2]=i,i=h[u+20>>2],h[u+32>>2]=h[u+16>>2],h[u+36>>2]=i,a?(f=m[a>>2],a=a+4|0):(f=v(1),a=0),m[u+88>>2]=f>v(0)?v(v(1)/f):v(0),h[s+36>>2]=0,m[s+32>>2]=p+C,m[s+28>>2]=p+b,m[s+24>>2]=p+y,h[s+20>>2]=0,m[s+16>>2]=C-p,m[s+12>>2]=b-p,m[s+8>>2]=y-p,h[u+96>>2]=Rr(l,s+8|0,u),h[u+4>>2]=c,i=t,(0|(_=_+1|0))!=(0|n););t=e+892|0;e:if(n=h[e+928>>2]){if(i=h[e+192>>2],p=v(r[h[h[i>>2]+48>>2]](i)),f=m[n>>2],b=m[n+4>>2],y=m[n+8>>2],h[e+904>>2]=0,m[e+900>>2]=y-p,m[e+896>>2]=b-p,m[e+892>>2]=f-p,f=m[n+20>>2],b=m[n+24>>2],y=m[n+16>>2],h[e+920>>2]=0,m[e+916>>2]=p+b,m[e+912>>2]=p+f,m[(n=e+908|0)>>2]=p+y,!(i=h[e+188>>2]))break e;a=h[e+684>>2],u=h[a+32>>2],r[h[h[u>>2]+16>>2]](u,i,t,n,h[a+36>>2])}else h[t>>2]=0,h[t+4>>2]=0,h[t+24>>2]=0,h[t+28>>2]=0,h[t+16>>2]=0,h[t+20>>2]=0,h[t+8>>2]=0,h[t+12>>2]=0;return w=s+112|0,e}function Pe(e,t,n,i){var r,a,s=0,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=v(0);ja(e,6,ca(),t),h[e>>2]=18896,s=h[n+12>>2],h[e+120>>2]=h[n+8>>2],h[e+124>>2]=s,s=h[n+4>>2],h[e+112>>2]=h[n>>2],h[e+116>>2]=s,s=h[n+28>>2],h[e+136>>2]=h[n+24>>2],h[e+140>>2]=s,s=h[n+20>>2],h[e+128>>2]=h[n+16>>2],h[e+132>>2]=s,s=h[n+44>>2],h[e+152>>2]=h[n+40>>2],h[e+156>>2]=s,s=h[n+36>>2],h[e+144>>2]=h[n+32>>2],h[e+148>>2]=s,s=h[n+56>>2],r=h[n+60>>2],a=h[n+48>>2],n=h[n+52>>2],h[e+784>>2]=0,h[e+776>>2]=0,h[e+780>>2]=0,h[e+768>>2]=0,h[e+772>>2]=0,h[e+756>>2]=1045220557,h[e+760>>2]=1045220557,h[e+764>>2]=1045220557,h[e+740>>2]=0,h[e+744>>2]=0,h[e+748>>2]=0,h[e+752>>2]=0,h[e+720>>2]=0,h[e+724>>2]=0,h[e+712>>2]=0,h[e+716>>2]=0,h[e+704>>2]=0,h[e+708>>2]=0,h[e+696>>2]=0,h[e+700>>2]=0,h[e+688>>2]=0,h[e+692>>2]=0,h[e+680>>2]=0,h[e+684>>2]=0,h[e+168>>2]=s,h[e+172>>2]=r,h[e+160>>2]=a,h[e+164>>2]=n,h[e+728>>2]=1060320051,h[e+732>>2]=1065353216,h[e+736>>2]=1056964608,o[e+790|0]=0,o[e+788|0]=0,o[e+789|0]=0,h[e+792>>2]=0,h[e+796>>2]=0,h[e+800>>2]=0,h[e+808>>2]=0,h[e+812>>2]=0,h[e+816>>2]=0,h[e+876>>2]=0,h[e+880>>2]=1036831949,h[e+884>>2]=1133903872,h[e+868>>2]=1065353216,h[e+872>>2]=-1082130432,h[e+896>>2]=0,h[e+900>>2]=1045220557,h[e+904>>2]=0,h[e+908>>2]=0,h[e+924>>2]=0,h[e+928>>2]=0,h[e+888>>2]=1065353216,h[e+892>>2]=1056964608,h[e+916>>2]=0,h[e+992>>2]=0,o[e+912|0]=0,h[e+940>>2]=0,h[e+944>>2]=1036831949,h[e+948>>2]=1133903872,h[e+968>>2]=0,h[e+972>>2]=0,h[e+960>>2]=0,h[e+964>>2]=1045220557,h[e+932>>2]=1065353216,h[e+936>>2]=-1082130432,h[e+952>>2]=1065353216,h[e+956>>2]=1056964608,h[e+988>>2]=0,h[e+980>>2]=0,o[e+976|0]=0,h[e+1004>>2]=0,h[e+1008>>2]=1036831949,h[e+1012>>2]=1133903872,h[(n=e+1032|0)>>2]=0,h[n+4>>2]=0,h[(n=e+1024|0)>>2]=0,h[n+4>>2]=1045220557,h[e+996>>2]=1065353216,h[e+1e3>>2]=-1082130432,h[e+1016>>2]=1065353216,h[e+1020>>2]=1056964608,h[(n=e+1052|0)>>2]=0,h[n+4>>2]=0,h[e+1044>>2]=0,o[e+1040|0]=0,o[e+1301|0]=1,o[e+1308|0]=0,h[e+1304>>2]=0,o[e+1300|0]=i,w=m[t+52>>2],D=m[t+56>>2],L=m[t+60>>2],y=m[e+168>>2],C=m[e+160>>2],A=m[e+164>>2],c=m[t+8>>2],l=m[t+12>>2],u=m[t+28>>2],p=m[t+20>>2],d=m[t+24>>2],x=m[e+128>>2],S=m[e+144>>2],T=m[e+148>>2],E=m[e+116>>2],P=m[e+132>>2],f=m[t+44>>2],O=m[e+152>>2],_=m[t+36>>2],M=m[e+120>>2],b=m[t+40>>2],R=m[e+136>>2],g=m[t+4>>2],I=m[e+112>>2],h[e+108>>2]=0,h[e+92>>2]=0,h[e+76>>2]=0,h[e+60>>2]=0,m[e+88>>2]=v(v(M*_)+v(R*b))+v(O*f),m[e+84>>2]=v(v(E*_)+v(P*b))+v(T*f),m[e+80>>2]=v(v(I*_)+v(x*b))+v(S*f),m[e+72>>2]=v(v(M*p)+v(R*d))+v(O*u),m[e+68>>2]=v(v(E*p)+v(P*d))+v(T*u),m[e- -64>>2]=v(v(I*p)+v(x*d))+v(S*u),m[e+56>>2]=v(v(g*M)+v(c*R))+v(l*O),m[e+52>>2]=v(v(g*E)+v(c*P))+v(l*T),m[e+48>>2]=v(v(I*g)+v(x*c))+v(S*l),m[e+104>>2]=L+v(v(v(_*C)+v(b*A))+v(f*y)),m[e+100>>2]=D+v(v(v(p*C)+v(d*A))+v(u*y)),m[e+96>>2]=w+v(v(v(g*C)+v(c*A))+v(l*y)),st(e,h[e+28>>2]+4|0,h[e+32>>2]+4|0)}function Oe(e,t,n,i,a,c){e|=0,t|=0,n|=0,i|=0,a|=0,c|=0;var l,p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=0,x=0,T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=0,L=0,N=0,F=0;w=l=w-304|0,p=m[t+52>>2],b=m[n+52>>2],f=m[t+56>>2],g=m[n+56>>2],y=m[t+48>>2],_=m[n+48>>2],h[l+300>>2]=0,f=v(g-f),m[l+296>>2]=f,M=v(b-p),m[l+292>>2]=M,R=v(_-y),m[l+288>>2]=R,Gt(t,n,l+112|0,l+48|0),h[l+284>>2]=0,p=m[l+48>>2],b=v(p*m[l+120>>2]),m[l+280>>2]=b,g=v(p*m[l+116>>2]),m[l+276>>2]=g,y=v(p*m[l+112>>2]),m[l+272>>2]=y,p=m[i+52>>2],_=m[a+52>>2],C=m[i+56>>2],T=m[a+56>>2],E=m[i+48>>2],O=m[a+48>>2],h[l+268>>2]=0,T=v(T-C),m[l+264>>2]=T,I=v(_-p),m[l+260>>2]=I,E=v(O-E),m[l+256>>2]=E,Gt(i,a,l+112|0,l+48|0),h[l+252>>2]=0,p=m[l+48>>2],_=v(p*m[l+120>>2]),m[l+248>>2]=_,C=v(p*m[l+116>>2]),m[l+244>>2]=C,p=v(p*m[l+112>>2]),m[l+240>>2]=p,n=h[e+12>>2],P=v(r[h[h[n>>2]+16>>2]](n)),O=v(0),(n=h[e+16>>2])&&(O=v(r[h[h[n>>2]+16>>2]](n)),f=m[l+296>>2],T=m[l+264>>2],M=m[l+292>>2],I=m[l+260>>2],R=m[l+288>>2],E=m[l+256>>2],_=m[l+248>>2],C=m[l+244>>2],b=m[l+280>>2],g=m[l+276>>2],y=m[l+272>>2],p=m[l+240>>2]),_=v(v(P*v(S(v(v(v(y*y)+v(g*g))+v(b*b)))))+v(O*v(S(v(v(v(p*p)+v(C*C))+v(_*_)))))),b=v(E-R),g=v(I-M),y=v(T-f);e:if(v(_+v(S(v(v(v(b*b)+v(g*g))+v(y*y)))))!=v(0)&&(o[l+216|0]=0,h[l+212>>2]=1566444395,h[l+176>>2]=7200,Ae(e,t,i,l+176|0),n=h[l+208>>2],h[l+232>>2]=h[l+204>>2],h[l+236>>2]=n,n=h[l+200>>2],h[l+224>>2]=h[l+196>>2],h[l+228>>2]=n,d[l+216|0]&&(n=h[l+180>>2],D=h[l+184>>2],L=h[l+188>>2],!(v(_+v(v(v(b*m[l+180>>2])+v(g*m[l+184>>2]))+v(y*m[l+188>>2])))<=v(1.1920928955078125e-7))))){x=1,p=v(0);t:{if(f=v(m[l+212>>2]+m[c+172>>2]),P=m[l+192>>2],f>v(.0010000000474974513)){for(N=l+20|0,F=l+160|0,a=0;;){if((A=h[c+168>>2])&&(h[l+120>>2]=1065353216,h[l+124>>2]=0,h[l+112>>2]=1065353216,h[l+116>>2]=1065353216,r[h[h[A>>2]+20>>2]](A,l+224|0,v(.20000000298023224),l+112|0)),(C=v(_+v(v(v(b*(s(0,n),u()))+v(g*(s(0,D),u())))+v(y*(s(0,L),u())))))<=v(1.1920928955078125e-7)){x=0;break e}if((f=v(p+v(f/C)))<=p){x=0;break e}if(f>v(1)){x=0;break e}if(f>2])&&(h[l+8>>2]=0,h[l+12>>2]=0,h[l>>2]=1065353216,h[l+4>>2]=0,r[h[h[n>>2]+20>>2]](n,F,v(.20000000298023224),l)),r[h[h[c>>2]>>2]](c,f),o[l+40|0]=0,h[l+36>>2]=1566444395,h[l>>2]=7200,Ae(e,l+112|0,l+48|0,l),!d[l+40|0])break t;if(C=m[c+172>>2],A=h[(n=N)+12>>2],h[l+232>>2]=h[n+8>>2],h[l+236>>2]=A,A=h[n+4>>2],h[l+224>>2]=h[n>>2],h[l+228>>2]=A,A=a+1|0,a>>>0>63){r[h[h[c>>2]+8>>2]](c,-2,A),x=0;break e}if(n=h[l+4>>2],D=h[l+8>>2],L=h[l+12>>2],a=A,p=f,!((f=v(m[l+36>>2]+C))>v(.0010000000474974513)))break}P=m[l+16>>2]}f=P,h[c+132>>2]=n,m[c+164>>2]=p,m[c+144>>2]=f,h[c+140>>2]=L,h[c+136>>2]=D,e=h[l+228>>2],h[c+148>>2]=h[l+224>>2],h[c+152>>2]=e,e=h[l+236>>2],h[c+156>>2]=h[l+232>>2],h[c+160>>2]=e;break e}r[h[h[c>>2]+8>>2]](c,-1,a),x=0}return w=l+304|0,0|x}function Me(e,t){var n,i=0,a=v(0),s=v(0),c=0,l=v(0),u=v(0);w=n=w-16|0,h[e+312>>2]=0,h[e+316>>2]=0,h[e+236>>2]=2,h[e+544>>2]=1065353216,h[e+548>>2]=1065353216,h[e+348>>2]=1065353216,h[e+352>>2]=1065353216,h[e+412>>2]=0,h[e+416>>2]=0,h[e+320>>2]=0,h[e+324>>2]=0,h[e+328>>2]=0,h[e+332>>2]=0,h[e+336>>2]=0,h[e+340>>2]=0,h[e+552>>2]=1065353216,h[e+556>>2]=0,h[e+360>>2]=0,h[e+364>>2]=0,h[e+356>>2]=1065353216,h[e+368>>2]=0,h[e+372>>2]=0,h[e+376>>2]=0,h[e+380>>2]=0,h[e+384>>2]=0,h[e+388>>2]=0,h[e+392>>2]=0,h[e+420>>2]=0,h[e+424>>2]=0,h[e+428>>2]=0,h[e+432>>2]=0,h[e+436>>2]=0,h[e+440>>2]=0,a=m[t+96>>2],s=m[t+92>>2],m[n+12>>2]=s,m[n+8>>2]=a,h[n+4>>2]=0,h[n>>2]=1065353216,h[e+444>>2]=h[(sv(1)?n:n+12|0)>>2],h[n+4>>2]=0,h[n>>2]=1065353216,h[e+448>>2]=h[(av(1)?n:n+8|0)>>2],h[e+472>>2]=h[t+112>>2],h[e+476>>2]=h[t+116>>2],c=h[t+4>>2],h[e+608>>2]=0,h[e+612>>2]=0,h[e+480>>2]=c,o[e+452|0]=d[t+120|0],h[e+456>>2]=h[t+124>>2],h[e+460>>2]=h[t+128>>2],h[e+464>>2]=h[t+132>>2],h[e+468>>2]=h[t+136>>2],c?(i=e+4|0,r[h[h[c>>2]+8>>2]](c,i)):(i=h[t+12>>2],h[e+4>>2]=h[t+8>>2],h[e+8>>2]=i,i=h[t+20>>2],h[e+12>>2]=h[t+16>>2],h[e+16>>2]=i,i=h[t+36>>2],h[e+28>>2]=h[t+32>>2],h[e+32>>2]=i,i=h[t+28>>2],h[e+20>>2]=h[t+24>>2],h[e+24>>2]=i,i=h[t+44>>2],h[e+36>>2]=h[t+40>>2],h[e+40>>2]=i,i=h[t+52>>2],h[e+44>>2]=h[t+48>>2],h[e+48>>2]=i,c=h[4+(i=t- -64|0)>>2],h[e+60>>2]=h[i>>2],h[e+64>>2]=c,i=h[t+60>>2],h[e+52>>2]=h[t+56>>2],h[e+56>>2]=i,i=e+4|0),c=h[i+4>>2],h[e+68>>2]=h[i>>2],h[e+72>>2]=c,c=h[i+12>>2],h[e+76>>2]=h[i+8>>2],h[e+80>>2]=c,i=h[e+32>>2],h[e+92>>2]=h[e+28>>2],h[e+96>>2]=i,i=h[e+24>>2],h[e+84>>2]=h[e+20>>2],h[e+88>>2]=i,i=h[e+40>>2],h[e+100>>2]=h[e+36>>2],h[e+104>>2]=i,i=h[e+48>>2],h[e+108>>2]=h[e+44>>2],h[e+112>>2]=i,i=h[e+56>>2],h[e+116>>2]=h[e+52>>2],h[e+120>>2]=i,i=h[e+64>>2],h[e+124>>2]=h[e+60>>2],h[e+128>>2]=i,h[e+132>>2]=0,h[e+136>>2]=0,h[e+140>>2]=0,h[e+144>>2]=0,h[e+148>>2]=0,h[e+152>>2]=0,h[e+156>>2]=0,h[e+160>>2]=0,h[e+224>>2]=h[t+100>>2],h[e+232>>2]=h[t+104>>2],h[e+228>>2]=h[t+108>>2],r[h[h[e>>2]+12>>2]](e,h[t+72>>2]),i=h[7311],h[7311]=i+1,h[e+508>>2]=i,a=v(0),i=h[e+204>>2],(s=m[t>>2])!=v(0)?(h[e+204>>2]=-2&i,a=v(v(1)/s)):h[e+204>>2]=1|i,m[e+344>>2]=a,h[e+376>>2]=0,m[e+364>>2]=s*m[e+380>>2],m[e+372>>2]=s*m[e+388>>2],m[e+368>>2]=s*m[e+384>>2],s=m[t+84>>2],l=m[t+80>>2],u=m[t+76>>2],m[e+560>>2]=a*m[e+348>>2],m[e+564>>2]=a*m[e+352>>2],m[e+568>>2]=a*m[e+356>>2],h[e+572>>2]=0,h[e+408>>2]=0,m[e+396>>2]=u!=v(0)?v(v(1)/u):v(0),m[e+400>>2]=l!=v(0)?v(v(1)/l):v(0),m[e+404>>2]=s!=v(0)?v(v(1)/s):v(0),Fi(e),h[e+512>>2]=0,h[e+516>>2]=0,h[e+504>>2]=0,h[e+520>>2]=0,h[e+524>>2]=0,h[e+528>>2]=0,h[e+532>>2]=0,h[e+536>>2]=0,h[e+540>>2]=0,h[e+572>>2]=0,h[e+576>>2]=0,h[e+580>>2]=0,h[e+584>>2]=0,h[e+588>>2]=0,h[e+592>>2]=0,h[e+596>>2]=0,h[e+600>>2]=0,h[e+604>>2]=0,a=m[e+344>>2],m[e+568>>2]=a*m[e+356>>2],m[e+564>>2]=a*m[e+352>>2],m[e+560>>2]=a*m[e+348>>2],w=n+16|0}function Re(e,t,n,i){var a=0,s=0,c=0,l=0,u=v(0),p=0,f=0,_=0,b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=0,T=v(0),E=0,P=v(0),O=v(0),M=v(0),R=0;e:if(!((0|(E=h[e+4>>2]))<2))for(c=h[e+12>>2],y=m[(a=(c+(E<<4)|0)-16|0)>>2],P=m[n>>2],b=m[a+4>>2],O=m[n+4>>2],g=m[a+8>>2],M=m[n+8>>2],u=v(v(v(v(y*P)+v(b*O))+v(g*M))+i);;){C=m[(a=(R<<4)+c|0)>>2],A=m[a+4>>2],x=m[a+8>>2],T=v(v(v(v(C*P)+v(A*O))+v(x*M))+i),S=h[a+12>>2];t:{n:if(u>2]))==h[t+8>>2]&&!((0|a)>=(0|(p=a?a<<1:1)))){if(c=0,f=0,p&&(h[7717]=h[7717]+1,f=0|r[h[6606]](p<<4,16),a=h[t+4>>2]),(0|a)>=1)for(;l=(s=c<<4)+f|0,s=s+h[t+12>>2]|0,_=h[s+4>>2],h[l>>2]=h[s>>2],h[l+4>>2]=_,_=h[s+12>>2],h[l+8>>2]=h[s+8>>2],h[l+12>>2]=_,(0|(c=c+1|0))!=(0|a););(a=h[t+12>>2])&&(d[t+16|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[t+12>>2]=0),h[t+12>>2]=f,o[t+16|0]=1,h[t+8>>2]=p,a=h[t+4>>2]}a=h[t+12>>2]+(a<<4)|0,h[a+12>>2]=S,m[a+8>>2]=x,m[a+4>>2]=A,m[a>>2]=C;break n}if(u=v(u/v(u-T)),g=v(g+v(v(x-g)*u)),b=v(b+v(v(A-b)*u)),u=v(y+v(v(C-y)*u)),(0|(a=h[t+4>>2]))==h[t+8>>2]&&!((0|a)>=(0|(f=a?a<<1:1)))){if(c=0,p=0,f&&(h[7717]=h[7717]+1,p=0|r[h[6606]](f<<4,16),a=h[t+4>>2]),(0|a)>=1)for(;l=S=(s=c<<4)+p|0,s=s+h[t+12>>2]|0,_=h[s+4>>2],h[l>>2]=h[s>>2],h[l+4>>2]=_,l=h[s+12>>2],h[S+8>>2]=h[s+8>>2],h[S+12>>2]=l,(0|(c=c+1|0))!=(0|a););(a=h[t+12>>2])&&(d[t+16|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[t+12>>2]=0),h[t+12>>2]=p,o[t+16|0]=1,h[t+8>>2]=f,a=h[t+4>>2]}a=h[t+12>>2]+(a<<4)|0,h[a+12>>2]=0,m[a+8>>2]=g,m[a+4>>2]=b,m[a>>2]=u}else{if(!(T>2]))==h[t+8>>2]&&!((0|a)>=(0|(p=a?a<<1:1)))){if(c=0,f=0,p&&(h[7717]=h[7717]+1,f=0|r[h[6606]](p<<4,16),a=h[t+4>>2]),(0|a)>=1)for(;l=(s=c<<4)+f|0,s=s+h[t+12>>2]|0,_=h[s+4>>2],h[l>>2]=h[s>>2],h[l+4>>2]=_,_=h[s+12>>2],h[l+8>>2]=h[s+8>>2],h[l+12>>2]=_,(0|(c=c+1|0))!=(0|a););(a=h[t+12>>2])&&(d[t+16|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[t+12>>2]=0),h[t+12>>2]=f,o[t+16|0]=1,h[t+8>>2]=p,a=h[t+4>>2]}if(a=h[t+12>>2]+(a<<4)|0,h[a+12>>2]=0,m[a+8>>2]=g,m[a+4>>2]=b,m[a>>2]=u,a=h[t+4>>2]+1|0,h[t+4>>2]=a,h[t+8>>2]==(0|a)&&!((0|a)>=(0|(p=a?a<<1:1)))){if(c=0,f=0,p&&(h[7717]=h[7717]+1,f=0|r[h[6606]](p<<4,16),a=h[t+4>>2]),(0|a)>=1)for(;l=(s=c<<4)+f|0,s=s+h[t+12>>2]|0,_=h[s+4>>2],h[l>>2]=h[s>>2],h[l+4>>2]=_,_=h[s+12>>2],h[l+8>>2]=h[s+8>>2],h[l+12>>2]=_,(0|(c=c+1|0))!=(0|a););(a=h[t+12>>2])&&(d[t+16|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[t+12>>2]=0),h[t+12>>2]=f,o[t+16|0]=1,h[t+8>>2]=p,a=h[t+4>>2]}a=h[t+12>>2]+(a<<4)|0,h[a+12>>2]=S,m[a+8>>2]=x,m[a+4>>2]=A,m[a>>2]=C}h[t+4>>2]=h[t+4>>2]+1}if((0|(R=R+1|0))==(0|E))break e;M=m[n+8>>2],O=m[n+4>>2],P=m[n>>2],c=h[e+12>>2],u=T,g=x,b=A,y=C}}function Ie(e,t,n,i,r,o,a,s,c,l,u){var p,d,f,_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0);f=h[e+16>>2],p=h[240+(f+g(r,244)|0)>>2],d=h[240+(g(i,244)+f|0)>>2],h[t+148>>2]=r,h[t+144>>2]=i,o=h[o+84>>2],h[t+132>>2]=0,h[t+104>>2]=o,h[t+96>>2]=0,h[t+100>>2]=0,d?(e=h[n+4>>2],h[t+16>>2]=h[n>>2],h[t+20>>2]=e,e=h[n+12>>2],h[t+24>>2]=h[n+8>>2],h[t+28>>2]=e,y=m[a+8>>2],_=m[a>>2],b=m[a+4>>2],h[t+12>>2]=0,B=m[t+20>>2],k=m[t+16>>2],w=v(v(_*B)-v(b*k)),m[t+8>>2]=w,V=m[t+24>>2],D=v(v(y*k)-v(_*V)),m[t+4>>2]=D,L=v(v(b*V)-v(y*B)),m[t>>2]=L,y=m[d+552>>2],_=m[d+304>>2],b=m[d+296>>2],C=m[d+300>>2],x=m[d+548>>2],A=m[d+288>>2],P=m[d+280>>2],S=m[d+284>>2],T=m[d+272>>2],E=m[d+268>>2],N=m[d+544>>2],R=m[d+264>>2],h[t+76>>2]=0,T=v(N*v(v(v(L*R)+v(D*E))+v(w*T))),m[t+64>>2]=T,x=v(x*v(v(v(L*P)+v(D*S))+v(w*A))),m[t+68>>2]=x,A=v(y*v(v(v(L*b)+v(D*C))+v(w*_))),m[t+72>>2]=A):(h[t+64>>2]=0,h[t+68>>2]=0,h[t>>2]=0,h[t+4>>2]=0,h[t+72>>2]=0,h[t+76>>2]=0,h[t+8>>2]=0,h[t+12>>2]=0,h[t+16>>2]=0,h[t+20>>2]=0,h[t+24>>2]=0,h[t+28>>2]=0),p?(y=m[n>>2],_=m[n+4>>2],b=m[n+8>>2],h[t+60>>2]=0,N=v(-b),m[t+56>>2]=N,z=v(-_),m[t+52>>2]=z,j=v(-y),m[t+48>>2]=j,C=m[s+8>>2],E=m[s+4>>2],S=m[s>>2],h[t+44>>2]=0,P=v(v(y*E)-v(_*S)),m[t+40>>2]=P,S=v(v(b*S)-v(y*C)),m[t+36>>2]=S,E=v(v(_*C)-v(b*E)),m[t+32>>2]=E,y=m[p+272>>2],C=m[p+268>>2],b=m[p+548>>2],R=m[p+288>>2],M=m[p+280>>2],O=m[p+284>>2],_=m[p+552>>2],I=m[p+304>>2],F=m[p+296>>2],U=m[p+300>>2],G=m[p+544>>2],H=m[p+264>>2],h[t+92>>2]=0,_=v(_*v(v(v(E*F)+v(S*U))+v(P*I))),m[t+88>>2]=_,b=v(b*v(v(v(E*M)+v(S*O))+v(P*R))),m[t+84>>2]=b,C=v(G*v(v(v(E*H)+v(S*C))+v(P*y))),m[t+80>>2]=C):(h[t+80>>2]=0,h[t+84>>2]=0,h[t+32>>2]=0,h[t+36>>2]=0,h[t+88>>2]=0,h[t+92>>2]=0,h[t+40>>2]=0,h[t+44>>2]=0,h[t+48>>2]=0,h[t+52>>2]=0,h[t+56>>2]=0,h[t+60>>2]=0,P=v(0),S=v(0),E=v(0),N=v(0),_=v(0),b=v(0),C=v(0)),R=v(0),e=t,y=c,d?(c=m[a+8>>2],M=m[a+4>>2],I=v(v(v(x*c)-v(A*M))*m[n>>2]),O=A,A=m[a>>2],c=v(m[d+344>>2]+v(v(I+v(v(v(O*A)-v(c*T))*m[n+4>>2]))+v(v(v(M*T)-v(x*A))*m[n+8>>2])))):c=v(0),p?(T=m[s+4>>2],x=m[s+8>>2],O=v(v(v(_*T)-v(b*x))*m[n>>2]),A=_,_=m[s>>2],_=v(m[p+344>>2]+v(v(O+v(v(v(C*x)-v(A*_))*m[n+4>>2]))+v(v(v(b*_)-v(C*T))*m[n+8>>2])))):_=v(0),F=v(y/v(c+_)),m[e+108>>2]=F,y=v(0),T=v(0),x=v(0),A=v(0),_=v(0),b=v(0),d&&(e=g(i,244)+f|0,x=v(m[e+176>>2]+m[e+208>>2]),b=m[e+192>>2],A=m[e+200>>2],T=v(m[e+180>>2]+m[e+212>>2]),_=m[e+196>>2],y=v(m[e+184>>2]+m[e+216>>2])),C=v(0),c=v(0),M=v(0),O=v(0),I=v(0),p&&(e=g(r,244)+f|0,R=v(m[e+176>>2]+m[e+208>>2]),C=v(m[e+180>>2]+m[e+212>>2]),I=m[e+192>>2],M=m[e+200>>2],O=m[e+196>>2],c=v(m[e+184>>2]+m[e+216>>2])),h[t+124>>2]=o,m[t+116>>2]=u,h[t+120>>2]=-2147483648^o,m[t+112>>2]=F*v(l-v(v(v(v(v(x*k)+v(T*B))+v(y*V))+v(v(v(b*L)+v(_*D))+v(A*w)))+v(v(v(v(R*j)+v(C*z))+v(c*N))+v(v(v(I*E)+v(O*S))+v(M*P)))))}function we(e,t,n,i,a,c){e|=0,t|=0,n|=0,i|=0,a|=0,c|=0;var l,p,f=0,_=v(0),b=v(0),g=0,y=v(0),C=0,A=v(0),x=v(0),S=v(0),T=0,E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0);w=l=w-288|0,ha(h[e+4>>2]),_=m[t+52>>2],b=m[n+52>>2],y=m[i+52>>2],A=m[a+52>>2],x=m[t+56>>2],S=m[n+56>>2],E=m[i+56>>2],P=m[a+56>>2],O=m[t+48>>2],M=m[n+48>>2],R=m[i+48>>2],I=m[a+48>>2],o[l+264|0]=0,h[l+260>>2]=1566444395,h[l+224>>2]=7200,p=Po(l+144|0,h[e+8>>2],h[e+12>>2],h[e+4>>2],0),h[l+136>>2]=1566444395,f=h[(e=t)+12>>2],h[l+16>>2]=h[e+8>>2],h[l+20>>2]=f,f=h[e+4>>2],h[l+8>>2]=h[e>>2],h[l+12>>2]=f,f=h[e+28>>2],h[l+32>>2]=h[e+24>>2],h[l+36>>2]=f,f=h[e+20>>2],h[l+24>>2]=h[e+16>>2],h[l+28>>2]=f,f=h[e+44>>2],h[l+48>>2]=h[e+40>>2],h[l+52>>2]=f,f=h[e+36>>2],h[l+40>>2]=h[e+32>>2],h[l+44>>2]=f,C=h[e+60>>2],h[(f=l- -64|0)>>2]=h[e+56>>2],h[f+4>>2]=C,f=h[e+52>>2],h[l+56>>2]=h[e+48>>2],h[l+60>>2]=f,f=h[(e=i)+12>>2],h[l+80>>2]=h[e+8>>2],h[l+84>>2]=f,f=h[e+4>>2],h[l+72>>2]=h[e>>2],h[l+76>>2]=f,f=h[e+20>>2],h[l+88>>2]=h[e+16>>2],h[l+92>>2]=f,f=h[e+28>>2],h[l+96>>2]=h[e+24>>2],h[l+100>>2]=f,f=h[e+44>>2],h[l+112>>2]=h[e+40>>2],h[l+116>>2]=f,f=h[e+36>>2],h[l+104>>2]=h[e+32>>2],h[l+108>>2]=f,f=h[e+52>>2],h[l+120>>2]=h[e+48>>2],h[l+124>>2]=f,f=h[e+60>>2],h[l+128>>2]=h[e+56>>2],h[l+132>>2]=f,hh(p,l+8|0,l+224|0,0),e=h[l+256>>2],h[l+280>>2]=h[l+252>>2],h[l+284>>2]=e,e=h[l+248>>2],h[l+272>>2]=h[l+244>>2],h[l+276>>2]=e,g=0;e:if(d[l+264|0]){x=v(v(S-x)-v(P-E)),A=v(v(b-_)-v(A-y)),S=v(v(M-O)-v(I-R)),C=h[l+232>>2],f=h[l+236>>2],T=h[l+228>>2];t:{if((y=m[l+260>>2])>v(.0010000000474974513)){for(e=0,b=v(0);;){if(g=0,32==(0|e))break e;if(g=0,(_=v(b-v(y/v(v(x*(s(0,f),u()))+v(v(A*(s(0,C),u()))+v(S*(s(0,T),u())))))))<=b)break e;if(g=0,_>v(1))break e;if(g=0,_>2]>>2]](c,_),b=v(v(1)-_),m[l+56>>2]=v(b*m[t+48>>2])+v(_*m[n+48>>2]),m[l+60>>2]=v(b*m[t+52>>2])+v(_*m[n+52>>2]),m[l+64>>2]=v(b*m[t+56>>2])+v(_*m[n+56>>2]),m[l+120>>2]=v(b*m[i+48>>2])+v(_*m[a+48>>2]),m[l+124>>2]=v(b*m[i+52>>2])+v(_*m[a+52>>2]),m[l+128>>2]=v(b*m[i+56>>2])+v(_*m[a+56>>2]),hh(p,l+8|0,l+224|0,0),g=0,!d[l+264|0])break e;if((y=m[l+260>>2])>2]=_,e=h[l+228>>2],t=h[l+232>>2],n=h[l+240>>2],h[c+140>>2]=h[l+236>>2],h[c+144>>2]=n,h[c+132>>2]=e,h[c+136>>2]=t,e=h[l+256>>2],h[c+156>>2]=h[l+252>>2],h[c+160>>2]=e,e=h[l+248>>2],h[c+148>>2]=h[l+244>>2],h[c+152>>2]=e;break t}if(e=e+1|0,f=h[l+256>>2],h[l+280>>2]=h[l+252>>2],h[l+284>>2]=f,f=h[l+248>>2],h[l+272>>2]=h[l+244>>2],h[l+276>>2]=f,T=h[l+228>>2],C=h[l+232>>2],f=h[l+236>>2],b=_,!(y>v(.0010000000474974513)))break}b=m[l+240>>2]}else _=v(0),b=m[l+240>>2];if(g=0,v(v(x*(s(0,f),u()))+v(v(A*(s(0,C),u()))+v(S*(s(0,T),u()))))>=v(-m[c+172>>2]))break e;h[c+132>>2]=T,m[c+164>>2]=_,m[c+144>>2]=b,h[c+140>>2]=f,h[c+136>>2]=C,e=h[l+276>>2],h[c+148>>2]=h[l+272>>2],h[c+152>>2]=e,e=h[l+284>>2],h[c+156>>2]=h[l+280>>2],h[c+160>>2]=e}g=1}return w=l+288|0,0|(f=g)}function De(e,t){var n,i=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=0,p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=0,L=v(0),N=v(0),F=v(0);if(w=n=w+-64|0,d[e+473|0]&&(u=h[e+532>>2],h[n+24>>2]=h[e+528>>2],h[n+28>>2]=u,u=h[e+524>>2],h[n+16>>2]=h[e+520>>2],h[n+20>>2]=u,o=m[e+576>>2],a=m[e+568>>2],s=m[e+572>>2],i=m[e+544>>2],c=m[e+536>>2],p=m[e+540>>2],f=m[e+624>>2],_=m[e+592>>2],b=m[e+608>>2],l=m[e+620>>2],y=m[e+588>>2],C=m[e+604>>2],T=m[e+616>>2],g=m[e+560>>2],E=m[e+584>>2],A=m[e+552>>2],P=m[e+600>>2],x=m[e+556>>2],h[n+60>>2]=0,O=v(v(v(E*c)+v(P*p))+v(T*i)),M=v(v(v(c*y)+v(p*C))+v(i*l)),L=v(M*v(0)),p=v(v(v(c*_)+v(p*b))+v(i*f)),N=v(p*v(0)),i=v(v(O+L)+N),R=v(v(v(_*A)+v(b*x))+v(f*g)),F=v(R*v(0)),I=v(v(v(E*A)+v(P*x))+v(T*g)),g=v(v(v(y*A)+v(C*x))+v(l*g)),A=v(g*v(0)),c=v(F+v(I+A)),f=v(v(v(_*a)+v(b*s))+v(f*o)),x=v(f*v(0)),_=v(v(v(E*a)+v(P*s))+v(T*o)),b=v(v(v(y*a)+v(C*s))+v(l*o)),l=v(b*v(0)),a=v(x+v(_+l)),o=v(v(1)/v(S(v(v(v(i*i)+v(c*c))+v(a*a))))),m[n+56>>2]=m[n+24>>2]+v(v(a*o)*v(10)),m[n+52>>2]=m[n+20>>2]+v(v(c*o)*v(10)),m[n+48>>2]=m[n+16>>2]+v(v(i*o)*v(10)),h[n+40>>2]=0,h[n+44>>2]=0,h[n+32>>2]=1065353216,h[n+36>>2]=0,r[h[h[t>>2]+8>>2]](t,n+16|0,n+48|0,n+32|0),h[n+60>>2]=0,c=v(O*v(0)),a=v(v(c+M)+N),y=v(I*v(0)),s=v(F+v(g+y)),C=v(_*v(0)),i=v(x+v(b+C)),o=v(v(1)/v(S(v(v(v(a*a)+v(s*s))+v(i*i))))),m[n+56>>2]=v(v(i*o)*v(10))+m[n+24>>2],m[n+52>>2]=v(v(s*o)*v(10))+m[n+20>>2],m[n+48>>2]=v(v(a*o)*v(10))+m[n+16>>2],h[n+40>>2]=0,h[n+44>>2]=0,h[n+32>>2]=0,h[n+36>>2]=1065353216,r[h[h[t>>2]+8>>2]](t,n+16|0,n+48|0,n+32|0),h[n+60>>2]=0,a=v(v(c+L)+p),s=v(R+v(y+A)),i=v(f+v(C+l)),o=v(v(1)/v(S(v(v(v(a*a)+v(s*s))+v(i*i))))),m[n+56>>2]=v(v(i*o)*v(10))+m[n+24>>2],m[n+52>>2]=v(v(s*o)*v(10))+m[n+20>>2],m[n+48>>2]=v(v(a*o)*v(10))+m[n+16>>2],h[n+40>>2]=1065353216,h[n+44>>2]=0,h[n+32>>2]=0,h[n+36>>2]=0,r[h[h[t>>2]+8>>2]](t,n+16|0,n+48|0,n+32|0),!(h[e+484>>2]<1)))for(;u=h[e+492>>2]+(D<<4)|0,s=m[u+8>>2],i=m[u>>2],c=m[u+4>>2],l=m[n+16>>2],a=m[n+20>>2],o=m[n+24>>2],h[n+8>>2]=1065353216,h[n+12>>2]=0,h[n>>2]=1065353216,h[n+4>>2]=0,h[n+60>>2]=0,o=v(o+v(v(v(_*i)+v(b*c))+v(f*s))),m[n+56>>2]=o,a=v(a+v(v(v(I*i)+v(g*c))+v(R*s))),m[n+52>>2]=a,s=v(l+v(v(v(O*i)+v(M*c))+v(p*s))),m[n+48>>2]=s+v(-.10000000149011612),h[n+44>>2]=0,i=v(o+v(0)),m[n+40>>2]=i,c=v(a+v(0)),m[n+36>>2]=c,m[n+32>>2]=s+v(.10000000149011612),r[h[h[t>>2]+8>>2]](t,n+48|0,n+32|0,n),h[n+60>>2]=0,m[n+56>>2]=o,m[n+52>>2]=a+v(-.10000000149011612),m[n+48>>2]=s,h[n+44>>2]=0,m[n+40>>2]=i,m[n+36>>2]=a+v(.10000000149011612),i=v(s+v(0)),m[n+32>>2]=i,r[h[h[t>>2]+8>>2]](t,n+48|0,n+32|0,n),h[n+60>>2]=0,m[n+56>>2]=o+v(-.10000000149011612),m[n+52>>2]=a,m[n+48>>2]=s,h[n+44>>2]=0,m[n+40>>2]=o+v(.10000000149011612),m[n+36>>2]=c,m[n+32>>2]=i,r[h[h[t>>2]+8>>2]](t,n+48|0,n+32|0,n),(0|(D=D+1|0))>2];);w=n- -64|0}function Le(){1&o[27952]||Vl(27952)&&(h[6906]=1062847606,h[6907]=0,h[6904]=1042701022,h[6905]=1056964440,h[6902]=1062847606,h[6903]=0,h[6900]=-1093024784,h[6901]=1050556081,h[6898]=1062847606,h[6899]=0,h[6896]=-1093024784,h[6897]=-1096927567,h[6894]=1062847606,h[6895]=0,h[6892]=1042701022,h[6893]=-1090519208,h[6890]=1062847572,h[6891]=0,h[6888]=1057396286,h[6889]=0,h[6886]=1057396386,h[6887]=0,h[6884]=1060121912,h[6885]=1056964507,h[6882]=1057396420,h[6883]=0,h[6880]=-1098475836,h[6881]=1062148969,h[6878]=1057396386,h[6879]=0,h[6876]=-1084636143,h[6877]=0,h[6874]=1057396420,h[6875]=0,h[6872]=-1098475836,h[6873]=-1085334679,h[6870]=1057396386,h[6871]=0,h[6868]=1060121912,h[6869]=-1090519141,h[6866]=-2147483648,h[6867]=0,h[6864]=1058437413,h[6865]=1062149053,h[6862]=-2147483648,h[6863]=0,h[6860]=-2147483648,h[6861]=1065353216,h[6858]=-2147483648,h[6859]=0,h[6856]=-1089046235,h[6857]=1062149053,h[6854]=-2147483648,h[6855]=0,h[6852]=-1082951543,h[6853]=1050556148,h[6850]=-2147483648,h[6851]=0,h[6848]=-1082951543,h[6849]=-1096927500,h[6846]=0,h[6847]=0,h[6844]=-1089046235,h[6845]=-1085334595,h[6842]=0,h[6843]=0,h[6840]=0,h[6841]=-1082130432,h[6838]=0,h[6839]=0,h[6836]=1058437413,h[6837]=-1085334595,h[6834]=0,h[6835]=0,h[6832]=1064532105,h[6833]=-1096927500,h[6830]=0,h[6831]=0,h[6828]=1064532105,h[6829]=1050556148,h[6826]=-1090087228,h[6827]=0,h[6824]=1049007812,h[6825]=1062148969,h[6822]=-1090087262,h[6823]=0,h[6820]=-1087361736,h[6821]=1056964507,h[6818]=-1084636042,h[6819]=0,h[6816]=-1104782626,h[6817]=1056964440,h[6814]=-1090087262,h[6815]=0,h[6812]=-1087361736,h[6813]=-1090519141,h[6810]=-1084636076,h[6811]=0,h[6808]=-1090087362,h[6809]=-2147483648,h[6806]=-1090087262,h[6807]=0,h[6804]=1062847505,h[6805]=-2147483648,h[6802]=-1084636042,h[6803]=0,h[6800]=1054458864,h[6801]=1050556081,h[6798]=-1090087228,h[6799]=0,h[6796]=1049007812,h[6797]=-1085334679,h[6794]=-1084636042,h[6795]=0,h[6792]=-1104782626,h[6793]=-1090519208,h[6790]=-1084636042,h[6791]=0,h[6788]=1054458864,h[6789]=-1096927567,h[6786]=1065353216,h[6787]=0,h[6784]=-2147483648,h[6785]=0,h[6782]=1055193471,h[6783]=0,h[6780]=1063581978,h[6781]=0,h[6778]=1055193572,h[6779]=0,h[6776]=1049461434,h[6777]=1062847522,h[6774]=1055193572,h[6775]=0,h[6772]=-1086767520,h[6773]=1057396202,h[6770]=1055193572,h[6771]=0,h[6768]=-1086767520,h[6769]=-1090087446,h[6766]=1055193605,h[6767]=0,h[6764]=1049461434,h[6765]=-1084636126,h[6762]=-1092290076,h[6763]=0,h[6760]=1060716128,h[6761]=1057396202,h[6758]=-1092290043,h[6759]=0,h[6756]=-1098022214,h[6757]=1062847522,h[6754]=-1092290177,h[6755]=0,h[6752]=-1083901670,h[6753]=-2147483648,h[6750]=-1092290076,h[6751]=0,h[6748]=-1098022214,h[6749]=-1084636126,h[6746]=-1092290076,h[6747]=0,h[6744]=1060716128,h[6745]=-1090087446,h[6742]=-1082130432,h[6743]=0,h[6740]=0,h[6741]=-2147483648,Fu(27952))}function Ne(){1&o[28992]||Vl(28992)&&(h[7166]=1062847606,h[7167]=0,h[7164]=1042701022,h[7165]=1056964440,h[7162]=1062847606,h[7163]=0,h[7160]=-1093024784,h[7161]=1050556081,h[7158]=1062847606,h[7159]=0,h[7156]=-1093024784,h[7157]=-1096927567,h[7154]=1062847606,h[7155]=0,h[7152]=1042701022,h[7153]=-1090519208,h[7150]=1062847572,h[7151]=0,h[7148]=1057396286,h[7149]=0,h[7146]=1057396386,h[7147]=0,h[7144]=1060121912,h[7145]=1056964507,h[7142]=1057396420,h[7143]=0,h[7140]=-1098475836,h[7141]=1062148969,h[7138]=1057396386,h[7139]=0,h[7136]=-1084636143,h[7137]=0,h[7134]=1057396420,h[7135]=0,h[7132]=-1098475836,h[7133]=-1085334679,h[7130]=1057396386,h[7131]=0,h[7128]=1060121912,h[7129]=-1090519141,h[7126]=-2147483648,h[7127]=0,h[7124]=1058437413,h[7125]=1062149053,h[7122]=-2147483648,h[7123]=0,h[7120]=-2147483648,h[7121]=1065353216,h[7118]=-2147483648,h[7119]=0,h[7116]=-1089046235,h[7117]=1062149053,h[7114]=-2147483648,h[7115]=0,h[7112]=-1082951543,h[7113]=1050556148,h[7110]=-2147483648,h[7111]=0,h[7108]=-1082951543,h[7109]=-1096927500,h[7106]=0,h[7107]=0,h[7104]=-1089046235,h[7105]=-1085334595,h[7102]=0,h[7103]=0,h[7100]=0,h[7101]=-1082130432,h[7098]=0,h[7099]=0,h[7096]=1058437413,h[7097]=-1085334595,h[7094]=0,h[7095]=0,h[7092]=1064532105,h[7093]=-1096927500,h[7090]=0,h[7091]=0,h[7088]=1064532105,h[7089]=1050556148,h[7086]=-1090087228,h[7087]=0,h[7084]=1049007812,h[7085]=1062148969,h[7082]=-1090087262,h[7083]=0,h[7080]=-1087361736,h[7081]=1056964507,h[7078]=-1084636042,h[7079]=0,h[7076]=-1104782626,h[7077]=1056964440,h[7074]=-1090087262,h[7075]=0,h[7072]=-1087361736,h[7073]=-1090519141,h[7070]=-1084636076,h[7071]=0,h[7068]=-1090087362,h[7069]=-2147483648,h[7066]=-1090087262,h[7067]=0,h[7064]=1062847505,h[7065]=-2147483648,h[7062]=-1084636042,h[7063]=0,h[7060]=1054458864,h[7061]=1050556081,h[7058]=-1090087228,h[7059]=0,h[7056]=1049007812,h[7057]=-1085334679,h[7054]=-1084636042,h[7055]=0,h[7052]=-1104782626,h[7053]=-1090519208,h[7050]=-1084636042,h[7051]=0,h[7048]=1054458864,h[7049]=-1096927567,h[7046]=1065353216,h[7047]=0,h[7044]=-2147483648,h[7045]=0,h[7042]=1055193471,h[7043]=0,h[7040]=1063581978,h[7041]=0,h[7038]=1055193572,h[7039]=0,h[7036]=1049461434,h[7037]=1062847522,h[7034]=1055193572,h[7035]=0,h[7032]=-1086767520,h[7033]=1057396202,h[7030]=1055193572,h[7031]=0,h[7028]=-1086767520,h[7029]=-1090087446,h[7026]=1055193605,h[7027]=0,h[7024]=1049461434,h[7025]=-1084636126,h[7022]=-1092290076,h[7023]=0,h[7020]=1060716128,h[7021]=1057396202,h[7018]=-1092290043,h[7019]=0,h[7016]=-1098022214,h[7017]=1062847522,h[7014]=-1092290177,h[7015]=0,h[7012]=-1083901670,h[7013]=-2147483648,h[7010]=-1092290076,h[7011]=0,h[7008]=-1098022214,h[7009]=-1084636126,h[7006]=-1092290076,h[7007]=0,h[7004]=1060716128,h[7005]=-1090087446,h[7002]=-1082130432,h[7003]=0,h[7e3]=0,h[7001]=-2147483648,Fu(28992))}function Fe(e,t,n,i,r){var o,a,s,c,l=v(0),u=0,p=v(0),d=v(0),f=0,_=0,b=0,g=0,C=v(0),A=v(0),x=v(0),T=v(0),E=0,P=v(0),O=0,M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=0,N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0);C=v(v(1)/m[e+20>>2]),u=(p=v(v(m[t>>2]*C)/v(3)))>2])/v(3)))>2])/v(3)))>>5&134215680^f<<16,P=l=d,d=v(v(1)-l),t=v(y(d))>>11)|0,O=L=h[e+12>>2],g=(t=t^a>>>5&134215680^t<<16)>>>11|0,P=l=p,p=v(v(1)-l),_=v(y(p))>>5&134215680^t<<16)+(65535&n)+(t>>>11)|0)^n>>>5&134215680^t<<16)>>>11|0)+t|0,t=((t^=t<<3)>>>5|0)+t|0,t=((t^=t<<4)>>>17|0)+t|0,c=((t^=t<<25)>>>6|0)+t|0,E=h[e+4>>2],t=h[(O=((c>>>0)%(E>>>0)<<2)+O|0)>>2],h[e+40>>2]=h[e+40>>2]+1,g=h[e+36>>2]+1|0,h[e+36>>2]=g,T=v(v(l-v(0|_))*v(3)),_=v(y(T))>2]|(0|o)!=h[t+256>>2]|(0|a)!=h[t+260>>2]|h[t+264>>2]!=(0|s))&&h[t+276>>2]==(0|n))break e;if(t=h[t+280>>2],g=g+1|0,h[e+36>>2]=g,!t)break}if(t=h[e+28>>2],h[e+28>>2]=t+1,(0|t)>=h[e+32>>2]){g=0,h[7689]=h[7689]+1;t:if(!((0|E)<1))for(;;){if(t=h[(u=(g<<2)+L|0)>>2],h[u>>2]=0,t)for(;u=h[t+280>>2],Se(t),t=u;);if((0|E)==(0|(g=g+1|0)))break t;L=h[e+12>>2]}h[e+36>>2]=1,h[e+40>>2]=1,h[e+28>>2]=0,h[e+20>>2]=1048576e3,h[e+24>>2]=0}u=ji(t=Tl(284),0,284),h[u+280>>2]=h[O>>2],h[O>>2]=u,h[u+272>>2]=c,h[u+276>>2]=n,h[u+264>>2]=s,h[u+260>>2]=a,h[u+256>>2]=o,vt(e,u)}return h[t+268>>2]=h[e+24>>2],R=m[(e=(u=(b<<6)+t|0)+(t=f<<4)|0)+(b=4+(f=_<<2)|0)>>2],I=m[e+f>>2],l=v(R-I),F=m[(e=(n=u- -64|0)+t|0)+b>>2],B=m[e+f>>2],p=v(l+v(A*v(v(F-B)-l))),w=m[(e=(t=t+16|0)+u|0)+b>>2],D=m[e+f>>2],l=v(w-D),k=m[(e=t+n|0)+b>>2],V=m[e+f>>2],P=l=v(p+v(M*v(v(l+v(A*v(v(k-V)-l)))-p))),j=v(l*l),z=v(B-I),C=v(V-D),l=v(z+v(M*v(C-z))),x=v(F-R),d=v(k-w),T=v(l+v(N*v(v(x+v(M*v(d-x)))-l))),l=v(D-I),p=v(l+v(A*v(v(V-B)-l))),l=v(w-R),p=v(p+v(N*v(v(l+v(A*v(v(k-F)-l)))-p))),l=v(v(1)/v(S(v(j+v(v(T*T)+v(p*p)))))),m[i+8>>2]=P*l,m[i+4>>2]=p*l,m[i>>2]=T*l,l=v(I+v(A*z)),p=v(l+v(M*v(v(D+v(A*C))-l))),l=v(R+v(A*x)),v(v(p+v(N*v(v(l+v(M*v(v(w+v(A*d))-l)))-p)))-r)}function Be(e,t,n){var i=v(0),r=v(0),o=v(0),a=0,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),y=0,C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=0,O=0,M=0,R=0,I=v(0);I=m[e+452>>2];e:if(E=m[e+304>>2],(!((T=m[e+300>>2])>v(0)^1)||E>v(0))&&!((0|(R=h[e+288>>2]))<4)&&(y=(P=h[e+760>>2])+g(n,44)|0,a=h[y+8>>2],b=m[a+40>>2],O=h[y+12>>2],M=h[y+16>>2],r=v(v(v(v(b+m[O+40>>2])+m[M+40>>2])*v(.3333333432674408))-m[t>>2]),l=m[a+44>>2],d=v(v(v(v(l+m[O+44>>2])+m[M+44>>2])*v(.3333333432674408))-m[t+4>>2]),f=m[a+48>>2],s=v(v(v(v(f+m[O+48>>2])+m[M+48>>2])*v(.3333333432674408))-m[t+8>>2]),(C=v(v(v(r*r)+v(d*d))+v(s*s)))>v(1.1920928955078125e-7))){c=m[h[e+684>>2]>>2],A=v(S(C)),i=v(v(1)/A),p=v(s*i),o=v(d*i),i=v(r*i),u=m[y+20>>2],_=m[y+28>>2],x=m[y+24>>2];t:switch(R+-4|0){case 1:for(l=v(v(v(r*u)+v(d*x))+v(s*_))>2]*v(.5)),c=v(f*v(v(C*v(v(T*v(.5))*l))*_)),x=v(c*v(-p)),C=v(c*v(-o)),T=v(c*v(-i)),b=v(0),u=v(0),c=v(0),f>v(0)&&(c=v(0),f>2])>v(0)&&(i=m[e+452>>2],r=v(v(l*o)*i),s=v(r*r),r=v(v(p*o)*i),o=v(v(f*o)*i),(o=v(s+v(v(r*r)+v(o*o))))>v(0)&&(i=m[a+40>>2],s=v(i*i),i=m[a+44>>2],s=v(s+v(i*i)),i=m[a+48>>2],o>=(i=v(s+v(i*i)))&&(o=v(v(v(S(i))/v(S(o)))*v(.800000011920929)),l=v(l*o),f=v(f*o),p=v(p*o))),m[a+56>>2]=c+v(p+m[a+56>>2]),m[(y=a- -64|0)>>2]=u+v(l+m[y>>2]),m[a+60>>2]=b+v(f+m[a+60>>2])),3==(0|(t=t+1|0)))break e;a=h[8+(n+(t<<2)|0)>>2]}case 0:case 2:break t;default:break e}if(A=s,s=v(v(v(r*u)+v(d*x))+v(s*_))v(0))for(t=g(n,44)+P|0,c=v(v(C*v(r*v(-m[t+36>>2])))*c),r=v(T*c),d=v(E*c),c=v(v(v(p*r)+v(v(_*d)+v(0)))*v(.3333333432674408)),p=v(v(v(i*r)+v(v(u*d)+v(0)))*v(.3333333432674408)),o=v(v(v(o*r)+v(v(s*d)+v(0)))*v(.3333333432674408)),i=v(v(1)/v(S(v(v(c*c)+v(v(p*p)+v(o*o)))))),r=v(c*i),d=v(o*i),s=v(p*i),e=0;;){if(i=v(I*m[a+88>>2]),u=v(c*i),A=v(u*u),u=v(p*i),_=v(u*u),u=v(o*i),v(A+v(_+v(u*u)))>v(v(v(b*b)+v(l*l))+v(f*f))?(i=v(v(1)/i),l=v(v(r*f)+v(v(s*b)+v(d*l))),m[a+56>>2]=m[a+56>>2]-v(i*v(s*l)),m[a+60>>2]=m[a+60>>2]-v(i*v(d*l)),m[(n=a- -64|0)>>2]=m[n>>2]-v(i*v(r*l))):(m[a+56>>2]=p+m[a+56>>2],m[a+60>>2]=o+m[a+60>>2],m[(n=a- -64|0)>>2]=c+m[n>>2]),3==(0|(e=e+1|0)))break e;a=h[8+(t+(e<<2)|0)>>2],b=m[a+40>>2],f=m[a+48>>2],l=m[a+44>>2]}}}function ke(e,t,n){var i=0,a=0,s=0,c=0,l=v(0),u=0,p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=0;e:{if(d[e+165|0]){if(!(!n|(0|(i=h[e+88>>2]))<1))for(s=h[e+96>>2],f=m[e+168>>2],_=m[t+8>>2],b=m[t+4>>2],g=m[t>>2],n=0;;){if(l=v(m[(a=s+(n<<4)|0)>>2]-g),p=v(l*l),l=v(m[a+4>>2]-b),p=v(p+v(l*l)),l=v(m[a+8>>2]-_),v(p+v(l*l))<=f)break e;if(!((0|(n=n+1|0))<(0|i)))break}if(n=h[e+32>>2],h[n+12>>2]=h[n+12>>2]+1,h[e+92>>2]==(0|i)&&!((0|i)>=(0|(a=i?i<<1:1)))){if(a&&(h[7717]=h[7717]+1,c=0|r[h[6606]](a<<4,16),i=h[e+88>>2]),(0|i)>=1)for(n=0;u=(s=n<<4)+c|0,s=s+h[e+96>>2]|0,y=h[s+4>>2],h[u>>2]=h[s>>2],h[u+4>>2]=y,y=h[s+12>>2],h[u+8>>2]=h[s+8>>2],h[u+12>>2]=y,(0|i)!=(0|(n=n+1|0)););(n=h[e+96>>2])&&(d[e+100|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+96>>2]=0),h[e+96>>2]=c,h[e+92>>2]=a,o[e+100|0]=1,i=h[e+88>>2]}return n=h[e+96>>2]+(i<<4)|0,i=h[t+4>>2],h[n>>2]=h[t>>2],h[n+4>>2]=i,i=h[t+12>>2],h[n+8>>2]=h[t+8>>2],h[n+12>>2]=i,t=h[e+88>>2],h[e+88>>2]=t+1,h[h[e+32>>2]+16>>2]=h[e+96>>2],t}t:if(!(!n|(0|(i=h[e+108>>2]))<1)){for(s=h[e+116>>2],f=m[e+168>>2],_=m[t+8>>2],b=m[t+4>>2],g=m[t>>2],n=0;;){if(l=v(m[(a=s+(n<<2)|0)>>2]-g),p=v(l*l),l=v(m[a+4>>2]-b),p=v(p+v(l*l)),l=v(m[a+8>>2]-_),!(v(p+v(l*l))<=f)){if((0|(n=n+3|0))<(0|i))continue;break t}break}return(n>>>0)/3|0}if((0|(a=h[e+112>>2]))==(0|i))if((0|i)>=(0|(a=i?i<<1:1)))a=i;else{n=0,a&&(h[7717]=h[7717]+1,c=0|r[h[6606]](a<<2,16),i=h[e+108>>2]),s=h[e+116>>2];t:{n:{if((0|i)>=1)for(;;)if(h[(u=n<<2)+c>>2]=h[s+u>>2],(0|i)==(0|(n=n+1|0)))break n;if(!s)break t}d[e+120|0]&&(s&&(h[7718]=h[7718]+1,r[h[6607]](s)),i=h[e+108>>2]),h[e+116>>2]=0}h[e+116>>2]=c,h[e+112>>2]=a,o[e+120|0]=1}if(c=h[e+116>>2],h[c+(i<<2)>>2]=h[t>>2],n=i+1|0,h[e+108>>2]=n,(0|n)==(0|a))if((0|a)>=(0|(s=a?a<<1:1)))i=c,s=a;else{n=0,i=0,s&&(h[7717]=h[7717]+1,i=0|r[h[6606]](s<<2,16),a=h[e+108>>2],c=h[e+116>>2]);t:{n:{if((0|a)>=1)for(;;)if(h[(u=n<<2)+i>>2]=h[c+u>>2],(0|a)==(0|(n=n+1|0)))break n;if(!c)break t}d[e+120|0]&&(c&&(h[7718]=h[7718]+1,r[h[6607]](c)),a=h[e+108>>2]),h[e+116>>2]=0}h[e+116>>2]=i,h[e+112>>2]=s,o[e+120|0]=1}else i=c,s=a,a=n;if(h[(a<<2)+i>>2]=h[t+4>>2],n=a+1|0,h[e+108>>2]=n,(0|n)==(0|s))if((0|s)>=(0|(a=s?s<<1:1)))c=i;else{n=0,c=0,a&&(h[7717]=h[7717]+1,c=0|r[h[6606]](a<<2,16),s=h[e+108>>2],i=h[e+116>>2]);t:{n:{if((0|s)>=1)for(;;)if(h[(u=n<<2)+c>>2]=h[i+u>>2],(0|s)==(0|(n=n+1|0)))break n;if(!i)break t}d[e+120|0]&&(i&&(h[7718]=h[7718]+1,r[h[6607]](i)),s=h[e+108>>2]),h[e+116>>2]=0}h[e+116>>2]=c,h[e+112>>2]=a,o[e+120|0]=1}else c=i,s=n;h[(s<<2)+c>>2]=h[t+8>>2],t=s+1|0,h[e+108>>2]=t,e=h[e+32>>2],h[e+16>>2]=c,h[e+12>>2]=h[e+12>>2]+1,n=((0|t)/3|0)-1|0}return n}function Ve(e,t,n){var i,r,o=0,a=0,s=0,c=v(0),l=v(0),u=v(0),_=0,b=0,g=v(0),y=v(0),C=v(0),A=0,x=0,S=v(0),T=0;if(w=i=w-32|0,r=h[e+56>>2],1!=(n-t|0)){if(x=function(e,t,n,i){var r,o=0,a=0,s=0,c=0,l=0,u=0,p=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=0,E=v(0),P=v(0),O=v(0),M=0;if(h[24+(r=w-96|0)>>2]=0,h[r+28>>2]=0,h[r+16>>2]=0,h[r+20>>2]=0,!(o=(0|n)<=(0|t))){for(T=d[e+60|0],u=t;T?(s=h[e+116>>2]+(u<<4)|0,C=m[e+44>>2],_=m[e+12>>2],b=v(v(v(f[s+4>>1])/C)+_),g=m[e+40>>2],E=m[e+8>>2],p=v(v(v(f[s+2>>1])/g)+E),P=m[e+36>>2],O=m[e+4>>2],y=v(v(v(f[s>>1])/P)+O),C=v(v(v(f[s+10>>1])/C)+_),_=v(v(v(f[s+8>>1])/g)+E),g=v(v(v(f[s+6>>1])/P)+O)):(s=h[e+76>>2]+(u<<6)|0,b=m[s+8>>2],p=m[s+4>>2],y=m[s>>2],C=m[s+24>>2],_=m[s+20>>2],g=m[s+16>>2]),A=v(v(v(C+b)*v(.5))+A),x=v(v(v(_+p)*v(.5))+x),S=v(v(v(g+y)*v(.5))+S),(0|(u=u+1|0))!=(0|n););m[r+24>>2]=A,m[r+20>>2]=x,m[r+16>>2]=S}if(T=n-t|0,p=v(v(1)/v(0|T)),m[r+24>>2]=p*A,m[r+20>>2]=p*x,m[r+16>>2]=p*S,s=t,!o)for(C=m[(i<<=2)+(r+16|0)>>2],M=i+r|0,s=u=t;(o=d[e+60|0])?(i=h[e+116>>2]+(u<<4)|0,p=m[e+44>>2],y=m[e+12>>2],A=v(v(v(f[i+4>>1])/p)+y),b=m[e+40>>2],_=m[e+8>>2],x=v(v(v(f[i+2>>1])/b)+_),g=m[e+36>>2],E=m[e+4>>2],S=v(v(v(f[i>>1])/g)+E),p=v(v(v(f[i+10>>1])/p)+y),y=v(v(v(f[i+8>>1])/b)+_),b=v(v(v(f[i+6>>1])/g)+E)):(i=h[e+76>>2]+(u<<6)|0,A=m[i+8>>2],x=m[i+4>>2],S=m[i>>2],p=m[i+24>>2],y=m[i+20>>2],b=m[i+16>>2]),h[r+12>>2]=0,m[r+8>>2]=v(p+A)*v(.5),m[r+4>>2]=v(y+x)*v(.5),m[r>>2]=v(b+S)*v(.5),m[M>>2]>C&&(o?(l=h[e+116>>2],c=h[4+(a=8+(i=o=l+(u<<4)|0)|0)>>2],h[r+40>>2]=h[a>>2],h[r+44>>2]=c,a=h[i+4>>2],h[r+32>>2]=h[i>>2],h[r+36>>2]=a,a=h[4+(o=(o=l)+(l=s<<4)|0)>>2],h[i>>2]=h[o>>2],h[i+4>>2]=a,a=h[o+12>>2],h[i+8>>2]=h[o+8>>2],h[i+12>>2]=a,i=l+h[e+116>>2]|0,l=h[r+36>>2],h[i>>2]=h[r+32>>2],h[i+4>>2]=l,o=h[r+44>>2],h[i+8>>2]=h[r+40>>2],h[i+12>>2]=o):(o=h[e+76>>2],a=h[4+(l=56+(i=o+(u<<6)|0)|0)>>2],h[r+88>>2]=h[l>>2],h[r+92>>2]=a,l=h[i+52>>2],h[r+80>>2]=h[i+48>>2],h[r+84>>2]=l,l=h[i+44>>2],h[r+72>>2]=h[i+40>>2],h[r+76>>2]=l,c=h[i+36>>2],h[(a=l=r- -64|0)>>2]=h[i+32>>2],h[a+4>>2]=c,a=h[i+28>>2],h[r+56>>2]=h[i+24>>2],h[r+60>>2]=a,a=h[i+20>>2],h[r+48>>2]=h[i+16>>2],h[r+52>>2]=a,a=h[i+12>>2],h[r+40>>2]=h[i+8>>2],h[r+44>>2]=a,a=h[i+4>>2],h[r+32>>2]=h[i>>2],h[r+36>>2]=a,c=h[4+(o=o+(a=s<<6)|0)>>2],h[i>>2]=h[o>>2],h[i+4>>2]=c,c=h[o+12>>2],h[i+8>>2]=h[o+8>>2],h[i+12>>2]=c,c=h[o+20>>2],h[i+16>>2]=h[o+16>>2],h[i+20>>2]=c,c=h[o+28>>2],h[i+24>>2]=h[o+24>>2],h[i+28>>2]=c,c=h[o+36>>2],h[i+32>>2]=h[o+32>>2],h[i+36>>2]=c,c=h[o+44>>2],h[i+40>>2]=h[o+40>>2],h[i+44>>2]=c,c=h[o+52>>2],h[i+48>>2]=h[o+48>>2],h[i+52>>2]=c,c=h[o+60>>2],h[i+56>>2]=h[o+56>>2],h[i+60>>2]=c,i=h[e+76>>2]+a|0,a=h[r+36>>2],h[i>>2]=h[r+32>>2],h[i+4>>2]=a,o=h[r+44>>2],h[i+8>>2]=h[r+40>>2],h[i+12>>2]=o,o=h[r+52>>2],h[i+16>>2]=h[r+48>>2],h[i+20>>2]=o,o=h[r+60>>2],h[i+24>>2]=h[r+56>>2],h[i+28>>2]=o,o=h[l+4>>2],h[i+32>>2]=h[l>>2],h[i+36>>2]=o,o=h[r+76>>2],h[i+40>>2]=h[r+72>>2],h[i+44>>2]=o,o=h[r+84>>2],h[i+48>>2]=h[r+80>>2],h[i+52>>2]=o,o=h[r+92>>2],h[i+56>>2]=h[r+88>>2],h[i+60>>2]=o),s=s+1|0),(0|(u=u+1|0))!=(0|n););return i=e=(T>>1)+t|0,(0|s)<=((e=(0|T)/3|0)+t|0)||(0|s)>=((-1^e)+n|0)?i:s}(e,t,n,function(e,t,n){var i=0,r=v(0),o=0,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=0,S=v(0),T=v(0),E=0,P=v(0);x=n-t|0;e:{t:{if((0|n)<=(0|t))u=v(0|x);else{for(E=d[e+60|0],i=t;E?(o=h[e+116>>2]+(i<<4)|0,c=m[e+44>>2],l=m[e+12>>2],r=v(v(v(f[o+4>>1])/c)+l),u=m[e+40>>2],_=m[e+8>>2],p=v(v(v(f[o+2>>1])/u)+_),C=m[e+36>>2],A=m[e+4>>2],g=v(v(v(f[o>>1])/C)+A),c=v(v(v(f[o+10>>1])/c)+l),l=v(v(v(f[o+8>>1])/u)+_),u=v(v(v(f[o+6>>1])/C)+A)):(o=h[e+76>>2]+(i<<6)|0,r=m[o+8>>2],p=m[o+4>>2],g=m[o>>2],c=m[o+24>>2],l=m[o+20>>2],u=m[o+16>>2]),a=v(a+v(v(c+r)*v(.5))),s=v(s+v(v(l+p)*v(.5))),y=v(y+v(v(u+g)*v(.5))),(0|(i=i+1|0))!=(0|n););if(u=v(0|x),r=v(0),(0|n)>(0|t))break t}a=v(0),s=v(0);break e}for(r=v(v(1)/u),C=v(r*a),A=v(r*s),P=v(r*y),s=v(0),o=d[e+60|0],a=v(0),r=v(0);o?(i=h[e+116>>2]+(t<<4)|0,c=m[e+44>>2],l=m[e+12>>2],y=v(v(v(f[i+4>>1])/c)+l),_=m[e+40>>2],b=m[e+8>>2],p=v(v(v(f[i+2>>1])/_)+b),S=m[e+36>>2],T=m[e+4>>2],g=v(v(v(f[i>>1])/S)+T),c=v(v(v(f[i+10>>1])/c)+l),l=v(v(v(f[i+8>>1])/_)+b),_=v(v(v(f[i+6>>1])/S)+T)):(i=h[e+76>>2]+(t<<6)|0,y=m[i+8>>2],p=m[i+4>>2],g=m[i>>2],c=m[i+24>>2],l=m[i+20>>2],_=m[i+16>>2]),b=s,s=v(v(v(c+y)*v(.5))-C),s=v(b+v(s*s)),b=a,a=v(v(v(l+p)*v(.5))-A),a=v(b+v(a*a)),b=r,r=v(v(v(_+g)*v(.5))-P),r=v(b+v(r*r)),(0|n)!=(0|(t=t+1|0)););}return p=v(v(1)/v(u+v(-1))),a=v(p*a),s=v(p*s),(r=v(p*r))>2],d[e+60|0]?(l=m[e+40>>2],u=m[e+8>>2],g=m[e+24>>2],y=m[e+44>>2],C=m[e+12>>2],S=m[e+28>>2],o=a=h[e+136>>2]+(b<<4)|0,s=(c=v(v(m[e+20>>2]-m[e+4>>2])*m[e+36>>2]))=v(0)?~~c>>>0:0,p[o>>1]=65534&s,o=a,s=(c=v(v(S-C)*y))=v(0)?~~c>>>0:0,p[o+4>>1]=65534&s,o=(c=v(v(g-u)*l))=v(0)?~~c>>>0:0,p[a+2>>1]=65534&o):(_=h[e+24>>2],a=h[e+96>>2]+(b<<6)|0,h[a>>2]=h[e+20>>2],h[a+4>>2]=_,o=h[e+32>>2],h[a+8>>2]=h[e+28>>2],h[a+12>>2]=o),a=h[e+56>>2],d[e+60|0]?(g=m[e+40>>2],c=m[e+8>>2],y=m[e+44>>2],l=m[e+12>>2],o=a=h[e+136>>2]+(a<<4)|0,u=m[e+4>>2],s=(u=v(v(v(u-u)*m[e+36>>2])+v(1)))=v(0)?~~u>>>0:0,p[o+6>>1]=1|s,o=a,s=(l=v(v(v(l-l)*y)+v(1)))=v(0)?~~l>>>0:0,p[o+10>>1]=1|s,o=(c=v(v(v(c-c)*g)+v(1)))=v(0)?~~c>>>0:0,p[a+8>>1]=1|o):(_=h[e+8>>2],a=h[e+96>>2]+(a<<6)|0,h[a+16>>2]=h[e+4>>2],h[a+20>>2]=_,o=h[e+16>>2],h[a+24>>2]=h[e+12>>2],h[a+28>>2]=o),_=h[e+56>>2],(0|n)>(0|t))for(a=t;d[e+60|0]?(o=h[e+116>>2]+(a<<4)|0,s=f[o+4>>1],A=f[o+2>>1],T=f[o>>1],c=m[e+44>>2],l=m[e+40>>2],u=m[e+36>>2],h[i+28>>2]=0,g=m[e+4>>2],m[i+16>>2]=v(v(T>>>0)/u)+g,y=m[e+8>>2],m[i+20>>2]=v(v(A>>>0)/l)+y,C=m[e+12>>2],m[i+24>>2]=v(v(s>>>0)/c)+C,s=f[o+6>>1],A=f[o+8>>1],o=f[o+10>>1],h[i+12>>2]=0,m[i+8>>2]=C+v(v(o>>>0)/c),m[i+4>>2]=y+v(v(A>>>0)/l),m[i>>2]=g+v(v(s>>>0)/u)):(o=h[e+76>>2]+(a<<6)|0,s=h[o+12>>2],h[i+24>>2]=h[o+8>>2],h[i+28>>2]=s,s=h[o+4>>2],h[i+16>>2]=h[o>>2],h[i+20>>2]=s,s=h[o+28>>2],h[i+8>>2]=h[o+24>>2],h[i+12>>2]=s,s=h[o+20>>2],h[i>>2]=h[o+16>>2],h[i+4>>2]=s),tn(e,_,i+16|0,i),_=h[e+56>>2],(0|(a=a+1|0))!=(0|n););o=_+1|0,h[e+56>>2]=o,Ve(e,t,x),_=h[e+56>>2],Ve(e,x,n),!(a=d[e+60|0])|(0|(t=h[e+56>>2]-r|0))<129||($e(e,o,_),a=d[e+60|0]),255&a?h[12+(h[e+136>>2]+(b<<4)|0)>>2]=0-t:h[32+(h[e+96>>2]+(b<<6)|0)>>2]=t}else d[e+60|0]?(t=h[e+116>>2]+(t<<4)|0,b=h[(o=t)+4>>2],n=h[e+136>>2]+(r<<4)|0,h[(a=n)>>2]=h[o>>2],h[a+4>>2]=b):(t=h[e+76>>2]+(t<<6)|0,b=h[(a=t)+4>>2],n=h[e+96>>2]+(r<<6)|0,h[(o=n)>>2]=h[a>>2],h[o+4>>2]=b,o=h[a+60>>2],h[n+56>>2]=h[a+56>>2],h[n+60>>2]=o,o=h[a+52>>2],h[n+48>>2]=h[a+48>>2],h[n+52>>2]=o,o=h[a+44>>2],h[n+40>>2]=h[a+40>>2],h[n+44>>2]=o,o=h[a+36>>2],h[n+32>>2]=h[a+32>>2],h[n+36>>2]=o,o=h[a+28>>2],h[n+24>>2]=h[a+24>>2],h[n+28>>2]=o,o=h[a+20>>2],h[n+16>>2]=h[a+16>>2],h[n+20>>2]=o),a=h[t+12>>2],h[n+8>>2]=h[t+8>>2],h[n+12>>2]=a,h[e+56>>2]=h[e+56>>2]+1;w=i+32|0}function ze(e,t,n,i,o,a,s){var c,l=v(0),u=v(0),p=0,d=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=0,E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=0,L=0,N=0,F=0,B=0,k=0,V=0,z=0,j=0,U=0,G=0,H=0,W=0,X=0,Y=0,Q=0,K=0,Z=0,q=0;if(w=c=w-32|0,O=m[n+4>>2],M=m[i+4>>2],R=m[n>>2],I=m[i>>2],b=m[e+28>>2],E=m[e+12>>2],C=m[i+8>>2],A=m[n+8>>2],l=(l=v((C>2]))>2],D=(l=v(v((b=v(0)?~~l>>>0:0,g=m[e+24>>2],P=m[e+8>>2],l=(l=v((M>2]))>2],L=(l=v(v((g=v(0)?~~l>>>0:0,_=m[e+20>>2],y=m[e+4>>2],l=(l=v((I>2]))>2],N=(l=v(v((_=v(0)?~~l>>>0:0,l=v((A>2]),T=(l=v(v(v((b<(l=l=v(0)?~~l>>>0:0,l=v((O>2]),p=(l=v(v(v((g<(l=l=v(0)?~~l>>>0:0,l=v((R>2]),i=(l=v(v(v((_<(l=l=v(0)?~~l>>>0:0,0<(0|s))for(_=v(I-R),x=v(M-O),u=v(C-A),l=v(v(1)/v(S(v(v(v(_*_)+v(x*x))+v(u*u))))),d=v(u*l),b=v(u*d),u=v(_*l),l=v(x*l),x=v(b+v(v(_*u)+v(x*l))),z=65534&D,j=65534&L,U=65534&N,G=1|T,H=1|p,W=1|i,i=h[e+136>>2],X=((T=(y=d==v(0)?v(0xde0b6b000000000):v(v(1)/d))>2],p=0;e:{t:{n:{i:if(!(U>>>0>f[i+6>>1]||W>>>0<(V=f[i>>1])>>>0|z>>>0>f[i+10>>1]||G>>>0<(D=f[i+4>>1])>>>0|j>>>0>f[i+8>>1]||H>>>0<(L=f[i+2>>1])>>>0)){if(b=m[e+12>>2],g=m[e+44>>2],_=m[e+8>>2],d=m[e+40>>2],u=m[e+4>>2],l=m[e+36>>2],h[c+12>>2]=0,N=f[i+10>>1],T=f[i+8>>1],p=f[i+6>>1],h[c+28>>2]=0,m[c>>2]=v(u+v(v(V>>>0)/l))-m[a>>2],m[c+4>>2]=v(_+v(v(L>>>0)/d))-m[a+4>>2],m[c+8>>2]=v(b+v(v(D>>>0)/g))-m[a+8>>2],m[c+16>>2]=v(u+v(v(p>>>0)/l))-m[o>>2],m[c+20>>2]=v(_+v(v(T>>>0)/d))-m[o+4>>2],m[c+24>>2]=v(b+v(v(N>>>0)/g))-m[o+8>>2],u=m[n+4>>2],b=v(C*v(m[Y>>2]-u)),l=m[n>>2],!(b>(d=v(A*v(m[q>>2]-l)))||(g=v(A*v(m[Z>>2]-l)))>(u=v(C*v(m[K>>2]-u)))||(l=m[n+8>>2],(_=v(y*v(m[X>>2]-l)))>(d=ug?b:g)>(l=v(y*v(m[Q>>2]-l)))))){if(!(p=(_>u?_:u)v(0))|(0|k)<0)break i;p=h[i+12>>2],r[h[h[t>>2]+8>>2]](t,p>>21,2097151&p);break n}p=0}if(!((0|k)>-1||p))break t}F=F+1|0,i=i+16|0;break e}F=F-(p=h[i+12>>2])|0,i=i-(p<<4)|0}if(B=B+1|0,!((0|F)<(0|s)))break}h[7309]<(0|B)&&(h[7309]=B),w=c+32|0}function je(e,t,n){var i,r,o,a=0,s=0,c=0,l=0,u=0,p=0,d=0,f=0;for(i=t+12|0,r=n+12|0,o=h[e+12>>2];;){e=d+2|0,a=h[(((255&(d=d+1|0))>>>0)%3<<2)+t>>2],l=h[n+4>>2];e:{t:if((0|(s=h[(((255&e)>>>0)%3<<2)+t>>2]))!=(0|(u=h[n>>2]))||(e=2,(0|a)!=(0|l))){if((0|a)!=(0|u)||(c=2,(0|s)!=(0|l))){if(p=h[n+8>>2],(0|s)==(0|l)&&(e=0,(0|a)==(0|p)))break t;if((0|a)!=(0|l)||(c=0,(0|s)!=(0|p))){if((0|s)==(0|p)&&(e=1,(0|a)==(0|u)))break t;if(e=26440,(0|a)!=(0|p))break e;if(c=1,(0|s)!=(0|u))break e}}e=(c<<2)+r|0;break e}e=(e<<2)+r|0}c=h[t+4>>2],f=h[e>>2];e:{t:if((0|(u=h[t>>2]))!=(0|a)||(e=2,(0|s)!=(0|c))){if((0|s)!=(0|u)||(e=2,(0|a)!=(0|c))){if(p=h[t+8>>2],(0|a)==(0|c)&&(e=0,(0|s)==(0|p)))break t;if((0|s)!=(0|c)||(e=0,(0|a)!=(0|p))){if((0|a)==(0|p)&&(e=1,(0|s)==(0|u)))break t;if(l=26440,(0|s)!=(0|p))break e;if(e=1,(0|a)!=(0|u))break e}}l=(e<<2)+i|0;break e}l=(e<<2)+i|0}c=2,l=h[(h[l>>2]<<2)+o>>2],e=h[l+4>>2];e:{t:if(u=h[l>>2],(0|e)!=(0|a)||(0|u)!=(0|s)){if((0|e)!=(0|s)||(0|a)!=(0|u)){if(p=h[l+8>>2],(0|e)==(0|s)&&(c=0,(0|a)==(0|p)))break t;if((0|e)!=(0|a)||(c=0,(0|s)!=(0|p))){if((0|s)==(0|p)&&(c=1,(0|a)==(0|u)))break t;if(e=26440,(0|a)!=(0|p))break e;if(c=1,(0|s)!=(0|u))break e}}e=12+(l+(c<<2)|0)|0;break e}e=12+(l+(c<<2)|0)|0}h[e>>2]=f,l=h[t+4>>2];e:{t:if((0|(u=h[t>>2]))!=(0|a)||(e=2,(0|s)!=(0|l))){if((0|s)!=(0|u)||(c=2,(0|a)!=(0|l))){if(p=h[t+8>>2],(0|a)==(0|l)&&(e=0,(0|s)==(0|p)))break t;if((0|s)!=(0|l)||(c=0,(0|a)!=(0|p))){if((0|a)==(0|p)&&(e=1,(0|s)==(0|u)))break t;if(e=26440,(0|s)!=(0|p))break e;if(c=1,(0|a)!=(0|u))break e}}e=(c<<2)+i|0;break e}e=(e<<2)+i|0}c=h[n+4>>2],f=h[e>>2];e:{t:if((0|(u=h[n>>2]))!=(0|s)||(e=2,(0|a)!=(0|c))){if((0|a)!=(0|u)||(e=2,(0|s)!=(0|c))){if(p=h[n+8>>2],(0|s)==(0|c)&&(e=0,(0|a)==(0|p)))break t;if((0|a)!=(0|c)||(e=0,(0|s)!=(0|p))){if((0|s)==(0|p)&&(e=1,(0|a)==(0|u)))break t;if(l=26440,(0|a)!=(0|p))break e;if(e=1,(0|s)!=(0|u))break e}}l=(e<<2)+r|0;break e}l=(e<<2)+r|0}c=2,l=h[(h[l>>2]<<2)+o>>2],e=h[l+4>>2];e:{t:if(u=h[l>>2],(0|e)!=(0|s)||(0|u)!=(0|a)){if((0|e)!=(0|a)||(0|s)!=(0|u)){if(p=h[l+8>>2],(0|e)==(0|a)&&(c=0,(0|s)==(0|p)))break t;if((0|e)!=(0|s)||(c=0,(0|a)!=(0|p))){if((0|a)==(0|p)&&(c=1,(0|s)==(0|u)))break t;if(e=26440,(0|s)!=(0|p))break e;if(c=1,(0|a)!=(0|u))break e}}e=12+(l+(c<<2)|0)|0;break e}e=12+(l+(c<<2)|0)|0}if(h[e>>2]=f,3==(0|d))break}}function Ue(e,t){var n,i=0,a=0,s=v(0),c=v(0),l=0,u=0,p=0,f=v(0),_=v(0),b=v(0),y=0,C=0,A=0,x=0,S=0;if(w=n=w-96|0,i=h[e+12>>2],r[h[h[i>>2]+8>>2]](i,h[e+8>>2]+4|0,n+80|0,n- -64|0),i=h[t+68>>2],r[h[h[i>>2]+16>>2]](i,h[h[e+8>>2]+188>>2],n+80|0,n- -64|0,h[t+24>>2]),i=h[t+24>>2],r[h[h[i>>2]+32>>2]](i,h[h[e+8>>2]+284>>2],t+28|0,i),t=h[e+8>>2],i=h[t+56>>2],h[e+92>>2]=h[t+52>>2],h[e+96>>2]=i,i=h[t+64>>2],h[e+100>>2]=h[t+60>>2],h[e+104>>2]=i,t=h[t+284>>2],(0|r[h[h[t>>2]+36>>2]](t))>=1)for(C=e+128|0;;){if((0|(t=h[e+132>>2]))<=-1)for(h[e+136>>2]<=-1&&((i=h[e+140>>2])&&(d[e+144|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+140>>2]=0),o[e+144|0]=1,h[e+136>>2]=0,h[e+140>>2]=0);h[h[e+140>>2]+(t<<2)>>2]=0,a=(i=t+1|0)>>>0>=t>>>0,t=i,a;);if(h[e+132>>2]=0,t=h[h[e+8>>2]+284>>2],t=h[12+(0|r[h[h[t>>2]+28>>2]](t))>>2]+(u<<4)|0,i=h[h[t+4>>2]>>2],a=h[h[t>>2]>>2],!((4&d[a+204|0]?a:0)|(4&d[i+204|0]?i:0)||((t=h[t+8>>2])&&r[h[h[t>>2]+16>>2]](t,C),(0|(y=h[e+132>>2]))<1)))for(A=h[e+8>>2],x=h[e+140>>2],i=0;;){if(a=h[(i<<2)+x>>2],(0|(p=h[a+748>>2]))>0)for(s=h[a+740>>2]==(0|A)?v(-1):v(1),l=0;t=a+g(l,184)|0,(c=m[t+84>>2])>2],_=m[t+72>>2],b=m[t+76>>2],h[e+164>>2]=0,m[e+160>>2]=s*b,m[e+156>>2]=s*_,m[e+152>>2]=s*f,p=h[a+748>>2],f=c),_=m[t+76>>2],b=m[t+72>>2],m[e+92>>2]=v(v(c*v(s*m[t+68>>2]))*v(.20000000298023224))+m[e+92>>2],m[e+96>>2]=v(v(c*v(s*b))*v(.20000000298023224))+m[e+96>>2],m[e+100>>2]=v(v(c*v(s*_))*v(.20000000298023224))+m[e+100>>2],S=1),(0|(l=l+1|0))<(0|p););if((0|y)==(0|(i=i+1|0)))break}if(u=u+1|0,t=h[h[e+8>>2]+284>>2],!((0|u)<(0|r[h[h[t>>2]+36>>2]](t))))break}return t=h[e+8>>2],i=h[t+16>>2],h[n+8>>2]=h[t+12>>2],h[n+12>>2]=i,i=h[t+8>>2],h[n>>2]=h[t+4>>2],h[n+4>>2]=i,i=h[t+32>>2],h[n+24>>2]=h[t+28>>2],h[n+28>>2]=i,i=h[t+24>>2],h[n+16>>2]=h[t+20>>2],h[n+20>>2]=i,i=h[t+48>>2],h[n+40>>2]=h[t+44>>2],h[n+44>>2]=i,i=h[t+40>>2],h[n+32>>2]=h[t+36>>2],h[n+36>>2]=i,i=h[e+104>>2],h[n+56>>2]=h[e+100>>2],h[n+60>>2]=i,i=h[e+96>>2],h[n+48>>2]=h[e+92>>2],h[n+52>>2]=i,h[t+260>>2]=h[t+260>>2]+1,e=h[n+12>>2],h[t+12>>2]=h[n+8>>2],h[t+16>>2]=e,e=h[n+4>>2],h[t+4>>2]=h[n>>2],h[t+8>>2]=e,e=h[n+28>>2],h[t+28>>2]=h[n+24>>2],h[t+32>>2]=e,e=h[n+20>>2],h[t+20>>2]=h[n+16>>2],h[t+24>>2]=e,e=h[n+36>>2],h[t+36>>2]=h[n+32>>2],h[t+40>>2]=e,e=h[n+44>>2],h[t+44>>2]=h[n+40>>2],h[t+48>>2]=e,e=h[n+52>>2],h[t+52>>2]=h[n+48>>2],h[t+56>>2]=e,e=h[n+60>>2],h[t+60>>2]=h[n+56>>2],h[t+64>>2]=e,w=n+96|0,S}function Ge(e,t,n){var i,o,a,s,c,l=0,u=0,p=0,d=0,f=0,_=0,m=0,b=0;i=h[t>>2],m=h[e+4>>2],a=sr(e,n,o=h[t+4>>2],p=h[t+8>>2]),l=2,u=h[t+12>>2],s=m+2|0,h[a+20>>2]=s,c=m+1|0,h[a+16>>2]=c,h[a+12>>2]=u,f=h[h[e+12>>2]+(h[t+12>>2]<<2)>>2],u=h[f+4>>2];e:{t:if(_=h[f>>2],(0|u)!=(0|p)||(0|_)!=(0|o)){if((0|u)!=(0|o)||(0|p)!=(0|_)){if(d=h[f+8>>2],(0|u)==(0|o)&&(l=0,(0|p)==(0|d)))break t;if((0|u)!=(0|p)||(l=0,(0|d)!=(0|o))){if((0|d)==(0|o)&&(l=1,(0|p)==(0|_)))break t;if(u=26440,(0|p)!=(0|d))break e;if(l=1,(0|o)!=(0|_))break e}}u=12+(f+(l<<2)|0)|0;break e}u=12+(f+(l<<2)|0)|0}h[u>>2]=m,f=sr(e,n,p,i),u=h[t+16>>2],h[f+20>>2]=m,h[f+16>>2]=s,h[f+12>>2]=u,u=2,d=h[h[e+12>>2]+(h[t+16>>2]<<2)>>2],l=h[d+4>>2];e:{t:if(b=h[d>>2],(0|l)!=(0|i)||(0|b)!=(0|p)){if((0|l)!=(0|p)||(0|i)!=(0|b)){if(_=h[d+8>>2],(0|l)==(0|p)&&(u=0,(0|i)==(0|_)))break t;if((0|l)!=(0|i)||(u=0,(0|p)!=(0|_))){if((0|p)==(0|_)&&(u=1,(0|i)==(0|b)))break t;if(l=26440,(0|i)!=(0|_))break e;if(u=1,(0|p)!=(0|b))break e}}l=12+(d+(u<<2)|0)|0;break e}l=12+(d+(u<<2)|0)|0}h[l>>2]=c,p=sr(e,n,i,o),u=h[t+20>>2],h[p+20>>2]=c,h[p+16>>2]=m,h[p+12>>2]=u,l=2,u=h[e+12>>2],m=h[u+(h[t+20>>2]<<2)>>2],d=h[m+4>>2];e:{t:if(b=h[m>>2],(0|d)!=(0|o)||(0|b)!=(0|i)){if((0|d)!=(0|i)||(0|o)!=(0|b)){if(_=h[m+8>>2],(0|d)==(0|i)&&(l=0,(0|o)==(0|_)))break t;if((0|d)!=(0|o)||(l=0,(0|i)!=(0|_))){if((0|i)==(0|_)&&(l=1,(0|o)==(0|b)))break t;if(d=26440,(0|o)!=(0|_))break e;if(l=1,(0|i)!=(0|b))break e}}d=12+(m+(l<<2)|0)|0;break e}d=12+(m+(l<<2)|0)|0}h[d>>2]=s,l=h[(h[a+12>>2]<<2)+u>>2],(h[l+8>>2]==(0|n)||h[l>>2]==(0|n)|h[l+4>>2]==(0|n))&&(je(e,a,l),h[h[e+12>>2]+(h[a+24>>2]<<2)>>2]=0,a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[h[e+12>>2]+(h[l+24>>2]<<2)>>2]=0,l&&(h[7718]=h[7718]+1,r[h[6607]](l)),u=h[e+12>>2]),l=h[(h[f+12>>2]<<2)+u>>2],(h[l+8>>2]==(0|n)||h[l>>2]==(0|n)|h[l+4>>2]==(0|n))&&(je(e,f,l),h[h[e+12>>2]+(h[f+24>>2]<<2)>>2]=0,f&&(h[7718]=h[7718]+1,r[h[6607]](f)),h[h[e+12>>2]+(h[l+24>>2]<<2)>>2]=0,l&&(h[7718]=h[7718]+1,r[h[6607]](l)),u=h[e+12>>2]),l=h[(h[p+12>>2]<<2)+u>>2],(h[l+8>>2]==(0|n)||h[l>>2]==(0|n)|h[l+4>>2]==(0|n))&&(je(e,p,l),h[h[e+12>>2]+(h[p+24>>2]<<2)>>2]=0,p&&(h[7718]=h[7718]+1,r[h[6607]](p)),h[h[e+12>>2]+(h[l+24>>2]<<2)>>2]=0,l&&(h[7718]=h[7718]+1,r[h[6607]](l)),u=h[e+12>>2]),h[(h[t+24>>2]<<2)+u>>2]=0,t&&(h[7718]=h[7718]+1,r[h[6607]](t))}function He(e){e|=0;var t,n=0,i=v(0),o=0,a=0,s=0,c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=0,b=0,y=0;if(w=t=w-80|0,r[h[h[e>>2]+20>>2]](e)&&(n=0|r[h[h[e>>2]+20>>2]](e),8&r[h[h[n>>2]+48>>2]](n)&&(n=h[e+24>>2],s=0|r[h[h[n>>2]+36>>2]](n),h[t+72>>2]=0,h[t+76>>2]=0,h[t+64>>2]=1065353216,h[t+68>>2]=1065353216,!((0|s)<=0))))for(;;){if(n=0,a=h[e+24>>2],_=0|r[h[h[a>>2]+40>>2]](a,o),(0|(b=h[_+748>>2]))>0)for(;y=0|r[h[h[e>>2]+20>>2]](e),a=g(n,184)+_|0,r[h[h[y>>2]+32>>2]](y,a+36|0,a+68|0,m[a+84>>2],h[a+152>>2],t- -64|0),(0|b)!=(0|(n=n+1|0)););if((0|s)==(0|(o=o+1|0)))break}if(r[h[h[e>>2]+20>>2]](e)&&(n=0|r[h[h[e>>2]+20>>2]](e),!(!(3&r[h[h[n>>2]+48>>2]](n))|h[e+8>>2]<1)))for(s=0;;){if(o=h[h[e+16>>2]+(s<<2)>>2],!(32&d[o+204|0])){if(r[h[h[e>>2]+20>>2]](e)&&(n=0|r[h[h[e>>2]+20>>2]](e),1&r[h[h[n>>2]+48>>2]](n))){h[t+72>>2]=1065353216,h[t+76>>2]=0,h[t+64>>2]=1065353216,h[t+68>>2]=1065353216;e:{t:{n:switch(h[o+216>>2]+-1|0){case 0:n=1065353216,h[t+64>>2]=1065353216,a=1065353216;break e;case 1:h[t+64>>2]=0,n=1065353216,a=0;break e;case 2:h[t+64>>2]=0,n=1065353216,a=1065353216;break e;case 4:h[t+64>>2]=1065353216,n=1065353216;break t}h[t+64>>2]=1065353216,n=0}a=0}h[t+76>>2]=0,h[t+72>>2]=a,h[t+68>>2]=n,r[h[h[e>>2]+28>>2]](e,o+4|0,h[o+192>>2],t- -64|0)}(n=h[e+72>>2])&&2&r[h[h[n>>2]+48>>2]](n)&&(h[t+40>>2]=0,h[t+44>>2]=0,h[t+32>>2]=1065353216,h[t+36>>2]=0,n=h[o+192>>2],r[h[h[n>>2]+8>>2]](n,o+4|0,t- -64|0,t+48|0),i=m[6601],m[t+64>>2]=m[t+64>>2]-i,m[t+68>>2]=m[t+68>>2]-i,m[t+72>>2]=m[t+72>>2]-i,m[t+48>>2]=i+m[t+48>>2],m[t+52>>2]=i+m[t+52>>2],m[t+56>>2]=i+m[t+56>>2],3&d[o+204|0]|!d[e+44|0]|2!=h[o+236>>2]||(n=h[o+192>>2],r[h[h[n>>2]+8>>2]](n,o+68|0,t+16|0,t),c=v(m[t+16>>2]-i),m[t+16>>2]=c,l=v(m[t+20>>2]-i),m[t+20>>2]=l,u=v(m[t+24>>2]-i),m[t+24>>2]=u,p=v(i+m[t>>2]),m[t>>2]=p,f=v(i+m[t+4>>2]),m[t+4>>2]=f,i=v(i+m[t+8>>2]),m[t+8>>2]=i,c>2]&&(m[t+64>>2]=c),l>2]&&(m[t+68>>2]=l),u>2]&&(m[t+72>>2]=u),(c=m[t+28>>2])>2]&&(m[t+76>>2]=c),m[t+48>>2]>2]=p),m[t+52>>2]>2]=f),m[t+56>>2]>2]=i),i=m[t+12>>2],m[t+60>>2]>2]=i)),n=h[e+72>>2],r[h[h[n>>2]+52>>2]](n,t- -64|0,t+48|0,t+32|0))}if(!((0|(s=s+1|0))>2]))break}w=t+80|0}function We(e,t,n,i,r,o){var a,s,u,p,d=v(0),f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=0,R=v(0),I=0,w=0,D=0,L=v(0),N=v(0),F=v(0),B=v(0),k=v(0);h[t+48>>2]=-2147483648,h[t+52>>2]=-2147483648,h[t+16>>2]=0,h[t+20>>2]=0,h[t+56>>2]=-2147483648,h[t+60>>2]=0,h[t+24>>2]=0,h[t+28>>2]=0,s=h[e+16>>2],e=h[240+(s+g(i,244)|0)>>2],a=h[240+(g(r,244)+s|0)>>2],h[t+148>>2]=r,h[t+144>>2]=i,u=h[o+88>>2],h[t+132>>2]=0,h[t+104>>2]=u,h[t+96>>2]=0,h[t+100>>2]=0,d=m[n>>2],P=m[n+4>>2],_=m[n+8>>2],h[t+12>>2]=0,m[t+8>>2]=-_,f=v(-P),m[t+4>>2]=f,O=v(-d),m[t>>2]=O,o=0,p=t,e?(c(v(v(v(v(m[e+300>>2]*f)-v(d*m[e+296>>2]))-v(_*m[e+304>>2]))*m[e+552>>2])),I=l(0),c(v(v(v(v(m[e+284>>2]*f)-v(d*m[e+280>>2]))-v(_*m[e+288>>2]))*m[e+548>>2])),w=l(0),c(v(v(v(v(m[e+268>>2]*f)-v(d*m[e+264>>2]))-v(_*m[e+272>>2]))*m[e+544>>2])),M=l(0)):M=0,h[p+64>>2]=M,h[t+76>>2]=0,h[t+72>>2]=I,h[t+68>>2]=w,b=m[n>>2],y=m[n+4>>2],C=m[n+8>>2],h[t+44>>2]=h[n+12>>2],m[t+40>>2]=C,m[t+36>>2]=y,m[t+32>>2]=b,n=0,a&&(c(v(v(v(v(b*m[a+296>>2])+v(y*m[a+300>>2]))+v(C*m[a+304>>2]))*m[a+552>>2])),o=l(0),c(v(v(v(v(b*m[a+264>>2])+v(y*m[a+268>>2]))+v(C*m[a+272>>2]))*m[a+544>>2])),D=l(0),c(v(v(v(v(b*m[a+280>>2])+v(y*m[a+284>>2]))+v(C*m[a+288>>2]))*m[a+548>>2])),n=l(0)),h[t+80>>2]=D,h[t+92>>2]=0,h[t+88>>2]=o,h[t+84>>2]=n,n=t,e?(x=v(v(v(m[e+268>>2]*f)-v(d*m[e+264>>2]))-v(_*m[e+272>>2])),S=v(v(v(m[e+300>>2]*f)-v(d*m[e+296>>2]))-v(_*m[e+304>>2])),A=v(v(v(m[e+284>>2]*f)-v(d*m[e+280>>2]))-v(_*m[e+288>>2]))):A=v(0),f=v(v(v(v(A*f)-v(d*x))-v(_*S))+v(0)),a?(T=v(v(v(b*m[a+296>>2])+v(y*m[a+300>>2]))+v(C*m[a+304>>2])),E=v(v(v(b*m[a+280>>2])+v(y*m[a+284>>2]))+v(C*m[a+288>>2])),d=v(v(v(m[a+264>>2]*b)+v(m[a+268>>2]*y))+v(m[a+272>>2]*C))):d=v(0),A=v(v(1)/v(f+v(v(v(d*b)+v(E*y))+v(T*C)))),m[n+108>>2]=A,d=v(0),f=v(0),x=v(0),S=v(0),e&&(e=g(i,244)+s|0,d=v(v(m[e+176>>2]+m[e+208>>2])*v(0)),L=v(v(m[e+184>>2]+m[e+216>>2])*v(0)),S=m[e+192>>2],x=m[e+200>>2],N=m[e+196>>2],f=v(v(m[e+180>>2]+m[e+212>>2])*v(0))),a?(e=g(r,244)+s|0,T=v(v(m[e+176>>2]+m[e+208>>2])*v(-0)),F=m[e+192>>2],B=m[e+200>>2],k=m[e+196>>2],R=v(v(m[e+180>>2]+m[e+212>>2])*v(-0)),E=v(v(m[e+184>>2]+m[e+216>>2])*v(-0))):(T=v(-0),R=v(-0),E=v(-0)),h[t+124>>2]=u,m[t+116>>2]=0,h[t+120>>2]=-2147483648^u,m[t+112>>2]=A*v(v(0)-v(v(v(v(d+f)+L)+v(v(v(S*O)-v(P*N))-v(_*x)))+v(v(v(T+R)+E)+v(v(C*B)+v(v(y*k)+v(b*F))))))}function Xe(e,t){var n,i=0,o=0,a=v(0),s=v(0),c=v(0),l=v(0),u=0,p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=0,E=v(0),P=v(0),O=v(0),M=v(0),R=v(0);if(w=n=w-32|0,i=h[e+192>>2],l=v(r[h[h[i>>2]+48>>2]](i)),(0|(u=h[e+712>>2]))>=1)for(T=e+928|0;p=m[t+48>>2],d=m[t+8>>2],f=m[t+4>>2],_=m[t>>2],b=m[t+52>>2],y=m[t+24>>2],C=m[t+20>>2],A=m[t+16>>2],a=m[t+56>>2],s=m[t+40>>2],c=m[t+36>>2],x=m[t+32>>2],i=h[e+720>>2]+g(o,104)|0,h[i+20>>2]=0,E=a,a=m[i+8>>2],P=c,c=m[i+12>>2],S=s,s=m[i+16>>2],x=v(E+v(v(v(x*a)+v(P*c))+v(S*s))),m[i+16>>2]=x,b=v(b+v(v(v(a*A)+v(c*C))+v(s*y))),m[i+12>>2]=b,p=v(p+v(v(v(a*_)+v(c*f))+v(s*d))),m[i+8>>2]=p,d=m[t+48>>2],f=m[t+8>>2],_=m[t>>2],y=m[t+4>>2],C=m[t+52>>2],A=m[t+24>>2],S=m[t+16>>2],O=m[t+20>>2],a=m[t+56>>2],s=m[t+40>>2],c=m[t+32>>2],M=m[t+36>>2],h[i+36>>2]=0,E=a,a=m[i+24>>2],R=v(c*a),c=m[i+28>>2],P=s,s=m[i+32>>2],m[i+32>>2]=E+v(v(R+v(M*c))+v(P*s)),m[i+28>>2]=C+v(v(v(a*S)+v(c*O))+v(s*A)),m[i+24>>2]=d+v(v(v(a*_)+v(c*y))+v(s*f)),a=m[i+80>>2],c=m[i+72>>2],s=m[i+76>>2],d=m[t+8>>2],f=m[t>>2],_=m[t+4>>2],y=m[t+24>>2],C=m[t+16>>2],A=m[t+20>>2],S=m[t+40>>2],O=m[t+32>>2],M=m[t+36>>2],h[i+84>>2]=0,m[i+80>>2]=v(v(c*O)+v(s*M))+v(a*S),m[i+76>>2]=v(v(c*C)+v(s*A))+v(a*y),m[i+72>>2]=v(v(f*c)+v(_*s))+v(d*a),h[n+28>>2]=0,m[n+24>>2]=l+x,m[n+20>>2]=l+b,m[n+16>>2]=l+p,h[n+12>>2]=0,m[n+8>>2]=x-l,m[n+4>>2]=b-l,m[n>>2]=p-l,ao(T,h[i+96>>2],n),(0|u)!=(0|(o=o+1|0)););Pn(e);e:if(i=h[e+928>>2]){if(o=h[e+192>>2],l=v(r[h[h[o>>2]+48>>2]](o)),a=m[i>>2],c=m[i+4>>2],s=m[i+8>>2],h[e+904>>2]=0,m[e+900>>2]=s-l,m[e+896>>2]=c-l,m[e+892>>2]=a-l,a=m[i+20>>2],c=m[i+24>>2],s=m[i+16>>2],h[e+920>>2]=0,m[e+916>>2]=l+c,m[e+912>>2]=l+a,m[(i=e+908|0)>>2]=l+s,!(o=h[e+188>>2]))break e;u=h[e+684>>2],T=h[u+32>>2],r[h[h[T>>2]+16>>2]](T,o,e+892|0,i,h[u+36>>2])}else h[e+892>>2]=0,h[e+896>>2]=0,h[e+916>>2]=0,h[e+920>>2]=0,h[e+908>>2]=0,h[e+912>>2]=0,h[e+900>>2]=0,h[e+904>>2]=0;jr(e),o=h[t+12>>2],h[(i=e+1156|0)>>2]=h[t+8>>2],h[i+4>>2]=o,i=h[t+4>>2],h[e+1148>>2]=h[t>>2],h[e+1152>>2]=i,o=h[t+28>>2],h[(i=e+1172|0)>>2]=h[t+24>>2],h[i+4>>2]=o,o=h[t+20>>2],h[(i=e+1164|0)>>2]=h[t+16>>2],h[i+4>>2]=o,o=h[t+36>>2],h[(i=e+1180|0)>>2]=h[t+32>>2],h[i+4>>2]=o,o=h[t+44>>2],h[(i=e+1188|0)>>2]=h[t+40>>2],h[i+4>>2]=o,o=h[t+60>>2],h[(i=e+1204|0)>>2]=h[t+56>>2],h[i+4>>2]=o,i=h[t+52>>2],h[(e=e+1196|0)>>2]=h[t+48>>2],h[e+4>>2]=i,w=n+32|0}function Ye(e,t,n,i,r,o){var a,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=0,A=0,x=0,S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=0,I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=0;if(w=a=w-96|0,h[a+92>>2]=i,h[a+88>>2]=n,h[a+84>>2]=t,h[a+80>>2]=e,s=m[i>>2],l=m[e>>2],c=m[i+4>>2],S=m[e+4>>2],d=m[i+8>>2],T=m[e+8>>2],h[a+44>>2]=0,f=v(T-d),m[a+40>>2]=f,_=v(S-c),m[a+36>>2]=_,g=v(l-s),m[a+32>>2]=g,E=m[t>>2],P=m[t+4>>2],D=m[t+8>>2],h[a+60>>2]=0,b=v(D-d),m[a+56>>2]=b,O=v(P-c),m[a+52>>2]=O,M=v(E-s),m[a+48>>2]=M,y=m[n>>2],u=m[n+4>>2],I=m[n+8>>2],h[a+76>>2]=0,L=v(I-d),m[a+72>>2]=L,N=v(u-c),m[a+68>>2]=N,F=v(y-s),m[a+64>>2]=F,p=v(-1),!((b=v(v(v(v(g*O)*L)+v(v(v(v(v(_*b)*F)+v(v(f*M)*N))-v(v(g*b)*N))-v(v(_*M)*L)))-v(v(f*O)*F)))==v(0)|b!=b)&&(O=v(S-P),M=v(E-y),E=v(l-E),P=v(P-u),y=v(T*v(v(O*M)-v(E*P))),u=l,l=v(T-D),T=v(D-I),v(b*v(y+v(v(u*v(v(l*P)-v(O*T)))+v(S*v(v(E*T)-v(l*M))))))<=v(0))){for(h[a+24>>2]=0,h[a+16>>2]=0,h[a+20>>2]=0,h[a+12>>2]=0;A=h[4396+(C=R<<2)>>2],l=m[8+(x=(a+32|0)+(A<<4)|0)>>2],S=m[x+4>>2],u=v(v(v(_*l)-v(f*S))*s),s=m[x>>2],v(b*v(v(u+v(c*v(v(f*s)-v(l*g))))+v(v(v(S*g)-v(_*s))*d)))>v(0)&&(x=A<<2,(s=ot(h[C+(a+80|0)>>2],h[x+(a+80|0)>>2],i,a+16|0,a+12|0))>2],h[o>>2]=((B&A<<30>>31)+(A<<1&8)|0)+(0-(1&A)&1<>2]=h[a+16>>2],h[r+x>>2]=h[a+20>>2],h[(h[x+4396>>2]<<2)+r>>2]=0,h[r+12>>2]=h[a+24>>2],p=s)),3!=(0|(R=R+1|0));)g=m[(C=(a+32|0)+(R<<4)|0)>>2],f=m[C+8>>2],_=m[C+4>>2],d=m[i+8>>2],c=m[i+4>>2],s=m[i>>2];p>2]=15,p=m[n+4>>2],s=m[t+8>>2],c=m[i>>2],d=m[n+8>>2],f=m[t>>2],_=m[i+4>>2],y=v(v(v(p*s)*c)+v(v(d*f)*_)),u=s,s=m[n>>2],l=v(p*f),p=m[i+8>>2],l=v(v(y-v(_*v(u*s)))-v(l*p)),u=p,p=m[t+4>>2],p=v(v(v(l+v(u*v(s*p)))-v(c*v(d*p)))/b),m[r>>2]=p,s=m[e+4>>2],c=m[n+8>>2],d=m[i>>2],f=m[e+8>>2],_=m[n>>2],g=m[i+4>>2],y=v(v(v(s*c)*d)+v(v(f*_)*g)),u=c,c=m[e>>2],l=v(s*_),s=m[i+8>>2],l=v(v(y-v(g*v(u*c)))-v(l*s)),u=s,s=m[n+4>>2],s=v(v(v(l+v(u*v(c*s)))-v(d*v(f*s)))/b),m[r+4>>2]=s,c=m[t+4>>2],d=m[e+8>>2],f=m[i>>2],_=m[t+8>>2],g=m[e>>2],l=m[i+4>>2],I=v(v(v(c*d)*f)+v(v(_*g)*l)),u=d,d=m[t>>2],y=v(c*g),c=m[i+8>>2],l=v(v(I-v(l*v(u*d)))-v(y*c)),u=c,c=m[e+4>>2],b=v(v(v(l+v(u*v(d*c)))-v(f*v(_*c)))/b),m[r+8>>2]=b,m[r+12>>2]=v(1)-v(v(p+s)+b),p=v(0))}return w=a+96|0,p}function Qe(e,t,n,i,r,a){ja(e,6,t,n),h[e>>2]=18896,t=h[i+12>>2],h[e+56>>2]=h[i+8>>2],h[e+60>>2]=t,t=h[i+4>>2],h[e+48>>2]=h[i>>2],h[e+52>>2]=t,t=h[i+28>>2],h[e+72>>2]=h[i+24>>2],h[e+76>>2]=t,n=h[i+20>>2],h[(t=e- -64|0)>>2]=h[i+16>>2],h[t+4>>2]=n,t=h[i+44>>2],h[e+88>>2]=h[i+40>>2],h[e+92>>2]=t,t=h[i+36>>2],h[e+80>>2]=h[i+32>>2],h[e+84>>2]=t,t=h[i+60>>2],h[e+104>>2]=h[i+56>>2],h[e+108>>2]=t,t=h[i+52>>2],h[e+96>>2]=h[i+48>>2],h[e+100>>2]=t,t=h[r+12>>2],h[e+120>>2]=h[r+8>>2],h[e+124>>2]=t,t=h[r+4>>2],h[e+112>>2]=h[r>>2],h[e+116>>2]=t,t=h[r+20>>2],h[e+128>>2]=h[r+16>>2],h[e+132>>2]=t,t=h[r+28>>2],h[e+136>>2]=h[r+24>>2],h[e+140>>2]=t,t=h[r+36>>2],h[e+144>>2]=h[r+32>>2],h[e+148>>2]=t,t=h[r+44>>2],h[e+152>>2]=h[r+40>>2],h[e+156>>2]=t,t=h[r+52>>2],h[e+160>>2]=h[r+48>>2],h[e+164>>2]=t,t=h[r+60>>2],h[e+168>>2]=h[r+56>>2],h[e+172>>2]=t,h[e+680>>2]=0,h[e+684>>2]=0,h[e+688>>2]=0,h[e+692>>2]=0,h[e+696>>2]=0,h[e+700>>2]=0,h[e+704>>2]=0,h[e+708>>2]=0,h[e+712>>2]=0,h[e+716>>2]=0,h[e+720>>2]=0,h[e+724>>2]=0,h[e+740>>2]=0,h[e+744>>2]=0,h[e+748>>2]=0,h[e+752>>2]=0,h[e+756>>2]=1045220557,h[e+760>>2]=1045220557,h[e+764>>2]=1045220557,h[e+784>>2]=0,h[e+776>>2]=0,h[e+780>>2]=0,h[e+768>>2]=0,h[e+772>>2]=0,h[e+736>>2]=1056964608,h[e+728>>2]=1060320051,h[e+732>>2]=1065353216,o[e+790|0]=0,o[e+788|0]=0,o[e+789|0]=0,h[e+800>>2]=0,h[e+792>>2]=0,h[e+796>>2]=0,h[e+816>>2]=0,h[e+808>>2]=0,h[e+812>>2]=0,h[e+928>>2]=0,h[e+884>>2]=1133903872,h[e+876>>2]=0,h[e+880>>2]=1036831949,h[e+904>>2]=0,h[e+908>>2]=0,h[e+896>>2]=0,h[e+900>>2]=1045220557,h[e+868>>2]=1065353216,h[e+872>>2]=-1082130432,h[e+924>>2]=0,h[e+888>>2]=1065353216,h[e+892>>2]=1056964608,h[e+916>>2]=0,h[e+992>>2]=0,o[e+912|0]=0,h[e+948>>2]=1133903872,h[e+940>>2]=0,h[e+944>>2]=1036831949,h[e+968>>2]=0,h[e+972>>2]=0,h[e+960>>2]=0,h[e+964>>2]=1045220557,h[e+932>>2]=1065353216,h[e+936>>2]=-1082130432,h[e+988>>2]=0,h[e+952>>2]=1065353216,h[e+956>>2]=1056964608,h[e+980>>2]=0,h[e+1056>>2]=0,o[e+976|0]=0,h[e+1012>>2]=1133903872,h[e+1004>>2]=0,h[e+1008>>2]=1036831949,h[(t=e+1032|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1024|0)>>2]=0,h[t+4>>2]=1045220557,h[e+996>>2]=1065353216,h[e+1e3>>2]=-1082130432,h[e+1052>>2]=0,h[e+1016>>2]=1065353216,h[e+1020>>2]=1056964608,h[e+1044>>2]=0,o[e+1308|0]=0,h[e+1304>>2]=0,o[e+1301|0]=1,o[e+1300|0]=a,o[e+1040|0]=0,st(e,h[e+28>>2]+4|0,h[e+32>>2]+4|0)}function Ke(e,t,n,i,o){e|=0,t|=0,n|=0,i|=0,o|=0;var a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0);w=i=w-144|0,h[i+108>>2]=0,a=m[t+80>>2],c=m[t+96>>2],b=m[t+120>>2],R=m[t+56>>2],T=m[t+112>>2],E=m[t+116>>2],I=m[t+52>>2],l=m[t+68>>2],g=m[t+84>>2],y=m[t+100>>2],s=m[t+20>>2],f=m[t+36>>2],C=m[t+72>>2],u=m[t+88>>2],_=m[t+24>>2],p=m[t+104>>2],A=m[t+40>>2],d=m[t+64>>2],x=m[t+32>>2],S=m[t>>2],P=m[t+16>>2],D=m[t+48>>2],O=m[t+4>>2],M=m[t+8>>2],h[i+100>>2]=0,h[i+84>>2]=0,h[i+68>>2]=0,m[i+80>>2]=v(v(M*C)+v(_*u))+v(A*p),m[i+76>>2]=v(v(O*C)+v(s*u))+v(f*p),m[i- -64>>2]=v(v(M*l)+v(_*g))+v(A*y),m[i+60>>2]=v(v(O*l)+v(s*g))+v(f*y),T=v(D-T),E=v(I-E),b=v(R-b),m[i+96>>2]=v(v(C*T)+v(u*E))+v(p*b),m[i+92>>2]=v(v(T*l)+v(E*g))+v(b*y),h[i+52>>2]=0,m[i+72>>2]=v(v(S*C)+v(P*u))+v(x*p),m[i+56>>2]=v(v(S*l)+v(P*g))+v(x*y),m[i+48>>2]=v(v(d*M)+v(a*_))+v(c*A),m[i+44>>2]=v(v(d*O)+v(a*s))+v(c*f),m[i+40>>2]=v(v(d*S)+v(a*P))+v(c*x),m[i+88>>2]=v(v(T*d)+v(E*a))+v(b*c),St(e,i+88|0,i+128|0,i+112|0,i+108|0,m[e+12>>2])&&(o?(g=m[t+72>>2],y=m[t+64>>2],C=m[t+68>>2],u=m[t+88>>2],p=m[t+80>>2],d=m[t+84>>2],s=m[t+104>>2],f=m[t+96>>2],_=m[t+100>>2],a=m[i+120>>2],c=m[i+112>>2],l=m[i+116>>2],h[i+36>>2]=0,A=v(v(v(c*f)+v(l*_))+v(a*s)),m[i+32>>2]=-A,x=v(v(v(c*p)+v(l*d))+v(a*u)),m[i+28>>2]=-x,S=v(v(v(y*c)+v(C*l))+v(g*a)),m[i+24>>2]=-S,P=m[t+112>>2],O=m[t+116>>2],a=m[t+120>>2],h[i+20>>2]=0,c=m[i+128>>2],l=m[i+132>>2],b=s,s=m[i+136>>2],b=v(a+v(v(v(f*c)+v(_*l))+v(b*s))),a=m[i+108>>2],m[i+16>>2]=b+v(A*a),m[i+12>>2]=v(O+v(v(v(c*p)+v(l*d))+v(s*u)))+v(x*a),m[i+8>>2]=v(P+v(v(v(c*y)+v(l*C))+v(s*g)))+v(S*a),r[h[h[n>>2]+16>>2]](n,i+24|0,i+8|0,a)):(a=m[t+72>>2],c=m[t+64>>2],l=m[t+68>>2],g=m[t+88>>2],y=m[t+80>>2],C=m[t+84>>2],u=m[t+104>>2],p=m[t+96>>2],d=m[t+100>>2],h[i+36>>2]=0,s=m[i+112>>2],f=m[i+116>>2],_=m[i+120>>2],m[i+32>>2]=v(v(p*s)+v(d*f))+v(u*_),m[i+28>>2]=v(v(s*y)+v(f*C))+v(_*g),m[i+24>>2]=v(v(c*s)+v(l*f))+v(a*_),s=m[t+112>>2],f=m[t+116>>2],_=m[t+120>>2],h[i+20>>2]=0,b=p,p=m[i+128>>2],A=d,d=m[i+132>>2],x=u,u=m[i+136>>2],m[i+16>>2]=_+v(v(v(b*p)+v(A*d))+v(x*u)),m[i+12>>2]=f+v(v(v(p*y)+v(d*C))+v(u*g)),m[i+8>>2]=s+v(v(v(p*c)+v(d*l))+v(u*a)),r[h[h[n>>2]+16>>2]](n,i+24|0,i+8|0,m[i+108>>2]))),w=i+144|0}function Ze(e,t){var n=v(0),i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=0,x=v(0),T=v(0);g=h[t+12>>2],h[e+564>>2]=h[t+8>>2],h[e+568>>2]=g,g=h[t+4>>2],h[e+556>>2]=h[t>>2],h[e+560>>2]=g,l=v(-0),p=v(1),i=m[e+564>>2],n=m[e+568>>2],o=v(n*v(0)),a=m[e+556>>2],s=v(a*v(0)),r=v(v(i+o)-s),c=m[e+560>>2],u=v(v(o+s)-c),o=v(c*v(0)),s=v(i*v(0)),b=v(v(v(-a)-o)-s),o=v(v(n+o)-s),s=v(v(a*r)+v(v(v(n*u)-v(i*b))-v(c*o))),f=v(v(i*o)+v(v(v(n*r)-v(c*b))-v(a*u))),r=v(v(c*u)+v(v(v(n*o)-v(a*b))-v(i*r))),(u=v(v(s*v(0))+v(v(f*v(0))+r)))>2])>=v(.05000000074505806)&&(n=m[e+448>>2])>=v(.05000000074505806)&&(i=oi(v(C(v(A(_,v(-1))),v(1)))),(i=v(i+i))>v(1.1920928955078125e-7)&&(o=v(v(1)/v(S(v(v(d*d)+v(v(l*l)+v(p*p)))))),s=v(d*o),f=v(l*o),o=v(p*o),v(y(o))>v(1.1920928955078125e-7)&&(T=v(v(s*s)/v(o*o)),a=v(S(v(v(T+v(1))/v(v(T/v(a*a))+v(v(1)/v(n*n)))))))),v(y(i))>v(1.1920928955078125e-7)&&(i>a?i=a:i<(n=v(-a))&&(i=n),n=v(i*v(.5)),i=v(wi(n)/v(S(v(v(v(f*f)+v(o*o))+v(s*s))))),d=v(s*i),p=v(o*i),l=v(f*i),_=Ri(n))),a=v(r*c),i=v(u*c),f=v(x*c),r=v(b*c),(u=m[e+452>>2])>=v(.05000000074505806)&&(c=r,s=f,o=i,n=oi(v(C(v(A(a,v(-1))),v(1)))),(n=v(n+n))>v(3.1415927410125732)&&(o=v(-i),s=v(-f),c=v(-r),n=oi(v(C(v(A(v(-a),v(-1))),v(1)))),n=v(n+n)),n>v(1.1920928955078125e-7)&&(b=v(v(1)/v(S(v(v(v(c*c)+v(s*s))+v(o*o))))),o=v(o*b),c=v(c*b),s=v(s*b)),v(y(n))>v(1.1920928955078125e-7)&&(n>u?n=u:n<(i=v(-u))&&(n=i),a=v(n*v(.5)),n=v(wi(a)/v(S(v(v(o*o)+v(v(s*s)+v(c*c)))))),i=v(o*n),f=v(s*n),r=v(c*n),a=Ri(a))),m[e+568>>2]=v(v(v(_*a)-v(l*r))-v(p*f))-v(d*i),m[e+564>>2]=v(v(l*f)+v(v(_*i)+v(d*a)))-v(p*r),m[e+560>>2]=v(v(d*r)+v(v(_*f)+v(p*a)))-v(l*i),m[e+556>>2]=v(v(p*i)+v(v(_*r)+v(l*a)))-v(d*f)}function qe(e,t,n,i,o,a){var s,c=0,l=0,u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=0,x=0;if(w=s=w-272|0,l=h[(c=n)+12>>2],h[s+216>>2]=h[c+8>>2],h[s+220>>2]=l,l=h[c+4>>2],h[s+208>>2]=h[c>>2],h[s+212>>2]=l,l=h[c+28>>2],h[s+232>>2]=h[c+24>>2],h[s+236>>2]=l,l=h[c+20>>2],h[s+224>>2]=h[c+16>>2],h[s+228>>2]=l,l=h[c+44>>2],h[s+248>>2]=h[c+40>>2],h[s+252>>2]=l,l=h[c+36>>2],h[s+240>>2]=h[c+32>>2],h[s+244>>2]=l,l=h[c+60>>2],h[s+264>>2]=h[c+56>>2],h[s+268>>2]=l,l=h[c+52>>2],h[s+256>>2]=h[c+48>>2],h[s+260>>2]=l,l=h[(c=i)+12>>2],h[s+152>>2]=h[c+8>>2],h[s+156>>2]=l,l=h[c+4>>2],h[s+144>>2]=h[c>>2],h[s+148>>2]=l,l=h[c+28>>2],h[s+168>>2]=h[c+24>>2],h[s+172>>2]=l,l=h[c+20>>2],h[s+160>>2]=h[c+16>>2],h[s+164>>2]=l,l=h[c+44>>2],h[s+184>>2]=h[c+40>>2],h[s+188>>2]=l,l=h[c+36>>2],h[s+176>>2]=h[c+32>>2],h[s+180>>2]=l,l=h[c+60>>2],h[s+200>>2]=h[c+56>>2],h[s+204>>2]=l,l=h[c+52>>2],h[s+192>>2]=h[c+48>>2],h[s+196>>2]=l,h[s+108>>2]=0,m[s+104>>2]=m[s+200>>2]-m[s+264>>2],m[s+100>>2]=m[s+196>>2]-m[s+260>>2],m[s+96>>2]=m[s+192>>2]-m[s+256>>2],Gt(s+208|0,s+144|0,s+16|0,s+128|0),h[s+92>>2]=0,u=m[s+128>>2],m[s+88>>2]=u*m[s+24>>2],m[s+84>>2]=u*m[s+20>>2],m[s+80>>2]=u*m[s+16>>2],h[s+72>>2]=0,h[s+76>>2]=0,h[(c=s- -64|0)>>2]=0,h[c+4>>2]=0,lt(s+208|0,s+128|0),h[s+60>>2]=0,h[s+44>>2]=0,u=m[s+128>>2],p=m[s+132>>2],f=m[s+136>>2],g=m[s+140>>2],b=v(v(2)/v(v(v(v(u*u)+v(p*p))+v(f*f))+v(g*g))),y=v(f*b),d=v(p*y),_=v(u*b),C=v(g*_),m[s+52>>2]=d+C,m[s+40>>2]=d-C,d=v(u*_),_=p,p=v(p*b),b=v(_*p),m[s+56>>2]=v(1)-v(d+b),f=v(f*y),m[s+36>>2]=v(1)-v(d+f),h[s+28>>2]=0,d=v(u*y),_=v(g*p),m[s+48>>2]=d-_,u=v(u*p),p=v(g*y),m[s+32>>2]=u+p,m[s+24>>2]=d+_,m[s+20>>2]=u-p,m[s+16>>2]=v(1)-v(b+f),Ci(t,s+16|0,s+96|0,s+80|0,s+128|0,s+112|0),h[e+268>>2]>=1)for(c=i+48|0,l=n+48|0,i=0;n=h[h[e+276>>2]+(i<<2)>>2],r[h[h[o>>2]+8>>2]](o,h[n+188>>2])&&(A=h[n+192>>2],x=n+4|0,r[h[h[A>>2]+8>>2]](A,x,s+16|0,s+96|0),h[s+28>>2]=0,h[s+108>>2]=0,m[s+24>>2]=m[s+24>>2]+m[s+136>>2],m[s+20>>2]=m[s+20>>2]+m[s+132>>2],m[s+16>>2]=m[s+16>>2]+m[s+128>>2],m[s+96>>2]=m[s+96>>2]+m[s+112>>2],m[s+100>>2]=m[s+100>>2]+m[s+116>>2],m[s+104>>2]=m[s+104>>2]+m[s+120>>2],h[s+12>>2]=1065353216,Ct(l,c,s+16|0,s+96|0,s+12|0,s+80|0)&&ec(t,s+208|0,s+144|0,n,h[n+192>>2],x,o,a)),(0|(i=i+1|0))>2];);w=s+272|0}function Je(e,t,n,i,a,s,c,l,u,p){var d=0,f=0,_=v(0),b=v(0),y=0,C=v(0),A=v(0),x=0,S=v(0),T=0,E=0,P=v(0),O=v(0),M=v(0),R=0,I=v(0),w=0;if(!((0|s)<2|(0|c)<2)){for(P=v(s+-1|0),O=v(c+-1|0),h[7717]=h[7717]+1,y=g(s,c),x=0|r[h[6606]]((0|y)!=(268435455&y)?-1:y<<4,16),E=Tl((0|y)!=(1073741823&y)?-1:y<<2);;){for(A=m[t+8>>2],_=v(v(0|d)/O),A=v(A+v(_*v(m[i+8>>2]-A))),S=m[n+8>>2],S=v(v(S+v(_*v(m[a+8>>2]-S)))-A),b=m[n+4>>2],C=v(b+v(_*v(m[a+4>>2]-b))),b=m[t+4>>2],b=v(b+v(_*v(m[i+4>>2]-b))),I=v(C-b),C=m[n>>2],M=v(C+v(_*v(m[a>>2]-C))),C=m[t>>2],C=v(C+v(_*v(m[i>>2]-C))),M=v(M-C),w=g(s,d),f=0;h[12+(T=x+((R=f+w|0)<<4)|0)>>2]=0,_=v(v(0|f)/P),m[T+8>>2]=A+v(S*_),m[T+4>>2]=b+v(I*_),m[T>>2]=C+v(M*_),h[E+(R<<2)>>2]=1065353216,(0|(f=f+1|0))!=(0|s););if((0|(d=d+1|0))==(0|c))break}for(h[7717]=h[7717]+1,d=Ee(0|r[h[6606]](1252,16),e,y,x,E),1&l&&(m[h[d+720>>2]+88>>2]=0,o[d+924|0]=1),2&l&&(m[88+(h[d+720>>2]+g(s+-1|0,104)|0)>>2]=0,o[d+924|0]=1),4&l&&(m[88+(h[d+720>>2]+g(g(c+-1|0,s),104)|0)>>2]=0,o[d+924|0]=1),8&l&&(m[88+(h[d+720>>2]+g((g(c+-1|0,s)+s|0)-1|0,104)|0)>>2]=0,o[d+924|0]=1),16&l&&(m[88+(h[d+720>>2]+g((s+-1|0)/2|0,104)|0)>>2]=0,o[d+924|0]=1),32&l&&(m[88+(h[d+720>>2]+g(g((c+-1|0)/2|0,s),104)|0)>>2]=0,o[d+924|0]=1),64&l&&(m[88+(h[d+720>>2]+g((g((c+-1|0)/2|0,s)+s|0)-1|0,104)|0)>>2]=0,o[d+924|0]=1),128&l&&(m[88+(h[d+720>>2]+g(g(c+-1|0,s)+((s+-1|0)/2|0)|0,104)|0)>>2]=0,o[d+924|0]=1),256&l&&(m[88+(h[d+720>>2]+g(g((c+-1|0)/2|0,s)+((s+-1|0)/2|0)|0,104)|0)>>2]=0,o[d+924|0]=1),x&&x&&(h[7718]=h[7718]+1,r[h[6607]](x)),Se(E),y=c+-1|0,P=v(v(1)/v(0|y)),O=v(v(1)/v(s+-1|0)),f=0,i=0;;){if(e=f+1|0,(0|s)>=1)for(x=g(e,s),E=g(s,f),_=v(P*v(y-f|0)),A=v(P*v(y+(-1^f)|0)),f=0;;){t=f,n=f+x|0,a=f+E|0;e:{t:{n:{if((0|(f=f+1|0))<(0|s)){if(sp(d,a,T=f+E|0,0,0),(0|e)>=(0|c))break e;if(sp(d,a,n,0,0),vr(d,a,n,l=f+x|0,0),!p)break n;n=(i<<2)+p|0,S=v(O*v(0|t)),m[n>>2]=S,m[n+20>>2]=A,b=v(O*v(0|f)),m[n+16>>2]=b,m[n+12>>2]=A,m[n+8>>2]=S,m[n+4>>2]=_,vr(d,l,T,a,0),m[n+44>>2]=_,m[n+40>>2]=S,m[n+36>>2]=_,m[n+32>>2]=b,m[n+28>>2]=A,m[n+24>>2]=b;break t}if((0|e)>=(0|c))break e;sp(d,a,n,0,0);break e}vr(d,l,T,a,0)}u&&sp(d,a,l,0,0),i=i+12|0}if((0|s)==(0|f))break}if((0|(f=e))==(0|c))break}}return d}function $e(e,t,n){var i,a,s,c,l=0,u=0,_=0,m=0,b=0,g=0,v=0,y=0;if(w=i=w-32|0,a=h[e+136>>2],s=(0|(l=h[12+(a+(n<<4)|0)>>2]))>-1?1:0-l|0,(0|(c=(0|(l=h[12+((t<<4)+a|0)>>2]))>-1?1:0-l|0))<=128){if((0|(l=_=h[e+152>>2]))==h[e+156>>2]&&!((0|(l=_))>=(0|(g=l?l<<1:1)))){if(g?(h[7717]=h[7717]+1,l=0|r[h[6606]](g<<5,16),m=h[e+152>>2]):(l=0,m=_),(0|m)>=1)for(;b=(u=v<<5)+l|0,u=u+h[e+160>>2]|0,y=h[u+4>>2],h[b>>2]=h[u>>2],h[b+4>>2]=y,y=h[u+28>>2],h[b+24>>2]=h[u+24>>2],h[b+28>>2]=y,y=h[u+20>>2],h[b+16>>2]=h[u+16>>2],h[b+20>>2]=y,y=h[u+12>>2],h[b+8>>2]=h[u+8>>2],h[b+12>>2]=y,(0|m)!=(0|(v=v+1|0)););(m=h[e+160>>2])&&(d[e+164|0]&&m&&(h[7718]=h[7718]+1,r[h[6607]](m)),h[e+160>>2]=0),h[e+160>>2]=l,h[e+156>>2]=g,o[e+164|0]=1,l=h[e+152>>2]}h[e+152>>2]=l+1,u=h[(l=i)+4>>2],_=(m=_<<5)+h[e+160>>2]|0,h[_>>2]=h[l>>2],h[_+4>>2]=u,u=h[l+28>>2],h[_+24>>2]=h[l+24>>2],h[_+28>>2]=u,u=h[l+20>>2],h[_+16>>2]=h[l+16>>2],h[_+20>>2]=u,u=h[l+12>>2],h[_+8>>2]=h[l+8>>2],h[_+12>>2]=u,l=m+h[e+160>>2]|0,_=(t<<4)+a|0,p[l>>1]=f[_>>1],p[l+2>>1]=f[_+2>>1],p[l+4>>1]=f[_+4>>1],p[l+6>>1]=f[_+6>>1],p[l+8>>1]=f[_+8>>1],_=f[_+10>>1],h[l+16>>2]=c,h[l+12>>2]=t,p[l+10>>1]=_}if((0|s)<=128){if((0|(l=_=h[e+152>>2]))==h[e+156>>2]&&!((0|(l=_))>=(0|(b=l?l<<1:1)))){if(b?(h[7717]=h[7717]+1,t=0|r[h[6606]](b<<5,16),l=h[e+152>>2]):(t=0,l=_),(0|l)>=1)for(v=0;m=(u=v<<5)+t|0,u=u+h[e+160>>2]|0,g=h[u+4>>2],h[m>>2]=h[u>>2],h[m+4>>2]=g,g=h[u+28>>2],h[m+24>>2]=h[u+24>>2],h[m+28>>2]=g,g=h[u+20>>2],h[m+16>>2]=h[u+16>>2],h[m+20>>2]=g,g=h[u+12>>2],h[m+8>>2]=h[u+8>>2],h[m+12>>2]=g,(0|l)!=(0|(v=v+1|0)););(l=h[e+160>>2])&&(d[e+164|0]&&l&&(h[7718]=h[7718]+1,r[h[6607]](l)),h[e+160>>2]=0),h[e+160>>2]=t,h[e+156>>2]=b,o[e+164|0]=1,l=h[e+152>>2]}h[e+152>>2]=l+1,u=h[(t=i)+4>>2],l=(_<<=5)+h[e+160>>2]|0,h[l>>2]=h[t>>2],h[l+4>>2]=u,m=h[t+28>>2],h[l+24>>2]=h[t+24>>2],h[l+28>>2]=m,m=h[t+20>>2],h[l+16>>2]=h[t+16>>2],h[l+20>>2]=m,m=h[t+12>>2],h[l+8>>2]=h[t+8>>2],h[l+12>>2]=m,t=_+h[e+160>>2]|0,l=(n<<4)+a|0,p[t>>1]=f[l>>1],p[t+2>>1]=f[l+2>>1],p[t+4>>1]=f[l+4>>1],p[t+6>>1]=f[l+6>>1],p[t+8>>1]=f[l+8>>1],l=f[l+10>>1],h[t+16>>2]=s,h[t+12>>2]=n,p[t+10>>1]=l}h[e+168>>2]=h[e+152>>2],w=i+32|0}function et(e,t,n){var i,r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=0,b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0);C=m[e+300>>2],P=m[e+452>>2],((O=m[e+304>>2])>v(0)||(_=0,C>v(0)))&&(_=h[e+288>>2]<4),i=h[e+720>>2];e:if(!(!_|(E=m[88+(i+g(n,104)|0)>>2])>v(0)^1)&&(_=g(n,104)+i|0,A=m[_+40>>2],s=v(A-m[t>>2]),x=m[_+44>>2],l=v(x-m[t+4>>2]),T=m[_+48>>2],c=v(T-m[t+8>>2]),(y=v(v(v(s*s)+v(l*l))+v(c*c)))>v(1.1920928955078125e-7))){r=m[h[e+684>>2]>>2],I=v(S(y)),a=v(v(1)/I),o=v(c*a),d=v(l*a),a=v(s*a),u=m[_+72>>2],p=m[_+80>>2],f=m[_+76>>2];t:switch(h[e+288>>2]){case 2:return s=v(v(v(s*u)+v(l*f))+v(c*p))>2]*v(.5)),u=v(s*v(c*C)),l=v(u*v(-o)),c=v(u*v(-d)),u=v(u*v(-a)),s>v(0)?(p=v(0),f=v(0),s=(o=v(v(v(A*A)+v(x*x))+v(T*T)))^1|r>v(0)^1||(r=v(v(v(S(o))/v(S(r)))*v(.800000011920929)),l=v(l*r),u=v(u*r),c=v(c*r)),e=g(n,104)+i|0,m[e+56>>2]=w+v(u+m[e+56>>2]),m[(t=e- -64|0)>>2]=f+v(l+m[t>>2]),void(m[e+60>>2]=p+v(c+m[e+60>>2]));case 0:case 1:case 3:break t;default:break e}if(b=c,c=v(v(v(s*u)+v(l*f))+v(c*p))v(0)){if(s=v(P*E),e=g(n,104)+i|0,r=v(v(v(y*v(l*m[e+92>>2]))*v(-.5))*r),l=v(C*r),c=v(O*r),r=v(v(o*l)+v(v(p*c)+v(0))),o=v(s*r),b=v(o*o),o=v(v(a*l)+v(v(u*c)+v(0))),a=v(s*o),u=v(a*a),d=v(v(d*l)+v(v(f*c)+v(0))),a=v(s*d),v(b+v(u+v(a*a)))>v(v(v(A*A)+v(x*x))+v(T*T)))return a=v(v(1)/s),c=o,o=v(v(1)/v(S(v(v(r*r)+v(v(o*o)+v(d*d)))))),s=v(c*o),l=v(r*o),o=v(d*o),r=v(v(T*l)+v(v(A*s)+v(x*o))),m[e+56>>2]=m[e+56>>2]-v(a*v(s*r)),m[e+60>>2]=m[e+60>>2]-v(a*v(o*r)),void(m[(e=e- -64|0)>>2]=m[e>>2]-v(a*v(l*r)));m[e+56>>2]=o+m[e+56>>2],m[e+60>>2]=d+m[e+60>>2],m[(e=e- -64|0)>>2]=r+m[e>>2]}}}function tt(e,t,n,i,r,a,s,u){var p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0);ja(e,4,t,n),h[e+748>>2]=0,o[e+740|0]=u,h[e+736>>2]=16777216,o[e+716|0]=0,h[e+708>>2]=0,h[e+712>>2]=0,h[e+704>>2]=1065353216,h[e+696>>2]=1063675494,h[e+700>>2]=1050253722,h[e+688>>2]=0,h[e+692>>2]=-1082130432,h[e>>2]=19668,n=h[i+12>>2],h[e+608>>2]=h[i+8>>2],h[e+612>>2]=n,n=h[i+4>>2],h[e+600>>2]=h[i>>2],h[e+604>>2]=n,_=m[t+4>>2],p=m[a>>2],b=m[t+20>>2],d=m[a+4>>2],g=m[t+36>>2],f=m[a+8>>2],(C=v(v(v(_*p)+v(b*d))+v(g*f)))>=v(.9999998807907104)?(i=h[t+40>>2],n=h[t+8>>2],g=v(-m[t+44>>2]),b=v(-m[t+28>>2]),C=v(-m[t+12>>2]),t=h[t+24>>2]):C<=v(-.9999998807907104)?(i=h[t+40>>2],n=h[t+8>>2],g=m[t+44>>2],b=m[t+28>>2],C=m[t+12>>2],t=h[t+24>>2]):(x=v(v(g*d)-v(b*f)),T=v(v(_*f)-v(g*p)),g=v(v(d*x)-v(p*T)),A=p,p=v(v(b*p)-v(_*d)),b=v(v(A*p)-v(f*x)),C=v(v(f*T)-v(d*p)),c(p),i=l(0),c(x),n=l(0),c(T),t=l(0)),m[e+552>>2]=C,h[e+556>>2]=n,n=h[a>>2],h[e+572>>2]=t,m[e+568>>2]=b,h[e+564>>2]=0,h[e+560>>2]=n,t=h[a+4>>2],h[e+588>>2]=i,m[e+584>>2]=g,h[e+580>>2]=0,h[e+576>>2]=t,t=h[a+8>>2],h[e+596>>2]=0,h[e+592>>2]=t,x=m[s+8>>2],_=m[a+8>>2],p=m[a+4>>2],T=m[s+4>>2],P=m[s>>2],f=m[a>>2];e:if((d=v(v(x*_)+v(v(p*T)+v(P*f))))v(.7071067690849304)){A=p,p=v(v(1)/v(S(v(v(p*p)+v(_*_))))),d=v(A*p),f=v(p*v(-_)),_=v(0),p=v(0);break e}d=v(v(1)/v(S(v(v(p*p)+v(f*f))))),f=v(f*d),_=v(d*v(-p)),d=v(0),p=v(0)}else d=v(d+v(1)),E=v(S(v(d+d))),A=v(v(1)/E),d=v(v(v(T*f)-v(p*P))*A),f=v(v(v(_*P)-v(x*f))*A),_=v(v(v(p*x)-v(_*T))*A),p=v(E*v(.5));t=h[r+4>>2],h[e+664>>2]=h[r>>2],h[e+668>>2]=t,t=h[r+12>>2],h[e+672>>2]=h[r+8>>2],h[e+676>>2]=t,A=v(v(v(g*p)+v(b*_))-v(C*f)),E=v(v(v(C*p)+v(g*f))-v(b*d)),O=v(v(v(C*v(-_))-v(b*f))-v(g*d)),g=v(v(v(b*p)+v(C*d))-v(g*_)),b=v(v(f*A)+v(v(v(p*E)-v(_*O))-v(d*g))),m[e+616>>2]=b,C=v(v(_*g)+v(v(v(p*A)-v(d*O))-v(f*E))),p=v(v(d*E)+v(v(v(p*g)-v(f*O))-v(_*A))),m[e+620>>2]=v(T*C)-v(x*p),t=h[s>>2],m[e+632>>2]=p,m[e+636>>2]=v(x*b)-v(P*C),h[e+628>>2]=0,h[e+624>>2]=t,t=h[s+4>>2],m[e+652>>2]=v(P*p)-v(T*b),m[e+648>>2]=C,h[e+644>>2]=0,h[e+640>>2]=t,t=h[s+8>>2],m[e+732>>2]=v(u?-1:1),h[e+660>>2]=0,h[e+656>>2]=t}function nt(e,t,n,i,r,o){var a,s,c,l=v(0),u=v(0),p=0,d=v(0),f=v(0),_=0,b=0,y=0,C=v(0),A=v(0),x=v(0),S=v(0),T=v(0);a=h[e+76>>2],s=h[t+140>>2];e:{if(4&(c=h[o+64>>2])){if(y=h[e+16>>2],t=h[240+(y+g(i,244)|0)>>2],b=h[240+(g(n,244)+y|0)>>2],p=g(s,152)+a|0,l=v(m[r+124>>2]*m[o+60>>2]),m[p+100>>2]=l,b&&(d=m[b+356>>2],f=m[p+24>>2],C=m[b+352>>2],A=m[p+20>>2],e=g(n,244)+y|0,u=m[b+344>>2],m[e+64>>2]=v(v(l*v(v(u*m[p+16>>2])*m[b+348>>2]))*m[e+112>>2])+m[e+64>>2],m[e+68>>2]=v(v(l*v(C*v(u*A)))*m[e+116>>2])+m[e+68>>2],m[e+72>>2]=v(v(l*v(d*v(u*f)))*m[e+120>>2])+m[e+72>>2],u=m[p+72>>2],d=m[p+68>>2],m[e+80>>2]=v(v(l*m[e+96>>2])*m[p+64>>2])+m[e+80>>2],f=m[e+104>>2],m[e+84>>2]=v(d*v(l*m[e+100>>2]))+m[e+84>>2],m[e+88>>2]=v(u*v(l*f))+m[e+88>>2]),t&&(_=g(s,152)+a|0,d=m[_+88>>2],f=m[_+84>>2],C=m[_+80>>2],A=m[t+356>>2],x=m[_+56>>2],S=m[t+352>>2],T=m[_+52>>2],e=g(i,244)+y|0,u=m[t+344>>2],l=m[p+100>>2],m[e+64>>2]=m[e+64>>2]+v(v(v(v(u*m[_+48>>2])*m[t+348>>2])*l)*m[e+112>>2]),m[e+68>>2]=m[e+68>>2]+v(v(l*v(S*v(u*T)))*m[e+116>>2]),m[e+72>>2]=m[e+72>>2]+v(v(l*v(A*v(u*x)))*m[e+120>>2]),m[e+80>>2]=m[e+80>>2]+v(C*v(l*m[e+96>>2])),u=m[e+104>>2],m[e+84>>2]=m[e+84>>2]+v(f*v(l*m[e+100>>2])),m[e+88>>2]=m[e+88>>2]+v(d*v(u*l))),!(16&c))break e;if(p=g(_=s+1|0,152)+a|0,l=v(m[r+128>>2]*m[o+60>>2]),m[p+100>>2]=l,b&&(d=m[p+24>>2],f=m[p+20>>2],e=g(n,244)+y|0,u=m[b+344>>2],m[e+64>>2]=v(v(l*v(u*m[p+16>>2]))*m[e+112>>2])+m[e+64>>2],m[e+68>>2]=v(v(l*v(u*f))*m[e+116>>2])+m[e+68>>2],m[e+72>>2]=v(v(l*v(u*d))*m[e+120>>2])+m[e+72>>2],u=m[p+72>>2],d=m[p+68>>2],m[e+80>>2]=v(v(l*m[e+96>>2])*m[p+64>>2])+m[e+80>>2],f=m[e+104>>2],m[e+84>>2]=v(d*v(l*m[e+100>>2]))+m[e+84>>2],m[e+88>>2]=v(u*v(l*f))+m[e+88>>2]),!t)break e;return n=g(_,152)+a|0,d=m[n+88>>2],f=m[n+84>>2],C=m[n+56>>2],A=m[n+52>>2],x=m[n+48>>2],u=m[t+344>>2],e=g(i,244)+y|0,l=m[p+100>>2],m[e+80>>2]=m[e+80>>2]+v(m[n+80>>2]*v(m[e+96>>2]*l)),m[e+64>>2]=m[e+64>>2]+v(v(l*v(u*x))*m[e+112>>2]),m[e+68>>2]=m[e+68>>2]+v(v(l*v(u*A))*m[e+116>>2]),m[e+72>>2]=m[e+72>>2]+v(v(l*v(u*C))*m[e+120>>2]),u=m[e+104>>2],m[e+84>>2]=m[e+84>>2]+v(f*v(l*m[e+100>>2])),void(m[e+88>>2]=m[e+88>>2]+v(d*v(u*l)))}e=g(s,152)+a|0,h[e+100>>2]=0,16&c&&(h[e+252>>2]=0)}}function it(e,t,n){var i,o,a=0,s=v(0),c=v(0),l=0,u=v(0),_=v(0),b=v(0),g=v(0),y=v(0);for(w=i=w-240|0,u=m[n>>2],s=m[n+4>>2],c=m[n+8>>2],h[e+124>>2]=0,m[e+120>>2]=c+m[e+100>>2],m[e+116>>2]=s+m[e+96>>2],m[e+112>>2]=u+m[e+92>>2],h[i+132>>2]=1065353216,h[(n=i)+136>>2]=0,h[n+140>>2]=0,h[n+124>>2]=0,h[n+128>>2]=0,h[n+152>>2]=1065353216,h[n+236>>2]=0,h[n+228>>2]=0,h[n+232>>2]=0,h[n+216>>2]=1065353216,h[n+220>>2]=0,h[n+224>>2]=0,h[n+172>>2]=0,h[n+164>>2]=0,h[n+168>>2]=0,h[n+156>>2]=0,h[n+160>>2]=0,h[n+196>>2]=1065353216,h[n+200>>2]=0,h[n+204>>2]=0,h[n+188>>2]=0,h[n+192>>2]=0,h[n+144>>2]=0,h[n+148>>2]=0,h[n+112>>2]=1065353216,h[n+116>>2]=0,h[n+120>>2]=0,h[n+208>>2]=0,h[n+212>>2]=0,h[n+180>>2]=0,h[n+184>>2]=0,h[n+176>>2]=1065353216,o=n+52|0,n=10,u=v(1);;){e:if(n){a=h[e+96>>2],h[i+224>>2]=h[e+92>>2],h[i+228>>2]=a,a=h[e+104>>2],h[i+232>>2]=h[e+100>>2],h[i+236>>2]=a,a=h[e+124>>2],h[i+168>>2]=h[e+120>>2],h[i+172>>2]=a,l=h[e+116>>2],h[(a=i)+160>>2]=h[e+112>>2],h[a+164>>2]=l,s=m[e+92>>2],c=m[e+112>>2],_=m[e+96>>2],b=m[e+116>>2],g=m[e+100>>2],y=m[e+120>>2],l=h[e+8>>2],h[a+84>>2]=0,h[a+12>>2]=1065353216,h[a+44>>2]=0,h[a+48>>2]=0,h[a+36>>2]=0,h[a+40>>2]=0,h[a+28>>2]=0,h[a+32>>2]=0,h[a+20>>2]=0,h[a+24>>2]=0,h[a+104>>2]=0,h[a+108>>2]=0,m[a+100>>2]=g-y,m[a+96>>2]=_-b,m[a+92>>2]=s-c,h[a+88>>2]=l,h[a+8>>2]=20308,l=h[l+188>>2],p[a+16>>1]=f[l+4>>1],p[a+18>>1]=f[l+6>>1],a=h[e+12>>2],s=v(r[h[h[a>>2]+48>>2]](a)),a=h[e+12>>2],r[h[h[a>>2]+44>>2]](a,v(s+m[e+56>>2])),d[e+170|0]?qe(h[e+8>>2],h[e+12>>2],i+176|0,i+112|0,i+8|0,m[t+56>>2]):Te(t,h[e+12>>2],i+176|0,i+112|0,i+8|0,m[t+56>>2]),a=h[e+12>>2],r[h[h[a>>2]+44>>2]](a,s);t:{if((b=m[i+12>>2])>2]-m[e+92>>2]),c=v(m[e+116>>2]-m[e+96>>2]),_=v(m[e+120>>2]-m[e+100>>2]),!((g=v(v(v(s*s)+v(c*c))+v(_*_)))>v(1.1920928955078125e-7)))break e;if(y=s,s=v(v(1)/v(S(g))),!(v(v(v(v(y*s)*m[e+76>>2])+v(v(c*s)*m[e+80>>2]))+v(v(_*s)*m[e+84>>2]))<=v(0)))break t;break e}a=h[e+116>>2],h[e+92>>2]=h[e+112>>2],h[e+96>>2]=a,a=h[e+124>>2],h[e+100>>2]=h[e+120>>2],h[e+104>>2]=a}if(n=n+-1|0,(u=v(u-b))>v(.009999999776482582))continue}break}w=i+240|0}function rt(e,t){var n,i=0,a=0,s=0,c=0,l=0;if(h[e>>2]=5228,h[7717]=h[7717]+1,i=0|r[h[6606]](360,16),h[i+308>>2]=953267991,o[i+332|0]=240&d[i+332|0],h[e+24>>2]=i,s=h[t+20>>2],h[7717]=h[7717]+1,i=0|r[h[6606]](4,16),h[i>>2]=s?4440:4648,h[e+28>>2]=i,h[7717]=h[7717]+1,a=0|r[h[6606]](24,16),s=h[e+24>>2],i=h[e+28>>2],h[a+16>>2]=0,h[a+20>>2]=3,h[a>>2]=9788,o[a+4|0]=0,h[a+12>>2]=s,h[a+8>>2]=i,h[e+32>>2]=a,h[7717]=h[7717]+1,i=0|r[h[6606]](8,16),h[i>>2]=5344,o[i+4|0]=0,h[e+36>>2]=i,h[7717]=h[7717]+1,i=0|r[h[6606]](8,16),h[i>>2]=5468,o[i+4|0]=0,h[e+40>>2]=i,h[7717]=h[7717]+1,i=0|r[h[6606]](8,16),h[i>>2]=5560,o[i+4|0]=0,h[e+44>>2]=i,h[7717]=h[7717]+1,i=0|r[h[6606]](8,16),h[i>>2]=5640,o[i+4|0]=0,h[e+48>>2]=i,h[7717]=h[7717]+1,i=0|r[h[6606]](8,16),h[i>>2]=5728,o[i+4|0]=0,h[e+52>>2]=i,h[7717]=h[7717]+1,i=0|r[h[6606]](8,16),h[i>>2]=5812,o[i+4|0]=0,h[e+56>>2]=i,h[7717]=h[7717]+1,i=0|r[h[6606]](8,16),h[i>>2]=5880,o[i+4|0]=0,h[e+60>>2]=i,h[7717]=h[7717]+1,i=0|r[h[6606]](8,16),h[i>>2]=5964,o[i+4|0]=0,h[e+76>>2]=i,h[7717]=h[7717]+1,i=0|r[h[6606]](8,16),h[i>>2]=5964,h[e+80>>2]=i,o[i+4|0]=1,h[7717]=h[7717]+1,i=0|r[h[6606]](8,16),h[i>>2]=6048,o[i+4|0]=0,h[e+72>>2]=i,h[7717]=h[7717]+1,i=0|r[h[6606]](16,16),h[i+8>>2]=1,h[i+12>>2]=0,h[i>>2]=6124,o[i+4|0]=0,h[e+88>>2]=i,h[7717]=h[7717]+1,i=0|r[h[6606]](16,16),h[i+8>>2]=1,h[i+12>>2]=0,h[i>>2]=6124,h[e+84>>2]=i,o[i+4|0]=1,n=h[t+16>>2],i=h[t>>2])h[e+8>>2]=i,o[e+12|0]=0;else{if(o[e+12|0]=1,h[7717]=h[7717]+1,l=0|r[h[6606]](20,16),i=h[t+8>>2],h[l+4>>2]=i,h[l>>2]=772,h[7717]=h[7717]+1,s=0|r[h[6606]](g(i,772),16),h[l+12>>2]=s,h[l+16>>2]=s,i=h[l+4>>2],h[l+8>>2]=i,c=i+-1|0)for(a=h[l>>2];i=a+s|0,h[s>>2]=i,s=i,c=c+-1|0;);else i=s;h[i>>2]=0,h[e+8>>2]=l}if(i=h[t+4>>2])return h[e+16>>2]=i,void(o[e+20|0]=0);if(o[e+20|0]=1,h[7717]=h[7717]+1,a=0|r[h[6606]](20,16),i=h[t+12>>2],h[a+4>>2]=i,t=(0|n)>80?n:80,h[a>>2]=t,h[7717]=h[7717]+1,s=0|r[h[6606]](g(t,i),16),h[a+12>>2]=s,h[a+16>>2]=s,t=h[a+4>>2],h[a+8>>2]=t,c=t+-1|0)for(t=h[a>>2];i=t+s|0,h[s>>2]=i,s=i,c=c+-1|0;);else i=s;h[i>>2]=0,h[e+16>>2]=a}function ot(e,t,n,i,r){var o,a=v(0),s=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=0,C=v(0),A=v(0),x=v(0),T=v(0),E=0,P=v(0),O=v(0),M=0,R=v(0),I=v(0),D=v(0),L=v(0),N=0,F=v(0),B=v(0),k=v(0),V=0,z=0,j=0,U=0;if(h[60+(o=w+-64|0)>>2]=n,h[o+56>>2]=t,h[o+52>>2]=e,a=m[t>>2],p=m[e>>2],_=m[t+4>>2],u=m[e+4>>2],g=m[t+8>>2],f=m[e+8>>2],h[o+12>>2]=0,s=v(f-g),m[o+8>>2]=s,b=v(u-_),m[o+4>>2]=b,d=v(p-a),m[o>>2]=d,A=m[n>>2],x=m[n+4>>2],T=m[n+8>>2],h[o+44>>2]=0,h[o+28>>2]=0,R=v(T-f),m[o+40>>2]=R,I=v(x-u),m[o+36>>2]=I,T=v(g-T),m[o+24>>2]=T,P=v(_-x),m[o+20>>2]=P,D=v(A-p),m[o+32>>2]=D,O=v(a-A),m[o+16>>2]=O,_=v(-1),g=v(v(d*P)-v(b*O)),A=v(v(b*T)-v(s*P)),x=v(v(s*O)-v(d*T)),!((L=v(v(g*g)+v(v(A*A)+v(x*x))))>v(0)))return v(-1);for(;v(v(v(p*v(v(g*b)-v(x*s)))+v(u*v(v(A*s)-v(g*d))))+v(v(v(x*d)-v(A*b))*f))>v(0)?(U=h[4384+(j=E<<2)>>2],N=h[(y=U<<2)+(o+52|0)>>2],F=m[N>>2],s=v(F-p),B=m[N+4>>2],b=v(B-u),k=m[N+8>>2],d=v(k-f),a=v(v(v(s*s)+v(b*b))+v(d*d)),C=v(-1),a>v(0)&&((a=v(v(-v(v(v(p*s)+v(u*b))+v(f*d)))/a))>=v(1)?(V=1065353216,z=0,M=2,C=v(v(v(F*F)+v(B*B))+v(k*k))):a<=v(0)?(V=0,z=1065353216,M=1,C=v(v(v(p*p)+v(u*u))+v(f*f))):(c(v(v(1)-a)),z=l(0),c(a),V=l(0),M=3,f=v(f+v(d*a)),p=v(p+v(s*a)),a=v(u+v(b*a)),C=v(v(f*f)+v(v(p*p)+v(a*a))))),!!((a=C)<_)|_>2]=(0-(1&M)&1<>31),h[i+j>>2]=z,h[i+y>>2]=V,h[(h[y+4384>>2]<<2)+i>>2]=0):a=_):a=_,3!=(0|(E=E+1|0));)d=m[(y=(E<<4)+o|0)>>2],s=m[y+8>>2],b=m[y+4>>2],y=h[(o+52|0)+(E<<2)>>2],f=m[y+8>>2],u=m[y+4>>2],p=m[y>>2],_=a;return a>2],_=m[e>>2],p=m[e+4>>2],h[r>>2]=7,p=v(v(v(v(A*_)+v(x*p))+v(g*a))/L),a=v(x*p),u=v(m[t+4>>2]-a),_=v(A*p),f=v(m[t>>2]-_),s=v(v(O*u)-v(P*f)),C=v(s*s),p=v(g*p),s=v(m[t+8>>2]-p),u=v(v(P*s)-v(T*u)),d=v(u*u),u=v(v(T*f)-v(O*s)),C=v(S(v(C+v(d+v(u*u))))),u=v(S(L)),f=v(C/u),m[i>>2]=f,s=v(m[n+4>>2]-a),b=v(m[n>>2]-_),d=v(v(D*s)-v(I*b)),C=v(d*d),d=v(m[n+8>>2]-p),s=v(v(I*d)-v(R*s)),g=v(s*s),s=v(v(R*b)-v(D*d)),u=v(v(S(v(C+v(g+v(s*s)))))/u),m[i+4>>2]=u,m[i+8>>2]=v(1)-v(f+u),a=v(v(p*p)+v(v(_*_)+v(a*a)))),a}function at(e,t,n,i){var r,o,a=0,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=0,f=v(0),_=v(0),b=v(0),g=v(0),y=0,C=0,A=v(0),x=v(0),T=v(0),E=v(0),P=0,O=v(0),M=0,R=0,I=v(0);A=m[n+4>>2],x=m[n+8>>2],u=v(x*v(0)),f=v(A-u),g=m[n>>2],_=v(u-g),p=v(g*v(0)),s=v(A*v(0)),c=v(p-s),T=v(S(v(v(v(f*f)+v(_*_))+v(c*c)))),b=v(v(1)/T),l=v(g-s),s=v(s-x),p=v(u-p),E=v(S(v(v(l*l)+v(v(s*s)+v(p*p))))),u=v(v(1)/E),f=v((a=T>E)?f*b:s*u),_=v(a?_*b:p*u),p=v(v(A*f)-v(g*_)),b=v(a?c*b:l*u),T=v(v(g*b)-v(x*f)),E=v(v(x*_)-v(A*b)),r=h[i+12>>2],o=(0|t)<1;e:{for(;;){if(d=-1,!o)for(u=m[n+8>>2],s=m[n+4>>2],c=m[n>>2],a=0;h[(a<<2)+r>>2]&&(-1==(0|d)||(l=v(v(v(c*m[(i=(a<<4)+e|0)>>2])+v(s*m[i+4>>2]))+v(u*m[i+8>>2])))>v(v(v(c*m[(i=(d<<4)+e|0)>>2])+v(s*m[i+4>>2]))+v(u*m[i+8>>2])))&&(d=a),(0|(a=a+1|0))!=(0|t););if(y=-1,a=0,3==h[(M=(d<<2)+r|0)>>2])break e;t:{for(;;){if(P=y,R=a,u=v(0|a),s=Ri(c=v(u*v(.01745329238474369))),c=wi(c),y=-1,!o)for(l=v(x+v(v(v(b*c)+v(p*s))*v(.02500000037252903))),O=v(A+v(v(v(_*c)+v(T*s))*v(.02500000037252903))),s=v(g+v(v(v(f*c)+v(E*s))*v(.02500000037252903))),a=0;h[(a<<2)+r>>2]&&(-1==(0|y)||(c=v(v(v(s*m[(i=(a<<4)+e|0)>>2])+v(O*m[i+4>>2]))+v(l*m[i+8>>2])))>v(v(v(s*m[(i=(y<<4)+e|0)>>2])+v(O*m[i+4>>2]))+v(l*m[i+8>>2])))&&(y=a),(0|(a=a+1|0))!=(0|t););if((0|d)==(0|y)&&(0|d)==(0|P))break t;if(!(-1==(0|P)|(0|y)==(0|P))&&(s=v(u+v(-40)))<=u)for(;;){if(c=Ri(l=v(s*v(.01745329238474369))),l=wi(l),i=-1,!o)for(O=v(x+v(v(v(b*l)+v(p*c))*v(.02500000037252903))),I=v(A+v(v(v(_*l)+v(T*c))*v(.02500000037252903))),c=v(g+v(v(v(f*l)+v(E*c))*v(.02500000037252903))),a=0;h[(a<<2)+r>>2]&&(-1==(0|i)||(l=v(v(v(c*m[(C=(a<<4)+e|0)>>2])+v(I*m[C+4>>2]))+v(O*m[C+8>>2])))>v(v(v(c*m[(C=(i<<4)+e|0)>>2])+v(I*m[C+4>>2]))+v(O*m[C+8>>2])))&&(i=a),(0|(a=a+1|0))!=(0|t););if((0|i)==(0|d)&&(0|d)==(0|P))break t;if(P=i,!((s=v(s+v(5)))<=u))break}if(a=R+45|0,!(R>>>0<316))break}h[M>>2]=0;continue}break}h[M>>2]=3}return d}function st(e,t,n){var i=v(0),r=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0);R=m[t+52>>2],I=m[t+56>>2],_=m[e+96>>2],b=m[e+100>>2],g=m[e+104>>2],i=m[t+20>>2],r=m[t+24>>2],y=m[e- -64>>2],C=m[e+80>>2],A=m[e+52>>2],x=m[e+68>>2],S=m[e+84>>2],T=m[e+56>>2],a=m[t+36>>2],E=m[e+72>>2],s=m[t+40>>2],P=m[e+88>>2],M=m[t+48>>2],c=m[t+8>>2],l=m[t>>2],u=m[t+4>>2],p=m[t+16>>2],O=m[e+48>>2],f=m[t+32>>2],h[e+1124>>2]=0,h[e+1108>>2]=0,h[e+1092>>2]=0,h[e+1076>>2]=0,m[e+1104>>2]=v(v(T*f)+v(E*a))+v(P*s),m[e+1100>>2]=v(v(A*f)+v(x*a))+v(S*s),m[e+1096>>2]=v(v(O*f)+v(y*a))+v(C*s),m[e+1088>>2]=v(v(T*p)+v(E*i))+v(P*r),m[e+1084>>2]=v(v(A*p)+v(x*i))+v(S*r),m[e+1080>>2]=v(v(O*p)+v(y*i))+v(C*r),m[e+1072>>2]=v(v(l*T)+v(u*E))+v(c*P),m[e+1068>>2]=v(v(l*A)+v(u*x))+v(c*S),m[e+1064>>2]=v(v(O*l)+v(y*u))+v(C*c),m[e+1120>>2]=I+v(v(v(f*_)+v(a*b))+v(s*g)),m[e+1116>>2]=R+v(v(v(p*_)+v(i*b))+v(r*g)),m[e+1112>>2]=M+v(v(v(l*_)+v(u*b))+v(c*g)),R=m[n+52>>2],I=m[n+56>>2],_=m[e+160>>2],b=m[e+164>>2],g=m[e+168>>2],i=m[n+20>>2],r=m[n+24>>2],y=m[e+128>>2],C=m[e+144>>2],A=m[e+116>>2],x=m[e+132>>2],S=m[e+148>>2],T=m[e+120>>2],E=m[e+136>>2],a=m[n+36>>2],P=m[e+152>>2],s=m[n+40>>2],M=m[n+48>>2],c=m[n+8>>2],l=m[n>>2],u=m[n+4>>2],p=m[n+16>>2],O=m[e+112>>2],f=m[n+32>>2],h[e+1188>>2]=0,h[e+1172>>2]=0,h[e+1156>>2]=0,h[e+1140>>2]=0,m[e+1168>>2]=v(v(T*f)+v(E*a))+v(P*s),m[e+1164>>2]=v(v(A*f)+v(x*a))+v(S*s),m[e+1160>>2]=v(v(O*f)+v(y*a))+v(C*s),m[e+1152>>2]=v(v(T*p)+v(E*i))+v(P*r),m[e+1148>>2]=v(v(A*p)+v(x*i))+v(S*r),m[e+1144>>2]=v(v(O*p)+v(y*i))+v(C*r),m[e+1136>>2]=v(v(l*T)+v(u*E))+v(c*P),m[e+1132>>2]=v(v(l*A)+v(u*x))+v(c*S),m[e+1128>>2]=v(v(O*l)+v(y*u))+v(C*c),m[e+1184>>2]=I+v(v(v(f*_)+v(a*b))+v(s*g)),m[e+1180>>2]=R+v(v(v(p*_)+v(i*b))+v(r*g)),m[e+1176>>2]=M+v(v(v(l*_)+v(u*b))+v(c*g)),function(e){var t=v(0),n=v(0),i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=0;h[e+1268>>2]=0,a=m[e+1084>>2],s=m[e+1104>>2],c=m[e+1088>>2],l=m[e+1100>>2],b=v(v(a*s)-v(c*l)),n=m[e+1064>>2],i=m[e+1068>>2],u=m[e+1096>>2],p=m[e+1080>>2],g=v(v(c*u)-v(s*p)),r=v(v(l*p)-v(a*u)),o=m[e+1072>>2],t=v(v(1)/v(v(v(b*n)+v(i*g))+v(r*o))),d=v(m[e+1184>>2]-m[e+1120>>2]),f=v(m[e+1176>>2]-m[e+1112>>2]),_=v(m[e+1180>>2]-m[e+1116>>2]),r=v(v(d*v(v(v(a*n)-v(p*i))*t))+v(v(f*v(r*t))+v(_*v(v(v(u*i)-v(l*n))*t)))),m[e+1264>>2]=r,n=v(v(d*v(v(v(p*o)-v(c*n))*t))+v(v(f*v(g*t))+v(_*v(v(v(s*n)-v(u*o))*t)))),m[e+1260>>2]=n,t=v(v(d*v(v(v(c*i)-v(a*o))*t))+v(v(f*v(b*t))+v(_*v(v(v(l*o)-v(s*i))*t)))),m[e+1256>>2]=t,m[e+840>>2]=t,i=m[e+680>>2],o=m[e+696>>2];e:{if(!(i>o)){if(i>t){h[e+856>>2]=2,t=v(t-i);break e}if(o>2]=1,t=v(t-o);break e}}h[e+856>>2]=0,t=v(0)}m[e+844>>2]=n,m[e+824>>2]=t,t=m[e+684>>2],i=m[e+700>>2];e:{if(!(t>i))t:{if(!(t>n)){if(!(i>2]=1,t=v(n-i);break e}h[e+860>>2]=2,t=v(n-t);break e}h[e+860>>2]=0,t=v(0)}m[e+848>>2]=r,m[e+828>>2]=t,y=e,t=m[e+688>>2],n=m[e+704>>2];e:{if(!(t>n))t:{if(!(t>r)){if(!(n>2]=1,t=v(r-n);break e}h[e+864>>2]=2,t=v(r-t);break e}h[e+864>>2]=0,t=v(0)}m[y+832>>2]=t}(e),Mt(e),d[e+1301|0]&&(r=m[h[e+28>>2]+344>>2],i=m[h[e+32>>2]+344>>2],o[e+1280|0]=rv(0)?v(M/i):v(.5),m[e+1272>>2]=i,m[e+1276>>2]=v(1)-i)}function ct(e){var t,n=0,i=0,r=0,o=0,a=0,s=0;if(t=w+-64|0,s=243703,(0|(a=h[e+732>>2]))>=1)for(;i=(r=h[e+740>>2])+g(o,52)|0,h[t+56>>2]=h[i+48>>2],n=h[i+44>>2],h[t+48>>2]=h[i+40>>2],h[t+52>>2]=n,n=h[i+36>>2],h[t+40>>2]=h[i+32>>2],h[t+44>>2]=n,n=h[i+28>>2],h[t+32>>2]=h[i+24>>2],h[t+36>>2]=n,n=h[i+20>>2],h[t+24>>2]=h[i+16>>2],h[t+28>>2]=n,n=h[i+12>>2],h[t+16>>2]=h[i+8>>2],h[t+20>>2]=n,n=h[i+4>>2],h[t+8>>2]=h[i>>2],h[t+12>>2]=n,s=g(s,1664525)+1013904223|0,n=r+g((s>>>0)%(a>>>0)|0,52)|0,r=h[n+4>>2],h[i>>2]=h[n>>2],h[i+4>>2]=r,h[i+48>>2]=h[n+48>>2],r=h[n+44>>2],h[i+40>>2]=h[n+40>>2],h[i+44>>2]=r,r=h[n+36>>2],h[i+32>>2]=h[n+32>>2],h[i+36>>2]=r,r=h[n+28>>2],h[i+24>>2]=h[n+24>>2],h[i+28>>2]=r,r=h[n+20>>2],h[i+16>>2]=h[n+16>>2],h[i+20>>2]=r,r=h[n+12>>2],h[i+8>>2]=h[n+8>>2],h[i+12>>2]=r,h[n+48>>2]=h[t+56>>2],i=h[t+52>>2],h[n+40>>2]=h[t+48>>2],h[n+44>>2]=i,i=h[t+44>>2],h[n+32>>2]=h[t+40>>2],h[n+36>>2]=i,i=h[t+36>>2],h[n+24>>2]=h[t+32>>2],h[n+28>>2]=i,i=h[t+28>>2],h[n+16>>2]=h[t+24>>2],h[n+20>>2]=i,i=h[t+20>>2],h[n+8>>2]=h[t+16>>2],h[n+12>>2]=i,i=h[t+12>>2],h[n>>2]=h[t+8>>2],h[n+4>>2]=i,(0|a)!=(0|(o=o+1|0)););if((0|(a=h[e+752>>2]))>=1)for(o=0;i=(r=h[e+760>>2])+g(o,44)|0,h[t+48>>2]=h[i+40>>2],n=h[i+36>>2],h[t+40>>2]=h[i+32>>2],h[t+44>>2]=n,n=h[i+28>>2],h[t+32>>2]=h[i+24>>2],h[t+36>>2]=n,n=h[i+20>>2],h[t+24>>2]=h[i+16>>2],h[t+28>>2]=n,n=h[i+12>>2],h[t+16>>2]=h[i+8>>2],h[t+20>>2]=n,n=h[i+4>>2],h[t+8>>2]=h[i>>2],h[t+12>>2]=n,s=g(s,1664525)+1013904223|0,n=r+g((s>>>0)%(a>>>0)|0,44)|0,r=h[n+4>>2],h[i>>2]=h[n>>2],h[i+4>>2]=r,h[i+40>>2]=h[n+40>>2],r=h[n+36>>2],h[i+32>>2]=h[n+32>>2],h[i+36>>2]=r,r=h[n+28>>2],h[i+24>>2]=h[n+24>>2],h[i+28>>2]=r,r=h[n+20>>2],h[i+16>>2]=h[n+16>>2],h[i+20>>2]=r,r=h[n+12>>2],h[i+8>>2]=h[n+8>>2],h[i+12>>2]=r,h[n+40>>2]=h[t+48>>2],i=h[t+44>>2],h[n+32>>2]=h[t+40>>2],h[n+36>>2]=i,i=h[t+36>>2],h[n+24>>2]=h[t+32>>2],h[n+28>>2]=i,i=h[t+28>>2],h[n+16>>2]=h[t+24>>2],h[n+20>>2]=i,i=h[t+20>>2],h[n+8>>2]=h[t+16>>2],h[n+12>>2]=i,i=h[t+12>>2],h[n>>2]=h[t+8>>2],h[n+4>>2]=i,(0|a)!=(0|(o=o+1|0)););}function lt(e,t){var n,i=0,r=v(0);w=n=w+-64|0,h[n+60>>2]=e,h[n+56>>2]=t,e=w-16|0,t=h[n+60>>2],h[e+12>>2]=t,r=m[h[e+12>>2]>>2],h[12+(e=w-16|0)>>2]=t+16,r=v(r+m[h[e+12>>2]+4>>2]),h[12+(e=w-16|0)>>2]=t+32,m[n+52>>2]=r+m[h[e+12>>2]+8>>2],m[n+52>>2]>v(0)?(m[12+(e=w-16|0)>>2]=m[n+52>>2]+v(1),m[n+28>>2]=S(m[e+12>>2]),m[n+44>>2]=m[n+28>>2]*v(.5),m[n+28>>2]=v(.5)/m[n+28>>2],h[12+(e=w-16|0)>>2]=t+32,r=m[h[e+12>>2]+4>>2],h[12+(e=w-16|0)>>2]=t+16,m[n+32>>2]=v(r-m[h[e+12>>2]+8>>2])*m[n+28>>2],h[12+(e=w-16|0)>>2]=t,r=m[h[e+12>>2]+8>>2],h[12+(e=w-16|0)>>2]=t+32,m[n+36>>2]=v(r-m[h[e+12>>2]>>2])*m[n+28>>2],h[12+(e=w-16|0)>>2]=t+16,r=m[h[e+12>>2]>>2],h[12+(e=w-16|0)>>2]=t,m[n+40>>2]=v(r-m[h[e+12>>2]+4>>2])*m[n+28>>2]):(e=n,h[12+(i=w-16|0)>>2]=t,r=m[h[i+12>>2]>>2],h[12+(i=w-16|0)>>2]=t+16,r>2]+4>>2]?(h[12+(i=w-16|0)>>2]=t+16,r=m[h[i+12>>2]+4>>2],h[12+(i=w-16|0)>>2]=t+32,i=r>2]+8>>2]?2:1):(h[12+(i=w-16|0)>>2]=t,r=m[h[i+12>>2]>>2],h[12+(i=w-16|0)>>2]=t+32,i=r>2]+8>>2]?2:0),h[e+24>>2]=i,h[n+20>>2]=(h[n+24>>2]+1|0)%3,h[n+16>>2]=(h[n+24>>2]+2|0)%3,h[12+(e=w-16|0)>>2]=t+(h[n+24>>2]<<4),r=m[h[e+12>>2]+(h[n+24>>2]<<2)>>2],h[12+(e=w-16|0)>>2]=t+(h[n+20>>2]<<4),r=v(r-m[h[e+12>>2]+(h[n+20>>2]<<2)>>2]),h[12+(e=w-16|0)>>2]=t+(h[n+16>>2]<<4),m[12+(i=w-16|0)>>2]=v(r-m[h[e+12>>2]+(h[n+16>>2]<<2)>>2])+v(1),m[n+12>>2]=S(m[i+12>>2]),m[(e=n+32|0)+(h[n+24>>2]<<2)>>2]=m[n+12>>2]*v(.5),m[n+12>>2]=v(.5)/m[n+12>>2],h[12+(i=w-16|0)>>2]=t+(h[n+16>>2]<<4),r=m[h[i+12>>2]+(h[n+20>>2]<<2)>>2],h[12+(i=w-16|0)>>2]=t+(h[n+20>>2]<<4),m[n+44>>2]=v(r-m[h[i+12>>2]+(h[n+16>>2]<<2)>>2])*m[n+12>>2],h[12+(i=w-16|0)>>2]=t+(h[n+20>>2]<<4),r=m[h[i+12>>2]+(h[n+24>>2]<<2)>>2],h[12+(i=w-16|0)>>2]=t+(h[n+24>>2]<<4),m[e+(h[n+20>>2]<<2)>>2]=v(r+m[h[i+12>>2]+(h[n+20>>2]<<2)>>2])*m[n+12>>2],h[12+(i=w-16|0)>>2]=t+(h[n+16>>2]<<4),r=m[h[i+12>>2]+(h[n+24>>2]<<2)>>2],h[12+(i=w-16|0)>>2]=t+(h[n+24>>2]<<4),m[e+(h[n+16>>2]<<2)>>2]=v(r+m[h[i+12>>2]+(h[n+16>>2]<<2)>>2])*m[n+12>>2]),e=n+32|0,va(h[n+56>>2],e,e+4|0,e+8|0,e+12|0),w=n- -64|0}function ut(e,t,n){var i=0,a=0,s=v(0),c=v(0),l=v(0),u=0,p=0,d=v(0),f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0);if(!((0|(i=h[e+748>>2]))<1)){for(;_=m[t+48>>2],A=m[t+8>>2],x=m[t>>2],S=m[t+4>>2],b=m[t+52>>2],T=m[t+24>>2],d=m[t+16>>2],E=m[t+20>>2],s=m[t+56>>2],c=m[t+40>>2],l=m[t+32>>2],y=m[t+36>>2],a=g(u=i+-1|0,184)+e|0,h[a- -64>>2]=0,P=s,s=m[a+4>>2],O=v(l*s),l=m[a+8>>2],f=c,c=m[a+12>>2],y=v(P+v(v(O+v(y*l))+v(f*c))),m[a+60>>2]=y,b=v(b+v(v(v(s*d)+v(l*E))+v(c*T))),m[a+56>>2]=b,_=v(_+v(v(v(s*x)+v(l*S))+v(c*A))),m[a+52>>2]=_,A=m[n+56>>2],x=m[n+40>>2],S=m[n+32>>2],T=m[n+36>>2],d=m[n+52>>2],E=m[n+24>>2],M=m[n+16>>2],R=m[n+20>>2],s=m[n+48>>2],c=m[n+8>>2],l=m[n>>2],C=m[n+4>>2],h[a+48>>2]=0,P=s,s=m[a+20>>2],O=v(l*s),l=m[a+24>>2],f=c,c=m[a+28>>2],C=v(P+v(v(O+v(C*l))+v(f*c))),m[a+36>>2]=C,d=v(d+v(v(v(s*M)+v(l*R))+v(c*E))),m[a+40>>2]=d,s=v(A+v(v(v(s*S)+v(l*T))+v(c*x))),m[a+44>>2]=s,m[a+84>>2]=v(v(v(_-C)*m[a+68>>2])+v(v(b-d)*m[a+72>>2]))+v(v(y-s)*m[a+76>>2]),h[a+152>>2]=h[a+152>>2]+1,a=(0|i)>1,i=u,a;);if(!((0|(n=h[e+748>>2]))<1))for(;a=4+(i=g(n=(t=n)+-1|0,184)+e|0)|0,(s=m[i+84>>2])<=(l=m[e+752>>2])?(c=v(m[i+36>>2]-v(m[i+52>>2]-v(m[i+68>>2]*s))),f=v(c*c),c=v(m[i+40>>2]-v(m[i+56>>2]-v(s*m[i+72>>2]))),s=v(m[i+44>>2]-v(m[i+60>>2]-v(s*m[i+76>>2]))),v(v(f+v(c*c))+v(s*s))>v(l*l)?((u=h[i+116>>2])&&(p=h[6734])&&(r[p](u),h[i+116>>2]=0),i=(p=h[e+748>>2])+-1|0,u=e,(0|t)!=(0|p)&&(Vn(a,4+(i=g(i,184)+e|0)|0,184),h[i+124>>2]=0,h[i+116>>2]=0,h[i+152>>2]=0,h[i+128>>2]=0,h[i+132>>2]=0,o[i+120|0]=0,i=h[e+748>>2]+-1|0),h[u+748>>2]=i):(i=h[6735])&&r[i](a,h[e+740>>2],h[e+744>>2])):((u=h[i+116>>2])&&(p=h[6734])&&(r[p](u),h[i+116>>2]=0),i=(p=h[e+748>>2])+-1|0,u=e,(0|t)!=(0|p)&&(Vn(a,4+(i=g(i,184)+e|0)|0,184),h[i+124>>2]=0,h[i+116>>2]=0,h[i+152>>2]=0,h[i+128>>2]=0,h[i+132>>2]=0,o[i+120|0]=0,i=h[e+748>>2]+-1|0),h[u+748>>2]=i),(0|t)>1;);}}function pt(e,t,n){var i=0,a=0,s=0,c=0,l=0,u=0,p=0,f=0,_=0,m=0,b=0;if(Ir(17892),(0|(i=h[e+28>>2]))<=-1)for(h[e+32>>2]<=-1&&((s=h[e+36>>2])&&(d[e+40|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s)),h[e+36>>2]=0),h[e+32>>2]=0,h[e+36>>2]=0,o[e+40|0]=1);h[h[e+36>>2]+(i<<2)>>2]=0,a=(s=i+1|0)>>>0>=i>>>0,i=s,a;);if(h[e+28>>2]=0,function(e){var t=0,n=0,i=0,r=0,o=0,a=0,s=0,c=0;if(w=o=w-16|0,!((0|(n=h[e+4>>2]))<=0)){for(a=h[e+12>>2];;){if(c=s=(i<<3)+a|0,(0|(t=i))!=(0|(r=h[s>>2])))for(;t=(r<<3)+a|0,h[c>>2]=h[t>>2],(0|(t=h[t>>2]))!=(0|(r=h[(c=(t<<3)+a|0)>>2])););if(h[s>>2]=t,(0|n)==(0|(i=i+1|0)))break}(0|n)<2||Nr(e,o+8|0,0,n+-1|0)}w=o+16|0}(e+4|0),(0|(p=h[e+8>>2]))>=1)for(s=0;;){for(u=(c=(0|p)>(0|(i=(a=s)+1|0))?p:i)+-1|0,l=h[e+16>>2],_=h[l+(a<<3)>>2];;){if((0|(s=(i=s)+1|0))>=(0|p))i=u,s=c;else if(h[(s<<3)+l>>2]==(0|_))continue;break}e:if(!(m=(0|a)>(0|i))){for(u=(0|i)>(0|a)?i:a,b=h[n+16>>2],c=1,i=a;f=h[(h[4+((i<<3)+l|0)>>2]<<2)+b>>2],h[f+208>>2]==(0|_)&&(c&=4!=(0|(f=h[f+216>>2]))&1!=(0|f)),f=(0|i)!=(0|u),i=i+1|0,f;);if(!c){if(m)break e;for(;;){if(i=h[h[n+16>>2]+(h[4+((a<<3)+l|0)>>2]<<2)>>2],h[i+208>>2]!=(0|_)|2!=h[i+216>>2]||(4!=(-2&h[i+216>>2])&&(h[i+216>>2]=3),h[i+220>>2]=0),(0|a)==(0|u))break e;a=a+1|0,l=h[e+16>>2]}}if(!m)for(;;){if(i=h[h[n+16>>2]+(h[4+((a<<3)+l|0)>>2]<<2)>>2],h[i+208>>2]==(0|_)&&4!=(-2&h[i+216>>2])&&(h[i+216>>2]=2),(0|a)==(0|u))break e;a=a+1|0,l=h[e+16>>2]}}if(!((0|s)<(0|p)))break}if((0|(l=0|r[h[h[t>>2]+36>>2]](t)))>=1)for(s=0;;){if(u=0|r[h[h[t>>2]+40>>2]](t,s),n=h[u+744>>2],i=h[u+740>>2],(!(!n|2==h[n+216>>2])||2!=h[i+216>>2]&&i)&&(!(2&(a=h[i+204>>2]))|4&a|2==h[i+216>>2]||Zu(n,0),!(2&(a=h[n+204>>2]))|4&a|2==h[n+216>>2]||Zu(i,0),d[e+64|0]&&r[h[h[t>>2]+28>>2]](t,i,n))){if((0|(a=h[e+28>>2]))==h[e+32>>2]&&!((0|a)>=(0|(n=a?a<<1:1)))){if(i=0,c=0,n&&(h[7717]=h[7717]+1,c=0|r[h[6606]](n<<2,16),a=h[e+28>>2]),(0|a)>=1)for(;h[(p=i<<2)+c>>2]=h[p+h[e+36>>2]>>2],(0|a)!=(0|(i=i+1|0)););(i=h[e+36>>2])&&(d[e+40|0]&&(i&&(h[7718]=h[7718]+1,r[h[6607]](i)),a=h[e+28>>2]),h[e+36>>2]=0),h[e+36>>2]=c,o[e+40|0]=1,h[e+32>>2]=n}h[h[e+36>>2]+(a<<2)>>2]=u,h[e+28>>2]=a+1}if((0|l)==(0|(s=s+1|0)))break}Bo()}function ht(e,t,n){var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0);fn(e,e=h[e+144>>2]+g(t,284)|0,n),h[e+136>>2]=0,h[e+120>>2]=0,h[e+104>>2]=0,x=m[e+68>>2],T=m[e+72>>2],E=m[e+76>>2],l=wi(d=v(m[e+236>>2]*v(-.5))),o=Ri(d),I=m[e+56>>2],d=m[e+52>>2],u=m[e+60>>2],a=v(l/v(S(v(v(E*E)+v(v(T*T)+v(x*x)))))),l=v(T*a),f=v(E*a),a=v(x*a),i=v(v(2)/v(v(o*o)+v(v(f*f)+v(v(a*a)+v(l*l))))),P=v(f*i),y=v(l*P),C=v(a*i),_=v(o*C),N=v(y+_),c=v(m[e+232>>2]*v(.5)),r=v(wi(c)/v(S(v(v(v(d*d)+v(I*I))+v(u*u))))),s=v(r*v(-d)),c=Ri(c),O=v(r*v(-u)),D=v(-I),r=v(r*D),b=v(v(2)/v(v(c*c)+v(v(O*O)+v(v(s*s)+v(r*r))))),p=v(s*b),B=v(s*p),w=v(r*b),k=v(r*w),M=v(v(1)-v(B+k)),b=v(O*b),V=v(s*b),z=v(c*w),R=v(V-z),i=v(l*i),A=v(a*i),L=v(o*P),F=v(A-L),j=v(r*b),U=v(c*p),r=v(j+U),p=v(a*C),G=v(f*P),f=v(v(1)-v(p+G)),C=v(v(N*M)+v(v(R*F)+v(r*f))),H=v(a*P),o=v(o*i),a=v(H-o),P=v(A+L),A=v(l*i),l=v(v(1)-v(A+G)),i=v(v(a*M)+v(v(r*P)+v(R*l))),L=R,R=v(H+o),o=r,r=v(y-_),_=M,M=v(v(1)-v(p+A)),y=v(v(v(L*R)+v(o*r))+v(_*M)),m[e+132>>2]=v(v(C*D)-v(d*i))-v(u*y),_=v(v(I*x)-v(d*T)),p=v(v(u*T)-v(I*E)),A=v(v(d*E)-v(u*x)),o=v(v(1)/v(S(v(v(_*_)+v(v(p*p)+v(A*A)))))),_=v(_*o),p=v(p*o),o=v(A*o),m[e+128>>2]=v(_*y)+v(v(p*i)+v(o*C)),m[e+124>>2]=v(E*y)+v(v(x*i)+v(T*C)),i=v(j-U),w=v(s*w),C=v(c*b),s=v(w+C),y=v(O*b),c=v(v(1)-v(B+y)),O=v(v(i*N)+v(v(s*F)+v(c*f))),b=v(v(i*a)+v(v(P*c)+v(s*l))),s=v(v(v(s*R)+v(r*c))+v(i*M)),m[e+116>>2]=v(v(O*D)-v(d*b))-v(u*s),m[e+112>>2]=v(_*s)+v(v(p*b)+v(o*O)),m[e+108>>2]=v(E*s)+v(v(x*b)+v(T*O)),s=v(V+z),c=v(v(1)-v(k+y)),i=v(w-C),f=v(v(s*N)+v(v(c*F)+v(i*f))),l=v(v(s*a)+v(v(i*P)+v(c*l))),a=v(v(v(c*R)+v(i*r))+v(s*M)),m[e+100>>2]=v(v(f*D)-v(d*l))-v(u*a),m[e+96>>2]=v(_*a)+v(v(p*l)+v(o*f)),m[e+92>>2]=v(E*a)+v(v(x*l)+v(T*f)),h[e+152>>2]=0,r=u,u=m[e+32>>2],m[e+148>>2]=v(r*u)+m[e+44>>2],m[e+144>>2]=v(I*u)+m[e+40>>2],m[e+140>>2]=m[e+36>>2]+v(d*u)}function dt(e,t,n,i,r){var a,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=v(0);a=-16&d[r+16|0],o[r+16|0]=a,w=m[i>>2],_=m[t>>2],A=v(w-_),f=m[e>>2],s=v(f-_),D=m[i+4>>2],b=m[t+4>>2],x=v(D-b),u=m[e+4>>2],c=v(u-b),L=m[i+8>>2],g=m[t+8>>2],S=v(L-g),y=m[e+8>>2],l=v(y-g),p=v(v(v(A*s)+v(x*c))+v(S*l)),e=r,O=m[n>>2],T=v(O-_),M=m[n+4>>2],E=v(M-b),R=m[n+8>>2],P=v(R-g),(c=v(v(v(T*s)+v(E*c))+v(P*l)))<=v(0)^1|p<=v(0)^1?(s=v(f-O),l=v(u-M),C=v(y-R),I=v(v(v(A*s)+v(x*l))+v(S*C)),(l=v(v(v(T*s)+v(E*l))+v(P*C)))>=v(0)^1|I<=l^1?(C=v(v(c*I)-v(l*p)),l<=v(0)^1|c>=v(0)^1||(s=v(0),!(C<=v(0)))?(s=v(f-w),u=v(u-D),y=v(y-L),f=v(v(v(T*s)+v(E*u))+v(P*y)),(s=v(v(v(A*s)+v(x*u))+v(S*y)))>=v(0)^1|f<=s^1?(u=v(v(f*p)-v(c*s)),s<=v(0)^1|p>=v(0)^1||(c=v(0),!(u<=v(0)))?(p=v(v(l*s)-v(f*I)))<=v(0)&&(c=v(I-l))>=v(0)&&(s=v(f-s))>=v(0)?(h[r+12>>2]=0,o[r+16|0]=6|a,s=v(c/v(c+s)),m[r+8>>2]=R+v(v(L-R)*s),m[r+4>>2]=M+v(v(D-M)*s),m[r>>2]=O+v(v(w-O)*s),c=v(v(1)-s),l=v(0)):(h[r+12>>2]=0,o[r+16|0]=7|a,c=v(v(1)/v(C+v(p+u))),s=v(C*c),c=v(u*c),m[r+8>>2]=v(S*s)+v(g+v(P*c)),m[r+4>>2]=v(x*s)+v(b+v(E*c)),m[r>>2]=v(A*s)+v(_+v(T*c)),l=v(v(v(1)-c)-s)):(h[r+12>>2]=0,o[r+16|0]=5|a,s=v(p/v(p-s)),m[r+8>>2]=g+v(S*s),m[r+4>>2]=b+v(x*s),m[r>>2]=_+v(A*s),l=v(v(1)-s))):(t=h[i+4>>2],h[r>>2]=h[i>>2],h[r+4>>2]=t,t=h[i+12>>2],h[r+8>>2]=h[i+8>>2],h[r+12>>2]=t,o[r+16|0]=4|a,s=v(1),c=v(0),l=v(0))):(h[r+12>>2]=0,o[r+16|0]=3|a,c=v(c/v(c-l)),m[r+8>>2]=g+v(P*c),m[r+4>>2]=b+v(E*c),m[r>>2]=_+v(T*c),l=v(v(1)-c))):(t=h[n+4>>2],h[r>>2]=h[n>>2],h[r+4>>2]=t,t=h[n+12>>2],h[r+8>>2]=h[n+8>>2],h[r+12>>2]=t,o[r+16|0]=2|a,c=v(1),s=v(0),l=v(0))):(n=h[t+4>>2],h[r>>2]=h[t>>2],h[r+4>>2]=n,n=h[t+12>>2],h[r+8>>2]=h[t+8>>2],h[r+12>>2]=n,o[r+16|0]=1|a,c=v(0),s=v(0),l=v(1)),m[e+20>>2]=l,h[r+32>>2]=0,m[r+28>>2]=s,m[r+24>>2]=c}function ft(e,t,n,i,o,a){var s,c=0,l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=0,A=v(0),x=v(0),T=v(0),E=0,P=v(0),O=0,M=0,R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=0,k=0,V=0,z=0,j=0,U=0;w=s=w-32|0;e:if(!(h[e+56>>2]<1))for(p=m[i+8>>2],u=m[n+8>>2],x=_=v(p-u),l=m[i>>2],b=m[n>>2],d=v(l-b),g=m[i+4>>2],y=m[n+4>>2],f=v(g-y),A=v(v(1)/v(S(v(v(v(d*d)+v(f*f))+v(_*_))))),_=v(_*A),T=d,d=v(d*A),P=f,f=v(f*A),P=v(v(x*_)+v(v(T*d)+v(P*f))),A=m[a+8>>2],R=v((u>2],I=v((y>2],D=v((b>2],L=v(u+p),u=m[o+4>>2],N=v((g>2],F=v(b+l),i=h[e+96>>2],B=((c=(b=_==v(0)?v(0xde0b6b000000000):v(v(1)/_))>2],h[s>>2]=h[i>>2],h[s+4>>2]=c,c=h[i+12>>2],h[s+8>>2]=h[i+8>>2],h[s+12>>2]=c,c=h[i+28>>2],h[s+24>>2]=h[i+24>>2],h[s+28>>2]=c,c=h[i+20>>2],h[s+16>>2]=h[i+16>>2],h[s+20>>2]=c,m[s>>2]=m[s>>2]-T,m[s+4>>2]=m[s+4>>2]-x,m[s+16>>2]=m[s+16>>2]-l,m[s+20>>2]=m[s+20>>2]-u,m[s+8>>2]=m[s+8>>2]-A,m[s+24>>2]=m[s+24>>2]-p,c=0,F>m[i+16>>2]||(c=0,D>2]||(c=1)),C=0,C=R>2]|L>m[i+24>>2]?C:c;t:{n:{i:{r:{if(!(I>2]|N>m[i+20>>2]|1^C||(d=m[n+4>>2],p=v(g*v(m[k>>2]-d)),l=m[n>>2],p>(u=v(y*v(m[U>>2]-l)))||(l=v(y*v(m[j>>2]-l)))>(d=v(g*v(m[z>>2]-d)))||(_=m[n+8>>2],(f=v(b*v(m[B>>2]-_)))>(u=dl?p:l)>(l=v(b*v(m[V>>2]-_))))))){if(C=-1==(0|(M=h[i+32>>2])),1!=(0|(c=(f>p?f:p)v(0)))|-1!=(0|M))break r;r[h[h[t>>2]+8>>2]](t,h[i+36>>2],h[i+40>>2]);break i}C=-1==h[i+32>>2],c=0}if(!C&&!c)break n}E=E+1|0,i=i- -64|0;break t}E=(c=h[i+32>>2])+E|0,i=(c<<6)+i|0}if(O=O+1|0,(0|E)>=h[e+56>>2])break e;p=m[o+8>>2],u=m[o+4>>2],l=m[o>>2],A=m[a+8>>2],x=m[a+4>>2],T=m[a>>2]}h[7309]<(0|O)&&(h[7309]=O),w=s+32|0}function _t(e,t){var n,i=0,a=0,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),f=0,_=v(0),b=v(0),g=v(0),C=0,A=0,x=0,S=0,T=0,E=0,P=0,O=0,M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=v(0),N=0,F=0,B=0;if((0|(n=h[e+4>>2]))>=1)for(;;){e:if(!((0|(S=(i=S)+1|0))>=(0|n)))for(F=T=(a=h[e+12>>2])+(i<<4)|0,i=S;;){t:if(!((0|(E=i+1|0))>=(0|n)))for(B=P=(i<<4)+a|0,O=E;;){c=m[4+(i=(O<<4)+a|0)>>2],l=m[P>>2],_=m[P+4>>2],b=m[i>>2],g=v(v(c*l)-v(_*b)),u=m[i+8>>2],M=m[P+8>>2],R=v(v(_*u)-v(M*c)),I=v(v(M*b)-v(u*l));n:if(v(v(g*g)+v(v(R*R)+v(I*I)))>v(9999999747378752e-20)&&(s=m[T+4>>2],p=m[T>>2],w=v(v(b*s)-v(c*p)),D=c,c=m[T+8>>2],L=v(v(D*c)-v(u*s)),b=v(v(u*p)-v(b*c)),v(v(w*w)+v(v(L*L)+v(b*b)))>v(9999999747378752e-20)&&(u=v(v(_*p)-v(l*s)),_=v(v(M*s)-v(_*c)),l=v(v(l*c)-v(M*p)),v(v(u*u)+v(v(_*_)+v(l*l)))>v(9999999747378752e-20)&&(s=v(v(c*g)+v(v(s*I)+v(R*p))),v(y(s))>v(9.999999974752427e-7))))){if(s=v(v(-1)/s),p=m[i+12>>2],c=m[F+12>>2],D=v(g*c),g=m[B+12>>2],u=v(s*v(v(u*p)+v(D+v(w*g)))),l=v(s*v(v(l*p)+v(v(I*c)+v(b*g)))),s=v(s*v(v(_*p)+v(v(R*c)+v(L*g)))),i=0,(0|(A=h[e+4>>2]))>0)for(;;){if(v(v(m[12+(f=(i<<4)+a|0)>>2]+v(v(v(s*m[f>>2])+v(l*m[f+4>>2]))+v(u*m[f+8>>2])))+v(-.009999999776482582))>v(0))break n;if((0|A)==(0|(i=i+1|0)))break}if((0|(a=h[t+4>>2]))==h[t+8>>2]&&!((0|a)>=(0|(f=a?a<<1:1)))){if(i=0,A=0,f&&(h[7717]=h[7717]+1,A=0|r[h[6606]](f<<4,16),a=h[t+4>>2]),(0|a)>=1)for(;x=(C=i<<4)+A|0,C=C+h[t+12>>2]|0,N=h[C+4>>2],h[x>>2]=h[C>>2],h[x+4>>2]=N,N=h[C+12>>2],h[x+8>>2]=h[C+8>>2],h[x+12>>2]=N,(0|a)!=(0|(i=i+1|0)););(i=h[t+12>>2])&&(d[t+16|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[t+12>>2]=0),h[t+12>>2]=A,o[t+16|0]=1,h[t+8>>2]=f,a=h[t+4>>2]}i=h[t+12>>2]+(a<<4)|0,h[i+12>>2]=0,m[i+8>>2]=u,m[i+4>>2]=l,m[i>>2]=s,h[t+4>>2]=h[t+4>>2]+1}if((0|(O=O+1|0))>=(0|n))break t;a=h[e+12>>2]}if((0|n)==(0|E))break e;a=h[e+12>>2],i=E}if((0|n)==(0|S))break}}function mt(e,t,n){var i,o,a=0,s=0,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0);w=i=w-160|0,s=h[e+4>>2],a=h[s+12>>2],L=m[a+52>>2],N=m[a+56>>2],c=m[a+24>>2],l=m[a+20>>2],u=m[a+40>>2],p=m[a+36>>2],F=m[a+48>>2],d=m[a+8>>2],f=m[a>>2],_=m[a+4>>2],b=m[a+16>>2],y=m[a+32>>2],a=h[h[s+4>>2]+24>>2]+g(n,80)|0,C=m[a+32>>2],A=m[a>>2],x=m[a+16>>2],S=m[a+56>>2],T=m[a+52>>2],E=m[a+48>>2],P=m[a+36>>2],O=m[a+20>>2],M=m[a+4>>2],R=m[a+40>>2],I=m[a+24>>2],D=m[a+8>>2],s=0,h[i+156>>2]=0,h[i+140>>2]=0,h[i+124>>2]=0,m[i+136>>2]=v(v(y*D)+v(p*I))+v(u*R),m[i+132>>2]=v(v(y*M)+v(p*O))+v(u*P),m[i+120>>2]=v(v(b*D)+v(l*I))+v(c*R),m[i+116>>2]=v(v(b*M)+v(l*O))+v(c*P),m[i+152>>2]=N+v(v(v(y*E)+v(p*T))+v(u*S)),m[i+148>>2]=L+v(v(v(b*E)+v(l*T))+v(c*S)),h[i+108>>2]=0,m[i+128>>2]=v(v(y*A)+v(p*x))+v(u*C),m[i+112>>2]=v(v(b*A)+v(l*x))+v(c*C),m[i+96>>2]=v(v(f*A)+v(_*x))+v(d*C),m[i+104>>2]=v(v(f*D)+v(_*I))+v(d*R),m[i+100>>2]=v(v(f*M)+v(_*O))+v(d*P),m[i+144>>2]=F+v(v(v(f*E)+v(_*T))+v(d*S)),r[h[h[t>>2]+8>>2]](t,i+96|0,i+80|0,i- -64|0),a=h[e+8>>2],o=h[a+4>>2],r[h[h[o>>2]+8>>2]](o,h[a+12>>2],i+48|0,i+32|0),(a=h[6995])&&!r[a](h[h[e+8>>2]+4>>2],t)||(s=m[i+64>>2]>2]|m[i+80>>2]>m[i+32>>2]?s:1,a=0,a=m[i+72>>2]>2]|m[i+88>>2]>m[i+40>>2]?a:s,m[i+68>>2]>2]|m[i+84>>2]>m[i+36>>2]|1^a||(a=h[e+4>>2],s=h[a+8>>2],h[i+24>>2]=-1,h[i+16>>2]=s,h[i+12>>2]=t,h[i+8>>2]=a,h[i+28>>2]=n,h[i+20>>2]=i+96,h[(t=n<<2)+h[e+24>>2]>>2]||(a=h[e+12>>2],a=0|r[h[h[a>>2]+8>>2]](a,i+8|0,h[e+8>>2],h[e+28>>2]),h[t+h[e+24>>2]>>2]=a,a=h[e+4>>2]),s=h[e+20>>2],t=h[s+8>>2],h[t+8>>2]!=h[a+8>>2]?(t=h[s+12>>2],h[s+12>>2]=i+8,r[h[h[s>>2]+12>>2]](s,-1,n)):(h[s+8>>2]=i+8,r[h[h[s>>2]+8>>2]](s,-1,n)),n=h[h[e+24>>2]+(n<<2)>>2],r[h[h[n>>2]+8>>2]](n,i+8|0,h[e+8>>2],h[e+16>>2],h[e+20>>2]),n=h[e+20>>2],h[(h[h[n+8>>2]+8>>2]==h[h[e+4>>2]+8>>2]?8:12)+n>>2]=t)),w=i+160|0}function bt(e,t){var n,i=0,r=v(0),a=v(0),s=v(0),c=v(0),l=0,u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=0,A=v(0),x=v(0),S=v(0),T=v(0),E=v(0);w=n=w-176|0;e:if(!(1&o[t+100|0])&&function(e,t,n,i,r){var o=v(0),a=0,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=0,A=0,x=v(0),S=v(0),T=v(0),E=v(0),P=0;return w=a=w-32|0,C=h[t+4>>2],A=h[e+684>>2],e=h[t+12>>2],l=m[e+20>>2],u=m[e+36>>2],s=m[e+24>>2],c=m[e+52>>2],d=m[e+40>>2],f=m[e+56>>2],_=m[e+32>>2],b=m[e>>2],g=m[e+16>>2],y=m[e+4>>2],o=m[e+8>>2],p=m[e+48>>2],x=m[n>>2],S=m[n+4>>2],T=m[n+8>>2],h[a+12>>2]=0,E=o,o=v(x-p),p=s,s=v(S-c),c=v(T-f),m[a+8>>2]=v(v(E*o)+v(p*s))+v(d*c),m[a+4>>2]=v(v(o*y)+v(s*l))+v(c*u),m[a>>2]=v(v(o*b)+v(s*g))+v(c*_),!((i=Fe(A+56|0,a,C,a+16|0,i))>2]=h[t+8>>2],d=m[e+8>>2],f=m[e>>2],_=m[e+4>>2],u=m[e+24>>2],b=m[e+16>>2],g=m[e+20>>2],l=m[e+40>>2],y=m[e+32>>2],p=m[e+36>>2],o=m[a+24>>2],s=m[a+16>>2],c=m[a+20>>2],h[r+16>>2]=0,l=v(v(v(s*y)+v(c*p))+v(o*l)),m[r+12>>2]=l,u=v(v(v(s*b)+v(c*g))+v(o*u)),m[r+8>>2]=u,o=v(v(v(f*s)+v(_*c))+v(d*o)),m[r+4>>2]=o,m[r+20>>2]=-v(v(v(o*v(m[n>>2]-v(i*o)))+v(u*v(m[n+4>>2]-v(i*u))))+v(l*v(m[n+8>>2]-v(i*l)))),P=1),w=a+32|0,P}(h[e+4>>2],h[e+8>>2],t+8|0,m[(m[t+88>>2]>v(0)?16:20)+e>>2],n+72|0)){if(s=m[t+88>>2],i=h[e+12>>2]){if(y=m[i+344>>2],!(v(s+y)>v(0)))break e;i=i+4|0}else{if(!(v(s+v(0))>v(0)))break e;i=h[h[e+8>>2]+8>>2]+4|0}1&o[30748]||Vl(30748)&&(h[7685]=0,h[7686]=0,h[7683]=0,h[7684]=0,h[7681]=0,h[7682]=0,h[7679]=0,h[7680]=0,h[7677]=0,h[7678]=0,h[7675]=0,h[7676]=0,Fu(30748)),l=h[e+12>>2],r=m[i+52>>2],u=m[t+12>>2],c=m[i+56>>2],a=m[t+16>>2],p=m[i+48>>2],f=m[t+8>>2],h[n+68>>2]=0,c=v(a-c),m[n+64>>2]=c,d=v(u-r),m[n+60>>2]=d,p=v(f-p),m[n+56>>2]=p,C=l?l+264|0:30700,l?(_=m[l+328>>2],b=m[l+332>>2],i=h[e+4>>2],r=m[i+452>>2],A=v(v(v(v(d*_)-v(p*b))+m[l+320>>2])*r),g=m[l+336>>2],p=v(v(m[l+316>>2]+v(v(p*g)-v(c*_)))*r),c=v(v(v(v(c*b)-v(d*g))+m[l+312>>2])*r)):(i=h[e+4>>2],r=m[i+452>>2],p=v(0),c=v(0)),g=m[i+316>>2],x=m[t+32>>2],S=m[t+28>>2],T=m[h[h[e+8>>2]+8>>2]+224>>2],E=m[t+24>>2],h[n+96>>2]=t,d=m[n+84>>2],_=m[n+80>>2],b=m[n+76>>2],wt(n+8|0,r,s,y,C,n+56|0),t=h[n+20>>2],h[n+108>>2]=h[n+16>>2],h[n+112>>2]=t,t=h[n+28>>2],h[n+116>>2]=h[n+24>>2],h[n+120>>2]=t,t=h[n+36>>2],h[n+124>>2]=h[n+32>>2],h[n+128>>2]=t,t=h[n+44>>2],h[n+132>>2]=h[n+40>>2],h[n+136>>2]=t,t=h[n+52>>2],h[n+140>>2]=h[n+48>>2],h[n+144>>2]=t,i=h[4+(t=n- -64|0)>>2],h[n+156>>2]=h[t>>2],h[n+160>>2]=i,t=h[n+12>>2],h[n+100>>2]=h[n+8>>2],h[n+104>>2]=t,t=h[n+60>>2],h[n+148>>2]=h[n+56>>2],h[n+152>>2]=t,t=h[e+4>>2],m[n+164>>2]=s*m[t+452>>2],f=v(v(f-E)-c),u=v(v(u-S)-p),a=v(v(a-x)-A),s=v(v(v(b*f)+v(_*u))+v(a*d)),r=v(g*T),a=v(a-v(d*s)),c=v(a*a),a=v(f-v(b*s)),u=v(u-v(_*s)),m[n+168>>2]=v(c+v(v(a*a)+v(u*u)))>2]=h[(3&h[h[h[e+8>>2]+8>>2]+204>>2]?t+328|0:t+324|0)>>2],It(t+808|0,n+72|0),(e=h[e+12>>2])&&Zu(e,0)}w=n+176|0}function gt(e,t,n,i){var a=0,s=0,c=0,l=0,u=0,p=0,f=0,_=0,b=0,g=0;if(!(!t|!n)){if(!(h[e+24>>2]>127|h[e+28>>2]>127)){if(h[7717]=h[7717]+1,a=0|r[h[6606]](1024,16),(0|(u=h[e+24>>2]))>=1)for(;l=(s=c<<3)+a|0,s=s+h[e+32>>2]|0,p=h[s+4>>2],h[l>>2]=h[s>>2],h[l+4>>2]=p,(0|u)!=(0|(c=c+1|0)););(u=h[e+32>>2])&&(d[e+36|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u)),h[e+32>>2]=0),h[e+32>>2]=a,h[e+28>>2]=128,o[e+36|0]=1}for(h[e+24>>2]=128,a=h[e+32>>2],h[a+4>>2]=n,h[a>>2]=t,t=124,a=1;;){if(n=h[e+32>>2],u=a,l=h[4+(s=n+(p=(a=a+-1|0)<<3)|0)>>2],s=h[s>>2],(0|a)>(0|t)){if(!((0|(c=h[e+24>>2]))>=(0|(t=c<<1))|h[e+28>>2]>=(0|t))){if(c){if(h[7717]=h[7717]+1,n=0|r[h[6606]](c<<4,16),c=0,!((0|(_=h[e+24>>2]))<1))for(;b=(f=c<<3)+n|0,f=h[e+32>>2]+f|0,g=h[f+4>>2],h[b>>2]=h[f>>2],h[b+4>>2]=g,(0|_)!=(0|(c=c+1|0)););}else n=0;(c=h[e+32>>2])&&(d[e+36|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c)),h[e+32>>2]=0),h[e+32>>2]=n,o[e+36|0]=1,h[e+28>>2]=t}h[e+24>>2]=t,t=t+-4|0}e:if((0|s)!=(0|l)){if(!(m[s>>2]<=m[l+16>>2]^1|m[s+16>>2]>=m[l>>2]^1|m[s+4>>2]<=m[l+20>>2]^1|m[s+20>>2]>=m[l+4>>2]^1||m[s+8>>2]<=m[l+24>>2]^1|m[s+24>>2]>=m[l+8>>2]^1))if(c=h[l+40>>2],h[s+40>>2]){if(a=h[s+36>>2],c){h[4+(n=n+p|0)>>2]=h[l+36>>2],h[n>>2]=a,a=h[s+40>>2],c=(n=u<<3)+h[e+32>>2]|0,h[c+4>>2]=h[l+36>>2],h[c>>2]=a,a=h[s+36>>2],c=n+h[e+32>>2]|0,h[c+12>>2]=h[l+40>>2],h[c+8>>2]=a,a=h[s+40>>2],n=n+h[e+32>>2]|0,h[n+20>>2]=h[l+40>>2],h[n+16>>2]=a,a=u+3|0;break e}h[4+(n=n+p|0)>>2]=l,h[n>>2]=a,n=h[s+40>>2],a=h[e+32>>2]+(u<<3)|0,h[a+4>>2]=l,h[a>>2]=n,a=u+1|0}else c?(h[4+(n=n+p|0)>>2]=h[l+36>>2],h[n>>2]=s,n=h[e+32>>2]+(u<<3)|0,h[n+4>>2]=h[l+40>>2],h[n>>2]=s,a=u+1|0):r[h[h[i>>2]+8>>2]](i,s,l)}else{if(!h[s+40>>2])break e;n=n+p|0,a=h[s+36>>2],h[n+4>>2]=a,h[n>>2]=a,a=(n=u<<3)+h[e+32>>2]|0,l=h[s+40>>2],h[a+4>>2]=l,h[a>>2]=l,a=h[s+40>>2],n=n+h[e+32>>2]|0,h[n+8>>2]=h[s+36>>2],h[n+12>>2]=a,a=u+2|0}if(!a)break}}}function vt(e,t){var n,i,r,o,a,s=v(0),c=0,l=0,u=v(0),p=0,d=v(0),f=v(0),_=0,b=v(0),g=v(0),y=v(0);for(w=n=w-144|0,s=m[e+20>>2],u=v(v(v(h[t+256>>2])*v(3))*s),g=v(s*v(v(h[t+264>>2])*v(3))),y=v(s*v(v(h[t+260>>2])*v(3))),r=n+104|0,o=n+80|4,a=i=n+124|0;;){for(d=v(g+v(s*v(0|p))),l=0;h[n+20>>2]=0,m[n+16>>2]=d,m[n+8>>2]=u+v(s*v(0)),f=v(y+v(s*v(0|l))),m[n+12>>2]=f,c=h[t+276>>2],h[n+80>>2]=1065353216,h[o+8>>2]=0,h[o+12>>2]=0,h[o>>2]=0,h[o+4>>2]=0,h[n+100>>2]=1065353216,h[r+8>>2]=0,h[r+12>>2]=0,h[r>>2]=0,h[r+4>>2]=0,h[n+120>>2]=1065353216,h[a+16>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0,h[i>>2]=0,h[i+4>>2]=0,h[c+4>>2]>19?s=v(0):(s=ne(n+8|0,c,n+80|0,n+24|0),c=h[t+276>>2]),m[(_=((l<<4)+t|0)+(p<<2)|0)>>2]=s,s=m[e+20>>2],h[n+20>>2]=0,m[n+16>>2]=d,m[n+12>>2]=f,m[n+8>>2]=u+s,h[n+80>>2]=1065353216,h[o+8>>2]=0,h[o+12>>2]=0,h[o>>2]=0,h[o+4>>2]=0,h[n+100>>2]=1065353216,h[r+8>>2]=0,h[r+12>>2]=0,h[r>>2]=0,h[r+4>>2]=0,h[n+120>>2]=1065353216,h[a+16>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0,h[i>>2]=0,h[i+4>>2]=0,h[c+4>>2]<=19&&(b=ne(n+8|0,c,n+80|0,n+24|0),c=h[t+276>>2]),m[_- -64>>2]=b,s=m[e+20>>2],h[n+20>>2]=0,m[n+16>>2]=d,m[n+12>>2]=f,m[n+8>>2]=u+v(s+s),h[n+80>>2]=1065353216,h[o+8>>2]=0,h[o+12>>2]=0,h[o>>2]=0,h[o+4>>2]=0,h[n+100>>2]=1065353216,h[r+8>>2]=0,h[r+12>>2]=0,h[r>>2]=0,h[r+4>>2]=0,h[n+120>>2]=1065353216,h[a+16>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0,h[i>>2]=0,h[i+4>>2]=0,b=v(0),h[c+4>>2]>19?s=v(0):(s=ne(n+8|0,c,n+80|0,n+24|0),c=h[t+276>>2]),m[_+128>>2]=s,s=m[e+20>>2],h[n+20>>2]=0,m[n+16>>2]=d,m[n+12>>2]=f,m[n+8>>2]=u+v(s*v(3)),h[n+80>>2]=1065353216,h[o+8>>2]=0,h[o+12>>2]=0,h[o>>2]=0,h[o+4>>2]=0,h[n+100>>2]=1065353216,h[r+8>>2]=0,h[r+12>>2]=0,h[r>>2]=0,h[r+4>>2]=0,h[n+120>>2]=1065353216,h[a+16>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0,h[i>>2]=0,h[i+4>>2]=0,s=h[c+4>>2]<=19?ne(n+8|0,c,n+80|0,n+24|0):v(0),m[_+192>>2]=s,4!=(0|(l=l+1|0));)s=m[e+20>>2];if(4==(0|(p=p+1|0)))break;s=m[e+20>>2]}w=n+144|0}function yt(e,t,n,i,a,s,c,l){var u,p=v(0),f=v(0),_=v(0),b=0,y=0,C=v(0),A=0,x=0,T=0,E=0,P=v(0),O=0,M=0,R=0,I=0,D=v(0),L=v(0),N=0,F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=0;if(w=u=w-48|0,p=m[e+8>>2],f=m[e>>2],_=m[e+4>>2],h[u+44>>2]=h[e+12>>2],C=p,p=v(v(1)/v(S(v(v(v(f*f)+v(_*_))+v(p*p))))),P=v(C*p),m[u+40>>2]=P,D=v(_*p),m[u+36>>2]=D,L=v(f*p),m[u+32>>2]=L,b=h[n+36>>2],(0|(A=h[n+28>>2]))<1)T=-1;else for(F=m[a+40>>2],B=m[a+36>>2],k=m[a+24>>2],V=m[a+20>>2],z=m[a+32>>2],j=m[a+16>>2],U=m[a+8>>2],G=m[a+4>>2],H=m[a>>2],e=0,p=v(-34028234663852886e22),T=-1;y=b+g(e,36)|0,f=m[y+20>>2],_=m[y+24>>2],C=m[y+28>>2],p=(y=(f=v(v(v(L*v(v(v(f*H)+v(_*G))+v(C*U)))+v(D*v(v(v(f*j)+v(_*V))+v(C*k))))+v(P*v(v(v(f*z)+v(_*B))+v(C*F)))))>p)?f:p,T=y?e:T,(0|A)!=(0|(e=e+1|0)););h[u+20>>2]=0,h[u+12>>2]=0,h[u+16>>2]=0,o[u+24|0]=1;e:if(!((0|(N=h[4+(b+g(T,36)|0)>>2]))<1))for(W=b+g(T,36)|0,b=0,A=0;;){if(e=h[n+16>>2]+(h[h[W+12>>2]+(M<<2)>>2]<<4)|0,p=m[e>>2],f=m[e+4>>2],_=m[e+8>>2],C=v(v(v(v(p*m[a+32>>2])+v(f*m[a+36>>2]))+v(_*m[a+40>>2]))+m[a+56>>2]),P=v(v(v(v(p*m[a+16>>2])+v(f*m[a+20>>2]))+v(_*m[a+24>>2]))+m[a+52>>2]),p=v(v(v(v(p*m[a>>2])+v(f*m[a+4>>2]))+v(_*m[a+8>>2]))+m[a+48>>2]),(0|b)==(0|A)&&!((0|b)>=(0|(O=b?b<<1:1)))){e=0,R=0,O&&(h[7717]=h[7717]+1,R=0|r[h[6606]](O<<4,16)),y=h[u+20>>2];t:{n:{if((0|b)>=1)for(;;)if(E=(x=e<<4)+R|0,I=h[4+(x=y+x|0)>>2],h[E>>2]=h[x>>2],h[E+4>>2]=I,I=h[x+12>>2],h[E+8>>2]=h[x+8>>2],h[E+12>>2]=I,(0|b)==(0|(e=e+1|0)))break n;if(!y)break t}d[u+24|0]&&y&&(h[7718]=h[7718]+1,r[h[6607]](y)),h[u+20>>2]=0}h[u+20>>2]=R,o[u+24|0]=1,h[u+16>>2]=O}if(e=h[u+20>>2]+(A<<4)|0,h[e+12>>2]=0,m[e+8>>2]=C,m[e+4>>2]=P,m[e>>2]=p,A=h[u+12>>2]+1|0,h[u+12>>2]=A,(0|N)==(0|(M=M+1|0)))break e;b=h[u+16>>2]}(0|T)>-1&&Ce(u+32|0,t,i,u+8|0,s,c,l),(e=h[u+20>>2])&&(d[u+24|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[u+20>>2]=0),w=u+48|0}function Ct(e,t,n,i,r,o){var a,s,c,l,u,p,d,f,_,b,g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0);if(a=w-16|0,C=m[i>>2],g=m[n>>2],A=v(v(C+g)*v(.5)),y=v(m[t>>2]-A),C=v(C-g),s=y>(R=v(C*v(.5))),c=y<(C=v(C*v(-.5))),g=m[i+4>>2],x=m[n+4>>2],S=v(v(g+x)*v(.5)),P=v(m[t+4>>2]-S),g=v(g-x),l=P<(T=v(g*v(-.5))),u=P>(x=v(g*v(.5))),g=m[i+8>>2],E=m[n+8>>2],M=v(v(g+E)*v(.5)),O=v(m[t+8>>2]-M),g=v(g-E),!((t=c|s<<3|l<<1|u<<4|(i=O<(I=v(g*v(-.5))))<<2|(O>(E=v(g*v(.5))))<<5)&(b=(p=(A=v(m[e>>2]-A))R)<<3|(d=(S=v(m[e+4>>2]-S))x)<<4|(_=(T=v(m[e+8>>2]-M))E)<<5))){C=m[r>>2],h[a+8>>2]=0,h[a+12>>2]=0,h[a>>2]=0,h[a+4>>2]=0,M=v(y-A),g=v(-A),e=4|a;e:if(p){if(!((y=v(v(g-R)/M))>=v(0))){y=v(0);break e}h[e>>2]=0,h[e+4>>2]=0,h[e+8>>2]=0,h[a>>2]=1065353216}else y=v(0),c&&(g=v(v(g-R)/M))>2]=0,h[a+12>>2]=0,h[a>>2]=0,h[a+4>>2]=0,h[a+4>>2]=1065353216;break e}l&&(g=v(v(g-x)/P))>2]=0,h[a+12>>2]=0,h[a+8>>2]=1065353216,h[a>>2]=0,h[a+4>>2]=0;break e}i&&(y=v(v(y-E)/O))>2]=0,h[e+4>>2]=0,h[e+8>>2]=0,h[a>>2]=-1082130432;break e}s&&(g=v(v(R-A)/M))>2]=0,h[a+12>>2]=0,h[a>>2]=0,h[a+4>>2]=0,h[a+4>>2]=-1082130432;break e}u&&(y=v(v(x-S)/P))>2]=0,h[a+12>>2]=0,h[a+8>>2]=-1082130432,h[a>>2]=0,h[a+4>>2]=0;break e}32&t&&(g=v(v(E-T)/O))>2]=g,e=h[a+12>>2],h[o+8>>2]=h[a+8>>2],h[o+12>>2]=e,e=h[a+4>>2],h[o>>2]=h[a>>2],h[o+4>>2]=e,1}return 0}function At(e){var t=0;h[e+288>>2]=0,h[e+292>>2]=1065353216,h[e+236>>2]=8,p[e+472>>1]=0,h[e+296>>2]=0,h[e+300>>2]=0,h[e+304>>2]=0,h[e+308>>2]=0,h[e+312>>2]=0,h[e+476>>2]=0,h[e+388>>2]=1,h[e+380>>2]=0,h[e+384>>2]=4,h[e+372>>2]=0,h[e+376>>2]=1,h[e+364>>2]=1065353216,h[e+368>>2]=1065353216,h[e+356>>2]=1056964608,h[e+360>>2]=1056964608,h[e+348>>2]=1056964608,h[e+352>>2]=1056964608,h[e+340>>2]=1036831949,h[e+344>>2]=1065353216,h[e+332>>2]=1065353216,h[e+336>>2]=1060320051,h[e+324>>2]=1065353216,h[e+328>>2]=1036831949,h[e+316>>2]=1045220557,h[e+320>>2]=0,h[e+528>>2]=0,h[e+532>>2]=0,h[e+520>>2]=0,h[e+524>>2]=0,h[e+540>>2]=0,h[e+544>>2]=0,h[e+536>>2]=1065353216,h[e+548>>2]=0,h[e+552>>2]=0,h[e+560>>2]=0,h[e+564>>2]=0,h[e+556>>2]=1065353216,h[e+568>>2]=0,h[e+572>>2]=0,h[e+584>>2]=1065353216,h[e+576>>2]=1065353216,h[e+580>>2]=0,h[e+588>>2]=0,h[e+592>>2]=0,h[e+596>>2]=0,h[e+600>>2]=0,h[e+608>>2]=0,h[e+612>>2]=0,h[e+604>>2]=1065353216,h[e+616>>2]=0,h[e+620>>2]=0,o[e+924|0]=1,h[e+624>>2]=1065353216,h[e+628>>2]=0,h[e+888>>2]=0,h[e+680>>2]=0,h[e+916>>2]=0,h[e+920>>2]=0,h[e+908>>2]=0,h[e+912>>2]=0,h[e+900>>2]=0,h[e+904>>2]=0,h[e+892>>2]=0,h[e+896>>2]=0,h[e+16>>2]=0,h[e+20>>2]=0,h[e+4>>2]=1065353216,h[e+8>>2]=0,h[e+12>>2]=0,h[e+36>>2]=0,h[e+40>>2]=0,h[e+24>>2]=1065353216,h[e+28>>2]=0,h[e+32>>2]=0,h[e- -64>>2]=0,h[e+44>>2]=1065353216,h[e+56>>2]=0,h[e+60>>2]=0,h[e+48>>2]=0,h[e+52>>2]=0,function(e){var t,n,i=0,a=0,s=0,c=0,l=0;if((i=h[e+404>>2])&&(d[e+408|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+404>>2]=0),h[e+404>>2]=0,o[e+408|0]=1,h[e+396>>2]=0,h[e+400>>2]=0,(i=h[e+424>>2])&&(d[e+428|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+424>>2]=0),h[e+424>>2]=0,o[e+428|0]=1,n=t=e,h[t+416>>2]=0,h[t+420>>2]=0,(e=h[t+444>>2])&&(d[t+448|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[t+444>>2]=0),h[t+444>>2]=0,o[t+448|0]=1,h[t+436>>2]=0,h[t+440>>2]=0,(0|(e=h[t+416>>2]))==(0|(a=h[t+420>>2])))if((0|e)>=(0|(a=e?e<<1:1)))a=e;else{a&&(h[7717]=h[7717]+1,c=0|r[h[6606]](a<<2,16),e=h[t+416>>2]),i=h[t+424>>2];e:{t:{if((0|e)>=1)for(;;)if(h[(l=s<<2)+c>>2]=h[i+l>>2],(0|(s=s+1|0))==(0|e))break t;if(!i)break e}d[t+428|0]&&(i&&(h[7718]=h[7718]+1,r[h[6607]](i)),e=h[t+416>>2]),h[t+424>>2]=0}h[t+424>>2]=c,o[t+428|0]=1,h[t+420>>2]=a}if(i=h[t+424>>2],h[i+(e<<2)>>2]=1,s=e+1|0,h[t+416>>2]=s,(0|a)==(0|s))if((0|a)>=(0|(c=a?a<<1:1)))e=i,c=a;else{s=0,e=0,c&&(h[7717]=h[7717]+1,e=0|r[h[6606]](c<<2,16),a=h[t+416>>2],i=h[t+424>>2]);e:{t:{if((0|a)>=1)for(;;)if(h[(l=s<<2)+e>>2]=h[i+l>>2],(0|(s=s+1|0))==(0|a))break t;if(!i)break e}d[t+428|0]&&(i&&(h[7718]=h[7718]+1,r[h[6607]](i)),a=h[t+416>>2]),h[t+424>>2]=0}h[t+424>>2]=e,o[t+428|0]=1,h[t+420>>2]=c}else e=i,c=a,a=s;if(h[(a<<2)+e>>2]=2,a=a+1|0,h[t+416>>2]=a,(0|a)==(0|c))if((0|c)>=(0|(s=c?c<<1:1)))i=e,s=c;else{a=0,i=0,s&&(h[7717]=h[7717]+1,i=0|r[h[6606]](s<<2,16),c=h[t+416>>2],e=h[t+424>>2]);e:{t:{if((0|c)>=1)for(;;)if(h[(l=a<<2)+i>>2]=h[e+l>>2],(0|c)==(0|(a=a+1|0)))break t;if(!e)break e}d[t+428|0]&&(e&&(h[7718]=h[7718]+1,r[h[6607]](e)),c=h[t+416>>2]),h[t+424>>2]=0}h[t+424>>2]=i,o[t+428|0]=1,h[t+420>>2]=s}else i=e,s=c,c=a;if(h[(c<<2)+i>>2]=3,e=c+1|0,h[t+416>>2]=e,(0|e)==(0|s))if((0|s)>=(0|(e=s?s<<1:1)))c=i;else{a=0,c=0,e&&(h[7717]=h[7717]+1,c=0|r[h[6606]](e<<2,16),s=h[t+416>>2],i=h[t+424>>2]);e:{t:{if((0|s)>=1)for(;;)if(h[(l=a<<2)+c>>2]=h[i+l>>2],(0|s)==(0|(a=a+1|0)))break t;if(!i)break e}d[t+428|0]&&(i&&(h[7718]=h[7718]+1,r[h[6607]](i)),s=h[t+416>>2]),h[t+424>>2]=0}h[t+424>>2]=c,o[t+428|0]=1,h[t+420>>2]=e}else c=i,s=e;h[(s<<2)+c>>2]=0,h[n+416>>2]=s+1}(e),h[7717]=h[7717]+1,t=0|r[h[6606]](20,16),h[t+4>>2]=35,h[t+8>>2]=0,h[t+12>>2]=0,h[t>>2]=14720,h[t+16>>2]=e,h[t+4>>2]=32,h[t>>2]=21516,h[e+192>>2]=t,h[t+12>>2]=1048576e3,h[(t=e+1152|0)>>2]=0,h[t+4>>2]=0,h[e+1148>>2]=1065353216,h[(t=e+1160|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1172|0)>>2]=0,h[t+4>>2]=0,h[e+1168>>2]=1065353216,h[(t=e+1180|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1192|0)>>2]=0,h[t+4>>2]=0,h[e+1188>>2]=1065353216,h[(t=e+1200|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1208|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1216|0)>>2]=0,h[t+4>>2]=0,h[(e=e+1224|0)>>2]=0,h[e+4>>2]=1065353216}function xt(e,t,n,i,a,s,c,l,u){var p,f=0,_=0,b=v(0),g=0,y=0,C=0,A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=0,O=0,M=v(0),R=0;if(w=p=w-32|0,t){if((0|(f=h[e+44>>2]))<=127){if(h[e+48>>2]<=127){if(h[7717]=h[7717]+1,g=0|r[h[6606]](512,16),(0|(C=h[e+44>>2]))>=1)for(;h[(_=y<<2)+g>>2]=h[_+h[e+52>>2]>>2],(0|C)!=(0|(y=y+1|0)););(y=h[e+52>>2])&&(d[e+56|0]&&y&&(h[7718]=h[7718]+1,r[h[6607]](y)),h[e+52>>2]=0),h[e+52>>2]=g,h[e+48>>2]=128,o[e+56|0]=1}for(;h[h[e+52>>2]+(f<<2)>>2]=0,128!=(0|(f=f+1|0)););}for(h[e+44>>2]=128,h[h[e+52>>2]>>2]=t,f=126,y=1;;){if(C=h[e+52>>2],g=h[C+(O=(t=y+-1|0)<<2)>>2],A=m[g>>2],x=m[g+4>>2],b=m[g+8>>2],S=m[l>>2],T=m[l+4>>2],E=m[l+8>>2],h[p+12>>2]=0,m[p+8>>2]=b-E,m[p+4>>2]=x-T,m[p>>2]=A-S,A=m[g+16>>2],x=m[g+20>>2],b=m[g+24>>2],S=m[c>>2],T=m[c+4>>2],E=m[c+8>>2],h[p+28>>2]=0,m[p+24>>2]=b-E,m[p+20>>2]=x-T,m[p+16>>2]=A-S,_=h[a+4>>2],S=m[n+4>>2],T=m[i+4>>2],A=v(v(m[4+((_<<4)+p|0)>>2]-S)*T),b=m[i>>2],P=h[a>>2],E=m[n>>2],!(A>(x=v(b*v(m[(1-P<<4)+p>>2]-E)))||(b=v(v(m[(P<<4)+p>>2]-E)*b))>(S=v(T*v(m[4+((1-_<<4)+p|0)>>2]-S)))||(_=h[a+8>>2],E=m[n+8>>2],M=m[i+8>>2],(T=v(v(m[8+((_<<4)+p|0)>>2]-E)*M))>(x=Sb?A:b)>(b=v(M*v(m[8+((1-_<<4)+p|0)>>2]-E)))|(T>A?T:A)v(0)^1)))if(h[g+40>>2]){if((0|t)>(0|f)){if((0|(f=h[e+44>>2]))<(0|(_=f<<1))){if(h[e+48>>2]<(0|_)){if(f){if(h[7717]=h[7717]+1,C=0|r[h[6606]](f<<3,16),t=0,!((0|(P=h[e+44>>2]))<1))for(;h[(R=t<<2)+C>>2]=h[h[e+52>>2]+R>>2],(0|P)!=(0|(t=t+1|0)););}else C=0;(t=h[e+52>>2])&&(d[e+56|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+52>>2]=0),h[e+52>>2]=C,o[e+56|0]=1,h[e+48>>2]=_}for(;h[(f<<2)+C>>2]=0,C=h[e+52>>2],(0|_)!=(0|(f=f+1|0)););}h[e+44>>2]=_,f=_+-2|0}h[C+O>>2]=h[g+36>>2],h[h[e+52>>2]+(y<<2)>>2]=h[g+40>>2],t=y+1|0}else r[h[h[u>>2]+12>>2]](u,g);if(y=t,!t)break}}w=p+32|0}function St(e,t,n,i,o,a){var s,c=v(0),l=0,u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=0,A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=0,M=v(0),R=v(0),I=v(0),D=v(0),L=0;w=s=w-32|0,l=h[e+4>>2],P=v(m[l+28>>2]*m[l+12>>2]),c=v(P+a),u=m[t+8>>2],l=h[e+8>>2],a=m[l- -64>>2],x=v(u-a),p=m[l+56>>2],y=v(m[l+72>>2]-p),g=m[l+60>>2],_=v(m[l+92>>2]-g),d=v(m[l+76>>2]-g),b=v(m[l+88>>2]-p),A=f=v(v(y*_)-v(d*b)),T=v(f*f),f=v(m[l+96>>2]-a),E=v(d*f),d=v(m[l+80>>2]-a),a=v(E-v(d*_)),d=v(v(d*b)-v(y*f)),b=v(v(1)/v(S(v(T+v(v(a*a)+v(d*d)))))),f=v(A*b),_=m[t>>2],y=v(a*b),a=v(v(_-p)*y),p=m[t+4>>2],A=v(p-g),g=v(d*b),(a=v(v(x*f)+v(a+v(A*g))))>2],h[s+24>>2]=h[t+8>>2],h[s+28>>2]=O,O=h[t+4>>2],h[s+16>>2]=h[t>>2],h[s+20>>2]=O,h[s+12>>2]=0,m[s+8>>2]=f,m[s+4>>2]=g,m[s>>2]=y,function(e,t,n){var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),h=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0);return u=m[e+40>>2],c=m[e+24>>2],d=v(u-c),p=m[n+8>>2],_=m[e+32>>2],r=m[e+16>>2],s=v(_-r),o=m[t+4>>2],b=m[e+36>>2],l=m[e+20>>2],a=v(b-l),h=m[t>>2],f=v(v(p-c)*v(v(s*o)-v(a*h))),g=m[n>>2],i=a,a=m[t+8>>2],y=m[n+4>>2],d=v(f+v(v(v(g-r)*v(v(i*a)-v(d*o)))+v(v(y-l)*v(v(d*h)-v(s*a))))),i=c,c=m[e+8>>2],s=v(i-c),i=r,r=m[e>>2],f=v(i-r),i=l,l=m[e+4>>2],i=v(i-l),s=v(v(v(p-c)*v(v(f*o)-v(i*h)))+v(v(v(g-r)*v(v(i*a)-v(s*o)))+v(v(y-l)*v(v(s*h)-v(f*a))))),e=1,i=v(p-u),p=v(r-_),r=v(l-b),u=v(c-u),o=v(v(i*v(v(p*o)-v(r*h)))+v(v(v(g-_)*v(v(r*a)-v(u*o)))+v(v(y-b)*v(v(u*h)-v(p*a))))),d>v(0)&&!(o>v(0)^1|s>v(0)^1)||(e=s<=v(0)&d<=v(0)&o<=v(0)),e}(l+56|0,s,s+16|0))M=v(u-v(a*f)),R=v(p-v(a*g)),I=v(_-v(a*y)),A=v(c*c);else{if((0|r[h[h[l>>2]+100>>2]](l))<1)break e;for(A=v(c*c),l=0;C=h[e+8>>2],r[h[h[C>>2]+104>>2]](C,l,s+16|0,s),c=v(0),x=m[s+16>>2],a=v(m[t>>2]-x),_=v(m[s>>2]-x),T=m[s+20>>2],p=v(m[t+4>>2]-T),d=v(m[s+4>>2]-T),E=m[s+24>>2],u=v(m[t+8>>2]-E),b=v(m[s+8>>2]-E),(D=v(v(v(a*_)+v(p*d))+v(u*b)))>v(0)&&(D<(c=v(v(v(_*_)+v(d*d))+v(b*b)))?(c=v(D/c),u=v(u-v(b*c)),p=v(p-v(d*c)),a=v(a-v(_*c))):(u=v(u-b),p=v(p-d),a=v(a-_),c=v(1))),v(v(v(a*a)+v(p*p))+v(u*u))>2],(0|l)<(0|r[h[h[C>>2]+100>>2]](C)););if(C=0,!L)break e;u=m[t+8>>2],p=m[t+4>>2],_=m[t>>2]}a=v(_-I),p=v(p-R),u=v(u-M),(c=v(v(v(a*a)+v(p*p))+v(u*u)))v(1.1920928955078125e-7)?(h[i+12>>2]=0,f=u,c=v(S(c)),u=v(v(1)/c),m[i+8>>2]=f*u,m[i+4>>2]=p*u,m[i>>2]=a*u,P=v(P-c)):(h[i+12>>2]=0,m[i+8>>2]=f,m[i+4>>2]=g,m[i>>2]=y),h[n+12>>2]=0,m[n+8>>2]=M,m[n+4>>2]=R,m[n>>2]=I,m[o>>2]=-P,C=1)}return w=s+32|0,C}function Tt(e,t){var n,i,o=0,a=0,s=v(0),c=0,l=0,u=0,p=0,d=v(0),f=v(0),_=0,b=v(0),y=0,C=v(0),A=0,x=0,S=v(0),T=v(0),E=0,P=0,O=v(0),M=v(0),R=v(0),I=0,w=0,D=0,L=v(0);Ir(21087),(0|(n=h[e+712>>2]))<1||(h[7717]=h[7717]+1,o=n<<4,ji(l=0|r[h[6606]](o,16),0,o),(0|(o=h[e+712>>2]))<1||(h[7717]=h[7717]+1,o<<=2,ji(u=0|r[h[6606]](o,16),0,o))),i=h[e+1112>>2];e:{if(t){if((0|i)<1)break e;for(p=h[e+1120>>2];o=h[p+(a<<2)>>2],(c=h[o+312>>2])&&(s=v(v(1)/v(0|c)),m[o+276>>2]=s*m[o+276>>2],m[o+280>>2]=s*m[o+280>>2],m[o+284>>2]=s*m[o+284>>2],m[o+292>>2]=s*m[o+292>>2],m[o+296>>2]=s*m[o+296>>2],m[o+300>>2]=s*m[o+300>>2]),(0|i)!=(0|(a=a+1|0)););}if(!((0|i)<1))for(E=h[e+1120>>2],p=0,P=t?312:308;;){if(o=h[(p<<2)+E>>2],!(h[o+P>>2]<1||(0|(y=h[o+24>>2]))<1))for(s=m[e+452>>2],d=v(s*m[8+(a=t?o+292|0:o+260|0)>>2]),f=v(s*m[a+4>>2]),C=v(s*m[a>>2]),O=v(s*m[8+(a=t?o+276|0:o+244|0)>>2]),M=v(s*m[a+4>>2]),R=v(m[a>>2]*s),I=h[o+32>>2],w=h[o+12>>2],D=h[e+720>>2],c=0;_=h[(A=c<<2)+I>>2],b=m[_+8>>2],L=m[o+228>>2],a=((x=(_-D|0)/104|0)<<4)+l|0,s=m[w+A>>2],S=v(m[_+16>>2]-m[o+236>>2]),T=v(m[_+12>>2]-m[o+232>>2]),m[a>>2]=m[a>>2]+v(s*v(R+v(v(f*S)-v(d*T)))),b=v(b-L),m[a+4>>2]=m[a+4>>2]+v(s*v(M+v(v(d*b)-v(C*S)))),m[a+8>>2]=v(s*v(O+v(v(C*T)-v(f*b))))+m[a+8>>2],m[(a=(x<<2)+u|0)>>2]=s+m[a>>2],(0|y)!=(0|(c=c+1|0)););if((0|i)==(0|(p=p+1|0)))break}}e:{if((0|n)>=1)for(t=0;(s=m[(t<<2)+u>>2])>v(0)&&(d=m[8+(a=(t<<4)+l|0)>>2],f=m[a+4>>2],o=h[e+720>>2]+g(t,104)|0,s=v(v(1)/s),m[o+8>>2]=v(s*m[a>>2])+m[o+8>>2],m[o+12>>2]=v(s*f)+m[o+12>>2],m[o+16>>2]=v(s*d)+m[o+16>>2]),(0|n)!=(0|(t=t+1|0)););else if(!u)break e;u&&(h[7718]=h[7718]+1,r[h[6607]](u))}l&&l&&(h[7718]=h[7718]+1,r[h[6607]](l)),Bo()}function Et(e,t,n,i){var o,a=0,s=v(0),c=v(0),l=v(0),u=0,p=v(0),d=v(0),f=0,_=v(0),b=v(0),g=0,y=0,C=0,A=v(0),x=0,T=v(0),E=v(0),P=0,O=0,M=0,R=0,I=0,D=0;if(w=o=w-32|0,e){for(s=m[t+8>>2],c=m[n+8>>2],p=m[t>>2],_=m[n>>2],l=m[t+4>>2],b=m[n+4>>2],h[7717]=h[7717]+1,ji(4+(n=0|r[h[6606]](512,16))|0,0,508),h[n>>2]=e,A=d=v(c-s),s=v(_-p),c=v(b-l),p=v(v(1)/v(S(v(v(v(s*s)+v(c*c))+v(d*d))))),d=v(d*p),l=s,s=v(s*p),_=c,c=v(c*p),E=v(v(A*d)+v(v(l*s)+v(_*c))),P=((e=(d=d==v(0)?v(0xde0b6b000000000):v(v(1)/d))>2],u=h[f+4>>2],h[o>>2]=h[f>>2],h[o+4>>2]=u,u=h[f+12>>2],h[o+8>>2]=h[f+8>>2],h[o+12>>2]=u,u=h[f+28>>2],h[o+24>>2]=h[f+24>>2],h[o+28>>2]=u,u=h[f+20>>2],h[o+16>>2]=h[f+16>>2],h[o+20>>2]=u;e:{t:{n:{i:{r:{o:{if(b=m[t+4>>2],p=v(c*v(m[O>>2]-b)),l=m[t>>2],!(p>(_=v(s*v(m[D>>2]-l)))||(l=v(s*v(m[I>>2]-l)))>(b=v(c*v(m[R>>2]-b)))||(T=m[t+8>>2],(A=v(d*v(m[P>>2]-T)))>(_=b<_?b:_)||(p=p>l?p:l)>(l=v(d*v(m[M>>2]-T)))|(A>p?A:p)v(0)^1))){if(h[f+40>>2]){if((0|a)<=(0|y)){a=n;break t}if((0|g)>=(0|(u=g<<1))){a=n;break n}if((0|C)>=(0|u)){a=n;break i}if(!g){a=0;break o}if(y=0,h[7717]=h[7717]+1,a=0|r[h[6606]](g<<3,16),(0|g)<1)break o;for(;h[(C=y<<2)+a>>2]=h[n+C>>2],(0|(y=y+1|0))!=(0|g););break r}r[h[h[i>>2]+12>>2]](i,f)}e=a;break e}if(C=u,!n)break i}n&&(h[7718]=h[7718]+1,r[h[6607]](n)),C=u}ji((n=g<<2)+a|0,0,n)}y=u+-2|0,n=a,g=u}h[a+x>>2]=h[f+36>>2],h[(e<<2)+a>>2]=h[f+40>>2],e=e+1|0}if(!e)break}n&&n&&(h[7718]=h[7718]+1,r[h[6607]](n))}w=o+32|0}function Pt(e,t,n,i){var a,s,c=0,l=0,u=0,p=0,f=0,_=0,m=0,b=0,g=0,v=0,y=0;if(w=s=w-16|0,pt(e,t,n),a=h[e+8>>2],Ir(17920),d[e+64|0]){if((0|(_=h[e+28>>2]))>=2&&Gi(e+24|0,s+8|0,0,_+-1|0),!((0|a)<1))for(p=1;;){t=h[e+16>>2],g=h[t+(f<<3)>>2],v=1;e:if(!((0|f)>=(0|a)))for(;;){if(b=h[h[n+16>>2]+(h[4+((f<<3)+t|0)>>2]<<2)>>2],(0|(c=h[e+48>>2]))==h[e+52>>2]&&!((0|c)>=(0|(u=c?c<<1:1)))){if(t=0,l=0,u&&(h[7717]=h[7717]+1,l=0|r[h[6606]](u<<2,16),c=h[e+48>>2]),(0|c)>=1)for(;h[(y=t<<2)+l>>2]=h[y+h[e+56>>2]>>2],(0|c)!=(0|(t=t+1|0)););(t=h[e+56>>2])&&(d[e+60|0]&&(t&&(h[7718]=h[7718]+1,r[h[6607]](t)),c=h[e+48>>2]),h[e+56>>2]=0),h[e+56>>2]=l,o[e+60|0]=1,h[e+52>>2]=u}if(h[h[e+56>>2]+(c<<2)>>2]=b,h[e+48>>2]=c+1,v&=2==(0|(t=h[b+216>>2]))|5==(0|t),(0|a)==(0|(f=f+1|0))){f=a;break e}if(t=h[e+16>>2],h[t+(f<<3)>>2]!=(0|g))break}if(l=0,t=0,!((0|m)>=(0|_))&&(b=h[e+36>>2],t=h[(u=b+(m<<2)|0)>>2],(0|(c=h[h[t+740>>2]+208>>2]))<=-1&&(c=h[h[t+744>>2]+208>>2]),t=0,(0|c)==(0|g))){for(c=(0|_)>(0|(t=m+1|0))?_:t,p=m;;){if((0|(p=p+1|0))>=(0|_))p=c;else if(l=h[(p<<2)+b>>2],(0|(t=h[h[l+740>>2]+208>>2]))<=-1&&(t=h[h[l+744>>2]+208>>2]),(0|t)==(0|g))continue;break}l=p-m|0,t=u}if(v||r[h[h[i>>2]+8>>2]](i,h[e+56>>2],h[e+48>>2],t,l,g),(0|(t=h[e+48>>2]))<=-1)for(h[e+52>>2]<=-1&&((c=h[e+56>>2])&&(d[e+60|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c)),h[e+56>>2]=0),o[e+60|0]=1,h[e+52>>2]=0,h[e+56>>2]=0);h[h[e+56>>2]+(t<<2)>>2]=0,u=(c=t+1|0)>>>0>=t>>>0,t=c,u;);if(m=l?p:m,h[e+48>>2]=0,!((0|f)<(0|a)))break}}else e=0|r[h[h[t>>2]+44>>2]](t),t=0|r[h[h[t>>2]+36>>2]](t),r[h[h[i>>2]+8>>2]](i,h[n+16>>2],h[n+8>>2],e,t,-1);Bo(),w=s+16|0}function Ot(e,t){var n,i,r,o=0,a=0,s=0,c=0;w=n=w-80|0,h[e+68>>2]=h[e+68>>2]+1,(o=h[e+64>>2])&&xl(o,h[76+(h[e+24>>2]+g(t,80)|0)>>2]),s=h[e+16>>2],i=g(t,80),c=h[e+24>>2],r=h[4+(a=8+(o=i+c|0)|0)>>2],h[n+8>>2]=h[a>>2],h[n+12>>2]=r,a=h[o+4>>2],h[n>>2]=h[o>>2],h[n+4>>2]=a,a=h[o+28>>2],h[n+24>>2]=h[o+24>>2],h[n+28>>2]=a,a=h[o+20>>2],h[n+16>>2]=h[o+16>>2],h[n+20>>2]=a,a=h[o+44>>2],h[n+40>>2]=h[o+40>>2],h[n+44>>2]=a,a=h[o+36>>2],h[n+32>>2]=h[o+32>>2],h[n+36>>2]=a,a=h[o+60>>2],h[n+56>>2]=h[o+56>>2],h[n+60>>2]=a,a=h[o+52>>2],h[n+48>>2]=h[o+48>>2],h[n+52>>2]=a,a=h[o+76>>2],h[n+72>>2]=h[o+72>>2],h[n+76>>2]=a,a=h[o+68>>2],h[n+64>>2]=h[o+64>>2],h[n+68>>2]=a,a=c,c=g(s,80)+-80|0,a=h[4+(s=a+c|0)>>2],h[o>>2]=h[s>>2],h[o+4>>2]=a,a=h[s+12>>2],h[o+8>>2]=h[s+8>>2],h[o+12>>2]=a,a=h[s+20>>2],h[o+16>>2]=h[s+16>>2],h[o+20>>2]=a,a=h[s+28>>2],h[o+24>>2]=h[s+24>>2],h[o+28>>2]=a,a=h[s+44>>2],h[o+40>>2]=h[s+40>>2],h[o+44>>2]=a,a=h[s+36>>2],h[o+32>>2]=h[s+32>>2],h[o+36>>2]=a,a=h[s+52>>2],h[o+48>>2]=h[s+48>>2],h[o+52>>2]=a,a=h[s+60>>2],h[o+56>>2]=h[s+56>>2],h[o+60>>2]=a,a=h[s+76>>2],h[o+72>>2]=h[s+72>>2],h[o+76>>2]=a,a=h[s+68>>2],h[o+64>>2]=h[s+64>>2],h[o+68>>2]=a,o=c+h[e+24>>2]|0,c=h[n+4>>2],h[o>>2]=h[n>>2],h[o+4>>2]=c,s=h[n+12>>2],h[o+8>>2]=h[n+8>>2],h[o+12>>2]=s,s=h[n+20>>2],h[o+16>>2]=h[n+16>>2],h[o+20>>2]=s,s=h[n+28>>2],h[o+24>>2]=h[n+24>>2],h[o+28>>2]=s,s=h[n+36>>2],h[o+32>>2]=h[n+32>>2],h[o+36>>2]=s,s=h[n+44>>2],h[o+40>>2]=h[n+40>>2],h[o+44>>2]=s,s=h[n+52>>2],h[o+48>>2]=h[n+48>>2],h[o+52>>2]=s,s=h[n+60>>2],h[o+56>>2]=h[n+56>>2],h[o+60>>2]=s,s=h[n+68>>2],h[o+64>>2]=h[n+64>>2],h[o+68>>2]=s,s=h[n+76>>2],h[o+72>>2]=h[n+72>>2],h[o+76>>2]=s,h[e+64>>2]&&(h[h[76+(h[e+24>>2]+i|0)>>2]+36>>2]=t),h[e+16>>2]=h[e+16>>2]+-1,w=n+80|0}function Mt(e){var t,n,i,r,o,a,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0);w=t=w-48|0,A=m[(n=e+1160|0)>>2],x=m[(i=e+1144|0)>>2],T=m[e+1164>>2],E=m[e+1132>>2],P=m[e+1148>>2],O=m[e+1168>>2],M=m[e+1136>>2],R=m[e+1152>>2],u=m[(r=e+1072|0)>>2],b=m[e+1084>>2],l=m[e+1100>>2],p=m[e+1068>>2],d=m[e+1096>>2],g=m[(o=e+1088|0)>>2],f=m[e+1080>>2],_=m[(a=e+1104|0)>>2],I=m[e+1128>>2],s=m[e+1064>>2],h[t+44>>2]=0,h[t+28>>2]=0,N=v(v(b*_)-v(g*l)),y=v(v(g*d)-v(_*f)),C=v(v(l*f)-v(b*d)),c=v(v(1)/v(v(v(s*N)+v(p*y))+v(C*u))),C=v(C*c),D=v(v(v(d*p)-v(l*s))*c),L=v(v(v(b*s)-v(f*p))*c),m[t+40>>2]=v(v(M*C)+v(R*D))+v(O*L),m[t+36>>2]=v(v(E*C)+v(D*P))+v(L*T),y=v(y*c),d=v(v(v(_*s)-v(d*u))*c),s=v(v(v(f*u)-v(g*s))*c),m[t+24>>2]=v(v(M*y)+v(R*d))+v(O*s),m[t+20>>2]=v(v(E*y)+v(d*P))+v(s*T),h[t+12>>2]=0,m[t+32>>2]=v(A*L)+v(v(I*C)+v(x*D)),m[t+16>>2]=v(A*s)+v(v(I*y)+v(x*d)),s=v(N*c),l=v(v(v(l*u)-v(_*p))*c),c=v(v(v(g*p)-v(b*u))*c),m[t+8>>2]=v(v(M*s)+v(R*l))+v(O*c),m[t+4>>2]=v(v(s*E)+v(l*P))+v(c*T),m[t>>2]=v(A*c)+v(v(I*s)+v(x*l)),go(t,e+1192|0),h[e+1236>>2]=0,h[e+1252>>2]=0,h[e+1220>>2]=0,s=m[i>>2],b=m[r>>2],l=m[e+1128>>2],d=m[o>>2],c=v(v(s*b)-v(l*d)),g=m[a>>2],f=m[n>>2],u=v(v(l*g)-v(f*b)),p=v(v(f*d)-v(s*g)),_=v(v(1)/v(S(v(v(c*c)+v(v(u*u)+v(p*p)))))),m[e+1232>>2]=c*_,m[e+1228>>2]=u*_,m[e+1224>>2]=p*_,_=v(v(s*c)-v(f*u)),f=v(v(f*p)-v(l*c)),l=v(v(l*u)-v(s*p)),s=v(v(1)/v(S(v(v(v(_*_)+v(f*f))+v(l*l))))),m[e+1248>>2]=l*s,m[e+1244>>2]=f*s,m[e+1240>>2]=_*s,s=v(v(g*u)-v(d*c)),l=v(v(b*c)-v(g*p)),u=v(v(d*p)-v(b*u)),c=v(v(1)/v(S(v(v(v(s*s)+v(l*l))+v(u*u))))),m[e+1216>>2]=u*c,m[e+1212>>2]=l*c,m[e+1208>>2]=s*c,w=t+48|0}function Rt(e,t,n){var i=0,o=v(0),a=v(0),s=v(0),c=0;if(!h[e>>2])return h[e>>2]=n,void(h[n+32>>2]=0);if(i=h[t+40>>2])for(a=v(m[n>>2]+m[n+16>>2]),o=v(m[n+8>>2]+m[n+24>>2]),s=v(m[n+4>>2]+m[n+20>>2]);c=t+36|0,t=h[t+36>>2],t=h[c+((v(v(v(y(v(a-v(m[t>>2]+m[t+16>>2]))))+v(y(v(s-v(m[t+4>>2]+m[t+20>>2])))))+v(y(v(o-v(m[t+8>>2]+m[t+24>>2])))))>2]+m[i+16>>2]))))+v(y(v(s-v(m[i+4>>2]+m[i+20>>2])))))+v(y(v(o-v(m[i+8>>2]+m[i+24>>2])))))^1)<<2)>>2],i=h[t+40>>2];);c=h[t+32>>2],(i=h[e+4>>2])?h[e+4>>2]=0:(h[7717]=h[7717]+1,i=0|r[h[6606]](44,16),h[i>>2]=0,h[i+4>>2]=0,h[i+40>>2]=0,h[i+32>>2]=0,h[i+36>>2]=0,h[i+24>>2]=0,h[i+28>>2]=0,h[i+16>>2]=0,h[i+20>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0),h[i+36>>2]=0,h[i+40>>2]=0,h[i+32>>2]=c,a=m[n>>2],o=m[t>>2],m[i>>2]=a>2],o=m[t+16>>2],m[i+16>>2]=a>o?a:o,a=m[n+4>>2],o=m[t+4>>2],m[i+4>>2]=a>2],o=m[t+20>>2],m[i+20>>2]=a>o?a:o,a=m[n+8>>2],o=m[t+8>>2],m[i+8>>2]=a>2],o=m[t+24>>2],m[i+24>>2]=a>o?a:o;e:if(c)for(h[36+(((h[h[t+32>>2]+40>>2]==(0|t))<<2)+c|0)>>2]=i,h[i+36>>2]=t,h[t+32>>2]=i,h[i+40>>2]=n,h[n+32>>2]=i,a=m[i>>2];;){if(e=i,!(m[(i=c)>>2]<=a^1|m[i+4>>2]<=m[e+4>>2]^1|m[i+8>>2]<=m[e+8>>2]^1|m[i+16>>2]>=m[e+16>>2]^1)&&m[i+20>>2]>=m[e+20>>2]&&m[i+24>>2]>=m[e+24>>2])break e;if(e=h[i+36>>2],a=m[e>>2],t=h[i+40>>2],a=a<(o=m[t>>2])?a:o,m[i>>2]=a,o=m[e+16>>2],s=m[t+16>>2],m[i+16>>2]=o>s?o:s,o=m[e+4>>2],s=m[t+4>>2],m[i+4>>2]=o>2],s=m[t+20>>2],m[i+20>>2]=o>s?o:s,o=m[e+8>>2],s=m[t+8>>2],m[i+8>>2]=o>2],s=m[t+24>>2],m[i+24>>2]=o>s?o:s,!(c=h[i+32>>2]))break}else h[i+36>>2]=t,h[t+32>>2]=i,h[i+40>>2]=n,h[n+32>>2]=i,h[e>>2]=i}function It(e,t){var n=0,i=0,a=0,s=0,c=0,l=0,u=0;if((0|(s=h[e+4>>2]))==h[e+8>>2]&&!((0|s)>=(0|(c=s?s<<1:1)))){if(c&&(h[7717]=h[7717]+1,u=0|r[h[6606]](g(c,104),16),s=h[e+4>>2]),(0|s)>=1)for(;i=(n=g(l,104))+u|0,n=n+h[e+12>>2]|0,a=h[n+4>>2],h[i>>2]=h[n>>2],h[i+4>>2]=a,h[i+24>>2]=h[n+24>>2],a=h[n+20>>2],h[i+16>>2]=h[n+16>>2],h[i+20>>2]=a,a=h[n+12>>2],h[i+8>>2]=h[n+8>>2],h[i+12>>2]=a,a=h[n+40>>2],h[i+36>>2]=h[n+36>>2],h[i+40>>2]=a,a=h[n+32>>2],h[i+28>>2]=h[n+28>>2],h[i+32>>2]=a,a=h[n+56>>2],h[i+52>>2]=h[n+52>>2],h[i+56>>2]=a,a=h[n+48>>2],h[i+44>>2]=h[n+44>>2],h[i+48>>2]=a,a=h[n+64>>2],h[i+60>>2]=h[n+60>>2],h[i+64>>2]=a,a=h[n+72>>2],h[i+68>>2]=h[n+68>>2],h[i+72>>2]=a,a=h[n+80>>2],h[i+76>>2]=h[n+76>>2],h[i+80>>2]=a,a=h[n+88>>2],h[i+84>>2]=h[n+84>>2],h[i+88>>2]=a,a=h[n+96>>2],h[i+92>>2]=h[n+92>>2],h[i+96>>2]=a,h[i+100>>2]=h[n+100>>2],(0|(l=l+1|0))!=(0|s););(n=h[e+12>>2])&&(d[e+16|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+12>>2]=0),h[e+12>>2]=u,o[e+16|0]=1,h[e+8>>2]=c,s=h[e+4>>2]}n=h[e+12>>2]+g(s,104)|0,s=h[t+4>>2],h[n>>2]=h[t>>2],h[n+4>>2]=s,h[n+24>>2]=h[t+24>>2],i=h[t+20>>2],h[n+16>>2]=h[t+16>>2],h[n+20>>2]=i,i=h[t+12>>2],h[n+8>>2]=h[t+8>>2],h[n+12>>2]=i,i=h[t+40>>2],h[n+36>>2]=h[t+36>>2],h[n+40>>2]=i,i=h[t+32>>2],h[n+28>>2]=h[t+28>>2],h[n+32>>2]=i,i=h[t+56>>2],h[n+52>>2]=h[t+52>>2],h[n+56>>2]=i,i=h[t+48>>2],h[n+44>>2]=h[t+44>>2],h[n+48>>2]=i,i=h[t+72>>2],h[n+68>>2]=h[t+68>>2],h[n+72>>2]=i,i=h[t+64>>2],h[n+60>>2]=h[t+60>>2],h[n+64>>2]=i,i=h[t+80>>2],h[n+76>>2]=h[t+76>>2],h[n+80>>2]=i,i=h[t+88>>2],h[n+84>>2]=h[t+84>>2],h[n+88>>2]=i,i=h[t+96>>2],h[n+92>>2]=h[t+92>>2],h[n+96>>2]=i,h[n+100>>2]=h[t+100>>2],h[e+4>>2]=h[e+4>>2]+1}function wt(e,t,n,i,r,o){var a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0);p=m[r+40>>2],d=m[r+24>>2],l=m[r+36>>2],u=m[r+20>>2],a=m[o+4>>2],_=m[r+8>>2],y=m[r+4>>2],C=m[r+32>>2],s=m[o>>2],A=m[r>>2],c=m[o+8>>2],S=m[r+16>>2],h[e+44>>2]=0,h[e+28>>2]=0,h[e+12>>2]=0,T=v(v(v(c*y)+v(u*v(0)))-v(s*l)),E=v(v(v(c*A)+v(S*v(0)))-v(s*C)),P=v(v(v(c*_)+v(d*v(0)))-v(s*p)),g=v(v(i-v(v(v(T*v(0))-v(c*E))+v(s*P)))+n),O=v(v(v(A*v(0))-v(c*S))+v(a*C)),M=v(v(v(y*v(0))-v(c*u))+v(a*l)),R=v(v(v(_*v(0))-v(c*d))+v(a*p)),f=v(v(i-v(v(v(O*v(0))+v(c*M))-v(a*R)))+n),b=v(v(v(0)-v(v(v(a*O)-v(s*M))+v(R*v(0))))+v(0)),x=v(v(v(a*P)-v(v(E*v(0))+v(c*T)))+v(0)),l=v(v(v(s*u)-v(a*y))+v(l*v(0))),u=v(v(v(s*S)-v(a*A))+v(C*v(0))),_=v(v(v(s*d)-v(a*_))+v(p*v(0))),p=v(v(v(0)-v(v(v(l*v(0))-v(c*u))+v(s*_)))+v(0)),d=v(v(v(a*_)-v(v(u*v(0))+v(c*l)))+v(0)),y=v(v(x*p)-v(d*g)),l=v(v(i-v(v(v(a*u)-v(s*l))+v(_*v(0))))+n),a=v(v(v(0)-v(v(v(a*E)-v(s*T))+v(P*v(0))))+v(0)),u=v(v(g*l)-v(a*p)),i=v(v(v(0)-v(v(v(M*v(0))-v(c*O))+v(s*R)))+v(0)),s=v(v(d*a)-v(x*l)),n=v(v(1)/v(v(b*y)+v(v(f*u)+v(i*s)))),t=v(v(1)/t),c=v(v(v(g*f)-v(x*i))*n),g=v(v(v(a*i)-v(g*b))*n),_=v(g*v(0)),a=v(v(v(x*b)-v(a*f))*n),C=v(a*v(0)),m[e+40>>2]=v(t*c)+v(_+C),A=v(v(v(d*i)-v(p*f))*n),i=v(v(v(p*b)-v(l*i))*n),p=v(i*v(0)),f=v(v(v(l*f)-v(d*b))*n),b=v(f*v(0)),m[e+36>>2]=v(t*A)+v(p+b),d=v(y*n),l=v(u*n),u=v(l*v(0)),n=v(s*n),s=v(n*v(0)),m[e+32>>2]=v(t*d)+v(u+s),c=v(c*v(0)),m[e+24>>2]=c+v(_+v(t*a)),a=v(A*v(0)),m[e+20>>2]=a+v(p+v(t*f)),f=v(d*v(0)),m[e+16>>2]=f+v(u+v(t*n)),m[e+8>>2]=c+v(v(t*g)+C),m[e+4>>2]=a+v(v(t*i)+b),m[e>>2]=f+v(v(t*l)+s)}function Dt(e,t,n){var i=0,a=0,s=0,c=0,l=0,u=0,m=0,b=0,g=0;e:{if(!((g=(a=p[t>>1])+((u=f[t+2>>1])<<16)&(m=h[e+48>>2])+-1)>>>0>=_[e+4>>2])&&-1!=(0|(i=h[h[e+12>>2]+(g<<2)>>2])))for(b=h[e+72>>2],l=65535&a;;){if((0|u)==f[2+(a=(s=i<<2)+b|0)>>1]&&(0|l)==f[a>>1])break e;if(-1==(0|(i=h[s+h[e+32>>2]>>2])))break}if((0|m)==(0|(i=b=h[e+44>>2]))&&!((0|(i=m))>=(0|(u=i?i<<1:1)))){if(u?(h[7717]=h[7717]+1,c=0|r[h[6606]](u<<2,16),i=h[e+44>>2]):i=m,(0|(a=i))>=1)for(i=0;l=(s=i<<2)+c|0,s=s+h[e+52>>2]|0,s=f[s>>1]|f[s+2>>1]<<16,p[l>>1]=s,p[l+2>>1]=s>>>16,(0|a)!=(0|(i=i+1|0)););(a=h[e+52>>2])&&(d[e+56|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+52>>2]=0),h[e+52>>2]=c,h[e+48>>2]=u,o[e+56|0]=1,i=h[e+44>>2]}if(a=h[e+52>>2]+(i<<2)|0,n=f[n>>1]|f[n+2>>1]<<16,p[a>>1]=n,p[a+2>>1]=n>>>16,h[e+44>>2]=h[e+44>>2]+1,(0|(c=h[e- -64>>2]))==h[e+68>>2]&&!((0|c)>=(0|(l=c?c<<1:1)))){if(l?(h[7717]=h[7717]+1,s=0|r[h[6606]](l<<2,16),c=h[e+64>>2]):s=0,(0|c)>=1)for(i=0;a=(n=i<<2)+s|0,n=n+h[e+72>>2]|0,n=f[n>>1]|f[n+2>>1]<<16,p[a>>1]=n,p[a+2>>1]=n>>>16,(0|c)!=(0|(i=i+1|0)););(n=h[e+72>>2])&&(d[e+76|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+72>>2]=0),h[e+72>>2]=s,h[e+68>>2]=l,o[e+76|0]=1,c=h[e+64>>2]}return a=h[e+72>>2]+(c<<2)|0,n=f[t>>1]|f[t+2>>1]<<16,p[a>>1]=n,p[a+2>>1]=n>>>16,h[e+64>>2]=h[e+64>>2]+1,(0|m)>2]&&(function(e){var t=0,n=0,i=0,a=0,s=0,c=0,l=0,u=0,_=0;if(!((0|(l=h[e+4>>2]))>=(0|(n=h[e+48>>2])))){if(h[e+8>>2]>=(0|n))a=h[e+12>>2];else{t=l,n&&(h[7717]=h[7717]+1,a=0|r[h[6606]](n<<2,16),t=h[e+4>>2]),c=h[e+12>>2];t:{n:{if((0|t)>=1)for(;;)if(h[(s=i<<2)+a>>2]=h[c+s>>2],(0|(i=i+1|0))==(0|t))break n;if(!c)break t}d[e+16|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c))}h[e+12>>2]=a,o[e+16|0]=1,h[e+8>>2]=n}if(ji((t=l<<2)+a|0,0,(s=n<<2)-t|0),h[e+4>>2]=n,(0|(c=h[e+24>>2]))<(0|n)){t:if(h[e+28>>2]>=(0|n))a=h[e+32>>2];else{i=0,t=c,a=0,n&&(h[7717]=h[7717]+1,a=0|r[h[6606]](s,16),t=h[e+24>>2]),u=h[e+32>>2];n:{if((0|t)>=1)for(;;)if(h[(_=i<<2)+a>>2]=h[u+_>>2],(0|(i=i+1|0))==(0|t))break n;if(!u){h[e+32>>2]=a,h[e+28>>2]=n,o[e+36|0]=1;break t}}d[e+36|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u)),h[e+32>>2]=a,o[e+36|0]=1,h[e+28>>2]=n}ji((t=c<<2)+a|0,0,s-t|0)}if(h[e+24>>2]=n,(0|n)>=1&&(ji(h[e+12>>2],255,s),ji(h[e+32>>2],255,s)),!((0|l)<1))for(c=h[e+32>>2],n=h[e+72>>2],a=h[e+12>>2],i=0;t=a+(((f[2+(t=(s=i<<2)+n|0)>>1]<<16)+p[t>>1]&h[e+48>>2]+-1)<<2)|0,h[c+s>>2]=h[t>>2],h[t>>2]=i,(0|l)!=(0|(i=i+1|0)););}}(e),g=p[t>>1]+(f[t+2>>1]<<16)&h[e+48>>2]+-1),t=h[e+32>>2]+(b<<2)|0,e=h[e+12>>2]+(g<<2)|0,h[t>>2]=h[e>>2],void(h[e>>2]=b)}t=h[e+52>>2]+(i<<2)|0,e=f[n>>1]|f[n+2>>1]<<16,p[t>>1]=e,p[t+2>>1]=e>>>16}function Lt(e,t,n,i,r,o,a){var s,c=0,l=0,u=0,p=0,d=0,f=0,_=0,m=0,b=0,g=0,v=0,y=0;if(w=s=w-48|0,c=h[n+8>>2])for(m=c;;){if(h[m+20>>2]>h[e+100>>2]){c=h[m+12>>2],d=h[c+92>>2],f=h[c+96>>2],u=h[n+88>>2],p=h[c+88>>2],l=h[n+92>>2],c=h[n+96>>2],h[s+44>>2]=-1,_=f-c|0,h[s+40>>2]=_,l=d-l|0,h[s+36>>2]=l,c=p-u|0,h[s+32>>2]=c,u=Eh(f=l,g=l>>31,h[(l=r)+8>>2],h[l+12>>2]),p=D,d=u,u=c,l=d+(c=Eh(c,v=c>>31,h[l>>2],h[l+4>>2]))|0,d=D+p|0,d=l>>>0>>0?d+1|0:d,_=(c=Eh(p=_,y=p>>31,h[r+16>>2],h[r+20>>2]))+l|0,l=D+d|0,l=_>>>0>>0?l+1|0:l,c=_,d=Eh(h[(_=o)+8>>2],h[_+12>>2],f,g),f=D,u=Eh(h[_>>2],h[_+4>>2],u,v),f=D+f|0,f=(_=u+d|0)>>>0>>0?f+1|0:f,p=Eh(h[o+16>>2],h[o+20>>2],p,y),d=D+f|0,d=(u=p+_|0)>>>0

>>0?d+1|0:d,p=u,(0|(u=d))>0||(0|u)>=0&&!(p>>>0<1)?(h[s+8>>2]=p,h[s+12>>2]=u,h[s+24>>2]=1,f=-1,p=0):(0|u)<-1||(0|u)<=-1&&!(p>>>0>4294967295)?(h[s+24>>2]=-1,h[s+8>>2]=0-p,h[s+12>>2]=0-((0

>>0)+u|0),f=1,p=0):(h[s+8>>2]=0,h[s+12>>2]=0,f=0,h[s+24>>2]=0,p=1);e:{t:{n:{if(u=s,_=s,(0|l)<0||(0|l)<=0&&!(c>>>0>0)){if((0|l)>-1||(0|l)>=-1&&!(c>>>0<=4294967295))break n;h[s+24>>2]=f,l=0-((0>>0)+l|0)|0,c=0-c|0}h[_+16>>2]=c,h[u+20>>2]=l;break t}if(h[s+16>>2]=0,h[s+20>>2]=0,p)break e}b?(0|(c=En(s+8|0,a)))<=-1?(c=h[s+12>>2],h[a>>2]=h[s+8>>2],h[a+4>>2]=c,h[a+16>>2]=h[s+24>>2],c=h[s+20>>2],h[a+8>>2]=h[s+16>>2],h[a+12>>2]=c,b=m):c||(b=2!=(0|Ni(b,m,i,s+32|0))^t?m:b):(c=h[s+12>>2],h[a>>2]=h[s+8>>2],h[a+4>>2]=c,h[a+16>>2]=h[s+24>>2],c=h[s+20>>2],h[a+8>>2]=h[s+16>>2],h[a+12>>2]=c,b=m)}c=h[n+8>>2]}if((0|(m=h[m>>2]))==(0|c))break}return w=s+48|0,b}function Nt(e,t,n){e|=0,n|=0;var i,o=0;return h[16+(t|=0)>>2]=h[e+4>>2],h[t+20>>2]=h[e+8>>2],h[t+24>>2]=h[e+12>>2],h[t+28>>2]=h[e+16>>2],h[t+32>>2]=h[e+20>>2],h[t+36>>2]=h[e+24>>2],h[t+40>>2]=h[e+28>>2],h[t+44>>2]=h[e+32>>2],h[t+48>>2]=h[e+36>>2],h[t+52>>2]=h[e+40>>2],h[t+56>>2]=h[e+44>>2],h[t+60>>2]=h[e+48>>2],h[t+64>>2]=h[e+52>>2],h[t+68>>2]=h[e+56>>2],h[t+72>>2]=h[e+60>>2],h[t+76>>2]=h[e- -64>>2],h[t+80>>2]=h[e+68>>2],h[t+84>>2]=h[e+72>>2],h[t+88>>2]=h[e+76>>2],h[t+92>>2]=h[e+80>>2],h[t+96>>2]=h[e+84>>2],h[t+100>>2]=h[e+88>>2],h[t+104>>2]=h[e+92>>2],h[t+108>>2]=h[e+96>>2],h[t+112>>2]=h[e+100>>2],h[t+116>>2]=h[e+104>>2],h[t+120>>2]=h[e+108>>2],h[t+124>>2]=h[e+112>>2],h[t+128>>2]=h[e+116>>2],h[t+132>>2]=h[e+120>>2],h[t+136>>2]=h[e+124>>2],h[t+140>>2]=h[e+128>>2],h[t+144>>2]=h[e+132>>2],h[t+148>>2]=h[e+136>>2],h[t+152>>2]=h[e+140>>2],h[t+156>>2]=h[e+144>>2],h[t+160>>2]=h[e+148>>2],h[t+164>>2]=h[e+152>>2],h[t+168>>2]=h[e+156>>2],h[t+172>>2]=h[e+160>>2],h[t+176>>2]=h[e+164>>2],h[t+180>>2]=h[e+168>>2],h[t+184>>2]=h[e+172>>2],h[t+188>>2]=h[e+176>>2],h[t+224>>2]=h[e+180>>2],o=h[e+184>>2],h[t>>2]=0,h[t+192>>2]=o,o=0|r[h[h[n>>2]+28>>2]](n,h[e+192>>2]),h[t+8>>2]=0,h[t+4>>2]=o,h[t+228>>2]=h[e+204>>2],h[t+232>>2]=h[e+208>>2],h[t+236>>2]=h[e+212>>2],h[t+240>>2]=h[e+216>>2],h[t+196>>2]=h[e+220>>2],h[t+200>>2]=h[e+224>>2],h[t+204>>2]=h[e+232>>2],h[t+208>>2]=h[e+228>>2],h[t+244>>2]=h[e+236>>2],o=0|r[h[h[n>>2]+40>>2]](n,e),i=0|r[h[h[n>>2]+28>>2]](n,o),h[t+12>>2]=i,i&&r[h[h[n>>2]+48>>2]](n,o),h[t+212>>2]=h[e+244>>2],h[t+216>>2]=h[e+248>>2],h[t+220>>2]=h[e+252>>2],h[t+248>>2]=h[e+256>>2],3976}function Ft(e,t){var n=0,i=0,r=0;e:{t:{n:{i:{r:{o:if((0|(n=h[e>>2]))>=4){if(8&d[0|t]){r=n;break o}r=n+-1|0,h[e>>2]=r,n=h[16+(i=(r<<4)+e|0)>>2],h[e+60>>2]=h[i+12>>2],h[e+64>>2]=n,n=h[i+8>>2],h[e+52>>2]=h[i+4>>2],h[e+56>>2]=n,n=h[i+88>>2],h[e+132>>2]=h[i+84>>2],h[e+136>>2]=n,n=h[i+96>>2],h[e+140>>2]=h[i+92>>2],h[e+144>>2]=n,n=h[i+176>>2],h[e+220>>2]=h[i+172>>2],h[e+224>>2]=n,n=h[i+168>>2],h[e+212>>2]=h[i+164>>2],h[e+216>>2]=n}else if(r=3,3!=(0|n))break r;if(4&d[0|t])break i;r=r+-1|0,h[e>>2]=r,n=h[16+(i=(r<<4)+e|0)>>2],h[e+44>>2]=h[i+12>>2],h[e+48>>2]=n,n=h[i+8>>2],h[e+36>>2]=h[i+4>>2],h[e+40>>2]=n,n=h[i+88>>2],h[e+116>>2]=h[i+84>>2],h[e+120>>2]=n,n=h[i+96>>2],h[e+124>>2]=h[i+92>>2],h[e+128>>2]=n,n=h[i+176>>2],h[e+204>>2]=h[i+172>>2],h[e+208>>2]=n,n=h[i+168>>2],h[e+196>>2]=h[i+164>>2],h[e+200>>2]=n;break i}if(r=2,(0|n)<2)break n}if(2&d[0|t])break t;r=r+-1|0,h[e>>2]=r,n=h[16+(i=(r<<4)+e|0)>>2],h[e+28>>2]=h[i+12>>2],h[e+32>>2]=n,n=h[i+8>>2],h[e+20>>2]=h[i+4>>2],h[e+24>>2]=n,n=h[i+88>>2],h[e+100>>2]=h[i+84>>2],h[e+104>>2]=n,n=h[i+96>>2],h[e+108>>2]=h[i+92>>2],h[e+112>>2]=n,n=h[i+176>>2],h[e+188>>2]=h[i+172>>2],h[e+192>>2]=n,n=h[i+168>>2],h[e+180>>2]=h[i+164>>2],h[e+184>>2]=n;break t}if(r=1,1!=(0|n))break e}1&o[0|t]||(t=r+-1|0,h[e>>2]=t,t=h[4+(r=(n=t<<4)+(e+4|0)|0)>>2],h[e+4>>2]=h[r>>2],h[e+8>>2]=t,t=h[r+12>>2],h[e+12>>2]=h[r+8>>2],h[e+16>>2]=t,t=h[4+(r=n+(e+84|0)|0)>>2],h[e+84>>2]=h[r>>2],h[e+88>>2]=t,t=h[r+12>>2],h[e+92>>2]=h[r+8>>2],h[e+96>>2]=t,t=h[12+(n=n+(e+164|0)|0)>>2],h[e+172>>2]=h[n+8>>2],h[e+176>>2]=t,t=h[n+4>>2],h[e+164>>2]=h[n>>2],h[e+168>>2]=t)}}function Bt(e,t,n){var i=0,a=0,s=0,c=0,l=0,u=0,p=0,f=0,m=0,b=0;e:{if(u=h[e+48>>2],c=h[t>>2],a=g((a=(c<<15^-1)+c|0)>>10^a,9),!((p=u+-1&((a=((a^=a>>6)<<11^-1)+a|0)>>16^a))>>>0>=_[e+4>>2])&&-1!=(0|(i=h[h[e+12>>2]+(p<<2)>>2])))for(l=h[e+72>>2];;){if((0|c)==h[(a=i<<2)+l>>2])break e;if(-1==(0|(i=h[a+h[e+32>>2]>>2])))break}if((0|u)==(0|(i=m=h[e+44>>2]))&&!((0|(i=u))>=(0|(f=i?i<<1:1)))){if(f?(h[7717]=h[7717]+1,s=0|r[h[6606]](f<<3,16),i=h[e+44>>2]):i=u,(0|(a=i))>=1)for(i=0;b=(l=i<<3)+s|0,c=l+h[e+52>>2]|0,l=h[c+4>>2],h[b>>2]=h[c>>2],h[b+4>>2]=l,(0|a)!=(0|(i=i+1|0)););(a=h[e+52>>2])&&(d[e+56|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+52>>2]=0),h[e+52>>2]=s,h[e+48>>2]=f,o[e+56|0]=1,i=h[e+44>>2]}if(a=h[n+4>>2],i=h[e+52>>2]+(i<<3)|0,h[i>>2]=h[n>>2],h[i+4>>2]=a,h[e+44>>2]=h[e+44>>2]+1,(0|(s=h[e- -64>>2]))==h[e+68>>2]&&!((0|s)>=(0|(l=s?s<<1:1)))){i=0,a=0,l&&(h[7717]=h[7717]+1,a=0|r[h[6606]](l<<2,16),s=h[e+64>>2]),c=h[e+72>>2];t:{n:{if((0|s)>=1)for(;;)if(h[(n=i<<2)+a>>2]=h[n+c>>2],(0|s)==(0|(i=i+1|0)))break n;if(!c)break t}d[e+76|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c)),h[e+72>>2]=0,s=h[e+64>>2]}h[e+72>>2]=a,h[e+68>>2]=l,o[e+76|0]=1}return h[h[e+72>>2]+(s<<2)>>2]=h[t>>2],h[e+64>>2]=h[e+64>>2]+1,(0|u)>2]&&(function(e){var t=0,n=0,i=0,a=0,s=0,c=0,l=0,u=0,p=0;if(!((0|(l=h[e+4>>2]))>=(0|(n=h[e+48>>2])))){if(h[e+8>>2]>=(0|n))a=h[e+12>>2];else{t=l,n&&(h[7717]=h[7717]+1,a=0|r[h[6606]](n<<2,16),t=h[e+4>>2]),c=h[e+12>>2];t:{n:{if((0|t)>=1)for(;;)if(h[(s=i<<2)+a>>2]=h[c+s>>2],(0|(i=i+1|0))==(0|t))break n;if(!c)break t}d[e+16|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c))}h[e+12>>2]=a,o[e+16|0]=1,h[e+8>>2]=n}if(ji((t=l<<2)+a|0,0,(s=n<<2)-t|0),h[e+4>>2]=n,(0|(c=h[e+24>>2]))<(0|n)){t:if(h[e+28>>2]>=(0|n))a=h[e+32>>2];else{i=0,t=c,a=0,n&&(h[7717]=h[7717]+1,a=0|r[h[6606]](s,16),t=h[e+24>>2]),u=h[e+32>>2];n:{if((0|t)>=1)for(;;)if(h[(p=i<<2)+a>>2]=h[u+p>>2],(0|(i=i+1|0))==(0|t))break n;if(!u){h[e+32>>2]=a,h[e+28>>2]=n,o[e+36|0]=1;break t}}d[e+36|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u)),h[e+32>>2]=a,o[e+36|0]=1,h[e+28>>2]=n}ji((t=c<<2)+a|0,0,s-t|0)}if(h[e+24>>2]=n,(0|n)>=1&&(ji(h[e+12>>2],255,s),ji(h[e+32>>2],255,s)),!((0|l)<1))for(c=h[e+32>>2],n=h[e+72>>2],a=h[e+12>>2],i=0;t=h[(s=i<<2)+n>>2],t=g((t=(t<<15^-1)+t|0)>>10^t,9),t=((t^=t>>6)<<11^-1)+t|0,t=a+((h[e+48>>2]+-1&(t>>16^t))<<2)|0,h[c+s>>2]=h[t>>2],h[t>>2]=i,(0|l)!=(0|(i=i+1|0)););}}(e),t=h[t>>2],t=g((t=(t<<15^-1)+t|0)>>10^t,9),t=((t^=t>>6)<<11^-1)+t|0,p=h[e+48>>2]+-1&(t>>16^t)),t=h[e+32>>2]+(m<<2)|0,e=h[e+12>>2]+(p<<2)|0,h[t>>2]=h[e>>2],void(h[e>>2]=m)}t=h[e+52>>2]+(i<<3)|0,e=h[n+4>>2],h[t>>2]=h[n>>2],h[t+4>>2]=e}function kt(e,t,n,i){var o,a=v(0),s=v(0),c=0,l=v(0),u=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=0,A=v(0),x=v(0),S=v(0),T=0,E=0,P=0,O=0,M=0,R=0,I=0,D=0;w=o=w-16|0;e:if(d[e+60|0]){u=m[e+28>>2],l=m[e+12>>2],a=(a=m[n+8>>2])>2],c=(a=v(v((u=v(0)?~~a>>>0:0,x=m[e+40>>2],g=m[e+24>>2],a=m[e+8>>2],S=m[e+36>>2],y=m[e+20>>2],b=m[e+4>>2],s=m[n>>2],_=m[n+4>>2],T=65534&c,p[o+14>>1]=T,n=o,E=65534&(c=(_=v(x*v((g<(_=_=v(0)?~~_>>>0:0),p[n+12>>1]=E,n=o,P=65534&(c=(s=v(v((y<(s=s=v(0)?~~s>>>0:0),p[n+10>>1]=P,s=m[i+8>>2],n=(l=v(v(A*v((u<(s=s=v(0)?~~l>>>0:0,l=m[i>>2],u=m[i+4>>2],O=1|n,p[o+8>>1]=O,n=o,M=1|(i=(a=v(v(x*v((g<(u=u=v(0)?~~a>>>0:0),p[n+6>>1]=M,n=o,R=1|(i=(a=v(v(S*v((y<(a=l=v(0)?~~a>>>0:0),p[n+4>>1]=R;t:switch(h[e+144>>2]){case 0:if(i=0,(0|(I=h[e+56>>2]))>=1)for(e=h[e+136>>2],n=0;(D=(0|(C=h[e+12>>2]))<0)|!(c=P>>>0<=f[e+6>>1]&R>>>0>=f[e>>1]&T>>>0<=f[e+10>>1]&O>>>0>=f[e+4>>1]&E>>>0<=f[e+8>>1]&M>>>0>=f[e+2>>1])||r[h[h[t>>2]+8>>2]](t,C>>>21|0,2097151&C),(-1^c)&D?(n=n-(c=h[e+12>>2])|0,e=e-(c<<4)|0):(n=n+1|0,e=e+16|0),i=i+1|0,(0|n)<(0|I););if(h[7309]>=(0|i))break e;h[7309]=i;break e;case 1:!function(e,t,n,i){var o=0,a=0,s=0,c=0,l=0,u=0,p=0,d=0,_=0,m=0,b=0;if(h[e+152>>2]>=1)for(;;){if(d=f[n>>1],a=h[e+160>>2]+(_<<5)|0,!(d>>>0>f[a+6>>1]||(m=f[i>>1])>>>0>1]||(b=f[n+4>>1])>>>0>f[a+10>>1]||(u=f[i+4>>1])>>>0>1]||(c=f[n+2>>1])>>>0>f[a+8>>1]||(s=f[i+2>>1])>>>0>1])){n:if((0|(o=h[a+16>>2]))<1)p=0;else for(a=o+(l=h[a+12>>2])|0,o=h[e+136>>2]+(l<<4)|0,p=0;;){if(u=d>>>0<=f[o+6>>1]&m>>>0>=f[o>>1]&b>>>0<=f[o+10>>1]&u>>>0>=f[o+4>>1]&c>>>0<=f[o+8>>1]&s>>>0>=f[o+2>>1],(s=(0|(c=h[o+12>>2]))<0)|!u||r[h[h[t>>2]+8>>2]](t,c>>>21|0,2097151&c),s&(-1^u)?(l=l-(s=h[o+12>>2])|0,o=o-(s<<4)|0):(l=l+1|0,o=o+16|0),p=p+1|0,(0|l)>=(0|a))break n;s=f[i+2>>1],c=f[n+2>>1],u=f[i+4>>1],b=f[n+4>>1],m=f[i>>1],d=f[n>>1]}h[7309]>=(0|p)||(h[7309]=p)}if(!((0|(_=_+1|0))>2]))break}}(e,t,o+10|0,o+4|0);break e;case 2:break t;default:break e}Co(e,h[e+136>>2],t,o+10|0,o+4|0)}else!function(e,t,n,i){var o=0,a=0,s=0,c=0,l=0;if(h[e+56>>2]>=1)for(o=h[e+96>>2];;){a=0,m[n>>2]>m[o+16>>2]||(a=0,m[i>>2]>2]||(a=1)),s=0,s=m[i+8>>2]>2]|m[n+8>>2]>m[o+24>>2]?s:a;t:{n:{if(m[i+4>>2]>2]^1&&!(m[n+4>>2]>m[o+20>>2])){if(1==(s&(a=-1==h[o+32>>2]))){r[h[h[t>>2]+8>>2]](t,h[o+36>>2],h[o+40>>2]);break n}}else a=-1==h[o+32>>2],s=0;if(!(a|s)){c=(a=h[o+32>>2])+c|0,o=(a<<6)+o|0;break t}}c=c+1|0,o=o- -64|0}if(l=l+1|0,!((0|c)>2]))break}h[7309]<(0|l)&&(h[7309]=l)}(e,t,n,i);w=o+16|0}function Vt(e,t){var n=v(0),i=v(0),r=0,o=v(0),a=v(0),s=v(0),c=0;i=m[1192+((t<<2)+e|0)>>2],(o=m[868+(r=(t<<6)+e|0)>>2])>=(a=m[r+872>>2])||(iv(3.1415927410125732)&&(n=v(n+v(-6.2831854820251465))),s=v(y(n)),(n=ci(v(a-i),v(6.2831854820251465)))v(3.1415927410125732)&&(n=v(n+v(-6.2831854820251465))),i=sa&&((n=ci(v(i-a),v(6.2831854820251465)))v(3.1415927410125732)&&(n=v(n+v(-6.2831854820251465))),s=v(y(n)),(n=ci(v(i-o),v(6.2831854820251465)))v(3.1415927410125732)&&(n=v(n+v(-6.2831854820251465))),i=v(y(n))>2]=i;e:{t:{if(o>a)c=924+((t<<6)+e|0)|0;else{if(o>i){if(e=(t<<6)+e|0,n=v(i-o),m[e+916>>2]=n,h[e+924>>2]=1,n>v(3.1415927410125732)){m[e+916>>2]=n+v(-6.2831854820251465);break t}if(!(n>2]=n+v(6.2831854820251465);break t}if(c=924+(r=(t<<6)+e|0)|0,a>2]=2,n=v(i-a),m[r+916>>2]=n,n>v(3.1415927410125732)){m[r+916>>2]=n+v(-6.2831854820251465);break t}if(!(n>2]=n+v(6.2831854820251465);break t}}if(h[c>>2]=0,r=0,!d[912+((t<<6)+e|0)|0])break e}r=1}return r}function zt(e){var t=0;return h[(e|=0)>>2]=5228,d[e+20|0]&&((t=h[h[e+16>>2]+16>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),(t=h[e+16>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),d[e+12|0]&&((t=h[h[e+8>>2]+16>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),(t=h[e+8>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),t=h[e+32>>2],r[h[h[t>>2]>>2]](t),(t=h[e+32>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+36>>2],r[h[h[t>>2]>>2]](t),(t=h[e+36>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+40>>2],r[h[h[t>>2]>>2]](t),(t=h[e+40>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+44>>2],r[h[h[t>>2]>>2]](t),(t=h[e+44>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+48>>2],r[h[h[t>>2]>>2]](t),(t=h[e+48>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+52>>2],r[h[h[t>>2]>>2]](t),(t=h[e+52>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+56>>2],r[h[h[t>>2]>>2]](t),(t=h[e+56>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+60>>2],r[h[h[t>>2]>>2]](t),(t=h[e+60>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+76>>2],r[h[h[t>>2]>>2]](t),(t=h[e+76>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+80>>2],r[h[h[t>>2]>>2]](t),(t=h[e+80>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+72>>2],r[h[h[t>>2]>>2]](t),(t=h[e+72>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+88>>2],r[h[h[t>>2]>>2]](t),(t=h[e+88>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+84>>2],r[h[h[t>>2]>>2]](t),(t=h[e+84>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),(t=h[e+24>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+28>>2],r[h[h[t>>2]>>2]](t),(t=h[e+28>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),0|e}function jt(e,t,n){var i=0,a=0,s=0,c=0,l=0,u=0,p=0,f=0,m=0;e:{if(p=h[e+48>>2],s=h[t>>2],i=g((i=(s<<15^-1)+s|0)>>10^i,9),!((f=p+-1&((i=((i^=i>>6)<<11^-1)+i|0)>>16^i))>>>0>=_[e+4>>2])&&-1!=(0|(a=h[h[e+12>>2]+(f<<2)>>2])))for(i=h[e+72>>2];;){if((0|s)==h[i+(a<<3)>>2])break e;if(-1==(0|(a=h[h[e+32>>2]+(a<<2)>>2])))break}if((0|p)==(0|(i=m=h[e+44>>2]))&&!((0|(i=p))>=(0|(c=i?i<<1:1)))){a=0,c&&(h[7717]=h[7717]+1,u=0|r[h[6606]](c<<2,16),i=h[e+44>>2]),l=h[e+52>>2];t:{n:{if((0|i)>=1)for(;;)if(h[(s=a<<2)+u>>2]=h[s+l>>2],(0|(a=a+1|0))==(0|i))break n;if(!l)break t}d[e+56|0]&&l&&(h[7718]=h[7718]+1,r[h[6607]](l)),h[e+52>>2]=0,i=h[e+44>>2]}h[e+52>>2]=u,h[e+48>>2]=c,o[e+56|0]=1}if(h[h[e+52>>2]+(i<<2)>>2]=h[n>>2],h[e+44>>2]=h[e+44>>2]+1,(0|(i=h[e- -64>>2]))==h[e+68>>2]&&!((0|i)>=(0|(c=i?i<<1:1)))){if(c?(h[7717]=h[7717]+1,u=0|r[h[6606]](c<<3,16),i=h[e+64>>2]):u=0,(0|i)>=1)for(a=0;l=(n=a<<3)+u|0,s=n+h[e+72>>2]|0,n=h[s+4>>2],h[l>>2]=h[s>>2],h[l+4>>2]=n,(0|(a=a+1|0))!=(0|i););(n=h[e+72>>2])&&(d[e+76|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+72>>2]=0),h[e+72>>2]=u,h[e+68>>2]=c,o[e+76|0]=1,i=h[e+64>>2]}return n=h[t+4>>2],i=h[e+72>>2]+(i<<3)|0,h[i>>2]=h[t>>2],h[i+4>>2]=n,h[e+64>>2]=h[e+64>>2]+1,(0|p)>2]&&(xn(e),t=h[t>>2],t=g((t=(t<<15^-1)+t|0)>>10^t,9),t=((t^=t>>6)<<11^-1)+t|0,f=h[e+48>>2]+-1&(t>>16^t)),t=h[e+32>>2]+(m<<2)|0,e=h[e+12>>2]+(f<<2)|0,h[t>>2]=h[e>>2],void(h[e>>2]=m)}h[h[e+52>>2]+(a<<2)>>2]=h[n>>2]}function Ut(e,t,n){var i=0,a=0,s=0,c=0,l=0,u=0,p=0,f=0,m=0;e:{if(l=h[e+48>>2],i=h[t>>2],a=g((a=(i<<15^-1)+i|0)>>10^a,9),!((p=l+-1&((a=((a^=a>>6)<<11^-1)+a|0)>>16^a))>>>0>=_[e+4>>2])&&-1!=(0|(a=h[h[e+12>>2]+(p<<2)>>2])))for(s=h[e+72>>2];;){if((0|i)==h[s+(a<<3)>>2])break e;if(-1==(0|(a=h[h[e+32>>2]+(a<<2)>>2])))break}if((0|l)==(0|(i=f=h[e+44>>2]))&&!((0|(i=l))>=(0|(s=i?i<<1:1)))){if(s?(h[7717]=h[7717]+1,c=0|r[h[6606]](s<<2,16),i=h[e+44>>2]):i=l,(0|i)>=1)for(a=0;h[(u=a<<2)+c>>2]=h[u+h[e+52>>2]>>2],(0|(a=a+1|0))!=(0|i););(a=h[e+52>>2])&&(d[e+56|0]&&(a&&(h[7718]=h[7718]+1,r[h[6607]](a)),i=h[e+44>>2]),h[e+52>>2]=0),h[e+52>>2]=c,h[e+48>>2]=s,o[e+56|0]=1}if(h[h[e+52>>2]+(i<<2)>>2]=h[n>>2],h[e+44>>2]=i+1,(0|(i=h[e- -64>>2]))==h[e+68>>2]&&!((0|i)>=(0|(n=i?i<<1:1)))){if(n?(h[7717]=h[7717]+1,c=0|r[h[6606]](n<<3,16),i=h[e+64>>2]):c=0,(0|i)>=1)for(a=0;u=(s=a<<3)+c|0,s=s+h[e+72>>2]|0,m=h[s+4>>2],h[u>>2]=h[s>>2],h[u+4>>2]=m,(0|(a=a+1|0))!=(0|i););(i=h[e+72>>2])&&(d[e+76|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+72>>2]=0),h[e+72>>2]=c,h[e+68>>2]=n,o[e+76|0]=1,i=h[e+64>>2]}return n=h[e+72>>2]+(i<<3)|0,i=h[t+4>>2],h[n>>2]=h[t>>2],h[n+4>>2]=i,h[e+64>>2]=h[e+64>>2]+1,(0|l)>2]&&(xn(e),t=h[t>>2],t=g((t=(t<<15^-1)+t|0)>>10^t,9),t=((t^=t>>6)<<11^-1)+t|0,p=h[e+48>>2]+-1&(t>>16^t)),t=h[e+32>>2]+(f<<2)|0,e=h[e+12>>2]+(p<<2)|0,h[t>>2]=h[e>>2],void(h[e>>2]=f)}h[h[e+52>>2]+(a<<2)>>2]=h[n>>2]}function Gt(e,t,n,i){var r,o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0);w=r=w+-64|0,b=m[t+24>>2],g=m[t+20>>2],y=m[t+40>>2],x=m[t+36>>2],l=m[e+40>>2],u=m[e+20>>2],f=m[e+36>>2],p=m[e+24>>2],T=m[t+8>>2],E=m[t>>2],P=m[t+4>>2],O=m[t+16>>2],M=m[t+32>>2],a=m[e+8>>2],s=m[e+4>>2],_=m[e+32>>2],d=m[e+16>>2],c=m[e>>2],h[r+60>>2]=0,h[r+44>>2]=0,I=v(v(u*l)-v(p*f)),D=v(v(p*_)-v(l*d)),L=v(v(f*d)-v(u*_)),o=v(v(1)/v(v(v(c*I)+v(s*D))+v(a*L))),R=v(v(v(p*s)-v(u*a))*o),p=v(v(v(d*a)-v(p*c))*o),u=v(v(v(u*c)-v(d*s))*o),m[r+56>>2]=v(v(M*R)+v(x*p))+v(y*u),d=v(v(v(f*a)-v(l*s))*o),a=v(v(v(l*c)-v(_*a))*o),s=v(v(v(_*s)-v(f*c))*o),m[r+52>>2]=v(v(M*d)+v(x*a))+v(y*s),m[r+40>>2]=v(v(R*O)+v(p*g))+v(u*b),m[r+36>>2]=v(v(d*O)+v(a*g))+v(s*b),h[r+28>>2]=0,c=v(I*o),l=v(D*o),o=v(L*o),m[r+48>>2]=v(v(M*c)+v(x*l))+v(y*o),m[r+32>>2]=v(v(c*O)+v(l*g))+v(o*b),m[r+24>>2]=v(T*u)+v(v(E*R)+v(P*p)),m[r+20>>2]=v(T*s)+v(v(E*d)+v(P*a)),m[r+16>>2]=v(T*o)+v(v(E*c)+v(P*l)),lt(r+16|0,r),c=m[r>>2],s=m[r+4>>2],a=m[r+8>>2],l=m[r+12>>2],o=v(v(1)/v(S(v(v(v(v(c*c)+v(s*s))+v(a*a))+v(l*l))))),a=v(a*o),m[r+8>>2]=a,s=v(s*o),m[r+4>>2]=s,c=v(c*o),m[r>>2]=c,o=v(l*o),m[r+12>>2]=o,o=oi(v(C(v(A(o,v(-1))),v(1)))),m[i>>2]=o+o,h[n+12>>2]=0,m[n+8>>2]=a,m[n+4>>2]=s,m[n>>2]=c,(o=v(v(v(c*c)+v(s*s))+v(a*a)))>2]=0,h[n+12>>2]=0,h[n>>2]=1065353216,h[n+4>>2]=0):(o=v(v(1)/v(S(o))),m[n+8>>2]=a*o,m[n+4>>2]=s*o,m[n>>2]=c*o),w=r- -64|0}function Ht(e,t,n){var i=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0,d=0,f=0,_=0;if(!(!e|!t)){for(h[7717]=h[7717]+1,a=0|r[h[6606]](1024,16),h[a+4>>2]=t,h[a>>2]=e,t=124,u=128,e=128,o=1;;){if(l=o,c=h[4+(i=(p=(o=o+-1|0)<<3)+a|0)>>2],s=h[i>>2],(0|o)>(0|t)){e:if((0|u)>=(0|(t=u<<1)))i=a;else if((0|e)>=(0|t))i=a;else{t:{if(u){if(e=0,h[7717]=h[7717]+1,i=0|r[h[6606]](u<<4,16),!((0|u)<1)){for(;f=(d=e<<3)+i|0,d=h[4+(_=a+d|0)>>2],h[f>>2]=h[_>>2],h[f+4>>2]=d,(0|u)!=(0|(e=e+1|0)););break t}}else i=0;if(e=t,!a)break e}a&&(h[7718]=h[7718]+1,r[h[6607]](a)),e=t}a=i,u=t,t=t+-4|0}e:if((0|s)!=(0|c)){if(!(m[s>>2]<=m[c+16>>2]^1|m[s+16>>2]>=m[c>>2]^1|m[s+4>>2]<=m[c+20>>2]^1|m[s+20>>2]>=m[c+4>>2]^1||m[s+8>>2]<=m[c+24>>2]^1|m[s+24>>2]>=m[c+8>>2]^1))if(i=h[c+40>>2],h[s+40>>2]){if(o=h[s+36>>2],i){h[4+(i=a+p|0)>>2]=h[c+36>>2],h[i>>2]=o,i=h[s+40>>2],h[4+(o=(l<<3)+a|0)>>2]=h[c+36>>2],h[o>>2]=i,i=h[s+36>>2],h[o+12>>2]=h[c+40>>2],h[o+8>>2]=i,i=h[s+40>>2],h[o+20>>2]=h[c+40>>2],h[o+16>>2]=i,o=l+3|0;break e}h[4+(i=a+p|0)>>2]=c,h[i>>2]=o,o=h[s+40>>2],h[4+(i=(l<<3)+a|0)>>2]=c,h[i>>2]=o,o=l+1|0}else i?(h[4+(i=a+p|0)>>2]=h[c+36>>2],h[i>>2]=s,h[4+(i=(l<<3)+a|0)>>2]=h[c+40>>2],h[i>>2]=s,o=l+1|0):r[h[h[n>>2]+8>>2]](n,s,c)}else{if(!h[s+40>>2])break e;o=a+p|0,i=h[s+36>>2],h[o+4>>2]=i,h[o>>2]=i,o=(l<<3)+a|0,i=h[s+40>>2],h[o+4>>2]=i,h[o>>2]=i,i=h[s+40>>2],h[o+8>>2]=h[s+36>>2],h[o+12>>2]=i,o=l+2|0}if(!o)break}a&&a&&(h[7718]=h[7718]+1,r[h[6607]](a))}}function Wt(e,t,n,i){var a,s,c=0,l=0,u=0,p=0,f=0,_=0;if(w=a=w-16|0,s=function(e){return h[e+4>>2]=35,h[e+8>>2]=0,h[e>>2]=13316,h[e+44>>2]=1025758986,h[e+20>>2]=1065353216,h[e+24>>2]=0,h[e+12>>2]=1065353216,h[e+16>>2]=1065353216,o[e+84|0]=0,h[e+76>>2]=-1082130432,h[e+80>>2]=0,h[e+68>>2]=-1082130432,h[e+72>>2]=-1082130432,h[e+60>>2]=1065353216,h[e+64>>2]=0,h[e+52>>2]=1065353216,h[e+56>>2]=1065353216,h[e>>2]=13544,e}(e),o[e+104|0]=1,h[e>>2]=11368,h[e+100>>2]=0,o[e+124|0]=1,h[e+92>>2]=0,h[e+96>>2]=0,h[e+120>>2]=0,h[e+112>>2]=0,h[e+116>>2]=0,h[e+4>>2]=9,(0|i)>=1){if(h[7717]=h[7717]+1,c=0|r[h[6606]](i<<4,16),(0|(f=h[e+92>>2]))>=1)for(;p=(l=u<<4)+c|0,l=l+h[e+100>>2]|0,_=h[l+4>>2],h[p>>2]=h[l>>2],h[p+4>>2]=_,_=h[l+12>>2],h[p+8>>2]=h[l+8>>2],h[p+12>>2]=_,(0|f)!=(0|(u=u+1|0)););if((l=h[e+100>>2])&&(d[e+104|0]&&l&&(h[7718]=h[7718]+1,r[h[6607]](l)),h[e+100>>2]=0),h[e+100>>2]=c,u=1,o[e+104|0]=1,h[e+96>>2]=i,l=h[a+12>>2],h[c+8>>2]=h[a+8>>2],h[c+12>>2]=l,l=h[a+4>>2],h[c>>2]=h[a>>2],h[c+4>>2]=l,1!=(0|i))for(;p=h[a+4>>2],c=h[e+100>>2]+(u<<4)|0,h[c>>2]=h[a>>2],h[c+4>>2]=p,l=h[a+12>>2],h[c+8>>2]=h[a+8>>2],h[c+12>>2]=l,(0|(u=u+1|0))!=(0|i););c=h[e+112>>2]}if(h[e+92>>2]=i,(0|c)<(0|i)){if(h[e+116>>2]>=(0|i))p=h[e+120>>2];else{u=0,l=c,p=0,i&&(h[7717]=h[7717]+1,p=0|r[h[6606]](i<<2,16),l=h[e+112>>2]),f=h[e+120>>2];e:{t:{if((0|l)>=1)for(;;)if(h[(_=u<<2)+p>>2]=h[f+_>>2],(0|l)==(0|(u=u+1|0)))break t;if(!f)break e}d[e+124|0]&&f&&(h[7718]=h[7718]+1,r[h[6607]](f))}h[e+120>>2]=p,o[e+124|0]=1,h[e+116>>2]=i}ji((c<<2)+p|0,0,i-c<<2)}if(h[e+112>>2]=i,u=0,(0|i)>0)for(;l=(c=u<<4)+h[e+100>>2]|0,f=h[4+(c=t+c|0)>>2],h[l>>2]=h[c>>2],h[l+4>>2]=f,p=h[c+12>>2],h[l+8>>2]=h[c+8>>2],h[l+12>>2]=p,h[(c=u<<2)+h[e+120>>2]>>2]=h[n+c>>2],(0|(u=u+1|0))!=(0|i););ar(s),w=a+16|0}function Xt(e,t,n,i){var r=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0);Ba(e,4,t),h[e>>2]=19668,t=h[n+12>>2],h[e+560>>2]=h[n+8>>2],h[e+564>>2]=t,t=h[n+4>>2],h[e+552>>2]=h[n>>2],h[e+556>>2]=t,t=h[n+28>>2],h[e+576>>2]=h[n+24>>2],h[e+580>>2]=t,t=h[n+20>>2],h[e+568>>2]=h[n+16>>2],h[e+572>>2]=t,t=h[n+44>>2],h[e+592>>2]=h[n+40>>2],h[e+596>>2]=t,t=h[n+36>>2],h[e+584>>2]=h[n+32>>2],h[e+588>>2]=t,t=h[n+60>>2],h[e+608>>2]=h[n+56>>2],h[e+612>>2]=t,t=h[n+52>>2],h[e+600>>2]=h[n+48>>2],h[e+604>>2]=t,t=h[n+12>>2],h[e+624>>2]=h[n+8>>2],h[e+628>>2]=t,t=h[n+4>>2],h[e+616>>2]=h[n>>2],h[e+620>>2]=t,t=h[n+20>>2],h[e+632>>2]=h[n+16>>2],h[e+636>>2]=t,t=h[n+28>>2],h[e+640>>2]=h[n+24>>2],h[e+644>>2]=t,t=h[n+36>>2],h[e+648>>2]=h[n+32>>2],h[e+652>>2]=t,t=h[n+44>>2],h[e+656>>2]=h[n+40>>2],h[e+660>>2]=t,t=h[n+52>>2],h[e+664>>2]=h[n+48>>2],h[e+668>>2]=t,t=h[n+60>>2],h[e+672>>2]=h[n+56>>2],h[e+676>>2]=t,h[e+688>>2]=0,h[e+692>>2]=-1082130432,h[e+696>>2]=1063675494,h[e+700>>2]=1050253722,h[e+704>>2]=1065353216,h[e+708>>2]=0,h[e+712>>2]=0,o[e+716|0]=0,o[e+740|0]=i,h[e+748>>2]=0,h[e+736>>2]=16777216,t=h[e+28>>2],c=m[t+52>>2],l=m[t+8>>2],u=m[t+12>>2],p=m[t+56>>2],d=m[t+28>>2],f=m[t+20>>2],_=m[t+24>>2],b=m[t+60>>2],r=m[e+608>>2],g=m[t+44>>2],a=m[e+600>>2],y=m[t+36>>2],s=m[e+604>>2],C=m[t+40>>2],A=m[t+4>>2],m[e+732>>2]=v(i?-1:1),h[e+676>>2]=0,m[e+672>>2]=b+v(v(v(a*y)+v(s*C))+v(r*g)),m[e+668>>2]=p+v(v(v(a*f)+v(s*_))+v(r*d)),m[e+664>>2]=c+v(v(v(a*A)+v(s*l))+v(r*u))}function Yt(e,t,n){var i,a=0,s=0,c=0,l=0,u=v(0),p=0,f=v(0),_=v(0);if(w=i=w-112|0,h[e+716>>2]==h[e+712>>2]){if(function(e){var t=0,n=0,i=0,r=0,o=0,a=0;if((n=h[e+712>>2])&&(o=h[e+720>>2],!((0|n)<1)))for(;(i=h[96+(h[e+720>>2]+g(t,104)|0)>>2])&&(h[i+36>>2]=t),(0|n)!=(0|(t=t+1|0)););if((0|(n=h[e+732>>2]))>=1)for(t=0;r=(i=g(t,52))+h[e+740>>2]|0,h[r+8>>2]=(h[r+8>>2]-o|0)/104,i=i+h[e+740>>2]|0,h[i+12>>2]=(h[i+12>>2]-o|0)/104,(0|n)!=(0|(t=t+1|0)););if((0|(i=h[e+752>>2]))>=1)for(n=0;r=(t=g(n,44))+h[e+760>>2]|0,h[r+8>>2]=(h[r+8>>2]-o|0)/104,r=t+h[e+760>>2]|0,h[r+12>>2]=(h[r+12>>2]-o|0)/104,r=t+h[e+760>>2]|0,h[r+16>>2]=(h[r+16>>2]-o|0)/104,(t=h[40+(t+h[e+760>>2]|0)>>2])&&(h[t+36>>2]=n),(0|i)!=(0|(n=n+1|0)););if((0|(n=h[e+792>>2]))>=1)for(i=h[e+800>>2],t=0;r=i+g(t,96)|0,h[r>>2]=(h[r>>2]-o|0)/104,(0|n)!=(0|(t=t+1|0)););if((0|(a=h[e+692>>2]))>=1)for(n=h[e+700>>2],i=0;;){if(t=0,r=g(i,60),h[24+(r+n|0)>>2]>0)for(;h[28+(n=(n+r|0)+(t<<2)|0)>>2]=(h[n+28>>2]-o|0)/104,t=t+1|0,n=h[e+700>>2],(0|t)>2];);if((0|a)==(0|(i=i+1|0)))break}}(e),a=h[e+712>>2]<<1|1,h[e+716>>2]<(0|a)){if(h[7717]=h[7717]+1,c=0|r[h[6606]](g(a,104),16),(0|(l=h[e+712>>2]))>=1)for(;Vn((p=g(s,104))+c|0,p+h[e+720>>2]|0,104),(0|l)!=(0|(s=s+1|0)););(s=h[e+720>>2])&&(d[e+724|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s)),h[e+720>>2]=0),h[e+720>>2]=c,h[e+716>>2]=a,o[e+724|0]=1}!function(e){var t=0,n=0,i=0,r=0,o=0,a=0;if((t=h[e+712>>2])&&(o=h[e+720>>2],!((0|t)<1)))for(;n=h[e+720>>2]+g(i,104)|0,(r=h[n+96>>2])&&(h[r+36>>2]=n),(0|t)!=(0|(i=i+1|0)););if((0|(n=h[e+732>>2]))>=1)for(i=0;t=(r=g(i,52))+h[e+740>>2]|0,h[t+8>>2]=g(h[t+8>>2],104)+o,t=12+(r+h[e+740>>2]|0)|0,h[t>>2]=g(h[t>>2],104)+o,(0|n)!=(0|(i=i+1|0)););if((0|(r=h[e+752>>2]))>=1)for(t=0;n=(i=g(t,44))+h[e+760>>2]|0,h[n+8>>2]=g(h[n+8>>2],104)+o,n=12+(i+h[e+760>>2]|0)|0,h[n>>2]=g(h[n>>2],104)+o,n=16+(i+h[e+760>>2]|0)|0,h[n>>2]=g(h[n>>2],104)+o,i=i+h[e+760>>2]|0,(n=h[i+40>>2])&&(h[n+36>>2]=i),(0|r)!=(0|(t=t+1|0)););if((0|(n=h[e+792>>2]))>=1)for(r=h[e+800>>2],i=0;t=r+g(i,96)|0,h[t>>2]=g(h[t>>2],104)+o,(0|n)!=(0|(i=i+1|0)););if((0|(a=h[e+692>>2]))>=1)for(t=h[e+700>>2],n=0;;){if(i=0,r=g(n,60),h[24+(r+t|0)>>2]>0)for(;h[(t=28+((t+r|0)+(i<<2)|0)|0)>>2]=g(h[t>>2],104)+o,i=i+1|0,t=h[e+700>>2],(0|i)>2];);if((0|a)==(0|(n=n+1|0)))break}}(e)}if(a=h[e+192>>2],u=v(r[h[h[a>>2]+48>>2]](a)),ji(i+8|0,0,100),(0|(a=h[e+712>>2]))==h[e+716>>2]&&!((0|a)>=(0|(c=a?a<<1:1)))){if(c?(h[7717]=h[7717]+1,l=0|r[h[6606]](g(c,104),16),a=h[e+712>>2]):l=0,(0|a)>=1)for(s=0;Vn((p=g(s,104))+l|0,p+h[e+720>>2]|0,104),(0|(s=s+1|0))!=(0|a););(a=h[e+720>>2])&&(d[e+724|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+720>>2]=0),h[e+720>>2]=l,h[e+716>>2]=c,o[e+724|0]=1,a=h[e+712>>2]}a=h[e+720>>2]+g(a,104)|0,h[a>>2]=0,Vn(a+4|0,i+8|0,100),a=h[e+712>>2],h[e+712>>2]=a+1,a=ji(h[e+720>>2]+g(a,104)|0,0,104),s=h[t+12>>2],h[a+16>>2]=h[t+8>>2],h[a+20>>2]=s,s=h[t+4>>2],h[a+8>>2]=h[t>>2],h[a+12>>2]=s,s=h[t>>2],c=h[t+4>>2],l=h[t+12>>2],h[a+32>>2]=h[t+8>>2],h[a+36>>2]=l,h[a+24>>2]=s,h[a+28>>2]=c,m[a+88>>2]=n>v(0)?v(v(1)/n):v(0),h[a+4>>2]=h[h[e+880>>2]>>2],n=m[a+8>>2],f=m[a+12>>2],_=m[a+16>>2],h[i+36>>2]=0,m[i+32>>2]=u+_,m[i+28>>2]=u+f,h[i+20>>2]=0,m[i+24>>2]=u+n,m[i+16>>2]=_-u,m[i+12>>2]=f-u,m[i+8>>2]=n-u,h[a+96>>2]=Rr(e+928|0,i+8|0,a),w=i+112|0}function Qt(e,t){var n,i=0,a=0,s=0,c=0,l=0,u=0;if(w=n=w-96|0,(0|(c=h[e+8>>2]))>=1)for(;s=h[h[e+16>>2]+(a<<2)>>2],1==h[s+236>>2]&&(r[h[h[s>>2]+24>>2]](s,t),c=h[e+8>>2]),(0|(a=a+1|0))<(0|c););if(o[n+52|0]=1,h[n+48>>2]=0,o[n+72|0]=1,h[n+40>>2]=0,h[n+44>>2]=0,h[n+68>>2]=0,o[n+92|0]=1,h[n+60>>2]=0,h[n+64>>2]=0,h[n+88>>2]=0,h[n+80>>2]=0,h[n+84>>2]=0,h[n+28>>2]=0,o[n+32|0]=1,h[n+20>>2]=0,h[n+24>>2]=0,!((0|c)<1)){for(a=0;;){s=h[h[h[e+16>>2]+(l<<2)>>2]+192>>2],h[n+12>>2]=s,u=i+-1|0,i=g((i=s+(s<<15^-1)|0)>>10^i,9);e:{t:if(!((i=u&((i=((i^=i>>6)<<11^-1)+i|0)>>16^i))>>>0>=a>>>0)&&-1!=(0|(a=h[h[n+28>>2]+(i<<2)>>2]))){for(i=h[n+48>>2],u=h[n+88>>2];;){if((0|s)!=h[(a<<3)+u>>2]){if(-1!=(0|(a=h[i+(a<<2)>>2])))continue;break t}break}if(h[n+68>>2])break e}h[n>>2]=s,Ut(n+16|0,n,n+12|0),a=h[n+12>>2],r[h[h[a>>2]+60>>2]](a,t),c=h[e+8>>2]}if(!((0|(l=l+1|0))<(0|c)))break;a=h[n+20>>2],i=h[n+64>>2]}(e=h[n+88>>2])&&(d[n+92|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[n+88>>2]=0)}h[n+88>>2]=0,o[n+92|0]=1,h[n+80>>2]=0,h[n+84>>2]=0,(e=h[n+68>>2])&&(d[n+72|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[n+68>>2]=0),h[n+68>>2]=0,o[n+72|0]=1,h[n+60>>2]=0,h[n+64>>2]=0,(e=h[n+48>>2])&&(d[n+52|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[n+48>>2]=0),h[n+48>>2]=0,o[n+52|0]=1,h[n+40>>2]=0,h[n+44>>2]=0,(e=h[n+28>>2])&&(d[n+32|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[n+28>>2]=0),w=n+96|0}function Kt(e,t){var n,i=v(0),a=0,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0);w=n=w-48|0,fn(e,t,0),i=m[t+204>>2],h[t+28>>2]=0,i=v(i+m[t+212>>2]),m[t+24>>2]=v(i*m[t+60>>2])+m[t+44>>2],m[t+20>>2]=v(i*m[t+56>>2])+m[t+40>>2],m[t+16>>2]=v(m[t+52>>2]*i)+m[t+36>>2],h[n+40>>2]=-1082130432,a=h[e+100>>2],a=0|r[h[h[a>>2]+8>>2]](a,t+36|0,t+16|0,n+8|0),h[t+88>>2]=0;e:if(a){if(c=m[n+40>>2],a=h[n+28>>2],h[t>>2]=h[n+24>>2],h[t+4>>2]=a,a=h[n+36>>2],h[t+8>>2]=h[n+32>>2],h[t+12>>2]=a,o[t+84|0]=1,function(){var e=0;w=e=w-16|0,1&o[30492]||Vl(30492)&&(h[e+8>>2]=0,h[e+12>>2]=0,h[e>>2]=0,h[e+4>>2]=0,Vi(29876,e),Fu(30492)),h[e+8>>2]=0,h[e+12>>2]=0,h[e>>2]=0,h[e+4>>2]=0,zr(29876,v(0),e),w=e+16|0}(),h[t+88>>2]=29876,c=v(i*c),m[t+32>>2]=c-m[t+212>>2],(i=(a=(i=m[t+32>>2])<(s=v(m[t+204>>2]-v(m[t+208>>2]*v(.009999999776482582)))))?s:i)>(s=v(m[t+204>>2]+v(m[t+208>>2]*v(.009999999776482582))))^1&&!a||(m[t+32>>2]=i>s?s:i),a=h[n+12>>2],h[t+16>>2]=h[n+8>>2],h[t+20>>2]=a,a=h[n+20>>2],h[t+24>>2]=h[n+16>>2],h[t+28>>2]=a,s=m[t>>2],l=m[t+4>>2],d=m[t+8>>2],(i=v(v(v(s*m[t+52>>2])+v(l*m[t+56>>2]))+v(d*m[t+60>>2])))>=v(-.10000000149011612)){h[t+272>>2]=0,i=v(10);break e}i=v(v(-1)/i),p=s,e=h[e+116>>2],s=m[e+332>>2],u=v(m[t+24>>2]-m[e+60>>2]),f=v(m[t+20>>2]-m[e+56>>2]),_=m[e+336>>2],b=v(p*v(v(v(s*u)-v(f*_))+m[e+312>>2])),p=l,l=v(m[t+16>>2]-m[e+52>>2]),g=u,u=m[e+328>>2],m[t+272>>2]=i*v(v(b+v(p*v(v(v(l*_)-v(g*u))+m[e+316>>2])))+v(d*v(v(v(f*u)-v(l*s))+m[e+320>>2])))}else i=m[t+204>>2],h[t+272>>2]=0,m[t+32>>2]=i,h[t+12>>2]=0,m[t+8>>2]=-m[t+60>>2],m[t+4>>2]=-m[t+56>>2],m[t>>2]=-m[t+52>>2],c=v(-1),i=v(1);return m[t+268>>2]=i,w=n+48|0,c}function Zt(e,t,n,i,r){var a,s=0,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=0,y=v(0);if(a=h[e+9288>>2]){if((s=h[a+48>>2])&&(h[s+44>>2]=h[a+44>>2]),(s=h[a+44>>2])&&(h[s+48>>2]=h[a+48>>2]),h[e+9288>>2]==(0|a)&&(h[e+9288>>2]=h[a+48>>2]),h[(s=e+9292|0)>>2]=h[s>>2]+-1,h[a+44>>2]=0,h[a+48>>2]=h[e+9280>>2],(s=h[e+9280>>2])&&(h[s+44>>2]=a),h[e+9280>>2]=a,h[(s=e+9284|0)>>2]=h[s>>2]+1,h[a+28>>2]=i,h[a+24>>2]=n,h[a+20>>2]=t,o[a+55|0]=0,p=m[n+24>>2],y=m[i+24>>2],c=m[t+24>>2],d=m[i+20>>2],u=m[t+20>>2],f=m[n+20>>2],_=m[n+16>>2],b=m[i+16>>2],l=m[t+16>>2],h[a+12>>2]=0,_=v(_-l),d=v(d-u),f=v(f-u),l=v(b-l),u=v(v(_*d)-v(f*l)),m[a+8>>2]=u,p=v(p-c),b=v(p*l),l=v(y-c),c=v(b-v(_*l)),m[a+4>>2]=c,l=v(v(f*l)-v(p*d)),m[a>>2]=l,g=2,(c=v(S(v(v(v(l*l)+v(c*c))+v(u*u)))))>v(9999999747378752e-20)){if(Qi(a,t,n,s=a+16|0)||Qi(a,n,i,s)||Qi(a,i,t,s)||(m[a+16>>2]=v(v(v(m[t+16>>2]*m[a>>2])+v(m[t+20>>2]*m[a+4>>2]))+v(m[t+24>>2]*m[a+8>>2]))/c),c=v(v(1)/c),m[a>>2]=c*m[a>>2],m[a+4>>2]=c*m[a+4>>2],m[a+8>>2]=c*m[a+8>>2],r)return a;if(g=3,m[s>>2]>=v(-9999999747378752e-21))return a}return h[e>>2]=g,(t=h[a+48>>2])&&(h[t+44>>2]=h[a+44>>2]),(t=h[a+44>>2])&&(h[t+48>>2]=h[a+48>>2]),h[e+9280>>2]==(0|a)&&(h[e+9280>>2]=h[a+48>>2]),h[e+9284>>2]=h[e+9284>>2]+-1,h[a+44>>2]=0,h[a+48>>2]=h[e+9288>>2],(t=h[e+9288>>2])&&(h[t+44>>2]=a),h[e+9288>>2]=a,h[e+9292>>2]=h[e+9292>>2]+1,0}return h[e>>2]=5,0}function qt(e,t,n,i,r,o){var a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),h=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0);a=m[r>>2],s=m[r+4>>2],c=m[r+8>>2],v(v(v(a*a)+v(s*s))+v(c*c))>v(1.100000023841858)?a=v(0):(p=v(m[t+4>>2]-m[e+56>>2]),l=v(m[t+8>>2]-m[e+60>>2]),g=v(v(c*p)-v(s*l)),h=v(m[t>>2]-m[e+52>>2]),y=v(v(a*l)-v(c*h)),C=v(v(s*h)-v(a*p)),T=v(v(v(g*m[e+4>>2])+v(y*m[e+20>>2]))+v(C*m[e+36>>2])),d=v(m[i+8>>2]-m[n+60>>2]),f=v(m[i+4>>2]-m[n+56>>2]),A=v(v(s*d)-v(c*f)),_=v(m[i>>2]-m[n+52>>2]),x=v(v(c*_)-v(a*d)),S=v(v(a*f)-v(s*_)),E=v(v(v(A*m[n+4>>2])+v(x*m[n+20>>2]))+v(S*m[n+36>>2])),u=a,a=m[e+332>>2],b=m[e+336>>2],P=m[n+332>>2],O=m[n+336>>2],M=v(u*v(v(v(v(l*a)-v(p*b))+m[e+312>>2])-v(v(v(d*P)-v(f*O))+m[n+312>>2]))),u=s,s=m[e+328>>2],b=v(m[e+316>>2]+v(v(h*b)-v(l*s))),l=m[n+328>>2],s=v(v(v(M+v(u*v(b-v(m[n+316>>2]+v(v(_*O)-v(d*l))))))+v(c*v(v(v(v(p*s)-v(h*a))+m[e+320>>2])-v(v(v(f*l)-v(_*P))+m[n+320>>2]))))*v(-.20000000298023224)),a=v(v(v(g*m[e+8>>2])+v(y*m[e+24>>2]))+v(C*m[e+40>>2])),u=v(v(T*v(T*m[e+396>>2]))+v(a*v(a*m[e+400>>2]))),a=v(v(v(g*m[e+12>>2])+v(y*m[e+28>>2]))+v(C*m[e+44>>2])),u=v(m[n+344>>2]+v(m[e+344>>2]+v(u+v(a*v(a*m[e+404>>2]))))),a=v(v(v(A*m[n+8>>2])+v(x*m[n+24>>2]))+v(S*m[n+40>>2])),c=v(v(E*v(E*m[n+396>>2]))+v(a*v(a*m[n+400>>2]))),a=v(v(v(A*m[n+12>>2])+v(x*m[n+28>>2]))+v(S*m[n+44>>2])),a=v(s*v(v(1)/v(u+v(c+v(a*v(a*m[n+404>>2]))))))),m[o>>2]=a}function Jt(e,t){var n,i=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),f=0;w=n=w+-64|0,f=h[t+192>>2],r[h[h[f>>2]+8>>2]](f,t+4|0,n+48|0,n+32|0),i=m[6601],s=v(m[n+48>>2]-i),m[n+48>>2]=s,c=v(m[n+52>>2]-i),m[n+52>>2]=c,l=v(m[n+56>>2]-i),m[n+56>>2]=l,a=v(i+m[n+32>>2]),m[n+32>>2]=a,u=v(i+m[n+36>>2]),m[n+36>>2]=u,p=v(i+m[n+40>>2]),m[n+40>>2]=p,3&d[t+204|0]|!d[e+44|0]|2!=h[t+236>>2]||(f=h[t+192>>2],r[h[h[f>>2]+8>>2]](f,t+68|0,n+16|0,n),c=v(m[n+16>>2]-i),m[n+16>>2]=c,l=v(m[n+20>>2]-i),m[n+20>>2]=l,a=v(m[n+24>>2]-i),m[n+24>>2]=a,u=v(i+m[n>>2]),m[n>>2]=u,p=v(i+m[n+4>>2]),m[n+4>>2]=p,i=v(i+m[n+8>>2]),m[n+8>>2]=i,c<(s=m[n+48>>2])&&(m[n+48>>2]=c,s=c),l<(c=m[n+52>>2])&&(m[n+52>>2]=l,c=l),a<(l=m[n+56>>2])&&(m[n+56>>2]=a,l=a),(a=m[n+28>>2])>2]&&(m[n+60>>2]=a),(a=m[n+32>>2])>2]=u,a=u),(u=m[n+36>>2])>2]=p,u=p),(p=m[n+40>>2])>2]=i,p=i),i=m[n+12>>2],m[n+44>>2]>2]=i)),f=h[e+68>>2],1&o[t+204|0]||(s=v(a-s),a=v(s*s),s=v(u-c),a=v(a+v(s*s)),s=v(p-l),v(a+v(s*s))>2]+16>>2]](f,h[t+188>>2],n+48|0,n+32|0,h[e+24>>2]):(4!=(-2&h[t+216>>2])&&(h[t+216>>2]=5),d[27960]||(t=h[e+72>>2])&&(o[27960]=1,r[h[h[t>>2]+36>>2]](t,7508),t=h[e+72>>2],r[h[h[t>>2]+36>>2]](t,7557),t=h[e+72>>2],r[h[h[t>>2]+36>>2]](t,7625),e=h[e+72>>2],r[h[h[e>>2]+36>>2]](e,7690))),w=n- -64|0}function $t(e,t,n,i){var a;!function(e,t,n){h[e>>2]=7456,o[e+76|0]=1,h[e+72>>2]=0,h[e+68>>2]=n,h[e+28>>2]=0,h[e+32>>2]=0,h[e+24>>2]=t,o[e+20|0]=1,h[e+16>>2]=0,h[e- -64>>2]=0,o[e+60|0]=0,h[e+56>>2]=1025758986,o[e+54|0]=1,p[e+52>>1]=256,h[e+48>>2]=0,o[e+44|0]=1,h[e+36>>2]=1,h[e+40>>2]=1065353216,h[e+8>>2]=0,h[e+12>>2]=0}(e,t,n),h[(n=e)+100>>2]=1050253722,h[n+104>>2]=1015580809,h[n+92>>2]=1058642330,h[n+96>>2]=1065353216,h[n+88>>2]=0,h[n+80>>2]=0,h[n+84>>2]=0,h[n+124>>2]=1045220557,h[n+128>>2]=1061997773,h[n+108>>2]=0,h[n+112>>2]=10,h[n+168>>2]=1120403456,h[n+172>>2]=1900671690,h[n+164>>2]=128,h[n+156>>2]=260,h[n+160>>2]=2,h[n+148>>2]=0,h[n+152>>2]=1062836634,h[n+140>>2]=-1121724662,h[n+144>>2]=1036831949,h[n+132>>2]=0,h[n+136>>2]=1,h[n+116>>2]=1101004800,h[n+120>>2]=1065353216,o[n+192|0]=1,h[n>>2]=17980,h[n+188>>2]=0,h[n+180>>2]=0,h[n+184>>2]=0,o[n+224|0]=1,h[n+200>>2]=i,h[n+196>>2]=0,h[n+212>>2]=0,h[n+216>>2]=0,h[n+220>>2]=0,o[n+244|0]=1,p[n+274>>1]=0,h[n+240>>2]=0,h[n+232>>2]=0,h[n+236>>2]=0,h[n+248>>2]=0,h[n+252>>2]=-1054867456,h[n+256>>2]=0,h[n+260>>2]=0,h[n+264>>2]=0,h[n+268>>2]=0,o[n+292|0]=1,h[n+296>>2]=0,h[n+288>>2]=0,h[n+280>>2]=0,h[n+284>>2]=0,o[n+320|0]=1,o[n+300|0]=1,h[n+316>>2]=0,h[n+308>>2]=0,h[n+312>>2]=0,a=n,i?n=0:(h[7717]=h[7717]+1,Pr(n=0|r[h[6606]](196,16)),h[e+200>>2]=n,n=1),o[a+273|0]=n,h[7717]=h[7717]+1,function(e){h[e>>2]=17876,h[e+16>>2]=0,o[e+20|0]=1,h[e+8>>2]=0,h[e+12>>2]=0,h[e+36>>2]=0,o[e+40|0]=1,o[e+60|0]=1,h[e+28>>2]=0,h[e+32>>2]=0,h[e+56>>2]=0,o[e+64|0]=1,h[e+48>>2]=0,h[e+52>>2]=0}(n=0|r[h[6606]](68,16)),o[e+272|0]=1,h[e+204>>2]=n,h[7717]=h[7717]+1,n=0|r[h[6606]](88,16),i=h[e+200>>2],o[n+44|0]=1,h[n+24>>2]=t,h[n+20>>2]=0,h[n+12>>2]=0,h[n+16>>2]=0,h[n+8>>2]=i,h[n+4>>2]=0,h[n>>2]=18620,h[n+40>>2]=0,o[n+64|0]=1,h[n+32>>2]=0,h[n+36>>2]=0,h[n+60>>2]=0,o[n+84|0]=1,h[n+52>>2]=0,h[n+56>>2]=0,h[n+80>>2]=0,h[n+72>>2]=0,h[n+76>>2]=0,h[e+196>>2]=n}function en(e,t){var n=0,i=0;2&d[e+204|0]?(n=h[e+8>>2],h[e+68>>2]=h[e+4>>2],h[e+72>>2]=n,n=h[e+16>>2],h[e+76>>2]=h[e+12>>2],h[e+80>>2]=n,n=h[e+24>>2],h[e+84>>2]=h[e+20>>2],h[e+88>>2]=n,n=h[e+32>>2],h[e+92>>2]=h[e+28>>2],h[e+96>>2]=n,n=h[e+40>>2],h[e+100>>2]=h[e+36>>2],h[e+104>>2]=n,n=h[e+48>>2],h[e+108>>2]=h[e+44>>2],h[e+112>>2]=n,n=h[e+56>>2],h[e+116>>2]=h[e+52>>2],h[e+120>>2]=n,n=h[e+64>>2],h[e+124>>2]=h[e+60>>2],h[e+128>>2]=n):(i=h[(n=t)+4>>2],h[e+68>>2]=h[n>>2],h[e+72>>2]=i,i=h[n+12>>2],h[e+76>>2]=h[n+8>>2],h[e+80>>2]=i,i=h[n+28>>2],h[e+92>>2]=h[n+24>>2],h[e+96>>2]=i,i=h[n+20>>2],h[e+84>>2]=h[n+16>>2],h[e+88>>2]=i,i=h[n+36>>2],h[e+100>>2]=h[n+32>>2],h[e+104>>2]=i,i=h[n+44>>2],h[e+108>>2]=h[n+40>>2],h[e+112>>2]=i,i=h[n+60>>2],h[e+124>>2]=h[n+56>>2],h[e+128>>2]=i,i=h[n+52>>2],h[e+116>>2]=h[n+48>>2],h[e+120>>2]=i),n=h[e+332>>2],h[e+148>>2]=h[e+328>>2],h[e+152>>2]=n,n=h[e+316>>2],h[e+132>>2]=h[e+312>>2],h[e+136>>2]=n,n=h[e+340>>2],h[e+156>>2]=h[e+336>>2],h[e+160>>2]=n,n=h[e+324>>2],h[e+140>>2]=h[e+320>>2],h[e+144>>2]=n,n=h[t+12>>2],h[e+12>>2]=h[t+8>>2],h[e+16>>2]=n,n=h[t+4>>2],h[e+4>>2]=h[t>>2],h[e+8>>2]=n,n=h[t+28>>2],h[e+28>>2]=h[t+24>>2],h[e+32>>2]=n,n=h[t+20>>2],h[e+20>>2]=h[t+16>>2],h[e+24>>2]=n,n=h[t+44>>2],h[e+44>>2]=h[t+40>>2],h[e+48>>2]=n,n=h[t+36>>2],h[e+36>>2]=h[t+32>>2],h[e+40>>2]=n,n=h[t+60>>2],h[e+60>>2]=h[t+56>>2],h[e+64>>2]=n,n=h[t+52>>2],h[e+52>>2]=h[t+48>>2],h[e+56>>2]=n,Fi(e)}function tn(e,t,n,i){var r=v(0),o=v(0),a=0,s=v(0),c=0,l=v(0),u=v(0),_=0,b=0,g=0,y=0,C=0,A=0;e:{if(d[e+60|0]){if(u=m[e+12>>2],o=m[e+44>>2],_=(r=v(v(m[n+8>>2]-u)*o))=v(0)?~~r>>>0:0,s=m[e+8>>2],r=m[e+40>>2],b=(l=v(v(m[n+4>>2]-s)*r))=v(0)?~~l>>>0:0,g=(o=v(v(o*v(m[i+8>>2]-u))+v(1)))=v(0)?~~o>>>0:0,a=(r=v(v(r*v(m[i+4>>2]-s))+v(1)))=v(0)?~~r>>>0:0,c=h[e+136>>2],A=f[(y=c+(t<<4)|0)>>1],s=m[e+4>>2],r=m[e+36>>2],n=A>>>0<=(C=65534&(e=(o=v(v(m[n>>2]-s)*r))=v(0)?~~o>>>0:0))>>>0,e=(r=v(v(r*v(m[i>>2]-s))+v(1)))=v(0)?~~r>>>0:0,n||(p[y>>1]=C),e|=1,f[6+(n=c+(t<<4)|0)>>1]>>0&&(p[n+6>>1]=e),e=65534&b,f[n+2>>1]>e>>>0&&(p[n+2>>1]=e),e=1|a,f[8+(n=i=c+(t<<4)|0)>>1]>>0&&(p[n+8>>1]=e),e=65534&_,f[i+4>>1]>e>>>0&&(p[i+4>>1]=e),e=1|g,f[10+(t=c+(t<<4)|0)>>1]>=e>>>0)break e;return void(p[t+10>>1]=e)}r=m[n>>2],a=h[e+96>>2],r>2]&&(m[e>>2]=r),(r=m[n+4>>2])>2]&&(m[e+4>>2]=r),(r=m[n+8>>2])>2]&&(m[e+8>>2]=r),(r=m[n+12>>2])>2]&&(m[e+12>>2]=r),e=a+(t<<6)|0,r=m[i>>2],m[e+16>>2]>2]=r),r=m[i+4>>2],m[e+20>>2]>2]=r),e=t=a+(t<<6)|0,r=m[i+8>>2],m[e+24>>2]>2]=r),r=m[i+12>>2],m[t+28>>2]>2]=r)}}function nn(e,t){var n;w=n=w-112|0,h[n+108>>2]=e,h[n+104>>2]=t,e=h[n+108>>2],m[n+100>>2]=Hu(h[n+104>>2]),m[n+96>>2]=v(2)/m[n+100>>2],h[12+(t=w-16|0)>>2]=h[n+104>>2],m[n+92>>2]=m[h[t+12>>2]>>2]*m[n+96>>2],h[12+(t=w-16|0)>>2]=h[n+104>>2],m[n+88>>2]=m[h[t+12>>2]+4>>2]*m[n+96>>2],h[12+(t=w-16|0)>>2]=h[n+104>>2],m[n+84>>2]=m[h[t+12>>2]+8>>2]*m[n+96>>2],h[12+(t=w-16|0)>>2]=h[n+104>>2],m[n+80>>2]=m[h[t+12>>2]+12>>2]*m[n+92>>2],h[12+(t=w-16|0)>>2]=h[n+104>>2],m[n+76>>2]=m[h[t+12>>2]+12>>2]*m[n+88>>2],h[12+(t=w-16|0)>>2]=h[n+104>>2],m[n+72>>2]=m[h[t+12>>2]+12>>2]*m[n+84>>2],h[12+(t=w-16|0)>>2]=h[n+104>>2],m[n+68>>2]=m[h[t+12>>2]>>2]*m[n+92>>2],h[12+(t=w-16|0)>>2]=h[n+104>>2],m[n+64>>2]=m[h[t+12>>2]>>2]*m[n+88>>2],h[12+(t=w-16|0)>>2]=h[n+104>>2],m[n+60>>2]=m[h[t+12>>2]>>2]*m[n+84>>2],h[12+(t=w-16|0)>>2]=h[n+104>>2],m[n+56>>2]=m[h[t+12>>2]+4>>2]*m[n+88>>2],h[12+(t=w-16|0)>>2]=h[n+104>>2],m[n+52>>2]=m[h[t+12>>2]+4>>2]*m[n+84>>2],h[12+(t=w-16|0)>>2]=h[n+104>>2],m[n+48>>2]=m[h[t+12>>2]+8>>2]*m[n+84>>2],m[n+44>>2]=v(1)-v(m[n+56>>2]+m[n+48>>2]),m[n+40>>2]=m[n+64>>2]-m[n+72>>2],m[n+36>>2]=m[n+60>>2]+m[n+76>>2],m[n+32>>2]=m[n+64>>2]+m[n+72>>2],m[n+28>>2]=v(1)-v(m[n+68>>2]+m[n+48>>2]),m[n+24>>2]=m[n+52>>2]-m[n+80>>2],m[n+20>>2]=m[n+60>>2]-m[n+76>>2],m[n+16>>2]=m[n+52>>2]+m[n+80>>2],m[n+12>>2]=v(1)-v(m[n+68>>2]+m[n+56>>2]),Fo(e,n+44|0,n+40|0,n+36|0,n+32|0,n+28|0,n+24|0,n+20|0,n+16|0,n+12|0),w=n+112|0}function rn(e,t,n){var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=0;(i=m[n+128>>2])!=v(0)&&(h[7468]=h[7468]+1,s=i,i=m[n+96>>2],a=m[n+16>>2],c=m[n+20>>2],l=m[n+24>>2],r=m[n+108>>2],r=v(v(v(s-v(i*m[n+116>>2]))-v(v(v(v(v(a*m[e+144>>2])+v(c*m[e+148>>2]))+v(l*m[e+152>>2]))+v(v(v(m[n>>2]*m[e+160>>2])+v(m[n+4>>2]*m[e+164>>2]))+v(m[n+8>>2]*m[e+168>>2])))*r))-v(r*v(v(v(v(m[n+48>>2]*m[t+144>>2])+v(m[n+52>>2]*m[t+148>>2]))+v(m[n+56>>2]*m[t+152>>2]))+v(v(v(m[n+32>>2]*m[t+160>>2])+v(m[n+36>>2]*m[t+164>>2]))+v(m[n+40>>2]*m[t+168>>2]))))),u=(s=v(i+r))<(o=m[n+120>>2]),m[n+96>>2]=u?o:s,i=u?v(o-i):r,h[e+240>>2]&&(m[e+144>>2]=v(m[e+112>>2]*v(i*v(a*m[e+128>>2])))+m[e+144>>2],m[e+148>>2]=v(v(i*v(c*m[e+132>>2]))*m[e+116>>2])+m[e+148>>2],m[e+152>>2]=v(v(i*v(l*m[e+136>>2]))*m[e+120>>2])+m[e+152>>2],r=m[n+72>>2],o=m[n+68>>2],m[e+160>>2]=v(v(i*m[e+96>>2])*m[n+64>>2])+m[e+160>>2],a=m[e+104>>2],m[e+164>>2]=v(o*v(i*m[e+100>>2]))+m[e+164>>2],m[e+168>>2]=v(r*v(i*a))+m[e+168>>2]),h[t+240>>2]&&(r=m[n+56>>2],o=m[n+52>>2],m[t+144>>2]=v(m[t+112>>2]*v(i*v(m[n+48>>2]*m[t+128>>2])))+m[t+144>>2],m[t+148>>2]=v(v(i*v(o*m[t+132>>2]))*m[t+116>>2])+m[t+148>>2],m[t+152>>2]=v(v(i*v(r*m[t+136>>2]))*m[t+120>>2])+m[t+152>>2],r=m[n+88>>2],o=m[n+84>>2],m[t+160>>2]=v(v(i*m[t+96>>2])*m[n+80>>2])+m[t+160>>2],a=m[t+104>>2],m[t+164>>2]=v(o*v(i*m[t+100>>2]))+m[t+164>>2],m[t+168>>2]=v(r*v(i*a))+m[t+168>>2]))}function on(e,t,n,i){var r,o,a=v(0),s=0,c=0,l=0,u=0,p=v(0),d=0,f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=0,x=v(0),S=v(0),T=v(0);for(w=r=w-32|0,l=(c=h[e+12>>2])+g((n+i|0)/2|0,24)|0,o=h[l+20>>2],_=m[l+16>>2],x=m[l+8>>2],S=m[l+4>>2],T=m[l>>2],l=n,d=i;;){for(b=m[t>>2],p=v(T-b),a=v(p*p),y=m[t+4>>2],p=v(S-y),a=v(a+v(p*p)),C=m[t+8>>2],p=v(x-C),p=v(a+v(p*p));;){e:{s=g(l,24)+c|0;t:{if((a=m[s+16>>2])!=_){if(a<_)break t;break e}if(a=v(m[s>>2]-b),f=v(a*a),a=v(m[s+4>>2]-y),f=v(f+v(a*a)),a=v(m[s+8>>2]-C),1!=(0|((a=v(f+v(a*a)))!=p?a>2]<(0|o))))break e}l=l+1|0;continue}break}for(;;){e:{A=g(d,24);t:{if(_!=(a=m[16+(u=A+c|0)>>2])){if(_>2]-b),f=v(a*a),a=v(m[u+4>>2]-y),f=v(f+v(a*a)),a=v(m[u+8>>2]-C),1!=(0|(p!=(a=v(f+v(a*a)))?p>2])))break e}d=d+-1|0;continue}break}if((0|l)<=(0|d)&&(c=h[s+20>>2],h[r+24>>2]=h[s+16>>2],h[r+28>>2]=c,c=h[s+12>>2],h[r+16>>2]=h[s+8>>2],h[r+20>>2]=c,c=h[s+4>>2],h[r+8>>2]=h[s>>2],h[r+12>>2]=c,c=h[u+4>>2],h[s>>2]=h[u>>2],h[s+4>>2]=c,c=h[u+12>>2],h[s+8>>2]=h[u+8>>2],h[s+12>>2]=c,c=h[u+20>>2],h[s+16>>2]=h[u+16>>2],h[s+20>>2]=c,c=h[r+12>>2],s=h[e+12>>2]+A|0,h[s>>2]=h[r+8>>2],h[s+4>>2]=c,u=h[r+28>>2],h[s+16>>2]=h[r+24>>2],h[s+20>>2]=u,u=h[r+20>>2],h[s+8>>2]=h[r+16>>2],h[s+12>>2]=u,d=d+-1|0,l=l+1|0),!((0|l)<=(0|d)))break;c=h[e+12>>2]}(0|d)>(0|n)&&on(e,t,n,d),(0|l)<(0|i)&&on(e,t,l,i),w=r+32|0}function an(e,t,n){var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0);a=m[n+100>>2],s=m[n+16>>2],c=m[n+20>>2],l=m[n+24>>2],r=m[n+108>>2],i=v(v(v(m[n+112>>2]-v(a*m[n+116>>2]))-v(v(v(v(v(s*m[e+64>>2])+v(c*m[e+68>>2]))+v(l*m[e+72>>2]))+v(v(v(m[n>>2]*m[e+80>>2])+v(m[n+4>>2]*m[e+84>>2]))+v(m[n+8>>2]*m[e+88>>2])))*r))-v(r*v(v(v(v(m[n+48>>2]*m[t+64>>2])+v(m[n+52>>2]*m[t+68>>2]))+v(m[n+56>>2]*m[t+72>>2]))+v(v(v(m[n+32>>2]*m[t+80>>2])+v(m[n+36>>2]*m[t+84>>2]))+v(m[n+40>>2]*m[t+88>>2]))))),((r=v(a+i))<(o=m[n+120>>2])||r>(o=m[n+124>>2]))&&(i=v(o-a),r=o),m[n+100>>2]=r,h[e+240>>2]&&(m[e+64>>2]=v(m[e+112>>2]*v(i*v(s*m[e+128>>2])))+m[e+64>>2],m[e+68>>2]=v(v(i*v(c*m[e+132>>2]))*m[e+116>>2])+m[e+68>>2],m[e+72>>2]=v(v(i*v(l*m[e+136>>2]))*m[e+120>>2])+m[e+72>>2],r=m[n+72>>2],o=m[n+68>>2],m[e+80>>2]=v(v(i*m[e+96>>2])*m[n+64>>2])+m[e+80>>2],a=m[e+104>>2],m[e+84>>2]=v(o*v(i*m[e+100>>2]))+m[e+84>>2],m[e+88>>2]=v(r*v(i*a))+m[e+88>>2]),h[t+240>>2]&&(r=m[n+56>>2],o=m[n+52>>2],m[t+64>>2]=v(m[t+112>>2]*v(i*v(m[n+48>>2]*m[t+128>>2])))+m[t+64>>2],m[t+68>>2]=v(v(i*v(o*m[t+132>>2]))*m[t+116>>2])+m[t+68>>2],m[t+72>>2]=v(v(i*v(r*m[t+136>>2]))*m[t+120>>2])+m[t+72>>2],r=m[n+88>>2],o=m[n+84>>2],m[t+80>>2]=v(v(i*m[t+96>>2])*m[n+80>>2])+m[t+80>>2],a=m[t+104>>2],m[t+84>>2]=v(o*v(i*m[t+100>>2]))+m[t+84>>2],m[t+88>>2]=v(r*v(i*a))+m[t+88>>2])}function sn(e,t,n,i,o,a,s){var c,l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=0,b=0,g=v(0),y=v(0),C=v(0);w=c=w-128|0,t&&(!h[t+40>>2]|((0|s)>-1?(0|n)>=(0|s):0)||(_=n+1|0,sn(e,h[t+36>>2],_,i,o,a,s),sn(e,h[t+40>>2],_,i,o,a,s)),(0|n)<(0|a)||(l=m[t+20>>2],u=m[t+24>>2],a=h[t+40>>2],p=m[t+16>>2],g=m[t>>2],d=m[t+4>>2],f=m[t+8>>2],h[c+124>>2]=0,h[c+108>>2]=0,h[c+92>>2]=0,h[c+76>>2]=0,h[c+60>>2]=0,h[c+44>>2]=0,h[c+28>>2]=0,y=v(v(f+u)*v(.5)),f=v(v(u-f)*v(.5)),u=v(y+f),m[c+120>>2]=u,C=v(v(d+l)*v(.5)),d=v(v(l-d)*v(.5)),l=v(C+d),m[c+116>>2]=l,m[c+104>>2]=u,m[c+100>>2]=l,m[c+88>>2]=u,d=v(C-d),m[c+84>>2]=d,m[c+72>>2]=u,m[c+68>>2]=d,u=v(y-f),m[c+56>>2]=u,m[c+52>>2]=l,m[c+40>>2]=u,m[c+36>>2]=l,m[c+24>>2]=u,m[c+20>>2]=d,h[c+12>>2]=0,f=v(v(g+p)*v(.5)),p=v(v(p-g)*v(.5)),l=v(f-p),m[c+112>>2]=l,p=v(f+p),m[c+96>>2]=p,m[c+80>>2]=p,m[c+64>>2]=l,m[c+48>>2]=l,m[c+32>>2]=p,m[c+16>>2]=p,m[c>>2]=l,m[c+8>>2]=u,m[c+4>>2]=d,n=c+16|0,t=a?i:o,r[h[h[e>>2]+8>>2]](e,c,n,t),i=c+32|0,r[h[h[e>>2]+8>>2]](e,n,i,t),o=c+48|0,r[h[h[e>>2]+8>>2]](e,i,o,t),r[h[h[e>>2]+8>>2]](e,o,c,t),a=c- -64|0,s=c+80|0,r[h[h[e>>2]+8>>2]](e,a,s,t),_=c+96|0,r[h[h[e>>2]+8>>2]](e,s,_,t),b=c+112|0,r[h[h[e>>2]+8>>2]](e,_,b,t),r[h[h[e>>2]+8>>2]](e,b,a,t),r[h[h[e>>2]+8>>2]](e,c,a,t),r[h[h[e>>2]+8>>2]](e,n,s,t),r[h[h[e>>2]+8>>2]](e,i,_,t),r[h[h[e>>2]+8>>2]](e,o,b,t))),w=c+128|0}function cn(e,t){var n,i=0,r=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0;w=n=w-32|0;e:if(!((0|(t=(0|t)<=-1?h[e+12>>2]:t))<1)&&(r=h[e>>2]))for(;;){if(l=0,h[(a=r+40|0)>>2])for(;(o=h[r+32>>2])>>>0<=r>>>0?o=r:(s=(0|(i=h[o+40>>2]))==(0|r),p=h[36+((u=((0|r)!=(0|i))<<2)+o|0)>>2],c=e,(i=h[o+32>>2])&&(c=36+(i+((h[i+40>>2]==(0|o))<<2)|0)|0),h[c>>2]=r,h[p+32>>2]=r,h[o+32>>2]=r,h[r+32>>2]=i,h[o+36>>2]=h[r+36>>2],h[o+40>>2]=h[a>>2],h[h[r+36>>2]+32>>2]=o,h[h[a>>2]+32>>2]=o,h[(i=r+36|0)+(s<<2)>>2]=o,h[i+u>>2]=p,a=h[4+(i=o+24|0)>>2],h[n+24>>2]=h[i>>2],h[n+28>>2]=a,a=h[4+(i=o+16|0)>>2],h[n+16>>2]=h[i>>2],h[n+20>>2]=a,a=h[4+(i=o+8|0)>>2],h[n+8>>2]=h[i>>2],h[n+12>>2]=a,i=h[o+4>>2],h[n>>2]=h[o>>2],h[n+4>>2]=i,a=h[4+(i=r+24|0)>>2],h[o+24>>2]=h[i>>2],h[o+28>>2]=a,a=h[4+(i=r+16|0)>>2],h[o+16>>2]=h[i>>2],h[o+20>>2]=a,a=h[4+(i=r+8|0)>>2],h[o+8>>2]=h[i>>2],h[o+12>>2]=a,i=h[r+4>>2],h[o>>2]=h[r>>2],h[o+4>>2]=i,i=h[n+28>>2],h[r+24>>2]=h[n+24>>2],h[r+28>>2]=i,i=h[n+20>>2],h[r+16>>2]=h[n+16>>2],h[r+20>>2]=i,i=h[n+12>>2],h[r+8>>2]=h[n+8>>2],h[r+12>>2]=i,i=h[n+4>>2],h[r>>2]=h[n>>2],h[r+4>>2]=i),r=h[e+16>>2]>>>l|0,l=l+1&31,r=h[36+(((1&r)<<2)+o|0)>>2],h[(a=r+40|0)>>2];);if(c=o=e,s=0,ti(o,r)&&(s=h[e>>2]),Rt(c,s,r),h[e+16>>2]=h[e+16>>2]+1,!(t=t+-1|0))break e;r=h[e>>2]}w=n+32|0}function ln(e){var t=0,n=0,i=0,a=0,s=0,c=0,l=0,u=0,p=0;if(!((0|(l=h[e+36>>2]))>=(0|(n=h[e+12>>2])))){e:if(h[e+40>>2]>=(0|n))t=h[e+44>>2];else{i=l,n&&(h[7717]=h[7717]+1,t=0|r[h[6606]](n<<2,16),i=h[e+36>>2]),s=h[e+44>>2];t:{if((0|i)>=1)for(;;)if(h[(c=a<<2)+t>>2]=h[s+c>>2],(0|(a=a+1|0))==(0|i))break t;if(!s){h[e+44>>2]=t,h[e+40>>2]=n,o[e+48|0]=1;break e}}d[e+48|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s)),h[e+44>>2]=t,o[e+48|0]=1,h[e+40>>2]=n}if(ji((i=l<<2)+t|0,0,(c=n<<2)-i|0),h[e+36>>2]=n,(0|(s=h[e+56>>2]))<(0|n)){e:if(h[e+60>>2]>=(0|n))t=h[e- -64>>2];else{a=0,i=s,t=0,n&&(h[7717]=h[7717]+1,t=0|r[h[6606]](c,16),i=h[e+56>>2]),u=h[e- -64>>2];t:{if((0|i)>=1)for(;;)if(h[(p=a<<2)+t>>2]=h[u+p>>2],(0|(a=a+1|0))==(0|i))break t;if(!u){h[e+64>>2]=t,h[e+60>>2]=n,o[e+68|0]=1;break e}}d[e+68|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u)),h[e+64>>2]=t,o[e+68|0]=1,h[e+60>>2]=n}ji((i=s<<2)+t|0,0,c-i|0)}if(h[e+56>>2]=n,(0|n)>=1&&(ji(h[e+44>>2],255,c),ji(h[e- -64>>2],255,c)),!((0|l)<1))for(i=h[e- -64>>2],s=h[e+16>>2],n=h[e+44>>2],a=0;t=h[h[4+(t=s+(a<<4)|0)>>2]+12>>2]<<16|h[h[t>>2]+12>>2],t=g((t=(t<<15^-1)+t|0)>>10^t,9),t=((t^=t>>6)<<11^-1)+t|0,t=n+((h[e+12>>2]+-1&(t>>16^t))<<2)|0,h[i+(a<<2)>>2]=h[t>>2],h[t>>2]=a,(0|l)!=(0|(a=a+1|0)););}}function un(e,t){var n=0,i=0,a=0,s=0,c=0,l=0,u=0,p=0;if(c=i=h[e+4>>2],(0|i)==h[e+8>>2]&&(c=i,!((0|i)>=(0|(l=i?i<<1:1))))){if(l?(h[7717]=h[7717]+1,p=0|r[h[6606]](g(l,244),16),c=h[e+4>>2]):c=i,(0|c)>=1)for(;a=(n=g(u,244))+p|0,n=n+h[e+12>>2]|0,s=h[n+4>>2],h[a>>2]=h[n>>2],h[a+4>>2]=s,s=h[n+12>>2],h[a+8>>2]=h[n+8>>2],h[a+12>>2]=s,s=h[n+28>>2],h[a+24>>2]=h[n+24>>2],h[a+28>>2]=s,s=h[n+20>>2],h[a+16>>2]=h[n+16>>2],h[a+20>>2]=s,s=h[n+44>>2],h[a+40>>2]=h[n+40>>2],h[a+44>>2]=s,s=h[n+36>>2],h[a+32>>2]=h[n+32>>2],h[a+36>>2]=s,s=h[n+52>>2],h[a+48>>2]=h[n+48>>2],h[a+52>>2]=s,s=h[n+60>>2],h[a+56>>2]=h[n+56>>2],h[a+60>>2]=s,Vn(a- -64|0,n- -64|0,180),(0|c)!=(0|(u=u+1|0)););(c=h[e+12>>2])&&(d[e+16|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c)),h[e+12>>2]=0),h[e+12>>2]=p,o[e+16|0]=1,h[e+8>>2]=l,c=h[e+4>>2]}return h[e+4>>2]=c+1,a=h[t+12>>2],i=(c=g(i,244))+h[e+12>>2]|0,h[(n=i)+8>>2]=h[t+8>>2],h[n+12>>2]=a,n=h[t+4>>2],h[i>>2]=h[t>>2],h[i+4>>2]=n,n=h[t+28>>2],h[i+24>>2]=h[t+24>>2],h[i+28>>2]=n,n=h[t+20>>2],h[i+16>>2]=h[t+16>>2],h[i+20>>2]=n,n=h[t+36>>2],h[i+32>>2]=h[t+32>>2],h[i+36>>2]=n,n=h[t+44>>2],h[i+40>>2]=h[t+40>>2],h[i+44>>2]=n,n=h[t+52>>2],h[i+48>>2]=h[t+48>>2],h[i+52>>2]=n,n=h[t+60>>2],h[i+56>>2]=h[t+56>>2],h[i+60>>2]=n,Vn(i- -64|0,t- -64|0,180),c+h[e+12>>2]|0}function pn(e,t,n){var i,r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0);r=m[n+100>>2],s=m[n+16>>2],c=m[n+20>>2],l=m[n+24>>2],o=m[n+108>>2],o=v(v(v(m[n+112>>2]-v(r*m[n+116>>2]))-v(v(v(v(v(s*m[e+64>>2])+v(c*m[e+68>>2]))+v(l*m[e+72>>2]))+v(v(v(m[n>>2]*m[e+80>>2])+v(m[n+4>>2]*m[e+84>>2]))+v(m[n+8>>2]*m[e+88>>2])))*o))-v(o*v(v(v(v(m[n+48>>2]*m[t+64>>2])+v(m[n+52>>2]*m[t+68>>2]))+v(m[n+56>>2]*m[t+72>>2]))+v(v(v(m[n+32>>2]*m[t+80>>2])+v(m[n+36>>2]*m[t+84>>2]))+v(m[n+40>>2]*m[t+88>>2]))))),i=(u=v(r+o))<(a=m[n+120>>2]),m[n+100>>2]=i?a:u,r=i?v(a-r):o,h[e+240>>2]&&(m[e+64>>2]=v(m[e+112>>2]*v(r*v(s*m[e+128>>2])))+m[e+64>>2],m[e+68>>2]=v(v(r*v(c*m[e+132>>2]))*m[e+116>>2])+m[e+68>>2],m[e+72>>2]=v(v(r*v(l*m[e+136>>2]))*m[e+120>>2])+m[e+72>>2],o=m[n+72>>2],a=m[n+68>>2],m[e+80>>2]=v(v(r*m[e+96>>2])*m[n+64>>2])+m[e+80>>2],s=m[e+104>>2],m[e+84>>2]=v(a*v(r*m[e+100>>2]))+m[e+84>>2],m[e+88>>2]=v(o*v(r*s))+m[e+88>>2]),h[t+240>>2]&&(o=m[n+56>>2],a=m[n+52>>2],m[t+64>>2]=v(m[t+112>>2]*v(r*v(m[n+48>>2]*m[t+128>>2])))+m[t+64>>2],m[t+68>>2]=v(v(r*v(a*m[t+132>>2]))*m[t+116>>2])+m[t+68>>2],m[t+72>>2]=v(v(r*v(o*m[t+136>>2]))*m[t+120>>2])+m[t+72>>2],o=m[n+88>>2],a=m[n+84>>2],m[t+80>>2]=v(v(r*m[t+96>>2])*m[n+80>>2])+m[t+80>>2],s=m[t+104>>2],m[t+84>>2]=v(a*v(r*m[t+100>>2]))+m[t+84>>2],m[t+88>>2]=v(o*v(r*s))+m[t+88>>2])}function hn(e){var t=0;return h[(e|=0)>>2]=19780,(t=h[e+176>>2])&&(d[e+180|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+176>>2]=0),h[e+176>>2]=0,o[e+180|0]=1,h[e+168>>2]=0,h[e+172>>2]=0,(t=h[e+156>>2])&&(d[e+160|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+156>>2]=0),h[e+156>>2]=0,o[e+160|0]=1,h[e+148>>2]=0,h[e+152>>2]=0,(t=h[e+136>>2])&&(d[e+140|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+136>>2]=0),h[e+136>>2]=0,o[e+140|0]=1,h[e+128>>2]=0,h[e+132>>2]=0,(t=h[e+116>>2])&&(d[e+120|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+116>>2]=0),h[e+116>>2]=0,o[e+120|0]=1,h[e+108>>2]=0,h[e+112>>2]=0,(t=h[e+96>>2])&&(d[e+100|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+96>>2]=0),h[e+96>>2]=0,o[e+100|0]=1,h[e+88>>2]=0,h[e+92>>2]=0,(t=h[e+76>>2])&&(d[e+80|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+76>>2]=0),h[e+76>>2]=0,o[e+80|0]=1,h[e+68>>2]=0,h[e+72>>2]=0,(t=h[e+56>>2])&&(d[e+60|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+56>>2]=0),h[e+56>>2]=0,o[e+60|0]=1,h[e+48>>2]=0,h[e+52>>2]=0,(t=h[e+36>>2])&&(d[e+40|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+36>>2]=0),h[e+36>>2]=0,o[e+40|0]=1,h[e+28>>2]=0,h[e+32>>2]=0,(t=h[e+16>>2])&&(d[e+20|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+16>>2]=0),h[e+16>>2]=0,o[e+20|0]=1,h[e+8>>2]=0,h[e+12>>2]=0,0|e}function dn(e){var t=0,n=0,i=0,a=0,s=0,c=0,l=0,u=0,p=0;if(!((0|(l=h[e+32>>2]))>=(0|(n=h[e+12>>2])))){e:if(h[e+36>>2]>=(0|n))t=h[e+40>>2];else{i=l,n&&(h[7717]=h[7717]+1,t=0|r[h[6606]](n<<2,16),i=h[e+32>>2]),s=h[e+40>>2];t:{if((0|i)>=1)for(;;)if(h[(c=a<<2)+t>>2]=h[s+c>>2],(0|(a=a+1|0))==(0|i))break t;if(!s){h[e+40>>2]=t,h[e+36>>2]=n,o[e+44|0]=1;break e}}d[e+44|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s)),h[e+40>>2]=t,o[e+44|0]=1,h[e+36>>2]=n}if(ji((i=l<<2)+t|0,0,(c=n<<2)-i|0),h[e+32>>2]=n,(0|(s=h[e+52>>2]))<(0|n)){e:if(h[e+56>>2]>=(0|n))t=h[e+60>>2];else{a=0,i=s,t=0,n&&(h[7717]=h[7717]+1,t=0|r[h[6606]](c,16),i=h[e+52>>2]),u=h[e+60>>2];t:{if((0|i)>=1)for(;;)if(h[(p=a<<2)+t>>2]=h[u+p>>2],(0|(a=a+1|0))==(0|i))break t;if(!u){h[e+60>>2]=t,h[e+56>>2]=n,o[e- -64|0]=1;break e}}d[e- -64|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u)),h[e+60>>2]=t,o[e+64|0]=1,h[e+56>>2]=n}ji((i=s<<2)+t|0,0,c-i|0)}if(h[e+52>>2]=n,(0|n)>=1&&(ji(h[e+40>>2],255,c),ji(h[e+60>>2],255,c)),!((0|l)<1))for(i=h[e+60>>2],s=h[e+16>>2],n=h[e+40>>2],a=0;t=s+g(a,12)|0,t=h[t+4>>2]<<16|h[t>>2],t=g((t=(t<<15^-1)+t|0)>>10^t,9),t=((t^=t>>6)<<11^-1)+t|0,t=n+((h[e+12>>2]+-1&(t>>16^t))<<2)|0,h[i+(a<<2)>>2]=h[t>>2],h[t>>2]=a,(0|l)!=(0|(a=a+1|0)););}}function fn(e,t,n){var i,a,s=0,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0);w=i=w+-64|0,o[t+84|0]=0,a=h[e+116>>2],s=h[(e=a)+16>>2],h[i+8>>2]=h[e+12>>2],h[i+12>>2]=s,s=h[e+8>>2],h[i>>2]=h[e+4>>2],h[i+4>>2]=s,s=h[e+32>>2],h[i+24>>2]=h[e+28>>2],h[i+28>>2]=s,s=h[e+24>>2],h[i+16>>2]=h[e+20>>2],h[i+20>>2]=s,s=h[e+48>>2],h[i+40>>2]=h[e+44>>2],h[i+44>>2]=s,s=h[e+40>>2],h[i+32>>2]=h[e+36>>2],h[i+36>>2]=s,s=h[e+64>>2],h[i+56>>2]=h[e+60>>2],h[i+60>>2]=s,s=h[e+56>>2],h[i+48>>2]=h[e+52>>2],h[i+52>>2]=s,n&&(e=h[a+480>>2])&&r[h[h[e>>2]+8>>2]](e,i),x=m[i+52>>2],p=m[i+24>>2],d=m[i+20>>2],c=m[i+56>>2],f=m[i+40>>2],_=m[i+36>>2],S=m[i+48>>2],b=m[i+8>>2],g=m[i+4>>2],y=m[i>>2],C=m[i+16>>2],A=m[i+32>>2],h[t+48>>2]=0,T=c,c=m[t+156>>2],l=m[t+160>>2],u=m[t+164>>2],m[t+44>>2]=T+v(v(v(A*c)+v(_*l))+v(f*u)),m[t+40>>2]=x+v(v(v(c*C)+v(l*d))+v(u*p)),m[t+36>>2]=S+v(v(v(c*y)+v(l*g))+v(u*b)),h[t- -64>>2]=0,c=m[t+172>>2],l=m[t+176>>2],u=m[t+180>>2],m[t+60>>2]=v(v(A*c)+v(_*l))+v(f*u),m[t+56>>2]=v(v(c*C)+v(l*d))+v(u*p),m[t+52>>2]=v(v(y*c)+v(g*l))+v(b*u),c=m[t+196>>2],l=m[t+192>>2],u=m[t+188>>2],h[t+80>>2]=0,m[t+76>>2]=v(v(A*u)+v(_*l))+v(f*c),m[t+72>>2]=v(v(C*u)+v(d*l))+v(p*c),m[t+68>>2]=v(v(y*u)+v(g*l))+v(b*c),w=i- -64|0}function _n(e,t,n,i,r,o,a,s,c,l){var u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=0,E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0);T=h[o+4>>2],h[e>>2]=h[o>>2],h[e+4>>2]=T,T=h[o+12>>2],h[e+8>>2]=h[o+8>>2],h[e+12>>2]=T,S=m[t+24>>2],y=m[t+20>>2],f=m[t+40>>2],p=m[t+36>>2],C=m[t+8>>2],A=m[t>>2],E=m[t+4>>2],P=m[t+16>>2],u=m[t+32>>2],b=m[i+4>>2],_=m[i+8>>2],x=m[i>>2],h[e+28>>2]=0,O=u,u=m[e+8>>2],d=m[e+4>>2],g=v(v(b*u)-v(_*d)),M=p,R=_,_=m[e>>2],p=v(v(R*_)-v(u*x)),b=v(v(d*x)-v(b*_)),x=v(v(v(O*g)+v(M*p))+v(f*b)),m[e+24>>2]=x,S=v(v(v(g*P)+v(p*y))+v(b*S)),m[e+20>>2]=S,b=v(v(v(g*A)+v(E*p))+v(b*C)),m[e+16>>2]=b,C=m[n+24>>2],A=m[n+20>>2],E=m[n+40>>2],P=m[n+36>>2],I=m[n+8>>2],w=m[n>>2],O=m[n+4>>2],M=m[n+16>>2],f=m[n+32>>2],g=m[r+4>>2],p=m[r>>2],y=m[r+8>>2],h[e+44>>2]=0,R=f,f=v(v(d*y)-v(u*g)),u=v(v(u*p)-v(_*y)),d=v(v(_*g)-v(d*p)),_=v(v(v(R*f)+v(P*u))+v(E*d)),m[e+40>>2]=_,g=v(v(v(f*M)+v(u*A))+v(d*C)),m[e+36>>2]=g,u=v(v(v(w*f)+v(O*u))+v(d*I)),m[e+32>>2]=u,d=m[a+8>>2],p=m[a+4>>2],y=m[a>>2],h[e+60>>2]=0,y=v(y*b),m[e+48>>2]=y,p=v(p*S),m[e+52>>2]=p,d=v(d*x),m[e+56>>2]=d,f=m[c+8>>2],C=m[c+4>>2],A=m[c>>2],h[e+76>>2]=0,A=v(A*u),m[e+64>>2]=A,C=v(C*g),m[e+68>>2]=C,f=v(f*_),m[e+72>>2]=f,m[e+80>>2]=v(v(v(v(v(b*y)+v(S*p))+v(x*d))+s)+l)+v(v(v(u*A)+v(g*C))+v(_*f))}function mn(e,t,n,i){var r,o=0,a=0,s=0,c=0,l=0,u=0,p=0;w=r=w-16|0;e:{t:{n:{i:{r:{o:switch(0|(o=n-t|0)){case 1:break i;case 2:break r;case 0:break o;default:break t}h[i>>2]=0,h[i+4>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0;break e}if(n=h[h[e+92>>2]+(t<<2)>>2],o=h[n+204>>2],!((0|(c=h[n+88>>2]))!=(0|(s=h[n+200>>2]))|(0|(a=h[n+92>>2]))!=(0|o))&&(o=a,h[n+96>>2]==h[n+208>>2]))break n;t=n+112|0,(o=a-o|0)|(a=c-s|0)?(h[n+4>>2]=t,h[n>>2]=t,h[n+116>>2]=n,h[n+112>>2]=n,s=(c=(0|o)<0)&!a,s|=a=(0|a)<0,h[i+4>>2]=s?t:n,h[i>>2]=s?n:t,a&!o||c?(h[i+8>>2]=n,o=t):(h[i+8>>2]=t,o=n)):(a=h[n+96>>2]>h[n+208>>2],h[(o=a?t:n)+4>>2]=o,h[o>>2]=o,h[i+8>>2]=o,h[i+4>>2]=o,h[i>>2]=o,t=a?n:t,n=o),h[i+12>>2]=o,e=Bn(e,n,t),h[e+4>>2]=e,h[e>>2]=e,h[n+8>>2]=e,e=h[e+8>>2],h[e+4>>2]=e,h[e>>2]=e,h[t+8>>2]=e;break e}n=h[h[e+92>>2]+(t<<2)>>2]}h[n+8>>2]=0,h[n+4>>2]=n,h[n>>2]=n,h[i+12>>2]=n,h[i+8>>2]=n,h[i+4>>2]=n,h[i>>2]=n;break e}t:if(!((0|(o=a=((0|o)/2|0)+t|0))>=(0|n))){for(s=h[e+92>>2],o=h[(s+(a<<2)|0)-4>>2],l=h[o+88>>2],u=h[o+96>>2],p=h[o+92>>2],o=a;;){if(c=h[s+(o<<2)>>2],h[c+88>>2]!=(0|l)|h[c+92>>2]!=(0|p)|h[c+96>>2]!=(0|u))break t;if(!((0|(o=o+1|0))<(0|n)))break}o=n}mn(e,t,a,i),h[r+8>>2]=0,h[r+12>>2]=0,h[r>>2]=0,h[r+4>>2]=0,mn(e,o,n,r),G(e,i,r)}w=r+16|0}function bn(e,t,n){var i,r=0;return w=i=w-256|0,(0|(r=h[t+212>>2]))>-1||(2&(r=h[t+236>>2])&&(2&d[204+(r=r<<30>>31&t)|0]||m[r+344>>2]!=v(0))?(r=h[e+8>>2],ji(i+8|0,0,244),function(e,t,n){var i=0,r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0);t=t?h[t+236>>2]<<30>>31&t:0,h[e+64>>2]=0,h[e+68>>2]=0,h[e+144>>2]=0,h[e+148>>2]=0,h[e+88>>2]=0,h[e+92>>2]=0,h[e+80>>2]=0,h[e+84>>2]=0,h[e+72>>2]=0,h[e+76>>2]=0,h[e+152>>2]=0,h[e+156>>2]=0,h[e+160>>2]=0,h[e+164>>2]=0,h[e+168>>2]=0,h[e+172>>2]=0,t?(i=h[t+8>>2],h[e>>2]=h[t+4>>2],h[e+4>>2]=i,i=h[t+16>>2],h[e+8>>2]=h[t+12>>2],h[e+12>>2]=i,i=h[t+32>>2],h[e+24>>2]=h[t+28>>2],h[e+28>>2]=i,i=h[t+24>>2],h[e+16>>2]=h[t+20>>2],h[e+20>>2]=i,i=h[t+48>>2],h[e+40>>2]=h[t+44>>2],h[e+44>>2]=i,i=h[t+40>>2],h[e+32>>2]=h[t+36>>2],h[e+36>>2]=i,i=h[t+64>>2],h[e+56>>2]=h[t+60>>2],h[e+60>>2]=i,i=h[t+56>>2],h[e+48>>2]=h[t+52>>2],h[e+52>>2]=i,o=m[t+352>>2],a=m[t+356>>2],s=m[t+348>>2],r=m[t+344>>2],h[e+240>>2]=t,h[e+140>>2]=0,m[e+136>>2]=r*a,m[e+132>>2]=r*o,m[e+128>>2]=r*s,i=h[t+556>>2],h[e+104>>2]=h[t+552>>2],h[e+108>>2]=i,i=h[t+548>>2],h[e+96>>2]=h[t+544>>2],h[e+100>>2]=i,i=h[t+360>>2],h[e+120>>2]=h[t+356>>2],h[e+124>>2]=i,i=h[t+352>>2],h[e+112>>2]=h[t+348>>2],h[e+116>>2]=i,i=h[t+324>>2],h[e+184>>2]=h[t+320>>2],h[e+188>>2]=i,i=h[t+316>>2],h[e+176>>2]=h[t+312>>2],h[e+180>>2]=i,i=h[t+340>>2],h[e+200>>2]=h[t+336>>2],h[e+204>>2]=i,i=h[t+332>>2],h[e+192>>2]=h[t+328>>2],h[e+196>>2]=i,o=m[t+416>>2],a=m[t+420>>2],s=m[t+412>>2],r=m[t+344>>2],h[e+220>>2]=0,m[e+216>>2]=v(r*a)*n,m[e+212>>2]=v(r*o)*n,m[e+208>>2]=v(r*s)*n,s=m[t+280>>2],c=m[t+296>>2],l=m[t+268>>2],u=m[t+284>>2],p=m[t+300>>2],d=m[t+264>>2],r=m[t+428>>2],o=m[t+432>>2],a=m[t+436>>2],m[e+232>>2]=v(v(v(r*m[t+272>>2])+v(o*m[t+288>>2]))+v(a*m[t+304>>2]))*n,m[e+228>>2]=v(v(v(r*l)+v(o*u))+v(a*p))*n,m[e+224>>2]=v(v(v(d*r)+v(s*o))+v(c*a))*n):(h[e+4>>2]=0,h[e+8>>2]=0,h[e>>2]=1065353216,h[e+32>>2]=0,h[e+36>>2]=0,h[e+240>>2]=0,h[e+128>>2]=0,h[e+132>>2]=0,h[e+112>>2]=1065353216,h[e+116>>2]=1065353216,h[e+96>>2]=1065353216,h[e+100>>2]=1065353216,h[e+176>>2]=0,h[e+180>>2]=0,h[e+12>>2]=0,h[e+16>>2]=0,h[e+24>>2]=0,h[e+28>>2]=0,h[e+20>>2]=1065353216,h[e+44>>2]=0,h[e+48>>2]=0,h[e+40>>2]=1065353216,h[e+52>>2]=0,h[e+56>>2]=0,h[e+60>>2]=0,h[e+136>>2]=0,h[e+140>>2]=0,h[e+120>>2]=1065353216,h[e+124>>2]=0,h[e+104>>2]=1065353216,h[e+108>>2]=0,h[e+232>>2]=0,h[e+224>>2]=0,h[e+228>>2]=0,h[e+216>>2]=0,h[e+220>>2]=0,h[e+208>>2]=0,h[e+212>>2]=0,h[e+200>>2]=0,h[e+204>>2]=0,h[e+192>>2]=0,h[e+196>>2]=0,h[e+184>>2]=0,h[e+188>>2]=0),h[e+236>>2]=0}(un(e+4|0,i+8|0),t,n),h[t+212>>2]=r):(0|(r=h[e+188>>2]))>-1||(h[e+188>>2]=h[e+8>>2],ji(i+8|0,0,244),t=un(e+4|0,i+8|0),h[t+88>>2]=0,h[t+92>>2]=0,h[t+80>>2]=0,h[t+84>>2]=0,h[t+72>>2]=0,h[t+76>>2]=0,h[t+64>>2]=0,h[t+68>>2]=0,h[t+144>>2]=0,h[t+148>>2]=0,h[t+152>>2]=0,h[t+156>>2]=0,h[t+160>>2]=0,h[t+164>>2]=0,h[t+168>>2]=0,h[t+172>>2]=0,h[t+4>>2]=0,h[t+8>>2]=0,h[t>>2]=1065353216,h[t+12>>2]=0,h[t+16>>2]=0,h[t+24>>2]=0,h[t+28>>2]=0,h[t+20>>2]=1065353216,h[t+32>>2]=0,h[t+36>>2]=0,h[t+44>>2]=0,h[t+48>>2]=0,h[t+40>>2]=1065353216,h[t+52>>2]=0,h[t+56>>2]=0,h[t+60>>2]=0,h[t+136>>2]=0,h[t+140>>2]=0,h[t+240>>2]=0,h[t+128>>2]=0,h[t+132>>2]=0,h[t+120>>2]=1065353216,h[t+124>>2]=0,h[t+112>>2]=1065353216,h[t+116>>2]=1065353216,h[t+104>>2]=1065353216,h[t+108>>2]=0,h[t+96>>2]=1065353216,h[t+100>>2]=1065353216,h[t+232>>2]=0,h[t+236>>2]=0,h[t+224>>2]=0,h[t+228>>2]=0,h[t+216>>2]=0,h[t+220>>2]=0,h[t+208>>2]=0,h[t+212>>2]=0,h[t+200>>2]=0,h[t+204>>2]=0,h[t+192>>2]=0,h[t+196>>2]=0,h[t+184>>2]=0,h[t+188>>2]=0,h[t+176>>2]=0,h[t+180>>2]=0,r=h[e+188>>2])),w=i+256|0,r}function gn(e,t,n,i,r,o){var a;h[e+4>>2]=t,h[e>>2]=7348,t=h[n+12>>2],h[e+16>>2]=h[n+8>>2],h[e+20>>2]=t,t=h[n+4>>2],h[e+8>>2]=h[n>>2],h[e+12>>2]=t,t=h[n+28>>2],h[e+32>>2]=h[n+24>>2],h[e+36>>2]=t,t=h[n+20>>2],h[e+24>>2]=h[n+16>>2],h[e+28>>2]=t,t=h[n+44>>2],h[e+48>>2]=h[n+40>>2],h[e+52>>2]=t,t=h[n+36>>2],h[e+40>>2]=h[n+32>>2],h[e+44>>2]=t,a=h[n+60>>2],h[(t=e- -64|0)>>2]=h[n+56>>2],h[t+4>>2]=a,t=h[n+52>>2],h[e+56>>2]=h[n+48>>2],h[e+60>>2]=t,t=h[i+12>>2],h[e+80>>2]=h[i+8>>2],h[e+84>>2]=t,t=h[i+4>>2],h[e+72>>2]=h[i>>2],h[e+76>>2]=t,t=h[i+28>>2],h[e+96>>2]=h[i+24>>2],h[e+100>>2]=t,t=h[i+20>>2],h[e+88>>2]=h[i+16>>2],h[e+92>>2]=t,t=h[i+44>>2],h[e+112>>2]=h[i+40>>2],h[e+116>>2]=t,t=h[i+36>>2],h[e+104>>2]=h[i+32>>2],h[e+108>>2]=t,t=h[i+60>>2],h[e+128>>2]=h[i+56>>2],h[e+132>>2]=t,t=h[i+52>>2],h[e+120>>2]=h[i+48>>2],h[e+124>>2]=t,t=h[r+12>>2],h[e+144>>2]=h[r+8>>2],h[e+148>>2]=t,t=h[r+4>>2],h[e+136>>2]=h[r>>2],h[e+140>>2]=t,t=h[r+28>>2],h[e+160>>2]=h[r+24>>2],h[e+164>>2]=t,t=h[r+20>>2],h[e+152>>2]=h[r+16>>2],h[e+156>>2]=t,t=h[r+44>>2],h[e+176>>2]=h[r+40>>2],h[e+180>>2]=t,t=h[r+36>>2],h[e+168>>2]=h[r+32>>2],h[e+172>>2]=t,t=h[r+60>>2],h[e+192>>2]=h[r+56>>2],h[e+196>>2]=t,t=h[r+52>>2],h[e+184>>2]=h[r+48>>2],h[e+188>>2]=t,h[e+208>>2]=0,m[e+204>>2]=o,h[e+200>>2]=1065353216}function vn(e,t,n){var i,a=0,s=0,c=0;if(h[e+4>>2]=1065353216,h[e+8>>2]=1065353216,h[e+48>>2]=0,h[e>>2]=16376,o[e+36|0]=1,h[e+12>>2]=1065353216,h[e+16>>2]=0,h[e+32>>2]=0,h[e+24>>2]=0,h[e+28>>2]=0,o[e+100|0]=1,h[e+96>>2]=0,o[e+120|0]=1,h[e+88>>2]=0,h[e+92>>2]=0,h[e+116>>2]=0,o[e+140|0]=1,h[e+108>>2]=0,h[e+112>>2]=0,h[e+136>>2]=0,o[e+160|0]=1,h[e+128>>2]=0,h[e+132>>2]=0,h[e+168>>2]=0,o[e+164|0]=t,h[e+148>>2]=0,h[e+152>>2]=0,h[e+156>>2]=0,o[e+165|0]=n,h[7717]=h[7717]+1,c=0|r[h[6606]](32,16),(0|(i=h[e+24>>2]))>=1)for(;n=(t=s<<5)+c|0,t=t+h[e+32>>2]|0,a=h[t+4>>2],h[n>>2]=h[t>>2],h[n+4>>2]=a,a=h[t+28>>2],h[n+24>>2]=h[t+24>>2],h[n+28>>2]=a,a=h[t+20>>2],h[n+16>>2]=h[t+16>>2],h[n+20>>2]=a,a=h[t+12>>2],h[n+8>>2]=h[t+8>>2],h[n+12>>2]=a,(0|i)!=(0|(s=s+1|0)););(t=h[e+32>>2])&&(d[e+36|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+32>>2]=0),h[e+32>>2]=c,o[e+36|0]=1,h[e+28>>2]=1,t=c+(h[e+24>>2]<<5)|0,h[t+24>>2]=2,h[t+28>>2]=0,h[t+16>>2]=0,h[t+20>>2]=16,h[t+8>>2]=12,h[t+12>>2]=0,h[t>>2]=0,h[t+4>>2]=0,h[e+24>>2]=h[e+24>>2]+1,n=d[e+164|0],c=h[(n?128:148)+e>>2],t=h[e+32>>2],h[t+24>>2]=n?2:3,h[t+4>>2]=0,s=12,h[t+8>>2]=n?12:6,h[t>>2]=(0|c)/3,d[e+165|0]?(s=16,e=h[e+88>>2]):e=h[e+108>>2]/3|0,h[t+20>>2]=s,h[t+16>>2]=0,h[t+12>>2]=e}function yn(e,t){var n,i=0,a=0,s=0,c=0,l=0,u=0,p=0;if(w=n=w-48|0,h[n+40>>2]=0,h[(i=n)+32>>2]=0,h[i+36>>2]=0,h[i+24>>2]=0,h[i+28>>2]=0,h[i+16>>2]=0,h[i+20>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0,h[i>>2]=0,h[i+4>>2]=0,t=t||h[h[e+880>>2]>>2],(0|(c=h[e+732>>2]))==h[e+736>>2]&&!((0|c)>=(0|(l=c?c<<1:1)))){if(l&&(h[7717]=h[7717]+1,p=0|r[h[6606]](g(l,52),16),c=h[e+732>>2]),(0|c)>=1)for(;a=(i=g(u,52))+p|0,i=i+h[e+740>>2]|0,s=h[i+4>>2],h[a>>2]=h[i>>2],h[a+4>>2]=s,h[a+48>>2]=h[i+48>>2],s=h[i+44>>2],h[a+40>>2]=h[i+40>>2],h[a+44>>2]=s,s=h[i+36>>2],h[a+32>>2]=h[i+32>>2],h[a+36>>2]=s,s=h[i+28>>2],h[a+24>>2]=h[i+24>>2],h[a+28>>2]=s,s=h[i+20>>2],h[a+16>>2]=h[i+16>>2],h[a+20>>2]=s,s=h[i+12>>2],h[a+8>>2]=h[i+8>>2],h[a+12>>2]=s,(0|(u=u+1|0))!=(0|c););(i=h[e+740>>2])&&(d[e+744|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+740>>2]=0),h[e+740>>2]=p,h[e+736>>2]=l,o[e+744|0]=1,c=h[e+732>>2]}i=h[e+740>>2]+g(c,52)|0,h[i+4>>2]=t,h[i>>2]=0,t=h[n+4>>2],h[i+8>>2]=h[n>>2],h[i+12>>2]=t,t=h[n+12>>2],h[i+16>>2]=h[n+8>>2],h[i+20>>2]=t,t=h[n+20>>2],h[i+24>>2]=h[n+16>>2],h[i+28>>2]=t,t=h[n+28>>2],h[i+32>>2]=h[n+24>>2],h[i+36>>2]=t,t=h[n+36>>2],h[i+40>>2]=h[n+32>>2],h[i+44>>2]=t,h[i+48>>2]=h[n+40>>2],h[e+732>>2]=h[e+732>>2]+1,w=n+48|0}function Cn(e,t,n,i,r,a,s,c,l){var u,p,f,_=0,m=0,b=0,v=0,y=0,C=0,A=0,x=0,S=0,T=0,E=0,P=0,O=0;for(w=u=w-80|0,h[u+32>>2]=1133903872,h[u+24>>2]=0,h[u+28>>2]=1036831949,h[u+72>>2]=0,h[u+76>>2]=0,h[u+52>>2]=0,h[u+56>>2]=0,h[u+44>>2]=0,h[u+48>>2]=1045220557,h[u+16>>2]=1065353216,h[u+20>>2]=-1082130432,h[u+36>>2]=1065353216,h[u+40>>2]=1056964608,h[u+64>>2]=0,o[u+60|0]=0,f=t+4|0,p=e+680|0;m=d[108+(y+p|0)|0],((v=h[176+((b=y<<2)+p|0)>>2])||(_=m,m=1,_))&&(h[u+72>>2]=v,h[u+56>>2]=0,_=e+b|0,h[u+68>>2]=h[_+840>>2],h[u+64>>2]=h[_+824>>2],b=h[e+732>>2],o[u+60|0]=m,h[u+36>>2]=b,h[u+20>>2]=h[_+696>>2],h[u+40>>2]=h[e+728>>2],m=h[_+680>>2],h[u+32>>2]=0,h[u+16>>2]=m,h[u+28>>2]=h[_+808>>2],h[u+24>>2]=h[_+792>>2],h[u>>2]=h[_+1064>>2],h[u+4>>2]=h[_+1080>>2],m=h[_+1096>>2],h[u+12>>2]=0,h[u+8>>2]=m,m=u,b=_+740|0,1&(v=h[e+1304>>2]>>g(y,3))||(b=h[t+32>>2]),h[m+44>>2]=h[b>>2],h[u+52>>2]=h[(2&v?_+772|0:h[t+32>>2])>>2],h[u+48>>2]=h[(4&v?_+756|0:f)>>2],_=e,A=u+16|0,m=i,v=r,b=a,x=s,S=c,T=l,E=t,P=n,O=u,C=0,d[e+1301|0]&&(C=1,h[924+((((y+1&255)>>>0)%3<<6)+e|0)>>2]&&(C=!h[924+((((y+2&255)>>>0)%3<<6)+e|0)>>2])),n=ye(_,A,m,v,b,x,S,T,E,P,O,0,C)+n|0),3!=(0|(y=y+1|0)););return w=u+80|0,n}function An(e,t,n){e|=0,t|=0,n|=0;var i,o,a,s,c,l,u=0,p=0,d=0,_=v(0),y=v(0),C=v(0),A=v(0),x=0;w=i=w-80|0,p=h[e+4>>2],r[h[h[p>>2]+16>>2]](p,i+28|0,i+24|0,i+20|0,i+16|0,i+12|0,i+8|0,i+4|0,i,t),a=h[i+12>>2]+g(h[i+8>>2],n)|0,s=h[i+20>>2],p=(o=h[e+4>>2])+12|0,u=d=h[i+28>>2],c=h[i>>2],x=f[a+4>>1],3!=(0|c)&&(x=h[a+8>>2]),l=h[i+16>>2],u=u+g(x,l)|0,s?(_=v(m[o+8>>2]*v(b[u+8>>3])),y=v(m[o+4>>2]*v(b[u>>3])),C=v(b[u+16>>3]),u=p):(_=v(m[u+4>>2]*m[o+8>>2]),y=v(m[u>>2]*m[o+4>>2]),C=m[o+12>>2],u=u+8|0),A=m[u>>2],h[i+76>>2]=0,m[i+68>>2]=_,m[i+72>>2]=A*C,m[i+64>>2]=y,u=3!=(0|c)?h[a+4>>2]:f[a+2>>1],u=g(u,l)+d|0,s?(_=v(m[o+8>>2]*v(b[u+8>>3])),y=v(m[o+4>>2]*v(b[u>>3])),C=v(b[u+16>>3]),u=p):(_=v(m[u+4>>2]*m[o+8>>2]),y=v(m[u>>2]*m[o+4>>2]),C=m[o+12>>2],u=u+8|0),A=m[u>>2],h[i+60>>2]=0,m[i+52>>2]=_,m[i+56>>2]=A*C,m[i+48>>2]=y,u=3!=(0|c)?h[a>>2]:f[a>>1],d=g(u,l)+d|0,s?(C=v(b[d+16>>3]),_=v(m[o+8>>2]*v(b[d+8>>3])),y=v(m[o+4>>2]*v(b[d>>3]))):(p=d+8|0,C=m[o+12>>2],_=v(m[d+4>>2]*m[o+8>>2]),y=v(m[d>>2]*m[o+4>>2])),A=m[p>>2],h[i+44>>2]=0,m[i+36>>2]=_,m[i+32>>2]=y,m[i+40>>2]=A*C,p=h[e+8>>2],r[h[h[p>>2]+8>>2]](p,i+32|0,t,n),e=h[e+4>>2],r[h[h[e>>2]+24>>2]](e,t),w=i+80|0}function xn(e){var t=0,n=0,i=0,a=0,s=0,c=0,l=0,u=0,p=0;if(!((0|(l=h[e+4>>2]))>=(0|(n=h[e+48>>2])))){if(h[e+8>>2]>=(0|n))t=h[e+12>>2];else{i=l,n&&(h[7717]=h[7717]+1,t=0|r[h[6606]](n<<2,16),i=h[e+4>>2]),s=h[e+12>>2];e:{t:{if((0|i)>=1)for(;;)if(h[(c=a<<2)+t>>2]=h[s+c>>2],(0|(a=a+1|0))==(0|i))break t;if(!s)break e}d[e+16|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s))}h[e+12>>2]=t,o[e+16|0]=1,h[e+8>>2]=n}if(ji((i=l<<2)+t|0,0,(c=n<<2)-i|0),h[e+4>>2]=n,(0|(s=h[e+24>>2]))<(0|n)){e:if(h[e+28>>2]>=(0|n))t=h[e+32>>2];else{a=0,i=s,t=0,n&&(h[7717]=h[7717]+1,t=0|r[h[6606]](c,16),i=h[e+24>>2]),u=h[e+32>>2];t:{if((0|i)>=1)for(;;)if(h[(p=a<<2)+t>>2]=h[u+p>>2],(0|(a=a+1|0))==(0|i))break t;if(!u){h[e+32>>2]=t,h[e+28>>2]=n,o[e+36|0]=1;break e}}d[e+36|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u)),h[e+32>>2]=t,o[e+36|0]=1,h[e+28>>2]=n}ji((i=s<<2)+t|0,0,c-i|0)}if(h[e+24>>2]=n,(0|n)>=1&&(ji(h[e+12>>2],255,c),ji(h[e+32>>2],255,c)),!((0|l)<1))for(i=h[e+32>>2],s=h[e+72>>2],n=h[e+12>>2],a=0;t=h[s+(a<<3)>>2],t=g((t=(t<<15^-1)+t|0)>>10^t,9),t=((t^=t>>6)<<11^-1)+t|0,t=n+((h[e+48>>2]+-1&(t>>16^t))<<2)|0,h[i+(a<<2)>>2]=h[t>>2],h[t>>2]=a,(0|l)!=(0|(a=a+1|0)););}}function Sn(e,t,n,i,r){var o,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0);w=o=w-16|0,a=m[e+52>>2],s=m[e+56>>2],u=m[e+48>>2],c=m[t>>2],p=m[t+4>>2],l=m[t+8>>2],h[r+60>>2]=0,m[r+56>>2]=s+v(l*i),m[r+52>>2]=a+v(p*i),m[r+48>>2]=u+v(c*i),_=m[n>>2],d=m[n+4>>2],f=m[n+8>>2],a=v(S(v(v(v(_*_)+v(d*d))+v(f*f)))),a=(s=v(a*i)>v(.7853981852531433)?v(v(.7853981852531433)/i):a)>2],c=m[o>>2],p=m[o+4>>2],l=m[o+12>>2],h[r+44>>2]=0,h[r+28>>2]=0,h[r+12>>2]=0,f=v(f*a),d=v(d*a),i=Ri(v(v(s*i)*v(.5))),a=v(_*a),s=v(v(v(c*f)+v(v(l*d)+v(p*i)))-v(u*a)),_=v(v(v(v(i*l)-v(a*c))-v(d*p))-v(f*u)),b=v(v(v(v(f*l)+v(i*u))+v(a*p))-v(d*c)),c=v(v(v(v(i*c)+v(a*l))+v(d*u))-v(f*p)),a=v(v(1)/v(S(v(v(_*_)+v(v(b*b)+v(v(c*c)+v(s*s))))))),i=v(s*a),s=v(_*a),u=v(b*a),a=v(c*a),c=v(v(2)/v(v(s*s)+v(v(u*u)+v(v(a*a)+v(i*i))))),p=v(u*c),l=v(i*p),f=v(a*c),d=v(s*f),m[r+36>>2]=l+d,_=v(a*p),c=v(i*c),b=v(s*c),m[r+32>>2]=_-b,m[r+24>>2]=l-d,l=v(a*c),s=v(s*p),m[r+16>>2]=l+s,m[r+8>>2]=_+b,m[r+4>>2]=l-s,a=v(a*f),i=v(i*c),m[r+40>>2]=v(1)-v(a+i),s=a,a=v(u*p),m[r+20>>2]=v(1)-v(s+a),m[r>>2]=v(1)-v(i+a),w=o+16|0}function Tn(e,t){var n=v(0),i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0);if(n=m[e+312>>2],c=m[e+444>>2],i=he(v(v(1)-c),t),n=v(n*i),m[e+312>>2]=n,a=v(i*m[e+316>>2]),m[e+316>>2]=a,i=v(i*m[e+320>>2]),m[e+320>>2]=i,o=m[e+328>>2],l=m[e+448>>2],r=he(v(v(1)-l),t),t=v(o*r),m[e+328>>2]=t,o=v(r*m[e+332>>2]),m[e+332>>2]=o,r=v(r*m[e+336>>2]),m[e+336>>2]=r,d[e+452|0]&&(v(v(v(t*t)+v(o*o))+v(r*r))>2]^1|v(v(v(n*n)+v(a*a))+v(i*i))>2]^1||(s=m[e+456>>2],r=v(r*s),m[e+336>>2]=r,o=v(o*s),m[e+332>>2]=o,t=v(t*s),m[e+328>>2]=t,i=v(i*s),m[e+320>>2]=i,a=v(a*s),m[e+316>>2]=a,n=v(n*s),m[e+312>>2]=n),(s=v(S(v(v(v(n*n)+v(a*a))+v(i*i)))))v(.004999999888241291)?(c=i,i=v(v(1)/s),m[e+320>>2]=c-v(v(c*i)*v(.004999999888241291)),m[e+316>>2]=a-v(v(a*i)*v(.004999999888241291)),m[e+312>>2]=n-v(v(n*i)*v(.004999999888241291))):(h[e+312>>2]=0,h[e+316>>2]=0,h[e+320>>2]=0,h[e+324>>2]=0)),(n=v(S(v(v(v(t*t)+v(o*o))+v(r*r)))))v(.004999999888241291))return n=v(v(1)/n),m[e+336>>2]=r-v(v(r*n)*v(.004999999888241291)),m[e+332>>2]=o-v(v(o*n)*v(.004999999888241291)),void(m[e+328>>2]=t-v(v(t*n)*v(.004999999888241291)));h[e+328>>2]=0,h[e+332>>2]=0,h[e+336>>2]=0,h[e+340>>2]=0}}function En(e,t){var n,i,r=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0,d=0,f=0,_=0,m=0;return(0|(n=h[e+16>>2]))!=(0|(o=h[t+16>>2]))?n-o|0:n?(c=h[e+4>>2],u=h[t+8>>2],d=Eh(p=h[t+12>>2],0,m=h[e>>2],0),l=D,p=Eh(p,a,c,0),o=D+s|0,s=r=p+l|0,r=r>>>0

>>0?o+1|0:o,c=Eh(u,p=0,c,a),(a=(o=s)+(s=D)|0)>>>0>>0&&(r=r+1|0),o=a,s=r,a=0,(r=c+d|0)>>>0>>0&&(a=a+1|0),d=a,a=a+o|0,o=s,o=a>>>0>>0?o+1|0:o,s=a,a=r,d=0,u=Eh(m,f,u,p),r=D+r|0,r=(c=d+u|0)>>>0>>0?r+1|0:r,i=c,u=c,c=r,(r=s+(a=(0|a)==(0|r)&u>>>0>>0|r>>>0>>0)|0)>>>0>>0&&(o=o+1|0),d=r,u=o,p=r,m=o,a=h[e+8>>2],e=h[e+12>>2],r=h[t>>2],f=a,s=Eh(l=h[t+4>>2],o=0,a,0),t=D,_=e,l=Eh(l,o,e,a=0),o=D,o=(e=t+l|0)>>>0>>0?o+1|0:o,t=e,l=r,e=Eh(r,0,_,a),r=o,a=r=(t=(_=D)+t|0)>>>0<_>>>0?r+1|0:r,o=0,(r=e+s|0)>>>0>>0&&(o=o+1|0),_=o,s=o+t|0,o=a,o=s>>>0<_>>>0?o+1|0:o,t=s,s=-1,a=o,_=t,t=0,f=Eh(l,0,f,0),o=r,r=r+D|0,r=(e=t+f|0)>>>0>>0?r+1|0:r,f=e,l=e,e=r,(o=_+(t=(0|o)==(0|r)&l>>>0>>0|r>>>0>>0)|0)>>>0>>0&&(a=a+1|0),t=a,(0|a)==(0|m)&p>>>0<(r=o)>>>0|m>>>0>>0||(s=1,(0|t)==(0|u)&d>>>0>o>>>0|u>>>0>t>>>0||(s=-1,(0|e)==(0|c)&i>>>0>>0|c>>>0>>0||(s=(0|e)==(0|c)&i>>>0>f>>>0|c>>>0>e>>>0))),g(s,n)):0}function Pn(e){var t,n=0,i=0,r=v(0),o=v(0),a=0,s=v(0),c=v(0),l=0,u=v(0),p=v(0),d=v(0),f=v(0),_=0,b=v(0);if((0|(a=h[e+712>>2]))>=1)for(;i=h[e+720>>2]+g(n,104)|0,h[i+72>>2]=0,h[i+76>>2]=0,h[i+80>>2]=0,h[i+84>>2]=0,(0|a)!=(0|(n=n+1|0)););if((0|(t=h[e+752>>2]))>=1)for(;l=h[e+760>>2]+g(_,44)|0,n=h[l+12>>2],s=m[n+12>>2],i=h[l+8>>2],r=m[i+12>>2],a=h[l+16>>2],p=m[a+12>>2],d=m[n+16>>2],u=m[a+8>>2],c=m[i+16>>2],b=m[a+16>>2],o=m[i+8>>2],f=m[n+8>>2],h[l+32>>2]=0,f=v(f-o),p=v(p-r),s=v(s-r),o=v(u-o),r=v(v(f*p)-v(s*o)),u=s,s=v(b-c),d=v(d-c),c=v(v(u*s)-v(d*p)),o=v(v(d*o)-v(f*s)),s=v(v(1)/v(S(v(v(r*r)+v(v(c*c)+v(o*o)))))),m[l+28>>2]=r*s,m[l+24>>2]=o*s,m[l+20>>2]=c*s,m[i+80>>2]=r+m[i+80>>2],m[i+76>>2]=o+m[i+76>>2],m[i+72>>2]=c+m[i+72>>2],m[n+72>>2]=c+m[n+72>>2],m[n+76>>2]=o+m[n+76>>2],m[n+80>>2]=r+m[n+80>>2],m[a+72>>2]=c+m[a+72>>2],m[a+76>>2]=o+m[a+76>>2],m[a+80>>2]=r+m[a+80>>2],(0|t)!=(0|(_=_+1|0)););if((0|(i=h[e+712>>2]))>=1)for(a=h[e+720>>2],n=0;e=a+g(n,104)|0,r=m[e+72>>2],c=m[e+76>>2],o=m[e+80>>2],(s=v(S(v(v(v(r*r)+v(c*c))+v(o*o)))))>v(1.1920928955078125e-7)&&(u=r,r=v(v(1)/s),m[e+72>>2]=u*r,m[e+76>>2]=c*r,m[e+80>>2]=o*r),(0|i)!=(0|(n=n+1|0)););}function On(e,t,n,i,r,o){var a=v(0),s=v(0),c=0,l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0);h[e+4>>2]=n,h[e>>2]=t,c=h[i+4>>2],h[e+8>>2]=h[i>>2],h[e+12>>2]=c,c=h[i+12>>2],h[e+16>>2]=h[i+8>>2],h[e+20>>2]=c,c=h[r+4>>2],h[e+24>>2]=h[r>>2],h[e+28>>2]=c,c=h[r+12>>2],h[e+32>>2]=h[r+8>>2],h[e+36>>2]=c,m[e+44>>2]=o,l=m[i+4>>2],a=v(l-m[t+56>>2]),o=m[r+8>>2],A=m[i+8>>2],s=v(A-m[t+60>>2]),d=m[r+4>>2],f=v(v(a*o)-v(s*d)),_=m[r>>2],u=m[i>>2],p=v(u-m[t+52>>2]),b=v(v(s*_)-v(o*p)),g=v(v(p*d)-v(a*_)),x=v(v(v(m[t+264>>2]*f)+v(m[t+280>>2]*b))+v(g*m[t+296>>2])),u=v(u-m[n+52>>2]),l=v(l-m[n+56>>2]),y=v(v(d*u)-v(_*l)),S=v(v(v(f*m[t+268>>2])+v(b*m[t+284>>2]))+v(g*m[t+300>>2])),T=v(o*v(v(a*x)-v(p*S))),C=a,a=v(v(v(f*m[t+272>>2])+v(b*m[t+288>>2]))+v(g*m[t+304>>2])),b=v(m[t+344>>2]+v(T+v(v(_*v(v(s*S)-v(C*a)))+v(d*v(v(p*a)-v(s*x)))))),C=o,a=v(A-m[n+60>>2]),s=v(v(o*l)-v(d*a)),o=v(v(_*a)-v(o*u)),p=v(v(y*m[n+296>>2])+v(v(m[n+264>>2]*s)+v(m[n+280>>2]*o))),f=v(v(v(s*m[n+268>>2])+v(o*m[n+284>>2]))+v(y*m[n+300>>2])),o=v(v(v(s*m[n+272>>2])+v(o*m[n+288>>2]))+v(y*m[n+304>>2])),m[e+40>>2]=v(1)/v(b+v(m[n+344>>2]+v(v(C*v(v(l*p)-v(u*f)))+v(v(_*v(v(a*f)-v(l*o)))+v(d*v(v(u*o)-v(a*p)))))))}function Mn(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var r=0,a=v(0);w=n=w-784|0,h[n+732>>2]=0,h[n+736>>2]=0,h[n+744>>2]=0,h[n+748>>2]=0,h[n+740>>2]=1065353216,h[n+764>>2]=0,h[n+768>>2]=0,h[n+760>>2]=1065353216,h[n+772>>2]=0,h[n+776>>2]=0,h[n+780>>2]=0,h[n+724>>2]=0,h[n+728>>2]=0,h[n+720>>2]=1065353216,h[n+752>>2]=0,h[n+756>>2]=0,h[n+712>>2]=0,h[n+716>>2]=0,h[n+544>>2]=6896,h[n+708>>2]=h[e+200>>2],r=h[e+196>>2],h[4+(i=n+488|0)>>2]=35,h[i+8>>2]=0,h[i>>2]=13316,h[i+44>>2]=1025758986,h[i+20>>2]=1065353216,h[i+24>>2]=0,h[i+12>>2]=1065353216,h[i+16>>2]=1065353216,h[i>>2]=13444,h[n+532>>2]=r,h[n+516>>2]=r,h[n+488>>2]=11556,h[n+492>>2]=8,i=La(n+384|0),h[n+388>>2]=1,h[n+384>>2]=6500,r=h[t+12>>2],h[n+448>>2]=h[t+8>>2],h[n+452>>2]=r,r=h[t+4>>2],h[n+440>>2]=h[t>>2],h[n+444>>2]=r,r=h[t+20>>2],h[n+456>>2]=h[t+16>>2],h[n+460>>2]=r,r=h[t+28>>2],h[n+464>>2]=h[t+24>>2],h[n+468>>2]=r,r=h[t+36>>2],h[n+472>>2]=h[t+32>>2],h[n+476>>2]=r,r=h[t+44>>2],h[n+480>>2]=h[t+40>>2],h[n+484>>2]=r,o[n+356|0]=0,h[n+332>>2]=953267991,h[12+(t=n+8|0)>>2]=n+384,h[t+8>>2]=n+488,h[t+4>>2]=n+24,h[t>>2]=6304,ie(t,e+4|0,e+68|0,n+720|0,n+720|0,n+544|0)&&(a=m[n+708>>2],m[e+200>>2]>a&&(m[e+200>>2]=a)),dc(i),w=n+784|0}function Rn(e,t,n,i){var a,s=0,c=0;if(w=a=w-128|0,h[a+108>>2]=16,h[a+112>>2]=981668463,h[a+104>>2]=t,h[a+100>>2]=n,h[a+96>>2]=1,h[a+60>>2]=0,o[a- -64|0]=1,o[a+92|0]=1,h[a+52>>2]=0,h[a+56>>2]=0,h[a+88>>2]=0,h[a+80>>2]=0,h[a+84>>2]=0,h[a+68>>2]=0,h[a+72>>2]=0,h[a+44>>2]=0,o[a+40|0]=1,o[a+36|0]=1,h[a+32>>2]=0,h[a+24>>2]=0,h[a+28>>2]=0,h[a+12>>2]=0,o[a+16|0]=1,h[a+4>>2]=0,h[a+8>>2]=0,h[a+116>>2]=n,oe(a,a+96|0,a+40|0),h[7717]=h[7717]+1,e=Ee(0|r[h[6606]](1252,16),e,h[a+44>>2],h[a+60>>2],0),h[a+68>>2]>0)for(;s=h[a+88>>2]+g(c,12)|0,t=h[s+8>>2],(0|(n=h[s>>2]))<(0|(s=h[s+4>>2]))&&sp(e,n,s,0,0),(0|s)<(0|t)&&sp(e,s,t,0,0),(0|t)<(0|n)&&sp(e,t,n,0,0),vr(e,n,s,t,0),(0|(c=c+1|0))>2];);return yo(a+40|0),i&&ct(e),(t=h[a+32>>2])&&(d[a+36|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[a+32>>2]=0),h[a+32>>2]=0,o[a+36|0]=1,h[a+24>>2]=0,h[a+28>>2]=0,(t=h[a+12>>2])&&(d[a+16|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[a+12>>2]=0),(t=h[a+88>>2])&&(d[a+92|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[a+88>>2]=0),h[a+88>>2]=0,o[a+92|0]=1,h[a+80>>2]=0,h[a+84>>2]=0,(t=h[a+60>>2])&&(d[a+64|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[a+60>>2]=0),w=a+128|0,e}function In(e,t,n,i){var o=0,a=0,s=0,c=0,l=0,u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0);if(t){for(u=m[n+24>>2],p=m[n+20>>2],d=m[n+16>>2],f=m[n+8>>2],_=m[n+4>>2],b=m[n>>2],h[7717]=h[7717]+1,o=0|r[h[6606]](256,16),h[o>>2]=t,e=64,n=1;;){s=h[((t=n+-1|0)<<2)+o>>2];e:if(!(m[s>>2]<=d^1|m[s+16>>2]>=b^1|m[s+4>>2]<=p^1|m[s+20>>2]>=_^1||m[s+8>>2]<=u^1|m[s+24>>2]>=f^1)){t:{n:{if(h[s+40>>2]){if((0|e)!=(0|t)){a=e,c=o;break t}if((0|n)>(0|(a=e?e<<1:1))){c=o,t=a=e;break t}if(t=0,c=0,a&&(h[7717]=h[7717]+1,c=0|r[h[6606]](a<<2,16)),(0|n)>=2)for(;;)if(h[(n=t<<2)+c>>2]=h[n+o>>2],(0|(t=t+1|0))==(0|e))break n;if(o)break n;break t}r[h[h[i>>2]+12>>2]](i,s);break e}o&&(h[7718]=h[7718]+1,r[h[6607]](o)),t=e}h[(t<<2)+c>>2]=h[s+36>>2];t:if((0|(l=t+1|0))!=(0|a)||(0|a)>=(0|(e=a?a<<1:1)))e=a,o=c;else{n=0,o=0,e&&(h[7717]=h[7717]+1,o=0|r[h[6606]](e<<2,16));n:{if((0|t)>=0)for(;;)if(h[(a=n<<2)+o>>2]=h[a+c>>2],a=(0|t)==(0|n),n=n+1|0,a)break n;if(!c)break t}c&&(h[7718]=h[7718]+1,r[h[6607]](c))}h[(l<<2)+o>>2]=h[s+40>>2],t=t+2|0}if(!((0|(n=t))>0))break}o&&o&&(h[7718]=h[7718]+1,r[h[6607]](o))}}function wn(e,t){var n,i=0,a=0,s=0,c=0,l=0,u=0,p=0;if(w=n=w-48|0,h[n+40>>2]=0,h[(i=n)+32>>2]=0,h[i+36>>2]=0,h[i+24>>2]=0,h[i+28>>2]=0,h[i+16>>2]=0,h[i+20>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0,t=t||h[h[e+880>>2]>>2],(0|(s=h[e+752>>2]))==h[e+756>>2]&&!((0|s)>=(0|(l=s?s<<1:1)))){if(l&&(h[7717]=h[7717]+1,p=0|r[h[6606]](g(l,44),16),s=h[e+752>>2]),(0|s)>=1)for(;a=(i=g(u,44))+p|0,i=i+h[e+760>>2]|0,c=h[i+4>>2],h[a>>2]=h[i>>2],h[a+4>>2]=c,h[a+40>>2]=h[i+40>>2],c=h[i+36>>2],h[a+32>>2]=h[i+32>>2],h[a+36>>2]=c,c=h[i+28>>2],h[a+24>>2]=h[i+24>>2],h[a+28>>2]=c,c=h[i+20>>2],h[a+16>>2]=h[i+16>>2],h[a+20>>2]=c,c=h[i+12>>2],h[a+8>>2]=h[i+8>>2],h[a+12>>2]=c,(0|(u=u+1|0))!=(0|s););(i=h[e+760>>2])&&(d[e+764|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+760>>2]=0),h[e+760>>2]=p,h[e+756>>2]=l,o[e+764|0]=1,s=h[e+752>>2]}i=h[e+760>>2]+g(s,44)|0,h[i+4>>2]=t,h[i>>2]=0,t=h[n+12>>2],h[i+8>>2]=h[n+8>>2],h[i+12>>2]=t,t=h[n+20>>2],h[i+16>>2]=h[n+16>>2],h[i+20>>2]=t,t=h[n+28>>2],h[i+24>>2]=h[n+24>>2],h[i+28>>2]=t,t=h[n+36>>2],h[i+32>>2]=h[n+32>>2],h[i+36>>2]=t,h[i+40>>2]=h[n+40>>2],h[e+752>>2]=h[e+752>>2]+1,w=n+48|0}function Dn(e,t,n,i,r,o){var a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),h=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0);return d=v(-1),f=m[i>>2],l=m[n>>2],u=v(f-l),S=m[r+4>>2],p=m[n+4>>2],h=v(S-p),_=m[i+4>>2],s=v(_-p),T=m[r>>2],a=v(T-l),g=v(v(u*h)-v(s*a)),C=m[t+8>>2],c=m[t>>2],A=s,E=m[r+8>>2],s=m[n+8>>2],b=v(E-s),P=m[i+8>>2],x=v(P-s),h=v(v(A*b)-v(x*h)),A=m[t+4>>2],u=v(v(x*a)-v(u*b)),a=v(v(g*C)+v(v(c*h)+v(A*u))),v(y(a))>2],x=m[e+4>>2],O=m[e+8>>2],!((d=v(v(-v(v(v(v(h*b)+v(u*x))+v(g*O))-v(v(s*g)+v(v(l*h)+v(p*u)))))/a))>v(11920928955078125e-22)^1|dv(-11920928955078125e-22)&&(a=v(S-a),c=v(T-c),b=v(g*v(v(a*f)-v(o*c))),A=o,o=v(E-C),v(b+v(v(h*v(v(A*o)-v(_*a)))+v(u*v(v(_*c)-v(o*f)))))>v(-11920928955078125e-22)&&v(v(g*v(v(p*c)-v(a*l)))+v(v(h*v(v(a*s)-v(o*p)))+v(u*v(v(o*l)-v(s*c)))))>v(-11920928955078125e-22)))||(d=v(-1))),d}function Ln(e,t,n){var i,r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0);i=h[e+32>>2],c=m[i+36>>2],l=m[i+20>>2],d=m[i+40>>2],u=m[i+24>>2],p=m[i+8>>2],f=m[i+44>>2],a=m[i+28>>2],C=m[i+12>>2],e=h[e+28>>2],g=m[e+36>>2],y=m[e+20>>2],_=m[e+40>>2],A=m[e+8>>2],x=m[e+24>>2],b=m[e+44>>2],S=m[e+12>>2],T=m[e+28>>2],E=m[i+4>>2],P=m[e+4>>2],h[t+8>>2]=0,h[t+12>>2]=0,h[t>>2]=0,h[t+4>>2]=0,o=m[n+8>>2],r=m[n>>2],s=m[n+4>>2],h[t+28>>2]=0,b=v(v(v(S*r)+v(T*s))+v(b*o)),m[t+24>>2]=b,_=v(v(v(A*r)+v(x*s))+v(_*o)),m[t+20>>2]=_,s=v(v(v(P*r)+v(y*s))+v(g*o)),m[t+16>>2]=s,o=m[n+8>>2],g=m[n+4>>2],r=m[n>>2],h[t+44>>2]=0,y=a,a=v(-g),f=v(v(v(y*a)-v(C*r))-v(f*o)),m[t+40>>2]=f,d=v(v(v(u*a)-v(p*r))-v(d*o)),m[t+36>>2]=d,o=v(v(v(l*a)-v(E*r))-v(c*o)),m[t+32>>2]=o,r=m[e+400>>2],a=m[e+404>>2],c=m[e+396>>2],h[t+60>>2]=0,a=v(b*a),m[t+56>>2]=a,r=v(_*r),m[t+52>>2]=r,c=v(s*c),m[t+48>>2]=c,l=m[i+400>>2],u=m[i+404>>2],p=m[i+396>>2],h[t+76>>2]=0,u=v(f*u),m[t+72>>2]=u,l=v(d*l),m[t+68>>2]=l,p=v(o*p),m[t+64>>2]=p,m[t+80>>2]=v(v(v(s*c)+v(_*r))+v(b*a))+v(v(v(o*p)+v(d*l))+v(f*u))}function Nn(e,t,n){var i,a,s=v(0),c=0;w=i=w-144|0,h[e+68>>2]=h[e+68>>2]+1,h[i+140>>2]=0,c=h[t+12>>2],h[i+72>>2]=h[t+8>>2],h[i+76>>2]=c,c=h[t+4>>2],h[i+64>>2]=h[t>>2],h[i+68>>2]=c,c=h[t+28>>2],h[i+88>>2]=h[t+24>>2],h[i+92>>2]=c,c=h[t+20>>2],h[i+80>>2]=h[t+16>>2],h[i+84>>2]=c,c=h[t+44>>2],h[i+104>>2]=h[t+40>>2],h[i+108>>2]=c,c=h[t+36>>2],h[i+96>>2]=h[t+32>>2],h[i+100>>2]=c,c=h[t+60>>2],h[i+120>>2]=h[t+56>>2],h[i+124>>2]=c,c=h[t+52>>2],a=h[t+48>>2],h[i+128>>2]=n,h[i+112>>2]=a,h[i+116>>2]=c,h[i+132>>2]=h[n+4>>2],m[i+136>>2]=r[h[h[n>>2]+48>>2]](n),r[h[h[n>>2]+8>>2]](n,t,i+48|0,i+32|0),s=m[i+48>>2],m[e+32>>2]>s&&(m[e+32>>2]=s),s=m[i+32>>2],m[e+48>>2]>2]=s),s=m[i+52>>2],m[e+36>>2]>s&&(m[e+36>>2]=s),s=m[i+36>>2],m[e+52>>2]>2]=s),s=m[i+56>>2],m[e+40>>2]>s&&(m[e+40>>2]=s),s=m[i+40>>2],m[e+56>>2]>2]=s),(t=h[e+64>>2])&&(n=h[i+60>>2],h[i+8>>2]=h[i+56>>2],h[i+12>>2]=n,n=h[i+44>>2],h[i+24>>2]=h[i+40>>2],h[i+28>>2]=n,n=h[i+36>>2],h[i+16>>2]=h[i+32>>2],h[i+20>>2]=n,n=h[i+52>>2],h[i>>2]=h[i+48>>2],h[i+4>>2]=n,h[i+140>>2]=Rr(t,i,h[e+16>>2])),function(e,t){var n=0,i=0,a=0,s=0,c=0,l=0,u=0;if((0|(s=h[e+4>>2]))==h[e+8>>2]&&!((0|s)>=(0|(c=s?s<<1:1)))){if(c&&(h[7717]=h[7717]+1,u=0|r[h[6606]](g(c,80),16),s=h[e+4>>2]),(0|s)>=1)for(;i=(n=g(l,80))+u|0,n=n+h[e+12>>2]|0,a=h[n+4>>2],h[i>>2]=h[n>>2],h[i+4>>2]=a,a=h[n+12>>2],h[i+8>>2]=h[n+8>>2],h[i+12>>2]=a,a=h[n+28>>2],h[i+24>>2]=h[n+24>>2],h[i+28>>2]=a,a=h[n+20>>2],h[i+16>>2]=h[n+16>>2],h[i+20>>2]=a,a=h[n+44>>2],h[i+40>>2]=h[n+40>>2],h[i+44>>2]=a,a=h[n+36>>2],h[i+32>>2]=h[n+32>>2],h[i+36>>2]=a,a=h[n+60>>2],h[i+56>>2]=h[n+56>>2],h[i+60>>2]=a,a=h[n+52>>2],h[i+48>>2]=h[n+48>>2],h[i+52>>2]=a,a=h[n+68>>2],h[i+64>>2]=h[n+64>>2],h[i+68>>2]=a,a=h[n+76>>2],h[i+72>>2]=h[n+72>>2],h[i+76>>2]=a,(0|(l=l+1|0))!=(0|s););(n=h[e+12>>2])&&(d[e+16|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+12>>2]=0),h[e+12>>2]=u,o[e+16|0]=1,h[e+8>>2]=c,s=h[e+4>>2]}n=h[e+12>>2]+g(s,80)|0,s=h[t+4>>2],h[n>>2]=h[t>>2],h[n+4>>2]=s,i=h[t+12>>2],h[n+8>>2]=h[t+8>>2],h[n+12>>2]=i,i=h[t+28>>2],h[n+24>>2]=h[t+24>>2],h[n+28>>2]=i,i=h[t+20>>2],h[n+16>>2]=h[t+16>>2],h[n+20>>2]=i,i=h[t+44>>2],h[n+40>>2]=h[t+40>>2],h[n+44>>2]=i,i=h[t+36>>2],h[n+32>>2]=h[t+32>>2],h[n+36>>2]=i,i=h[t+60>>2],h[n+56>>2]=h[t+56>>2],h[n+60>>2]=i,i=h[t+52>>2],h[n+48>>2]=h[t+48>>2],h[n+52>>2]=i,i=h[t+76>>2],h[n+72>>2]=h[t+72>>2],h[n+76>>2]=i,i=h[t+68>>2],h[n+64>>2]=h[t+64>>2],h[n+68>>2]=i,h[e+4>>2]=h[e+4>>2]+1}(e+12|0,i- -64|0),w=i+144|0}function Fn(e){var t,n,i=v(0),r=v(0),o=v(0),a=0,s=0,c=0,l=0,u=0;for(n=(0|(t=h[e+28>>2]))<1;;){e:{t:switch(0|c){case 0:i=v(m[e+88>>2]+m[e+72>>2]),r=v(m[e+84>>2]+m[e+68>>2]),o=v(m[e+80>>2]+m[e+64>>2]);break e;case 1:i=v(m[e+72>>2]-m[e+88>>2]),r=v(m[e+84>>2]+m[e+68>>2]),o=v(m[e+80>>2]+m[e+64>>2]);break e;case 2:i=v(m[e+88>>2]+m[e+72>>2]),r=v(m[e+68>>2]-m[e+84>>2]),o=v(m[e+80>>2]+m[e+64>>2]);break e;case 3:i=v(m[e+72>>2]-m[e+88>>2]),r=v(m[e+68>>2]-m[e+84>>2]),o=v(m[e+80>>2]+m[e+64>>2]);break e;case 4:i=v(m[e+88>>2]+m[e+72>>2]),r=v(m[e+84>>2]+m[e+68>>2]),o=v(m[e+64>>2]-m[e+80>>2]);break e;case 5:i=v(m[e+72>>2]-m[e+88>>2]),r=v(m[e+84>>2]+m[e+68>>2]),o=v(m[e+64>>2]-m[e+80>>2]);break e;case 6:i=v(m[e+88>>2]+m[e+72>>2]),r=v(m[e+68>>2]-m[e+84>>2]),o=v(m[e+64>>2]-m[e+80>>2]);break e;case 7:break t;default:break e}i=v(m[e+72>>2]-m[e+88>>2]),r=v(m[e+68>>2]-m[e+84>>2]),o=v(m[e+64>>2]-m[e+80>>2])}e:{if(!n)for(u=h[e+36>>2],l=0,a=0;;){if(s=g(a,36)+u|0,v(m[s+32>>2]+v(v(v(o*m[s+20>>2])+v(r*m[s+24>>2]))+v(i*m[s+28>>2])))>v(0))break e;if(!((0|(a=a+1|0))<(0|t)))break}if(l=1,8!=(0|(c=c+1|0)))continue}break}return l}function Bn(e,t,n){var i=0,o=0,a=0,s=0,c=0,l=0;if(!((a=h[e+56>>2])||((i=h[e+52>>2])?h[e+52>>2]=h[i+8>>2]:(h[7717]=h[7717]+1,i=0|r[h[6606]](12,16),o=h[e+60>>2],h[i+8>>2]=0,h[i+4>>2]=o,h[7717]=h[7717]+1,h[i>>2]=r[h[6606]](g(o,24),16),h[i+8>>2]=h[e+48>>2],h[e+48>>2]=i),a=h[i>>2],(0|(s=h[i+4>>2]))<1)))for(i=0,o=a;c=o,o=o+24|0,i=i+1|0,h[c>>2]=(0|i)<(0|s)?o:0,(0|i)!=(0|s););if(h[e+56>>2]=h[a>>2],h[a+16>>2]=0,h[a+20>>2]=0,h[a+8>>2]=0,h[a+12>>2]=0,h[a>>2]=0,h[a+4>>2]=0,!((s=h[e+56>>2])||((i=h[e+52>>2])?h[e+52>>2]=h[i+8>>2]:(h[7717]=h[7717]+1,i=0|r[h[6606]](12,16),o=h[e+60>>2],h[i+8>>2]=0,h[i+4>>2]=o,h[7717]=h[7717]+1,h[i>>2]=r[h[6606]](g(o,24),16),h[i+8>>2]=h[e+48>>2],h[e+48>>2]=i),s=h[i>>2],(0|(l=h[i+4>>2]))<1)))for(i=0,o=s;c=o,o=o+24|0,i=i+1|0,h[c>>2]=(0|i)<(0|l)?o:0,(0|i)!=(0|l););return h[e+56>>2]=h[s>>2],h[s>>2]=0,h[s+4>>2]=0,h[a+8>>2]=s,h[s+8>>2]=a,o=h[e+100>>2],h[a+20>>2]=o,h[s+20>>2]=o,h[a+12>>2]=n,h[s+12>>2]=t,h[a+16>>2]=0,h[s+16>>2]=0,n=(t=h[e+116>>2])+1|0,h[e+116>>2]=n,(0|t)>=h[e+120>>2]&&(h[e+120>>2]=n),a}function kn(e,t,n,i){for(var r=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0,d=0,f=0,m=0,b=0,g=0,v=0,y=0,C=0,A=0;;){for(y=n,f=h[e+12>>2],C=h[8+(o=f+((n+i|0)/2<<4)|0)>>2],p=h[o+4>>2],u=h[o>>2],o=i;;){a=-1,c=-1,(d=h[(r=(n<<4)+f|0)>>2])&&(c=h[d+12>>2]),a=u?h[u+12>>2]:a,s=-1,l=-1,(m=h[r+4>>2])&&(l=h[m+12>>2]),s=p?h[p+12>>2]:s;e:{t:if(!((0|c)>(0|a))){if(!((0|u)!=(0|d)|(0|l)>(0|s))){if((0|p)!=(0|m))break e;if(_[r+8>>2]>C>>>0)break t;break e}if((0|u)!=(0|d)|(0|l)<=(0|s))break e}n=n+1|0;continue}for(;;){a=(A=o<<4)+f|0,c=-1,s=-1,s=u?h[u+12>>2]:s,(b=h[a>>2])&&(c=h[b+12>>2]),l=-1,g=-1,g=p?h[p+12>>2]:g,(v=h[a+4>>2])&&(l=h[v+12>>2]);e:{t:if(!((0|s)>(0|c))){if(!((0|u)!=(0|b)|(0|g)>(0|l))){if((0|p)!=(0|v))break e;if(_[a+8>>2]>>0)break t;break e}if((0|u)!=(0|b)|(0|g)<=(0|l))break e}o=o+-1|0;continue}break}if((0|n)<=(0|o)&&(l=h[r+8>>2],s=h[r+12>>2],c=h[a+4>>2],h[r>>2]=h[a>>2],h[r+4>>2]=c,c=h[a+12>>2],h[r+8>>2]=h[a+8>>2],h[r+12>>2]=c,r=h[e+12>>2]+A|0,h[r+4>>2]=m,h[r+8>>2]=l,h[r+12>>2]=s,h[r>>2]=d,o=o+-1|0,n=n+1|0),!((0|n)<=(0|o)))break;f=h[e+12>>2]}if((0|o)>(0|y)&&kn(e,t,y,o),!((0|n)<(0|i)))break}}function Vn(e,t,n){var i,r=0,a=0;if(n>>>0>=512)return M(0|e,0|t,0|n),e;i=e+n|0;e:if(3&(e^t))if(i>>>0<4)n=e;else if((r=i+-4|0)>>>0>>0)n=e;else for(n=e;o[0|n]=d[0|t],o[n+1|0]=d[t+1|0],o[n+2|0]=d[t+2|0],o[n+3|0]=d[t+3|0],t=t+4|0,(n=n+4|0)>>>0<=r>>>0;);else{t:if((0|n)<1)n=e;else if(3&e)for(n=e;;){if(o[0|n]=d[0|t],t=t+1|0,(n=n+1|0)>>>0>=i>>>0)break t;if(!(3&n))break}else n=e;if(!((r=-4&i)>>>0<64||n>>>0>(a=r+-64|0)>>>0))for(;h[n>>2]=h[t>>2],h[n+4>>2]=h[t+4>>2],h[n+8>>2]=h[t+8>>2],h[n+12>>2]=h[t+12>>2],h[n+16>>2]=h[t+16>>2],h[n+20>>2]=h[t+20>>2],h[n+24>>2]=h[t+24>>2],h[n+28>>2]=h[t+28>>2],h[n+32>>2]=h[t+32>>2],h[n+36>>2]=h[t+36>>2],h[n+40>>2]=h[t+40>>2],h[n+44>>2]=h[t+44>>2],h[n+48>>2]=h[t+48>>2],h[n+52>>2]=h[t+52>>2],h[n+56>>2]=h[t+56>>2],h[n+60>>2]=h[t+60>>2],t=t- -64|0,(n=n- -64|0)>>>0<=a>>>0;);if(n>>>0>=r>>>0)break e;for(;h[n>>2]=h[t>>2],t=t+4|0,(n=n+4|0)>>>0>>0;);}if(n>>>0>>0)for(;o[0|n]=d[0|t],t=t+1|0,(0|i)!=(0|(n=n+1|0)););return e}function zn(e){var t=0;return h[(e|=0)>>2]=17980,d[e+272|0]&&(t=h[e+204>>2],r[h[h[t>>2]>>2]](t),(t=h[e+204>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),(t=h[e+196>>2])&&(r[h[h[t>>2]>>2]](t),(t=h[e+196>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),d[e+273|0]&&(t=h[e+200>>2],r[h[h[t>>2]>>2]](t),(t=h[e+200>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),(t=h[e+316>>2])&&(d[e+320|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+316>>2]=0),h[e+316>>2]=0,o[e+320|0]=1,h[e+308>>2]=0,h[e+312>>2]=0,(t=h[e+288>>2])&&(d[e+292|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+288>>2]=0),h[e+288>>2]=0,o[e+292|0]=1,h[e+280>>2]=0,h[e+284>>2]=0,(t=h[e+240>>2])&&(d[e+244|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+240>>2]=0),h[e+240>>2]=0,o[e+244|0]=1,h[e+232>>2]=0,h[e+236>>2]=0,(t=h[e+220>>2])&&(d[e+224|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+220>>2]=0),h[e+220>>2]=0,o[e+224|0]=1,h[e+212>>2]=0,h[e+216>>2]=0,(t=h[e+188>>2])&&(d[e+192|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+188>>2]=0),h[e+188>>2]=0,o[e+192|0]=1,h[e+180>>2]=0,h[e+184>>2]=0,Ur(e),0|e}function jn(e){var t,n,i,a,s=0,c=0,l=0,u=0;if(n=t=h[e+8>>2],i=c=(l=h[e+32>>2])?h[e+40>>2]:0,a=s=(c=h[e+52>>2])?h[e+60>>2]:0,u=0,(s=h[e+72>>2])&&(u=h[e+80>>2]),v(r[h[h[t>>2]+12>>2]](n,i,l,a,c,u,s,h[e+4>>2],h[e+20>>2],h[e+24>>2])),(0|(c=h[e+32>>2]))<=-1)for(h[e+36>>2]<=-1&&((s=h[e+40>>2])&&(d[e+44|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s)),h[e+40>>2]=0),h[e+36>>2]=0,h[e+40>>2]=0,o[e+44|0]=1);h[h[e+40>>2]+(c<<2)>>2]=0,l=(s=c+1|0)>>>0>=c>>>0,c=s,l;);if(h[e+32>>2]=0,(0|(c=h[e+52>>2]))<=-1)for(h[e+56>>2]<=-1&&((s=h[e+60>>2])&&(d[e- -64|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s)),h[e+60>>2]=0),h[e+56>>2]=0,h[e+60>>2]=0,o[e- -64|0]=1);h[h[e+60>>2]+(c<<2)>>2]=0,l=(s=c+1|0)>>>0>=c>>>0,c=s,l;);if(h[e+52>>2]=0,(0|(c=h[e+72>>2]))<=-1)for(h[e+76>>2]<=-1&&((s=h[e+80>>2])&&(d[e+84|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s)),h[e+80>>2]=0),h[e+76>>2]=0,h[e+80>>2]=0,o[e+84|0]=1);h[h[e+80>>2]+(c<<2)>>2]=0,l=(s=c+1|0)>>>0>=c>>>0,c=s,l;);h[e+72>>2]=0}function Un(e,t,n,i,r,a){ja(e,4,t,n),h[e>>2]=19668,t=h[i+12>>2],h[e+560>>2]=h[i+8>>2],h[e+564>>2]=t,t=h[i+4>>2],h[e+552>>2]=h[i>>2],h[e+556>>2]=t,t=h[i+28>>2],h[e+576>>2]=h[i+24>>2],h[e+580>>2]=t,t=h[i+20>>2],h[e+568>>2]=h[i+16>>2],h[e+572>>2]=t,t=h[i+44>>2],h[e+592>>2]=h[i+40>>2],h[e+596>>2]=t,t=h[i+36>>2],h[e+584>>2]=h[i+32>>2],h[e+588>>2]=t,t=h[i+60>>2],h[e+608>>2]=h[i+56>>2],h[e+612>>2]=t,t=h[i+52>>2],h[e+600>>2]=h[i+48>>2],h[e+604>>2]=t,t=h[r+12>>2],h[e+624>>2]=h[r+8>>2],h[e+628>>2]=t,t=h[r+4>>2],h[e+616>>2]=h[r>>2],h[e+620>>2]=t,t=h[r+20>>2],h[e+632>>2]=h[r+16>>2],h[e+636>>2]=t,t=h[r+28>>2],h[e+640>>2]=h[r+24>>2],h[e+644>>2]=t,t=h[r+36>>2],h[e+648>>2]=h[r+32>>2],h[e+652>>2]=t,t=h[r+44>>2],h[e+656>>2]=h[r+40>>2],h[e+660>>2]=t,t=h[r+52>>2],h[e+664>>2]=h[r+48>>2],h[e+668>>2]=t,t=h[r+60>>2],h[e+672>>2]=h[r+56>>2],h[e+676>>2]=t,h[e+688>>2]=0,h[e+692>>2]=-1082130432,h[e+696>>2]=1063675494,h[e+700>>2]=1050253722,h[e+704>>2]=1065353216,h[e+708>>2]=0,h[e+712>>2]=0,o[e+716|0]=0,o[e+740|0]=a,h[e+748>>2]=0,h[e+736>>2]=16777216,m[e+732>>2]=v(a?-1:1)}function Gn(e,t){t|=0;var n,i,r,o,a,s,c,l=0,u=0,p=0,f=0,_=0,m=0;if(w=n=w-16|0,i=(u=h[32+(e|=0)>>2])+328|0,r=(f=h[e+28>>2])+328|0,o=u+312|0,a=f+312|0,s=u+4|0,c=f+4|0,d[e+1301|0]){for(f=0,u=0;(d[912+(p=(u<<6)+e|0)|0]||h[p+924>>2])&&(m=h[4+(_=1216+(l=(u<<4)+e|0)|0)>>2],h[n+8>>2]=h[_>>2],h[n+12>>2]=m,_=h[4+(l=l+1208|0)>>2],h[n>>2]=h[l>>2],h[n+4>>2]=_,1&(l=h[e+1304>>2]>>g(u,3)+9)||(h[p+896>>2]=h[h[t+32>>2]>>2]),2&l||(h[p+904>>2]=h[h[t+32>>2]>>2]),4&l||(h[p+900>>2]=h[t+4>>2]),f=ye(e,p+868|0,c,s,a,o,r,i,t,f,n,1,0)+f|0),3!=(0|(u=u+1|0)););Cn(e,t,f,c,s,a,o,r,i)}else for(f=Cn(e,t,0,c,s,a,o,r,i),u=0;(d[912+(p=(u<<6)+e|0)|0]||h[p+924>>2])&&(m=h[4+(_=1216+(l=(u<<4)+e|0)|0)>>2],h[n+8>>2]=h[_>>2],h[n+12>>2]=m,_=h[4+(l=l+1208|0)>>2],h[n>>2]=h[l>>2],h[n+4>>2]=_,1&(l=h[e+1304>>2]>>g(u,3)+9)||(h[p+896>>2]=h[h[t+32>>2]>>2]),2&l||(h[p+904>>2]=h[h[t+32>>2]>>2]),4&l||(h[p+900>>2]=h[t+4>>2]),f=ye(e,p+868|0,c,s,a,o,r,i,t,f,n,1,0)+f|0),3!=(0|(u=u+1|0)););w=n+16|0}function Hn(e,t){var n,i=0,o=v(0),a=v(0),s=v(0),c=v(0);w=n=w-32|0,t!=v(0)&&((i=h[e+480>>2])&&r[h[h[i>>2]+8>>2]](i,e+4|0),h[e+324>>2]=0,t=v(v(1)/t),m[e+320>>2]=t*v(m[e+60>>2]-m[e+124>>2]),m[e+316>>2]=t*v(m[e+56>>2]-m[e+120>>2]),m[e+312>>2]=t*v(m[e+52>>2]-m[e+116>>2]),Gt(e+68|0,e+4|0,n+16|0,n+12|0),a=m[n+16>>2],s=m[n+20>>2],c=m[n+24>>2],o=m[n+12>>2],h[e+340>>2]=0,m[e+336>>2]=t*v(o*c),m[e+332>>2]=t*v(o*s),m[e+328>>2]=t*v(a*o),i=h[e+324>>2],h[e+140>>2]=h[e+320>>2],h[e+144>>2]=i,i=h[e+316>>2],h[e+132>>2]=h[e+312>>2],h[e+136>>2]=i,i=h[e+332>>2],h[e+148>>2]=h[e+328>>2],h[e+152>>2]=i,i=h[e+340>>2],h[e+156>>2]=h[e+336>>2],h[e+160>>2]=i,i=h[e+8>>2],h[e+68>>2]=h[e+4>>2],h[e+72>>2]=i,i=h[e+16>>2],h[e+76>>2]=h[e+12>>2],h[e+80>>2]=i,i=h[e+24>>2],h[e+84>>2]=h[e+20>>2],h[e+88>>2]=i,i=h[e+32>>2],h[e+92>>2]=h[e+28>>2],h[e+96>>2]=i,i=h[e+48>>2],h[e+108>>2]=h[e+44>>2],h[e+112>>2]=i,i=h[e+40>>2],h[e+100>>2]=h[e+36>>2],h[e+104>>2]=i,i=h[e+64>>2],h[e+124>>2]=h[e+60>>2],h[e+128>>2]=i,i=h[e+56>>2],h[e+116>>2]=h[e+52>>2],h[e+120>>2]=i),w=n+32|0}function Wn(e,t,n,i,o){e|=0,t|=0,n|=0,i|=0,o|=0;var a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0);w=i=w-160|0,h[i+112>>2]=h[t>>2],h[i+64>>2]=h[t+64>>2],h[i+116>>2]=h[t+4>>2],h[i+68>>2]=h[t+68>>2],h[i+120>>2]=h[t+8>>2],h[i+72>>2]=h[t+72>>2],h[i+128>>2]=h[t+16>>2],h[i+80>>2]=h[t+80>>2],h[i+132>>2]=h[t+20>>2],h[i+84>>2]=h[t+84>>2],h[i+136>>2]=h[t+24>>2],h[i+88>>2]=h[t+88>>2],h[i+144>>2]=h[t+32>>2],h[i+96>>2]=h[t+96>>2],h[i+148>>2]=h[t+36>>2],h[i+100>>2]=h[t+100>>2],h[i+152>>2]=h[t+40>>2],h[i+104>>2]=h[t+104>>2],o=h[e+4>>2],s=m[o+36>>2],a=m[o+32>>2],c=m[o+28>>2],l=v(r[h[h[o>>2]+48>>2]](o)),u=v(r[h[h[o>>2]+48>>2]](o)),p=v(r[h[h[o>>2]+48>>2]](o)),h[i+36>>2]=0,a=v(a+u),m[i+28>>2]=a+a,a=v(c+l),m[i+24>>2]=a+a,s=v(s+p),m[i+32>>2]=s+s,e=h[e+8>>2],s=m[e+36>>2],a=m[e+32>>2],c=m[e+28>>2],l=v(r[h[h[e>>2]+48>>2]](e)),u=v(r[h[h[e>>2]+48>>2]](e)),p=v(r[h[h[e>>2]+48>>2]](e)),h[i+20>>2]=0,a=v(a+u),m[i+12>>2]=a+a,a=v(c+l),m[i+8>>2]=a+a,s=v(s+p),m[i+16>>2]=s+s,F(t+48|0,i+112|0,i+24|0,t+112|0,i- -64|0,i+8|0,i+48|0,i+44|0,i+40|0,n),w=i+160|0}function Xn(e,t,n,i){t|=0,n|=0,i|=0;var a,s=0,c=0,l=0,u=0,p=0;if(w=a=w-96|0,(0|(s=h[8+(e|=0)>>2]))==h[e+12>>2]&&!((0|s)>=(0|(l=s?s<<1:1)))){if(l&&(h[7717]=h[7717]+1,u=0|r[h[6606]](l<<2,16),s=h[e+8>>2]),(0|s)>=1)for(;h[(p=c<<2)+u>>2]=h[h[e+16>>2]+p>>2],(0|(c=c+1|0))!=(0|s););(c=h[e+16>>2])&&(d[e+20|0]&&(c&&(h[7718]=h[7718]+1,r[h[6607]](c)),s=h[e+8>>2]),h[e+16>>2]=0),h[e+16>>2]=u,h[e+12>>2]=l,o[e+20|0]=1}h[h[e+16>>2]+(s<<2)>>2]=t,h[e+8>>2]=s+1,s=h[t+16>>2],h[a+40>>2]=h[t+12>>2],h[a+44>>2]=s,s=h[t+8>>2],h[a+32>>2]=h[t+4>>2],h[a+36>>2]=s,s=h[t+32>>2],h[a+56>>2]=h[t+28>>2],h[a+60>>2]=s,s=h[t+24>>2],h[a+48>>2]=h[t+20>>2],h[a+52>>2]=s,s=h[t+48>>2],h[a+72>>2]=h[t+44>>2],h[a+76>>2]=s,s=h[t+40>>2],h[a+64>>2]=h[t+36>>2],h[a+68>>2]=s,s=h[t+64>>2],h[a+88>>2]=h[t+60>>2],h[a+92>>2]=s,s=h[t+56>>2],h[a+80>>2]=h[t+52>>2],h[a+84>>2]=s,s=h[t+192>>2],r[h[h[s>>2]+8>>2]](s,a+32|0,a+16|0,a),s=h[e+68>>2],h[t+188>>2]=r[h[h[s>>2]+8>>2]](s,a+16|0,a,h[h[t+192>>2]+4>>2],t,n,i,h[e+24>>2],0),w=a+96|0}function Yn(e,t,n){var i,a,s=0,c=0,l=0,u=0,p=0,f=0;if(w=i=w-16|0,a=_o(e),o[e+108|0]=1,h[e>>2]=13728,h[e+104>>2]=0,h[e+96>>2]=0,h[e+100>>2]=0,h[e+4>>2]=4,(0|n)<=0)h[e+96>>2]=n;else{if(h[7717]=h[7717]+1,s=0|r[h[6606]](n<<4,16),(0|(p=h[e+96>>2]))>=1)for(;u=(l=c<<4)+s|0,l=l+h[e+104>>2]|0,f=h[l+4>>2],h[u>>2]=h[l>>2],h[u+4>>2]=f,f=h[l+12>>2],h[u+8>>2]=h[l+8>>2],h[u+12>>2]=f,(0|p)!=(0|(c=c+1|0)););if((c=h[e+104>>2])&&(d[e+108|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c)),h[e+104>>2]=0),h[e+104>>2]=s,c=1,o[e+108|0]=1,h[e+100>>2]=n,l=h[i+12>>2],h[s+8>>2]=h[i+8>>2],h[s+12>>2]=l,l=h[i+4>>2],h[s>>2]=h[i>>2],h[s+4>>2]=l,1!=(0|n))for(;u=h[i+4>>2],s=h[e+104>>2]+(c<<4)|0,h[s>>2]=h[i>>2],h[s+4>>2]=u,l=h[i+12>>2],h[s+8>>2]=h[i+8>>2],h[s+12>>2]=l,(0|(c=c+1|0))!=(0|n););if(h[e+96>>2]=n,!((0|n)<1))for(c=0;l=h[t+4>>2],u=h[t>>2],p=h[t+8>>2],s=h[e+104>>2]+(c<<4)|0,h[s+12>>2]=0,h[s+8>>2]=p,h[s>>2]=u,h[s+4>>2]=l,t=t+16|0,(0|(c=c+1|0))!=(0|n););}or(a),w=i+16|0}function Qn(e,t,n,i,r,o,a){var s,c,l=v(0),u=v(0),p=0,d=0,f=v(0),_=v(0),b=v(0);if(s=w-16|0,h[i>>2]=2139095039,p=-8388609,h[r>>2]=-8388609,c=h[e+8>>2],l=v(-34028234663852886e22),!((0|c)<1)){for(p=0;d=h[e+16>>2]+(p<<4)|0,l=m[d>>2],u=m[d+4>>2],f=m[d+8>>2],_=v(v(v(v(l*m[t>>2])+v(u*m[t+4>>2]))+v(f*m[t+8>>2]))+m[t+48>>2]),b=v(v(v(v(l*m[t+16>>2])+v(u*m[t+20>>2]))+v(f*m[t+24>>2]))+m[t+52>>2]),u=v(v(v(v(l*m[t+32>>2])+v(u*m[t+36>>2]))+v(f*m[t+40>>2]))+m[t+56>>2]),(l=v(v(v(_*m[n>>2])+v(b*m[n+4>>2]))+v(u*m[n+8>>2])))>2]&&(m[i>>2]=l,h[o+12>>2]=0,m[o+8>>2]=u,m[o+4>>2]=b,m[o>>2]=_),l>m[r>>2]&&(m[r>>2]=l,h[a+12>>2]=0,m[a+8>>2]=u,m[a+4>>2]=b,m[a>>2]=_),(0|c)!=(0|(p=p+1|0)););p=h[r>>2],l=m[r>>2]}(u=m[i>>2])>l&&(h[i>>2]=p,m[r>>2]=u,e=h[o+12>>2],h[s+8>>2]=h[o+8>>2],h[s+12>>2]=e,e=h[o+4>>2],h[s>>2]=h[o>>2],h[s+4>>2]=e,e=h[a+12>>2],h[o+8>>2]=h[a+8>>2],h[o+12>>2]=e,e=h[a+4>>2],h[o>>2]=h[a>>2],h[o+4>>2]=e,e=h[s+12>>2],h[a+8>>2]=h[s+8>>2],h[a+12>>2]=e,e=h[s+4>>2],h[a>>2]=h[s>>2],h[a+4>>2]=e)}function Kn(e,t,n){var i,r,o,a,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0);w=r=w-16|0,o=h[t+16>>2],a=h[t+12>>2],i=h[t+8>>2],t=h[i+12>>2],h[e+16>>2]=h[i+8>>2],h[e+20>>2]=t,t=h[i+20>>2],h[e+24>>2]=h[i+16>>2],h[e+28>>2]=t,t=h[i+20>>2],h[e+8>>2]=h[i+16>>2],h[e+12>>2]=t,t=h[i+12>>2],h[e>>2]=h[i+8>>2],h[e+4>>2]=t,(c=m[a+8>>2])<(p=m[e>>2])&&(m[e>>2]=c,p=c),(l=m[a+12>>2])<(d=m[e+4>>2])&&(m[e+4>>2]=l,d=l),(u=m[a+16>>2])<(_=m[e+8>>2])&&(m[e+8>>2]=u,_=u),(s=m[a+20>>2])<(b=m[e+12>>2])&&(m[e+12>>2]=s,b=s),(g=m[e+16>>2])>2]=c,g=c),(c=m[e+20>>2])>2]=l,c=l),(l=m[e+24>>2])>2]=u,l=u),(u=m[e+28>>2])>2]=s,u=s),(f=m[o+8>>2])>2]=f),(p=m[o+12>>2])>2]=p),(d=m[o+16>>2])<_&&(m[e+8>>2]=d),(s=m[o+20>>2])>2]=s),g>2]=f),c>2]=p),l>2]=d),u>2]=s),h[r+12>>2]=0,m[r+8>>2]=n,m[r+4>>2]=n,m[r>>2]=n,function(e,t){m[e>>2]=m[e>>2]-m[t>>2],m[e+4>>2]=m[e+4>>2]-m[t+4>>2],m[e+8>>2]=m[e+8>>2]-m[t+8>>2],m[e+16>>2]=m[t>>2]+m[e+16>>2],m[e+20>>2]=m[t+4>>2]+m[e+20>>2],m[e+24>>2]=m[t+8>>2]+m[e+24>>2]}(e,r),w=r+16|0}function Zn(e,t,n){var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0);o=m[t+336>>2],p=m[t+44>>2],b=m[t+40>>2],g=m[t+36>>2],c=m[t+332>>2],y=m[t+28>>2],l=m[t+12>>2],f=m[t+404>>2],C=m[t+24>>2],u=m[t+8>>2],d=m[t+400>>2],A=m[t+20>>2],r=m[t+328>>2],x=m[t+4>>2],i=m[t+396>>2],h[e+12>>2]=0,_=v(v(1)/i),i=v(A*_),d=v(v(1)/d),a=v(C*d),f=v(v(1)/f),s=v(y*f),T=v(v(v(r*v(v(v(x*i)+v(u*a))+v(l*s)))+v(c*v(v(v(i*A)+v(a*C))+v(s*y))))+v(o*v(v(v(i*g)+v(a*b))+v(s*p)))),i=v(_*x),a=v(d*u),s=v(f*l),a=v(v(v(r*v(v(v(x*i)+v(u*a))+v(l*s)))+v(c*v(v(v(i*A)+v(a*C))+v(s*y))))+v(o*v(v(v(i*g)+v(a*b))+v(s*p)))),i=v(v(r*T)-v(c*a)),m[e+8>>2]=i,s=r,r=v(_*g),_=u,u=v(d*b),d=l,l=v(f*p),p=v(v(v(s*v(v(v(x*r)+v(_*u))+v(d*l)))+v(c*v(v(v(r*A)+v(u*C))+v(l*y))))+v(o*v(v(v(r*g)+v(u*b))+v(l*p)))),r=v(v(o*a)-v(s*p)),m[e+4>>2]=r,o=v(v(c*p)-v(o*T)),m[e>>2]=o,(c=v(v(i*i)+v(v(o*o)+v(r*r))))>v(n*n)&&(n=v(v(v(1)/v(S(c)))*n),m[e+8>>2]=i*n,m[e+4>>2]=r*n,m[e>>2]=o*n)}function qn(e,t){var n=0,i=0,a=0,s=0,c=0,l=0;if(d[e+164|0]){if((0|(n=h[e+128>>2]))==h[e+132>>2]&&!((0|n)>=(0|(i=n?n<<1:1)))){i&&(h[7717]=h[7717]+1,s=0|r[h[6606]](i<<2,16),n=h[e+128>>2]),a=h[e+136>>2];e:{t:{if((0|n)>=1)for(;;)if(h[(l=c<<2)+s>>2]=h[a+l>>2],(0|(c=c+1|0))==(0|n))break t;if(!a)break e}d[e+140|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+136>>2]=0,n=h[e+128>>2]}h[e+136>>2]=s,h[e+132>>2]=i,o[e+140|0]=1}return i=n<<2,n=h[e+136>>2],h[i+n>>2]=t,h[e+128>>2]=h[e+128>>2]+1,void(h[h[e+32>>2]+4>>2]=n)}if((0|(n=h[e+148>>2]))==h[e+152>>2]&&!((0|n)>=(0|(i=n?n<<1:1)))){i&&(h[7717]=h[7717]+1,s=0|r[h[6606]](i<<1,16),n=h[e+148>>2]),a=h[e+156>>2];e:{t:{if((0|n)>=1)for(;;)if(p[(l=c<<1)+s>>1]=f[a+l>>1],(0|(c=c+1|0))==(0|n))break t;if(!a)break e}d[e+160|0]&&(a&&(h[7718]=h[7718]+1,r[h[6607]](a)),n=h[e+148>>2]),h[e+156>>2]=0}h[e+156>>2]=s,h[e+152>>2]=i,o[e+160|0]=1}s=h[e+156>>2],p[s+(n<<1)>>1]=t,h[e+148>>2]=n+1,h[h[e+32>>2]+4>>2]=s}function Jn(e){var t,n=0;w=t=w-48|0,h[t+44>>2]=0,h[t+36>>2]=0,h[t+40>>2]=0,h[t+32>>2]=1065353216,r[h[h[e>>2]+68>>2]](t+16|0,e,t+32|0),m[e+32>>2]=m[t+16>>2]+m[e+12>>2],h[t+32>>2]=-1082130432,r[h[h[e>>2]+68>>2]](t,e,t+32|0),n=h[t+12>>2],h[t+24>>2]=h[t+8>>2],h[t+28>>2]=n,n=h[t+4>>2],h[t+16>>2]=h[t>>2],h[t+20>>2]=n,m[e+16>>2]=m[t+16>>2]-m[e+12>>2],h[t+32>>2]=0,h[t+36>>2]=0,h[t+40>>2]=0,h[t+44>>2]=0,h[t+36>>2]=1065353216,r[h[h[e>>2]+68>>2]](t+16|0,e,t+32|0),m[e+36>>2]=m[t+20>>2]+m[e+12>>2],h[t+36>>2]=-1082130432,r[h[h[e>>2]+68>>2]](t,e,t+32|0),n=h[t+12>>2],h[t+24>>2]=h[t+8>>2],h[t+28>>2]=n,n=h[t+4>>2],h[t+16>>2]=h[t>>2],h[t+20>>2]=n,m[e+20>>2]=m[t+20>>2]-m[e+12>>2],h[t+40>>2]=0,h[t+44>>2]=0,h[t+32>>2]=0,h[t+36>>2]=0,h[t+40>>2]=1065353216,r[h[h[e>>2]+68>>2]](t+16|0,e,t+32|0),m[e+40>>2]=m[t+24>>2]+m[e+12>>2],h[t+40>>2]=-1082130432,r[h[h[e>>2]+68>>2]](t,e,t+32|0),n=h[t+12>>2],h[t+24>>2]=h[t+8>>2],h[t+28>>2]=n,n=h[t+4>>2],h[t+16>>2]=h[t>>2],h[t+20>>2]=n,m[e+24>>2]=m[t+24>>2]-m[e+12>>2],w=t+48|0}function $n(e,t,n,i,r){var o=0,a=v(0),s=v(0),c=0,l=v(0),u=v(0),p=v(0),d=v(0),f=0;s=m[n>>2];e:{if(m[t>>2]<=s){if(a=m[n+4>>2],!(m[t+4>>2]<=a^1|m[t+8>>2]<=m[n+8>>2]^1|m[t+16>>2]>=m[n+16>>2]^1|m[t+20>>2]>=m[n+20>>2]^1)&&(o=0,m[t+24>>2]>=m[n+24>>2]))break e}else a=m[n+4>>2];a=v(a-r),m[n+4>>2]=a,s=v(s-r),m[n>>2]=s,l=v(m[n+8>>2]-r),m[n+8>>2]=l,u=v(m[n+16>>2]+r),m[n+16>>2]=u,p=v(m[n+20>>2]+r),m[n+20>>2]=p,r=v(m[n+24>>2]+r),m[n+24>>2]=r,o=(d=m[i>>2])>v(0),m[(o<<4)+n>>2]=(o?u:s)+d,o=(s=m[i+4>>2])>v(0),m[(o?20:4)+n>>2]=(o?p:a)+s,i=(a=m[i+8>>2])>v(0),m[(i?24:8)+n>>2]=(i?r:l)+a;t:if(i=ti(e,t))if((0|(c=h[e+8>>2]))>=0){if(!c)break t;for(;;){if(!(o=h[i+32>>2]))break t;if(i=o,(0|c)==(0|(f=f+1|0)))break}}else i=h[e>>2];else i=0;o=h[n+4>>2],h[t>>2]=h[n>>2],h[t+4>>2]=o,o=h[n+28>>2],h[t+24>>2]=h[n+24>>2],h[t+28>>2]=o,o=h[n+20>>2],h[t+16>>2]=h[n+16>>2],h[t+20>>2]=o,o=h[n+12>>2],h[t+8>>2]=h[n+8>>2],h[t+12>>2]=o,Rt(e,i,t),o=1}return o}function ei(e,t,n){var i,r=0,o=v(0),a=v(0),s=v(0);w=i=w-80|0,h[e+240>>2]&&(m[e+176>>2]=m[e+64>>2]+m[e+176>>2],m[e+192>>2]=m[e+80>>2]+m[e+192>>2],m[e+180>>2]=m[e+68>>2]+m[e+180>>2],m[e+184>>2]=m[e+72>>2]+m[e+184>>2],m[e+196>>2]=m[e+84>>2]+m[e+196>>2],m[e+200>>2]=m[e+88>>2]+m[e+200>>2],(m[e+144>>2]!=v(0)|m[e+148>>2]!=v(0)|m[e+152>>2]!=v(0)|m[e+160>>2]!=v(0)||m[e+164>>2]!=v(0)||m[e+168>>2]!=v(0))&&(o=m[e+164>>2],a=m[e+168>>2],s=m[e+160>>2],h[i+12>>2]=0,m[i>>2]=s*n,m[i+8>>2]=a*n,m[i+4>>2]=o*n,Sn(e,e+144|0,i,t,i+16|0),r=h[i+28>>2],h[e+8>>2]=h[i+24>>2],h[e+12>>2]=r,r=h[i+20>>2],h[e>>2]=h[i+16>>2],h[e+4>>2]=r,r=h[i+44>>2],h[e+24>>2]=h[i+40>>2],h[e+28>>2]=r,r=h[i+36>>2],h[e+16>>2]=h[i+32>>2],h[e+20>>2]=r,r=h[i+52>>2],h[e+32>>2]=h[i+48>>2],h[e+36>>2]=r,r=h[i+60>>2],h[e+40>>2]=h[i+56>>2],h[e+44>>2]=r,r=h[i+68>>2],h[e+48>>2]=h[i+64>>2],h[e+52>>2]=r,r=h[i+76>>2],h[e+56>>2]=h[i+72>>2],h[e+60>>2]=r)),w=i+80|0}function ti(e,t){var n=0,i=0,o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0);if(h[e>>2]==(0|t))return h[e>>2]=0,0;i=h[t+32>>2],n=h[36+(((h[i+40>>2]!=(0|t))<<2)+i|0)>>2];e:{if(t=h[i+32>>2])for(h[36+((((0|i)==h[t+40>>2])<<2)+t|0)>>2]=n,h[n+32>>2]=t,(n=h[e+4>>2])&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+4>>2]=i;;){if(y=m[t>>2],i=h[t+36>>2],o=m[i>>2],n=h[t+40>>2],o=o<(p=m[n>>2])?o:p,m[t>>2]=o,p=m[t+16>>2],a=(a=m[i+16>>2])>(d=m[n+16>>2])?a:d,m[t+16>>2]=a,d=m[t+4>>2],s=(s=m[i+4>>2])<(f=m[n+4>>2])?s:f,m[t+4>>2]=s,f=m[t+20>>2],c=(c=m[i+20>>2])>(_=m[n+20>>2])?c:_,m[t+20>>2]=c,_=m[t+8>>2],l=(l=m[i+8>>2])<(b=m[n+8>>2])?l:b,m[t+8>>2]=l,b=m[t+24>>2],u=(u=m[i+24>>2])>(g=m[n+24>>2])?u:g,m[t+24>>2]=u,!(f!=c|p!=a|y!=o|d!=s)&&_==l&&b==u)break e;if(!(t=h[t+32>>2]))break}else h[e>>2]=n,h[n+32>>2]=0,(t=h[e+4>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+4>>2]=i;t=h[e>>2]}return t}function ni(e,t,n,i,r){var o,a,s=0,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0);w=o=w-128|0,a=h[e+28>>2],h[o+80>>2]=h[a+4>>2],h[o+84>>2]=h[a+20>>2],s=h[a+36>>2],h[o+92>>2]=0,h[o+88>>2]=s,h[o+96>>2]=h[a+8>>2],h[o+100>>2]=h[a+24>>2],s=h[a+40>>2],h[o+108>>2]=0,h[o+104>>2]=s,h[o+112>>2]=h[a+12>>2],h[o+116>>2]=h[a+28>>2],s=h[a+44>>2],h[o+124>>2]=0,h[o+120>>2]=s,e=h[e+32>>2],h[o+32>>2]=h[e+4>>2],h[o+36>>2]=h[e+20>>2],s=h[e+36>>2],h[o+44>>2]=0,h[o+40>>2]=s,h[o+48>>2]=h[e+8>>2],h[o+52>>2]=h[e+24>>2],s=h[e+40>>2],h[o+60>>2]=0,h[o+56>>2]=s,h[o+64>>2]=h[e+12>>2],h[o+68>>2]=h[e+28>>2],s=h[e+44>>2],h[o+76>>2]=0,h[o+72>>2]=s,c=m[a+52>>2],l=m[a+56>>2],u=m[a+60>>2],p=m[i>>2],d=m[i+4>>2],f=m[i+8>>2],h[o+28>>2]=0,m[o+24>>2]=f-u,m[o+20>>2]=d-l,m[o+16>>2]=p-c,c=m[e+52>>2],l=m[e+56>>2],u=m[e+60>>2],p=m[r>>2],d=m[r+4>>2],f=m[r+8>>2],h[o+12>>2]=0,m[o+8>>2]=f-u,m[o+4>>2]=d-l,m[o>>2]=p-c,_n(t,o+80|0,o+32|0,o+16|0,o,n,a+396|0,m[a+344>>2],e+396|0,m[e+344>>2]),w=o+128|0}function ii(e,t,n,i){var r,o,a,s,c=0,l=0,u=0,p=0,d=0,f=0,_=0;for(w=r=w-16|0,u=h[e+12>>2],s=h[8+(p=u+((n+i|0)/2<<4)|0)>>2],o=h[p+4>>2],a=h[p>>2],p=n,d=i;;){e:{if(!((0|(l=h[4+(c=(p<<4)+u|0)>>2]))<(0|o))){if((0|l)!=(0|o))break e;if(!((0|(l=h[c>>2]))<(0|a))&&(0|l)!=(0|a)|h[c+8>>2]>=(0|s))break e}p=p+1|0;continue}for(;;){e:{if(!((0|o)<(0|(f=h[4+(l=(_=d<<4)+u|0)>>2])))){if((0|o)!=(0|f))break e;if(!((0|a)<(0|(f=h[l>>2])))&&(0|a)!=(0|f)|(0|s)>=h[l+8>>2])break e}d=d+-1|0;continue}break}if((0|p)<=(0|d)&&(u=h[c+12>>2],h[r+8>>2]=h[c+8>>2],h[r+12>>2]=u,u=h[c+4>>2],h[r>>2]=h[c>>2],h[r+4>>2]=u,u=h[l+4>>2],h[c>>2]=h[l>>2],h[c+4>>2]=u,u=h[l+12>>2],h[c+8>>2]=h[l+8>>2],h[c+12>>2]=u,u=h[r+4>>2],c=h[e+12>>2]+_|0,h[c>>2]=h[r>>2],h[c+4>>2]=u,l=h[r+12>>2],h[c+8>>2]=h[r+8>>2],h[c+12>>2]=l,d=d+-1|0,p=p+1|0),!((0|p)<=(0|d)))break;u=h[e+12>>2]}(0|d)>(0|n)&&ii(e,t,n,d),(0|p)<(0|i)&&ii(e,t,p,i),w=r+16|0}function ri(e){var t=0;return 1&o[30632]||Vl(30632)&&(1&o[26880]||Vl(26880)&&(1&o[26932]||Vl(26932)&&(h[6722]=0,h[6723]=0,h[6721]=1065353216,h[6724]=0,h[6725]=0,h[6727]=0,h[6728]=0,h[6726]=1065353216,h[6729]=0,h[6730]=0,h[6731]=1065353216,h[6732]=0,Fu(26932)),h[6716]=0,h[6717]=0,h[6718]=0,h[6719]=0,t=h[6724],h[6706]=h[6723],h[6707]=t,t=h[6722],h[6704]=h[6721],h[6705]=t,t=h[6726],h[6708]=h[6725],h[6709]=t,t=h[6728],h[6710]=h[6727],h[6711]=t,t=h[6730],h[6712]=h[6729],h[6713]=t,t=h[6732],h[6714]=h[6731],h[6715]=t,Fu(26880)),t=h[6707],h[7644]=h[6706],h[7645]=t,t=h[6705],h[7642]=h[6704],h[7643]=t,t=h[6709],h[7646]=h[6708],h[7647]=t,t=h[6711],h[7648]=h[6710],h[7649]=t,t=h[6713],h[7650]=h[6712],h[7651]=t,t=h[6715],h[7652]=h[6714],h[7653]=t,t=h[6717],h[7654]=h[6716],h[7655]=t,t=h[6719],h[7656]=h[6718],h[7657]=t,Fu(30632)),(t=h[e+8>>2])?t+4|0:(e=h[e>>2])?e+60|0:30568}function oi(e){var t,n=v(0),i=0,r=v(0);if(c(e),(t=2147483647&(i=l(0)))>>>0>=1065353216)return v(1065353216==(0|t)?(0|i)<0?3.141592502593994:0:v(0)/v(e-e));e:{if(t>>>0<=1056964607){if(n=v(1.570796251296997),t>>>0<847249409)break e;return n=v(e*e),v(v(v(v(7.549789415861596e-8)-v(v(v(n*v(v(n*v(v(n*v(-.008656363002955914))+v(-.04274342209100723)))+v(.16666586697101593)))/v(v(n*v(-.7066296339035034))+v(1)))*e))-e)+v(1.570796251296997))}if((0|i)<=-1)return e=v(v(e+v(1))*v(.5)),n=v(S(e)),e=v(v(1.570796251296997)-v(n+v(v(n*v(v(e*v(v(e*v(v(e*v(-.008656363002955914))+v(-.04274342209100723)))+v(.16666586697101593)))/v(v(e*v(-.7066296339035034))+v(1))))+v(-7.549789415861596e-8)))),v(e+e);e=v(v(v(1)-e)*v(.5)),s(0,-4096&(c(r=v(S(e))),l(0))),n=u(),e=v(v(v(v(v(e*v(v(e*v(v(e*v(-.008656363002955914))+v(-.04274342209100723)))+v(.16666586697101593)))/v(v(e*v(-.7066296339035034))+v(1)))*r)+v(v(e-v(n*n))/v(r+n)))+n),n=v(e+e)}return n}function ai(e,t,n,i,r,a){var s=0,c=0,l=0;e:if(d[i+55|0]!=(0|t)){if(c=h[4408+(s=r<<2)>>2],v(v(v(v(m[i>>2]*m[n+16>>2])+v(m[i+4>>2]*m[n+20>>2]))+v(m[i+8>>2]*m[n+24>>2]))-m[i+16>>2])>2],h[e+s>>2],n,0)))break e;return h[e+32>>2]=i,o[e+52|0]=r,o[52+(i+r|0)|0]=0,h[32+((r<<2)+i|0)>>2]=e,(t=h[a>>2])?(h[t+36>>2]=e,o[t+53|0]=2,h[e+40>>2]=t,o[e+54|0]=1):h[a+4>>2]=e,h[a>>2]=e,h[a+8>>2]=h[a+8>>2]+1,1}o[i+55|0]=t,ai(e,t,n,h[32+((c<<2)+i|0)>>2],d[52+(i+c|0)|0],a)&&(r=t,t=h[s+4420>>2],ai(e,r,n,h[32+((t<<2)+i|0)>>2],d[52+(t+i|0)|0],a)&&((t=h[i+48>>2])&&(h[t+44>>2]=h[i+44>>2]),(t=h[i+44>>2])&&(h[t+48>>2]=h[i+48>>2]),h[e+9280>>2]==(0|i)&&(h[e+9280>>2]=h[i+48>>2]),h[(t=e+9284|0)>>2]=h[t>>2]+-1,h[i+44>>2]=0,h[i+48>>2]=h[e+9288>>2],(t=h[e+9288>>2])&&(h[t+44>>2]=i),h[e+9288>>2]=i,l=1,h[(e=e+9292|0)>>2]=h[e>>2]+1))}return l}function si(e,t){var n=0,i=0,a=0,s=0;if(rt(e,t),h[e>>2]=20532,h[7717]=h[7717]+1,n=0|r[h[6606]](8,16),h[n>>2]=20620,o[n+4|0]=0,h[e+92>>2]=n,h[7717]=h[7717]+1,n=0|r[h[6606]](8,16),h[n>>2]=20700,o[n+4|0]=0,h[e+96>>2]=n,h[7717]=h[7717]+1,n=0|r[h[6606]](8,16),h[n>>2]=20700,h[e+100>>2]=n,o[n+4|0]=1,h[7717]=h[7717]+1,n=0|r[h[6606]](8,16),h[n>>2]=20780,o[n+4|0]=0,h[e+104>>2]=n,h[7717]=h[7717]+1,n=0|r[h[6606]](8,16),h[n>>2]=20864,h[e+108>>2]=n,o[n+4|0]=1,d[e+20|0]&&!(!(n=h[e+16>>2])|h[n>>2]>155)){if((n=h[n+16>>2])&&(h[7718]=h[7718]+1,r[h[6607]](n)),(n=h[e+16>>2])&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[7717]=h[7717]+1,i=0|r[h[6606]](20,16),t=h[t+12>>2],h[i+4>>2]=t,h[i>>2]=156,h[7717]=h[7717]+1,n=0|r[h[6606]](g(t,156),16),h[i+12>>2]=n,h[i+16>>2]=n,t=h[i+4>>2],h[i+8>>2]=t,a=t+-1|0)for(s=h[i>>2];t=n+s|0,h[n>>2]=t,n=t,a=a+-1|0;);else t=n;h[t>>2]=0,h[e+16>>2]=i}}function ci(e,t){var n=0,i=0,r=0,o=0,a=0,p=0,h=0;if(c(t),!(r=(a=l(0))<<1)|(2147483647&a)>>>0>2139095040||(c(e),255==(0|(i=(h=l(0))>>>23&255))))return e=v(e*t),v(e/e);if((n=h<<1)>>>0>r>>>0){if(p=a>>>23&255,i)n=8388607&h|8388608;else{if(i=0,(0|(n=h<<9))>=0)for(;i=i+-1|0,(0|(n<<=1))>-1;);n=h<<1-i}if(r=n,p)a=8388607&a|8388608;else{if(p=0,(0|(o=a<<9))>=0)for(;p=p+-1|0,(0|(o<<=1))>-1;);a<<=1-p}if(o=(0|(r=r-a|0))>-1,(0|i)>(0|p)){for(;;){if(1&o&&!(n=r))return v(e*v(0));if(o=(0|(r=(n<<=1)-a|0))>-1,!((0|(i=i+-1|0))>(0|p)))break}i=p}if(o&&!(n=r))return v(e*v(0));if(n>>>0>8388607)o=n;else for(;i=i+-1|0,r=n>>>0<4194304,n=o=n<<1,r;);return s(0,(n=-2147483648&h)|((0|i)>=1?o+-8388608|i<<23:o>>>1-i|0)),u()}return(0|n)==(0|r)?v(e*v(0)):e}function li(e,t,n){var i,a,s,c,l,u=0,p=0,f=0,_=0,m=0;if(w=i=w-32|0,u=h[e+12>>2],l=d[e+28|0],c=h[(s=l?n:t)+4>>2],(0|u)<(0|(a=h[c+16>>2]))){if(h[e+16>>2]<(0|a)){if(a?(h[7717]=h[7717]+1,_=0|r[h[6606]](a<<2,16),p=h[e+12>>2]):p=u,(0|p)>=1)for(;h[(m=f<<2)+_>>2]=h[h[e+20>>2]+m>>2],(0|p)!=(0|(f=f+1|0)););(p=h[e+20>>2])&&(d[e+24|0]&&p&&(h[7718]=h[7718]+1,r[h[6607]](p)),h[e+20>>2]=0),h[e+20>>2]=_,h[e+16>>2]=a,o[e+24|0]=1}for(;h[h[e+20>>2]+(u<<2)>>2]=0,(0|a)!=(0|(u=u+1|0)););}if(h[e+12>>2]=a,(0|a)>=1)for(t=l?t:n,u=0;h[c+64>>2]?h[h[e+20>>2]+(u<<2)>>2]=0:(n=h[s+12>>2],p=h[s+8>>2],h[i+12>>2]=h[64+(h[c+24>>2]+g(u,80)|0)>>2],h[i+16>>2]=p,h[i+20>>2]=n,h[i+28>>2]=u,h[i+24>>2]=-1,h[i+8>>2]=s,n=h[e+4>>2],n=0|r[h[h[n>>2]+8>>2]](n,i+8|0,t,h[e+32>>2]),h[h[e+20>>2]+(u<<2)>>2]=n),(0|a)!=(0|(u=u+1|0)););w=i+32|0}function ui(e,t){var n,i=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e){var t=0;w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],h[12+(w-16|0)>>2]=e,h[12+(w-16|0)>>2]=e+16,h[12+(w-16|0)>>2]=e+36,h[12+(w-16|0)>>2]=e+52,h[12+(w-16|0)>>2]=e+68,w=t+16|0}(e=h[n+12>>2]),Bu(e+92|0),h[12+(w-16|0)>>2]=e+156,h[12+(w-16|0)>>2]=e+172,h[12+(w-16|0)>>2]=e+188,m[e+204>>2]=m[h[n+8>>2]+48>>2],m[e+208>>2]=m[h[n+8>>2]+52>>2],m[e+212>>2]=m[h[n+8>>2]+56>>2],m[e+216>>2]=m[h[n+8>>2]+60>>2],m[e+220>>2]=m[h[n+8>>2]+64>>2],m[e+224>>2]=m[h[n+8>>2]+68>>2],t=h[n+8>>2],i=h[t+4>>2],h[e+156>>2]=h[t>>2],h[e+160>>2]=i,i=h[t+12>>2],h[e+164>>2]=h[t+8>>2],h[e+168>>2]=i,t=h[n+8>>2],i=h[t+20>>2],h[e+172>>2]=h[t+16>>2],h[e+176>>2]=i,i=h[t+28>>2],h[e+180>>2]=h[t+24>>2],h[e+184>>2]=i,t=h[n+8>>2],i=h[t+36>>2],h[e+188>>2]=h[t+32>>2],h[e+192>>2]=i,i=h[t+44>>2],h[e+196>>2]=h[t+40>>2],h[e+200>>2]=i,m[e+228>>2]=m[h[n+8>>2]+72>>2],m[e+232>>2]=0,m[e+252>>2]=0,m[e+236>>2]=0,m[e+240>>2]=0,m[e+256>>2]=0,m[e+244>>2]=.10000000149011612,o[e+260|0]=1&o[h[n+8>>2]+80|0],m[e+248>>2]=m[h[n+8>>2]+76>>2],w=n+16|0}function pi(e,t){var n=0,i=0,r=0,o=0,a=v(0);if(c(t),!((r=2147483647&(n=l(0)))>>>0<=2139095040&&(c(e),(i=2147483647&(o=l(0)))>>>0<2139095041)))return v(e+t);if(1065353216==(0|n))return Ii(e);n=o>>>31|0|(o=n>>>30&2);e:{t:{n:{i:{if(!i){r:switch(n-2|0){case 0:break i;case 1:break r;default:break n}return v(-3.1415927410125732)}if(2139095040!=(0|r)){if(!r|!(r+218103808>>>0>=i>>>0&&2139095040!=(0|i)))break e;i+218103808>>>0>>0&&(a=v(0),o)||(a=Ii(v(y(v(e/t))))),e=a;r:switch(0|n){case 1:return v(-e);case 2:return v(v(3.1415927410125732)-v(e+v(8.742277657347586e-8)));case 0:break n}return v(v(e+v(8.742277657347586e-8))+v(-3.1415927410125732))}if(2139095040==(0|i))break t;return m[25936+(n<<2)>>2]}e=v(3.1415927410125732)}return e}return m[25920+(n<<2)>>2]}return s(0,-2147483648&(c(e),l(0))|1070141403),u()}function hi(e,t,n,i,a,s){var c,l=0,u=0,p=0,f=0;w=c=w-96|0;e:if(a){t:if(!((0|(l=h[e+268>>2]))<1)){for(u=h[e+276>>2],a=0;;){if(h[u+(a<<2)>>2]!=(0|n)){if((0|l)!=(0|(a=a+1|0)))continue;break t}break}if((0|a)!=(0|l))break e}if(h[e+272>>2]==(0|l)&&!((0|l)>=(0|(u=l?l<<1:1)))){if(u&&(h[7717]=h[7717]+1,p=0|r[h[6606]](u<<2,16),l=h[e+268>>2]),(0|l)>=1)for(a=0;h[(f=a<<2)+p>>2]=h[h[e+276>>2]+f>>2],(0|l)!=(0|(a=a+1|0)););(a=h[e+276>>2])&&(d[e+280|0]&&(a&&(h[7718]=h[7718]+1,r[h[6607]](a)),l=h[e+268>>2]),h[e+276>>2]=0),h[e+276>>2]=p,h[e+272>>2]=u,o[e+280|0]=1}h[h[e+276>>2]+(l<<2)>>2]=n,h[e+268>>2]=l+1}a=h[e+720>>2],h[c+20>>2]=n,t=a+g(t,104)|0,h[c>>2]=t,n=h[i+12>>2],h[c+12>>2]=h[i+8>>2],h[c+16>>2]=n,n=h[i+4>>2],h[c+4>>2]=h[i>>2],h[c+8>>2]=n,o[t+100|0]=1|d[t+100|0],m[c+24>>2]=s,co(e+788|0,c),w=c+96|0}function di(e,t,n){var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0);d=m[e+220>>2],f=m[e+212>>2],_=m[e+216>>2],b=m[e+204>>2],g=m[e+196>>2],y=m[e+200>>2],C=m[e+188>>2],A=m[e+184>>2],x=m[e+180>>2],a=m[t+4>>2],s=m[t+8>>2],l=m[t>>2],i=m[n+8>>2],o=m[n+4>>2],c=m[n>>2],r=m[e+128>>2],u=v(c*r),m[e+244>>2]=u+m[e+244>>2],p=v(r*o),m[e+248>>2]=p+m[e+248>>2],r=v(r*i),m[e+252>>2]=r+m[e+252>>2],m[e+316>>2]=u+m[e+316>>2],m[e+320>>2]=p+m[e+320>>2],m[e+324>>2]=r+m[e+324>>2],r=v(v(i*a)-v(o*s)),i=v(v(c*s)-v(i*l)),o=v(v(o*l)-v(c*a)),a=v(v(v(x*r)+v(A*i))+v(C*o)),m[e+260>>2]=a+m[e+260>>2],s=v(v(v(r*g)+v(i*y))+v(o*b)),m[e+264>>2]=s+m[e+264>>2],i=v(v(v(r*f)+v(i*_))+v(o*d)),m[e+268>>2]=i+m[e+268>>2],m[e+332>>2]=a+m[e+332>>2],m[e+336>>2]=s+m[e+336>>2],m[e+340>>2]=i+m[e+340>>2],h[e+308>>2]=h[e+308>>2]+1}function fi(e,t,n,i){var o=0,a=0,s=0,c=0,l=0,u=0,d=0,_=0,m=0,b=0;e:if(a=h[68+((t<<2)+e|0)>>2],s=f[(l=(n=a+(d=n<<2)|0)-4|0)>>1],!(f[n>>1]>=s>>>0))for(d=(_=t<<1)+((c=h[e+60>>2])+(f[2+(a+d|0)>>1]<<6)|0)|0,b=1<<(m=1<>1],1&s?t=54+(((t<<6)+c|0)+_|0)|0:(o=(s=(f[n+2>>1]<<6)+c|0)+(a=m<<1)|0,u=(u=a)+(a=(t<<6)+c|0)|0,f[o+54>>1]>1]|f[u+54>>1]>1]||(u=(o=b<<1)+s|0,o=o+a|0,f[u+54>>1]>1]|f[o+54>>1]>1]||(o=h[e+92>>2],r[h[h[o>>2]+12>>2]](o,s,a,i),(o=h[e+96>>2])&&r[h[h[o>>2]+12>>2]](o,s,a,i))),t=48+(((t<<6)+c|0)+_|0)|0),p[t>>1]=f[t>>1]+1,p[d+54>>1]=f[d+54>>1]+-1,t=f[n>>1]|f[n+2>>1]<<16,c=f[l>>1]|f[l+2>>1]<<16,p[n>>1]=c,p[n+2>>1]=c>>>16,p[l>>1]=t,p[l+2>>1]=t>>>16,n=n+-4|0,s=f[(l=l+-4|0)>>1],f[n>>1]>=s>>>0)break e;c=h[e+60>>2]}}function _i(e,t,n){var i=0,o=0,a=0,s=0,c=0,l=0,u=0,d=0,_=0,m=0,b=0,g=0;e:if(n=h[68+((t<<2)+e|0)>>2]+(n<<2)|0,o=f[n+6>>1])for(u=(c=t<<1)+(a=54+(s=h[e+60>>2]+(f[n+2>>1]<<6)|0)|0)|0,_=(l=(t=1<>1];;){if((65535&t)>>>0<(a=f[n+4>>1])>>>0)break e;if(t=h[e+60>>2],1&a?t=54+(((o<<6)+t|0)+c|0)|0:(i=l+(a=(o<<6)+t|0)|0,f[m>>1]>1]|f[i+54>>1]>1]||(i=a+s|0,f[g>>1]>1]|f[i+54>>1]>1]||(i=h[e+92>>2],d=(f[n+2>>1]<<6)+t|0,r[h[h[i>>2]+8>>2]](i,d,a),(i=h[e+96>>2])&&r[h[h[i>>2]+8>>2]](i,d,a))),t=48+(((o<<6)+t|0)+c|0)|0),p[t>>1]=f[t>>1]+-1,p[u>>1]=f[u>>1]+1,o=f[n+4>>1]|f[n+6>>1]<<16,t=f[n>>1]|f[n+2>>1]<<16,p[n+4>>1]=t,p[n+6>>1]=t>>>16,p[n>>1]=o,p[n+2>>1]=o>>>16,o=n,n=n+4|0,!(o=f[o+10>>1]))break}}function mi(e){var t=0,n=v(0),i=0,r=v(0),o=0,a=0,s=v(0),c=v(0),l=v(0),u=v(0),p=0,d=0;if(Ir(21101),n=m[e+300>>2],l=m[e+304>>2],s=m[e+312>>2],((c=m[e+308>>2])!=v(0)||(r=v(0),s>v(0)))&&(r=function(e){var t=0,n=v(0),i=v(0),r=v(0),o=v(0),a=v(0),s=0,c=0,l=0,u=v(0),p=v(0),d=v(0),f=0,_=v(0),b=v(0),y=v(0);if(h[e+712>>2]<1)return v(0);if((0|(l=h[e+752>>2]))>=1)for(t=h[e+720>>2],r=m[t+8>>2],o=m[t+16>>2],a=m[t+12>>2],f=h[e+760>>2],e=0;_=n,t=g(e,44)+f|0,s=h[t+8>>2],c=h[t+12>>2],n=v(m[c+8>>2]-r),t=h[t+16>>2],u=v(m[t+12>>2]-a),i=v(m[c+12>>2]-a),p=v(m[t+8>>2]-r),b=v(v(m[s+16>>2]-o)*v(v(n*u)-v(i*p))),y=i,i=v(m[t+16>>2]-o),d=v(m[c+16>>2]-o),n=v(_+v(b+v(v(v(m[s+8>>2]-r)*v(v(y*i)-v(d*u)))+v(v(m[s+12>>2]-a)*v(v(d*p)-v(n*i)))))),(0|l)!=(0|(e=e+1|0)););return v(n/v(6))}(e),u=v(s*v(m[e+476>>2]-r)),r=v(c*v(v(1)/v(y(r))))),(0|(a=h[e+712>>2]))>=1)for(p=l>v(0)|n>v(0),d=e+1212|0;t=h[e+720>>2]+g(i,104)|0,m[t+88>>2]>v(0)&&(p&&et(e,d,i),c!=v(0)&&(n=v(r*m[t+92>>2]),m[t+56>>2]=v(m[t+72>>2]*n)+m[t+56>>2],m[t+60>>2]=v(n*m[t+76>>2])+m[t+60>>2],m[(o=t- -64|0)>>2]=v(n*m[t+80>>2])+m[o>>2]),s>v(0)&&(n=v(u*m[t+92>>2]),m[t+56>>2]=v(m[t+72>>2]*n)+m[t+56>>2],m[t+60>>2]=v(n*m[t+76>>2])+m[t+60>>2],m[(o=t- -64|0)>>2]=v(n*m[t+80>>2])+m[o>>2])),(0|a)!=(0|(i=i+1|0)););if((0|(i=h[e+752>>2]))>=1)for(a=e+1212|0,t=0;Be(e,a,t),(0|i)!=(0|(t=t+1|0)););Bo()}function bi(e,t,n,i){var r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0);if(u=m[e>>2],a=m[t>>2],o=v(u-a),r=v(o*o),p=m[e+4>>2],o=m[t+4>>2],s=v(p-o),r=v(r+v(s*s)),d=m[e+8>>2],s=m[t+8>>2],c=v(d-s),l=v(r+v(c*c)),f=m[e+12>>2],c=m[t+12>>2],r=v(f-c),l=v(l+v(r*r)),r=v(u+a),_=v(r*r),r=v(p+o),_=v(_+v(r*r)),r=v(d+s),_=v(_+v(r*r)),r=v(f+c),l>2]=r+r,h[n+12>>2]=0,r=v(v(u*o)+v(v(v(s*f)-v(d*c))-v(p*a))),m[n+8>>2]=r,l=v(v(d*a)+v(v(v(o*f)-v(p*c))-v(u*s))),m[n+4>>2]=l,a=v(v(p*s)+v(v(v(a*f)-v(u*c))-v(d*o))),m[n>>2]=a,(o=v(v(v(a*a)+v(l*l))+v(r*r)))>2]=0,h[n+12>>2]=0,h[n>>2]=1065353216,void(h[n+4>>2]=0);o=v(v(1)/v(S(o))),m[n+8>>2]=r*o,m[n+4>>2]=l*o,m[n>>2]=a*o}function gi(e,t,n){var i=0,o=0,a=0,s=0,c=0,l=0,u=0,d=0,_=0,m=0,b=0,g=0,v=0;e:if(n=h[68+((t<<2)+e|0)>>2]+(n<<2)|0,o=f[(a=n+-4|0)>>1],!(f[n>>1]>=o>>>0))for(m=(u=t<<1)+(i=48+(c=(s=h[e+60>>2])+(f[n+2>>1]<<6)|0)|0)|0,b=i+(d=(t=1<>1],1&o?(i=(o=(t<<6)+s|0)+d|0,f[g>>1]>1]|f[i+54>>1]>1]||(i=o+_|0,f[l>>1]>1]|f[i+54>>1]>1]||(i=h[e+92>>2],r[h[h[i>>2]+8>>2]](i,c,o),(i=h[e+96>>2])&&r[h[h[i>>2]+8>>2]](i,c,o))),t=54+(((t<<6)+s|0)+u|0)|0):t=48+(((t<<6)+s|0)+u|0)|0,p[t>>1]=f[t>>1]+1,p[m>>1]=f[m>>1]+-1,t=f[n>>1]|f[n+2>>1]<<16,s=f[a>>1]|f[a+2>>1]<<16,p[n>>1]=s,p[n+2>>1]=s>>>16,p[a>>1]=t,p[a+2>>1]=t>>>16,n=n+-4|0,o=f[(a=a+-4|0)>>1],f[n>>1]>=o>>>0)break e;s=h[e+60>>2]}}function vi(e,t,n,i){var o=0,a=0,s=0,c=0,l=0,u=0,d=0,_=0,m=0;e:if(n=h[68+((t<<2)+e|0)>>2]+(n<<2)|0,a=f[n+6>>1])for(d=(u=t<<1)+(h[e+60>>2]+(f[n+2>>1]<<6)|0)|0,m=1<<(_=1<>1];;){if((65535&t)>>>0<(s=f[n+4>>1])>>>0)break e;if(t=h[e+60>>2],1&s?(c=(s=(f[n+2>>1]<<6)+t|0)+(o=_<<1)|0,o=o+(l=(a<<6)+t|0)|0,f[c+54>>1]>1]|f[o+54>>1]>1]||(c=(o=m<<1)+s|0,o=o+l|0,f[c+54>>1]>1]|f[o+54>>1]>1]||(o=h[e+92>>2],r[h[h[o>>2]+12>>2]](o,s,l,i),(o=h[e+96>>2])&&r[h[h[o>>2]+12>>2]](o,s,l,i))),t=54+(((a<<6)+t|0)+u|0)|0):t=48+(((a<<6)+t|0)+u|0)|0,p[t>>1]=f[t>>1]+-1,p[d+48>>1]=f[d+48>>1]+1,a=f[n+4>>1]|f[n+6>>1]<<16,t=f[n>>1]|f[n+2>>1]<<16,p[n+4>>1]=t,p[n+6>>1]=t>>>16,p[n>>1]=a,p[n+2>>1]=a>>>16,a=n,n=n+4|0,!(a=f[a+10>>1]))break}}function yi(e,t,n,i,r,o,a){var s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),h=v(0),d=v(0),f=v(0);return s=m[i>>2],u=m[i+4>>2],p=m[i+8>>2],d=v(v(v(m[n>>2]*s)+v(m[n+4>>2]*u))+v(m[n+8>>2]*p)),c=v(v(v(s*m[e>>2])+v(u*m[e+16>>2]))+v(p*m[e+32>>2])),l=m[r+80>>2],h=v(c*(c>2])+v(u*m[e+20>>2]))+v(p*m[e+36>>2])),l=m[r+84>>2],h=v(h+v(c*(c>2])+v(u*m[e+24>>2]))+v(p*m[e+40>>2])),l=m[r+88>>2],h=(c=v(h+v(c*(c(l=m[r+96>>2])?c:l,c=v(v(v(s*m[t>>2])+v(u*m[t+16>>2]))+v(p*m[t+32>>2])),l=m[o+80>>2],f=v(c*(c>2])+v(u*m[t+20>>2]))+v(p*m[t+36>>2])),l=m[o+84>>2],s=v(v(v(s*m[t+8>>2])+v(u*m[t+24>>2]))+v(p*m[t+40>>2])),u=m[o+88>>2],s=v(v(f+v(c*(c>2],s=v(h+(s>u?s:u)),((u=v(d+s))<(s=v(s-d))?u:s)>a^1}function Ci(e,t,n,i,o,a){var s=v(0),u=v(0),p=v(0),d=v(0),f=0,_=0,b=0,g=0,y=0,C=v(0),A=v(0),x=v(0),T=v(0),E=v(0);r[h[h[e>>2]+8>>2]](e,t,o,a),s=m[n+8>>2],u=m[n+4>>2],d=m[o+8>>2],t=h[o+8>>2],C=m[o+4>>2],f=h[o+4>>2],A=m[o>>2],_=h[o>>2],x=m[a+8>>2],b=h[a+8>>2],T=m[a+4>>2],g=h[a+4>>2],E=m[a>>2],y=h[a>>2],(p=m[n>>2])>v(0)?(c(v(p+E)),y=l(0)):(c(v(p+A)),_=l(0)),u>v(0)?(c(v(u+T)),g=l(0)):(c(v(u+C)),f=l(0)),s>v(0)?(c(v(s+x)),b=l(0)):(c(v(s+d)),t=l(0)),s=m[i+8>>2],u=m[i>>2],p=m[i+4>>2],d=v(r[h[h[e>>2]+16>>2]](e)),h[o+12>>2]=0,h[o+8>>2]=t,h[o+4>>2]=f,h[o>>2]=_,h[a+12>>2]=0,h[a+8>>2]=b,h[a+4>>2]=g,h[a>>2]=y,s=v(d*v(S(v(v(v(u*u)+v(p*p))+v(s*s))))),m[o>>2]=m[o>>2]-s,m[o+4>>2]=m[o+4>>2]-s,m[o+8>>2]=m[o+8>>2]-s,m[a>>2]=s+m[a>>2],m[a+4>>2]=s+m[a+4>>2],m[a+8>>2]=s+m[a+8>>2]}function Ai(e,t,n,i){var o,a,s=0,c=0;w=o=w+-64|0,s=(a=g(t,80))+h[e+24>>2]|0,c=h[(t=n)+4>>2],h[s>>2]=h[t>>2],h[s+4>>2]=c,c=h[t+12>>2],h[s+8>>2]=h[t+8>>2],h[s+12>>2]=c,c=h[t+28>>2],h[s+24>>2]=h[t+24>>2],h[s+28>>2]=c,c=h[t+20>>2],h[s+16>>2]=h[t+16>>2],h[s+20>>2]=c,c=h[t+44>>2],h[s+40>>2]=h[t+40>>2],h[s+44>>2]=c,c=h[t+36>>2],h[s+32>>2]=h[t+32>>2],h[s+36>>2]=c,c=h[t+60>>2],h[s+56>>2]=h[t+56>>2],h[s+60>>2]=c,c=h[t+52>>2],h[s+48>>2]=h[t+48>>2],h[s+52>>2]=c,h[e+64>>2]&&(t=h[64+(h[e+24>>2]+a|0)>>2],r[h[h[t>>2]+8>>2]](t,n,o+48|0,o+32|0),n=h[(t=o)+60>>2],s=h[t+56>>2],h[t+8>>2]=s,h[t+12>>2]=n,n=h[t+44>>2],h[t+24>>2]=h[t+40>>2],h[t+28>>2]=n,n=h[t+36>>2],h[t+16>>2]=h[t+32>>2],h[t+20>>2]=n,n=h[t+52>>2],h[t>>2]=h[t+48>>2],h[t+4>>2]=n,ao(h[e+64>>2],h[76+(h[e+24>>2]+a|0)>>2],t)),i&&r[h[h[e>>2]+68>>2]](e),w=o- -64|0}function xi(e,t,n){var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),h=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0);return i=m[e+552>>2],r=m[t>>2],o=m[e+568>>2],a=m[t+4>>2],s=m[e+584>>2],c=m[t+8>>2],u=m[e+620>>2],p=m[e+636>>2],l=m[e+652>>2],h=v(v(v(u*m[n>>2])+v(p*m[n+4>>2]))+v(l*m[n+8>>2])),d=m[t+16>>2],f=m[t+20>>2],_=m[t+24>>2],b=v(v(v(u*m[n+16>>2])+v(p*m[n+20>>2]))+v(l*m[n+24>>2])),g=v(v(v(v(v(i*r)+v(o*a))+v(s*c))*h)+v(v(v(v(i*d)+v(o*f))+v(s*_))*b)),y=i,i=m[t+32>>2],C=o,o=m[t+36>>2],A=s,s=m[t+40>>2],l=v(v(v(u*m[n+32>>2])+v(p*m[n+36>>2]))+v(l*m[n+40>>2])),u=r,r=m[e+556>>2],p=a,a=m[e+572>>2],x=c,c=m[e+588>>2],v(pi(v(g+v(v(v(v(y*i)+v(C*o))+v(A*s))*l)),v(v(v(v(v(v(u*r)+v(p*a))+v(x*c))*h)+v(v(v(v(d*r)+v(f*a))+v(_*c))*b))+v(v(v(v(i*r)+v(o*a))+v(s*c))*l)))*m[e+732>>2])}function Si(e){var t=0,n=0,i=0,a=0,s=0,c=0;if((t=h[e+16>>2])&&(d[e+20|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+16>>2]=0),h[e+16>>2]=0,o[e+20|0]=1,h[e+8>>2]=0,h[e+12>>2]=0,(t=h[e+40>>2])&&(d[e+44|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+40>>2]=0),h[e+40>>2]=0,o[e+44|0]=1,h[e+32>>2]=0,h[e+36>>2]=0,(t=h[e+60>>2])&&(d[e- -64|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+60>>2]=0),t=0,h[e+60>>2]=0,o[e- -64|0]=1,h[e+52>>2]=0,h[e+56>>2]=0,h[e+12>>2]<=1){if(h[7717]=h[7717]+1,a=0|r[h[6606]](24,16),(0|(s=h[e+8>>2]))>=1)for(;i=(n=g(t,12))+h[e+16>>2]|0,c=h[i+4>>2],h[(n=n+a|0)>>2]=h[i>>2],h[n+4>>2]=c,h[n+8>>2]=h[i+8>>2],(0|s)!=(0|(t=t+1|0)););(t=h[e+16>>2])&&(d[e+20|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+16>>2]=0),h[e+16>>2]=a,o[e+20|0]=1,h[e+12>>2]=2}dn(e)}function Ti(e){var t,n=0,i=0,a=0,s=0,c=0;if(h[7717]=h[7717]+1,t=0|r[h[6606]](20,16),h[(n=t)>>2]=0,h[n+4>>2]=0,h[n+16>>2]=0,h[n+8>>2]=0,h[n+12>>2]=0,h[e+872>>2]>=1?(n=h[h[e+880>>2]>>2],i=h[n+4>>2],h[t>>2]=h[n>>2],h[t+4>>2]=i,h[t+16>>2]=h[n+16>>2],i=h[n+12>>2],h[t+8>>2]=h[n+8>>2],h[t+12>>2]=i):(h[t>>2]=0,h[t+4>>2]=0,h[t+16>>2]=0,h[t+8>>2]=0,h[t+12>>2]=0),(0|(n=h[e+872>>2]))==h[e+876>>2]&&!((0|n)>=(0|(i=n?n<<1:1)))){if(i&&(h[7717]=h[7717]+1,s=0|r[h[6606]](i<<2,16),n=h[e+872>>2]),(0|n)>=1)for(;h[(c=a<<2)+s>>2]=h[c+h[e+880>>2]>>2],(0|(a=a+1|0))!=(0|n););(a=h[e+880>>2])&&(d[e+884|0]&&(a&&(h[7718]=h[7718]+1,r[h[6607]](a)),n=h[e+872>>2]),h[e+880>>2]=0),h[e+880>>2]=s,h[e+876>>2]=i,o[e+884|0]=1}return h[h[e+880>>2]+(n<<2)>>2]=t,h[e+872>>2]=n+1,t}function Ei(e,t,n,i,o,a){var s,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0);w=s=w+-64|0;e:if(32!=h[i+4>>2])!function(e,t,n,i,r,o){var a=0;w=a=w-32|0,h[a+24>>2]=-1,h[a+28>>2]=-1,h[a+20>>2]=r,h[a+16>>2]=n,h[a+12>>2]=i,h[a+8>>2]=0,U(e,t,a+8|0,o),w=a+32|0}(e,t,n,i,o,a);else{if(!n|8!=h[n+236>>2])break e;if(!function(e,t,n,i){var r=0,o=0,a=0,s=0;if(w=r=w-32|0,!(h[e+988>>2]|!h[e+752>>2]||(Xo(s=e+988|0),h[e+752>>2]<1)))for(;Kn(r,a=h[e+760>>2]+g(o,44)|0,v(0)),h[a+40>>2]=Rr(s,r,a),(0|(o=o+1|0))>2];);return h[i+12>>2]=1065353216,h[i>>2]=e,h[i+4>>2]=0,h[i+8>>2]=-1,e=function(e,t,n,i,r,o){var a,s=0,c=0,l=0,u=v(0),p=0,d=0,f=0,_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=0;w=a=w-112|0,u=m[t>>2],y=m[n>>2],_=m[t+4>>2],C=m[n+4>>2],b=m[t+8>>2],A=m[n+8>>2],h[a+108>>2]=0,b=v(A-b),m[a+104>>2]=b,_=v(C-_),m[a+100>>2]=_,u=v(y-u),m[a+96>>2]=u;t:if(l=h[e+988>>2])s=h[i>>2],h[a+32>>2]=20996,c=h[t+12>>2],h[a+44>>2]=h[t+8>>2],h[a+48>>2]=c,c=h[t+4>>2],f=h[t>>2],h[a+80>>2]=0,m[a+76>>2]=b,m[a+72>>2]=_,h[a+36>>2]=f,h[a+40>>2]=c,m[a+68>>2]=u,c=h[n+12>>2],h[a+60>>2]=h[n+8>>2],h[a+64>>2]=c,c=h[n+4>>2],h[a+52>>2]=h[n>>2],h[a+56>>2]=c,h[a+88>>2]=0,h[a+92>>2]=0,h[a+84>>2]=s,Et(l,t,n,a+32|0),(n=h[a+88>>2])&&(h[i>>2]=h[a+84>>2],h[r>>2]=3,h[o>>2]=(n-h[e+760>>2]|0)/44,d=1);else{if((0|(s=h[e+752>>2]))<1)break t;for(n=0;l=h[e+760>>2]+g(n,44)|0,(u=Dn(t,a+96|0,h[l+8>>2]+8|0,h[l+12>>2]+8|0,h[l+16>>2]+8|0,m[i>>2]))>v(0)&&(h[r>>2]=3,h[o>>2]=n,m[i>>2]=u,d=d+1|0),(0|s)!=(0|(n=n+1|0)););}if(h[e+772>>2]>=1)for(l=0;;){for(x=h[e+780>>2],n=0;f=8+(g(l,104)+x|0)|0,c=g(n,12),s=h[f+(h[c+21024>>2]<<2)>>2],p=h[s+20>>2],h[a+40>>2]=h[s+16>>2],h[a+44>>2]=p,p=h[s+12>>2],h[a+32>>2]=h[s+8>>2],h[a+36>>2]=p,s=h[f+(h[c+21028>>2]<<2)>>2],p=h[s+20>>2],h[a+24>>2]=h[s+16>>2],h[a+28>>2]=p,p=h[s+12>>2],h[a+16>>2]=h[s+8>>2],h[a+20>>2]=p,s=h[f+(h[c+21032>>2]<<2)>>2],c=h[s+20>>2],h[a+8>>2]=h[s+16>>2],h[a+12>>2]=c,c=h[s+12>>2],h[a>>2]=h[s+8>>2],h[a+4>>2]=c,(u=Dn(t,a+96|0,a+32|0,a+16|0,a,m[i>>2]))>v(0)&&(h[r>>2]=4,h[o>>2]=l,m[i>>2]=u,d=d+1|0),4!=(0|(n=n+1|0)););if(!((0|(l=l+1|0))>2]))break}return w=a+112|0,d}(e,t,n,i+12|0,i+4|0,i+8|0),w=r+32|0,0!=(0|e)}(n,e+48|0,t+48|0,s+48|0))break e;if(!((d=m[s+60>>2])<=m[a+4>>2]))break e;h[s+40>>2]=0,i=h[s+56>>2],h[s+44>>2]=i,c=v(m[t+52>>2]-m[e+52>>2]),l=v(m[t+48>>2]-m[e+48>>2]),u=v(m[t+56>>2]-m[e+56>>2]),3==h[s+52>>2]?(f=l,e=h[n+760>>2]+g(i,44)|0,l=m[e+20>>2],_=c,c=m[e+24>>2],b=u,u=m[e+28>>2],v(v(v(f*l)+v(_*c))+v(b*u))>v(0)?(u=v(-u),c=v(-c),l=v(-l)):p=m[e+32>>2]):(p=v(v(1)/v(S(v(v(v(l*l)+v(c*c))+v(u*u))))),u=v(p*v(-u)),c=v(p*v(-c)),l=v(p*v(-l)),p=v(0)),m[s+28>>2]=p,m[s+24>>2]=u,m[s+20>>2]=c,m[s+32>>2]=d,m[s+16>>2]=l,h[s+8>>2]=n,h[s+12>>2]=s+40,v(r[h[h[a>>2]+12>>2]](a,s+8|0,1))}w=s- -64|0}function Pi(e,t){var n,i=0,a=0,s=0;n=h[h[e+1120>>2]+(t<<2)>>2],(t=h[n+348>>2])&&xl(e+1048|0,t),(t=h[n+52>>2])&&(d[n+56|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[n+52>>2]=0),h[n+52>>2]=0,o[n+56|0]=1,h[n+44>>2]=0,h[n+48>>2]=0,(t=h[n+32>>2])&&(d[n+36|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[n+32>>2]=0),h[n+32>>2]=0,o[n+36|0]=1,h[n+24>>2]=0,h[n+28>>2]=0,(t=h[n+12>>2])&&(d[n+16|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[n+12>>2]=0),t=0,h[n+12>>2]=0,o[n+16|0]=1,h[n+4>>2]=0,h[n+8>>2]=0,n&&(h[7718]=h[7718]+1,r[h[6607]](n));e:if(!((0|(i=h[e+1112>>2]))<1)){for(a=h[e+1120>>2];;){if(h[(s=(t<<2)+a|0)>>2]!=(0|n)){if((0|i)!=(0|(t=t+1|0)))continue;break e}break}(0|t)>=(0|i)||(i=(t=i+-1|0)<<2,h[s>>2]=h[i+a>>2],h[i+h[e+1120>>2]>>2]=n,h[e+1112>>2]=t)}}function Oi(e,t){var n,i,a=0,s=0,c=0,l=0,u=0,p=0,f=0,_=0;if((0|(c=h[e+4>>2]))==h[e+8>>2]&&(Lo(e,c?c<<1:1),c=h[e+4>>2]),a=(i=h[e+12>>2])+g(c,36)|0,h[a+12>>2]=0,o[a+16|0]=1,h[a+4>>2]=0,h[a+8>>2]=0,(0|(n=h[t+4>>2]))>=1){h[7717]=h[7717]+1,p=n<<2,l=0|r[h[6606]](p,16),u=h[a+12>>2];e:{t:{if((0|(f=h[a+4>>2]))>=1)for(;;)if(h[l+(_=s<<2)>>2]=h[u+_>>2],(0|f)==(0|(s=s+1|0)))break t;if(!u)break e}d[a+16|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u))}for(o[a+16|0]=1,h[a+12>>2]=l,h[a+8>>2]=n,s=0,ji(l,0,p),h[a+4>>2]=n,u=h[t+12>>2],a=h[a+12>>2];h[(l=s<<2)+a>>2]=h[u+l>>2],(0|n)!=(0|(s=s+1|0)););}else h[a+4>>2]=n;s=h[t+24>>2],a=g(c,36)+i|0,h[a+20>>2]=h[t+20>>2],h[a+24>>2]=s,s=h[t+32>>2],h[a+28>>2]=h[t+28>>2],h[a+32>>2]=s,h[e+4>>2]=h[e+4>>2]+1}function Mi(e,t,n){var i,a=0;if(w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,h[i+20>>2]=n,e=w-16|0,n=h[i+28>>2],h[e+12>>2]=n,h[i+16>>2]=h[h[e+12>>2]+4>>2],h[i+24>>2]>2])for(h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)h[i+12>>2]=h[i+12>>2]+1;else for(e=h[i+24>>2],h[12+(t=w-16|0)>>2]=n,(0|e)>h[h[t+12>>2]+4>>2]&&function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=w-16|0,e=h[n+12>>2],h[t+12>>2]=e,h[h[t+12>>2]+8>>2]>2]&&(h[n+4>>2]=function(e,t){var n=0;return w=n=w-16|0,h[n+8>>2]=e,h[n+4>>2]=t,e=h[n+8>>2],h[n+4>>2]?h[n+12>>2]=function(e,t){var n=0;return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,h[n+4>>2]=0,e=g(h[n+8>>2],44),h[7717]=h[7717]+1,e=0|r[h[6606]](e,16),w=n+16|0,e}(e,h[n+4>>2]):h[n+12>>2]=0,w=n+16|0,h[n+12>>2]}(e,h[n+8>>2]),h[12+(t=w-16|0)>>2]=e,Or(e,h[h[t+12>>2]+4>>2],h[n+4>>2]),h[12+(t=w-16|0)>>2]=e,cc(e,h[h[t+12>>2]+4>>2]),Lc(e),o[e+16|0]=1,h[e+12>>2]=h[n+4>>2],h[e+8>>2]=h[n+8>>2]),w=n+16|0}(n,h[i+24>>2]),h[i+8>>2]=h[i+16>>2];h[i+8>>2]>2];)e=h[i+20>>2],a=h[e+4>>2],t=h[n+12>>2]+g(h[i+8>>2],44)|0,h[t>>2]=h[e>>2],h[t+4>>2]=a,h[t+40>>2]=h[e+40>>2],a=h[e+36>>2],h[t+32>>2]=h[e+32>>2],h[t+36>>2]=a,a=h[e+28>>2],h[t+24>>2]=h[e+24>>2],h[t+28>>2]=a,a=h[e+20>>2],h[t+16>>2]=h[e+16>>2],h[t+20>>2]=a,a=h[e+12>>2],h[t+8>>2]=h[e+8>>2],h[t+12>>2]=a,h[i+8>>2]=h[i+8>>2]+1;h[n+4>>2]=h[i+24>>2],w=i+32|0}function Ri(e){var t,n,i=v(0),r=0,o=0;w=t=w-16|0,c(e);e:if((n=2147483647&(r=l(0)))>>>0<=1061752794){if(i=v(1),n>>>0<964689920)break e;i=xc(+e)}else if(n>>>0<=1081824209){if(o=+e,n>>>0>=1075235812){i=v(-xc(((0|r)<0?3.141592653589793:-3.141592653589793)+o));break e}if((0|r)<=-1){i=rc(o+1.5707963267948966);break e}i=rc(1.5707963267948966-o)}else if(n>>>0<=1088565717){if(n>>>0>=1085271520){i=xc(+e+((0|r)<0?6.283185307179586:-6.283185307179586));break e}if((0|r)<=-1){i=rc(-4.71238898038469-+e);break e}i=rc(+e-4.71238898038469)}else if(i=v(e-e),!(n>>>0>=2139095040)){t:switch(3&Br(e,t+8|0)){case 0:i=xc(b[t+8>>3]);break e;case 1:i=rc(-b[t+8>>3]);break e;case 2:i=v(-xc(b[t+8>>3]));break e}i=rc(b[t+8>>3])}return w=t+16|0,e=i}function Ii(e){var t=0,n=v(0),i=0,r=v(0),o=0,a=v(0);if(c(e),(t=2147483647&(o=l(0)))>>>0<1283457024){e:{t:if(t>>>0<=1054867455){if(t>>>0<964689920)break e;t=-1,i=1}else{if(e=v(y(e)),t>>>0<=1066926079){if(t>>>0<=1060110335){e=v(v(v(e+e)+v(-1))/v(e+v(2))),t=0,i=0;break t}t=1,e=v(v(e+v(-1))/v(e+v(1)))}else t>>>0<=1075576831?(t=2,e=v(v(e+v(-1.5))/v(v(e*v(1.5))+v(1)))):(t=3,e=v(v(-1)/e));i=0}if(r=v(e*e),n=v(r*r),a=v(n*v(v(n*v(-.106480173766613))+v(-.19999158382415771))),n=v(r*v(v(n*v(v(n*v(.06168760731816292))+v(.14253635704517365)))+v(.333333283662796))),i)return v(e-v(e*v(a+n)));e=v(m[25888+(t<<=2)>>2]-v(v(v(e*v(a+n))-m[t+25904>>2])-e)),e=(0|o)<0?v(-e):e}return e}return t>>>0>2139095040?e:(s(0,-2147483648&(c(e),l(0))|1070141402),u())}function wi(e){var t,n,i=0,r=0;w=t=w-16|0,c(e);e:if((n=2147483647&(r=l(0)))>>>0<=1061752794){if(n>>>0<964689920)break e;e=rc(+e)}else if(n>>>0<=1081824209){if(i=+e,n>>>0<=1075235811){if((0|r)<=-1){e=v(-xc(i+1.5707963267948966));break e}e=xc(i+-1.5707963267948966);break e}e=rc(-(((0|r)<0?3.141592653589793:-3.141592653589793)+i))}else if(n>>>0<=1088565717){if(i=+e,n>>>0<=1085271519){if((0|r)<=-1){e=xc(i+4.71238898038469);break e}e=v(-xc(i+-4.71238898038469));break e}e=rc(((0|r)<0?6.283185307179586:-6.283185307179586)+i)}else if(n>>>0>=2139095040)e=v(e-e);else{t:switch(3&Br(e,t+8|0)){case 0:e=rc(b[t+8>>3]);break e;case 1:e=xc(b[t+8>>3]);break e;case 2:e=rc(-b[t+8>>3]);break e}e=v(-xc(b[t+8>>3]))}return w=t+16|0,e}function Di(e){var t=0;return h[(e|=0)>>2]=17612,(t=h[e+160>>2])&&(d[e+164|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+160>>2]=0),h[e+160>>2]=0,o[e+164|0]=1,h[e+152>>2]=0,h[e+156>>2]=0,(t=h[e+136>>2])&&(d[e+140|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+136>>2]=0),h[e+136>>2]=0,o[e+140|0]=1,h[e+128>>2]=0,h[e+132>>2]=0,(t=h[e+116>>2])&&(d[e+120|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+116>>2]=0),h[e+116>>2]=0,o[e+120|0]=1,h[e+108>>2]=0,h[e+112>>2]=0,(t=h[e+96>>2])&&(d[e+100|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+96>>2]=0),h[e+96>>2]=0,o[e+100|0]=1,h[e+88>>2]=0,h[e+92>>2]=0,(t=h[e+76>>2])&&(d[e+80|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+76>>2]=0),h[e+76>>2]=0,o[e+80|0]=1,h[e+68>>2]=0,h[e+72>>2]=0,0|e}function Li(e,t,n){e|=0,n|=0;var i=0,o=0;if(h[(t|=0)>>2]=r[h[h[n>>2]+28>>2]](n,h[e+28>>2]),h[t+4>>2]=r[h[h[n>>2]+28>>2]](n,h[e+32>>2]),i=0|r[h[h[n>>2]+40>>2]](n,e),o=0|r[h[h[n>>2]+28>>2]](n,i),h[t+8>>2]=o,o&&r[h[h[n>>2]+48>>2]](n,i),h[t+12>>2]=h[e+4>>2],h[t+24>>2]=d[e+21|0],h[t+40>>2]=h[e+24>>2],h[t+44>>2]=h[e+16>>2],h[t+48>>2]=d[e+20|0],h[t+20>>2]=h[e+12>>2],h[t+16>>2]=h[e+8>>2],h[t+28>>2]=h[e+36>>2],i=h[e+40>>2],n=0,h[t+36>>2]=0,h[t+32>>2]=i,i=h[e+28>>2],(0|(o=h[i+488>>2]))>=1)for(i=h[i+496>>2];h[i+(n<<2)>>2]==(0|e)&&(h[t+36>>2]=1),(0|o)!=(0|(n=n+1|0)););if(n=h[e+32>>2],(0|(i=h[n+488>>2]))>=1)for(o=h[n+496>>2],n=0;h[o+(n<<2)>>2]==(0|e)&&(h[t+36>>2]=1),(0|i)!=(0|(n=n+1|0)););return 19332}function Ni(e,t,n,i){var r=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0,d=0,f=0,_=0,m=0;o=h[e+4>>2];e:{if(h[e>>2]==(0|t)){if(r=2,(0|t)!=(0|o))break e;return o=h[t+12>>2],t=h[h[t+8>>2]+12>>2],s=h[t+96>>2],d=h[o+96>>2]-s|0,e=h[e+12>>2],r=h[t+92>>2],c=h[e+92>>2]-r|0,r=h[o+92>>2]-r|0,s=h[e+96>>2]-s|0,a=l=g(d,c)-g(r,s)|0,p=l>>31,l=h[n+8>>2],f=h[i+4>>2],_=h[n+4>>2],m=h[i+8>>2],u=Eh(a,p,u=g(l,f)-g(_,m)|0,u>>31),p=D,a=r,r=(r=h[e+88>>2])-(e=h[t+88>>2])|0,o=h[o+88>>2]-e|0,t=e=g(a,r)-g(o,c)|0,a=e>>31,i=h[i>>2],n=h[n>>2],c=Eh(t,a,e=g(i,_)-g(n,f)|0,e>>31),e=D+p|0,e=(t=c+u|0)>>>0>>0?e+1|0:e,a=t,n=Eh(r=t=g(o,s)-g(r,d)|0,o=t>>31,t=g(n,m)-g(i,l)|0,t>>31),e=D+e|0,(0|(e=(t=a+n|0)>>>0>>0?e+1|0:e))>0||(0|e)>=0&&!(t>>>0<=0)?2:1}r=(0|t)==(0|o)}return r}function Fi(e){var t=v(0),n=v(0),i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0);h[e+308>>2]=0,h[e+292>>2]=0,h[e+276>>2]=0,f=m[e+396>>2],t=m[e+36>>2],n=v(f*t),_=m[e+400>>2],i=m[e+40>>2],r=v(_*i),b=m[e+404>>2],o=m[e+44>>2],a=v(b*o),m[e+304>>2]=v(v(n*t)+v(r*i))+v(a*o),u=m[e+20>>2],p=m[e+24>>2],d=m[e+28>>2],m[e+300>>2]=v(v(n*u)+v(r*p))+v(a*d),s=n,n=m[e+4>>2],c=r,r=m[e+8>>2],l=a,a=m[e+12>>2],m[e+296>>2]=v(v(s*n)+v(c*r))+v(l*a),s=v(f*u),c=v(_*p),l=v(b*d),m[e+288>>2]=v(v(t*s)+v(i*c))+v(o*l),m[e+284>>2]=v(v(s*u)+v(c*p))+v(l*d),m[e+280>>2]=v(v(s*n)+v(c*r))+v(l*a),s=t,t=v(n*f),c=i,i=v(r*_),l=o,o=v(a*b),m[e+272>>2]=v(v(s*t)+v(c*i))+v(l*o),m[e+268>>2]=v(v(t*u)+v(i*p))+v(o*d),m[e+264>>2]=v(v(t*n)+v(i*r))+v(o*a)}function Bi(e,t){var n=v(0),i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0);n=v(m[e+112>>2]-m[e+92>>2]),r=v(m[e+116>>2]-m[e+96>>2]),i=v(m[e+120>>2]-m[e+100>>2]),(s=v(S(v(v(v(n*n)+v(r*r))+v(i*i)))))>v(1.1920928955078125e-7)&&(l=m[t+8>>2],a=m[t>>2],u=m[t+4>>2],t=h[e+96>>2],h[e+112>>2]=h[e+92>>2],h[e+116>>2]=t,t=h[e+104>>2],h[e+120>>2]=h[e+100>>2],h[e+124>>2]=t,o=n,n=v(v(1)/s),c=o=v(o*n),p=v(o*a),o=v(r*n),i=v(i*n),n=v(v(p+v(o*u))+v(i*l)),n=v(n+n),c=r=v(c-v(a*n)),i=v(i-v(l*n)),n=v(o-v(u*n)),r=v(v(1)/v(S(v(v(i*i)+v(v(r*r)+v(n*n)))))),o=v(c*r),c=a,i=v(i*r),n=v(n*r),a=v(v(l*i)+v(v(a*o)+v(u*n))),m[e+112>>2]=v(s*v(o-v(c*a)))+m[e+112>>2],m[e+116>>2]=v(s*v(n-v(u*a)))+m[e+116>>2],m[e+120>>2]=v(s*v(i-v(l*a)))+m[e+120>>2])}function ki(e){var t=0;return h[(e|=0)>>2]=19996,(t=h[e+144>>2])&&(d[e+148|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+144>>2]=0),h[e+144>>2]=0,o[e+148|0]=1,h[e+136>>2]=0,h[e+140>>2]=0,(t=h[e+76>>2])&&(d[e+80|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+76>>2]=0),h[e+76>>2]=0,o[e+80|0]=1,h[e+68>>2]=0,h[e+72>>2]=0,(t=h[e+56>>2])&&(d[e+60|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+56>>2]=0),h[e+56>>2]=0,o[e+60|0]=1,h[e+48>>2]=0,h[e+52>>2]=0,(t=h[e+36>>2])&&(d[e+40|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+36>>2]=0),h[e+36>>2]=0,o[e+40|0]=1,h[e+28>>2]=0,h[e+32>>2]=0,(t=h[e+16>>2])&&(d[e+20|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+16>>2]=0),h[e+16>>2]=0,o[e+20|0]=1,h[e+8>>2]=0,h[e+12>>2]=0,0|e}function Vi(e,t){var n,i=0;w=n=w-144|0,Ki(e),o[e+500|0]=1,h[e>>2]=17792,h[e+496>>2]=0,h[e+488>>2]=0,h[e+492>>2]=0,h[n+72>>2]=0,h[n+4>>2]=0,m[n>>2]=0,i=h[t+12>>2],h[n+84>>2]=h[t+8>>2],h[n+88>>2]=i,i=h[t>>2],t=h[t+4>>2],h[n+12>>2]=0,h[n+16>>2]=0,h[n+20>>2]=0,h[n+24>>2]=0,h[n+28>>2]=1065353216,h[n+40>>2]=0,h[n+44>>2]=0,h[n+32>>2]=0,h[n+36>>2]=0,h[n+48>>2]=1065353216,h[n+68>>2]=0,h[n+60>>2]=0,h[n+64>>2]=0,h[n+52>>2]=0,h[n+56>>2]=0,h[n+76>>2]=i,h[n+80>>2]=t,h[n+132>>2]=1008981770,h[n+136>>2]=1008981770,h[n+124>>2]=1000593162,h[n+128>>2]=1008981770,o[n+120|0]=0,h[n+116>>2]=1065353216,h[n+108>>2]=0,h[n+112>>2]=1061997773,h[n+100>>2]=1056964608,h[n+104>>2]=0,h[n+92>>2]=0,h[n+96>>2]=0,h[n+8>>2]=1065353216,Me(e,n),w=n+144|0}function zi(e,t,n){var i,r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0);(i=h[e+4>>2])&&na(i,t,n),(e=h[e>>2])&&(p=m[e+220>>2],d=m[e+212>>2],f=m[e+216>>2],_=m[e+204>>2],b=m[e+196>>2],g=m[e+200>>2],y=m[e+188>>2],C=m[e+184>>2],A=m[e+180>>2],c=m[n+4>>2],l=m[n+8>>2],u=m[n>>2],r=m[t+8>>2],o=m[t+4>>2],s=m[t>>2],a=m[e+128>>2],m[e+276>>2]=v(s*a)+m[e+276>>2],m[e+280>>2]=v(a*o)+m[e+280>>2],m[e+284>>2]=v(a*r)+m[e+284>>2],h[e+312>>2]=h[e+312>>2]+1,a=v(v(r*c)-v(o*l)),r=v(v(s*l)-v(r*u)),o=v(v(o*u)-v(s*c)),m[e+292>>2]=v(v(v(A*a)+v(C*r))+v(y*o))+m[e+292>>2],m[e+296>>2]=v(v(v(a*b)+v(r*g))+v(o*_))+m[e+296>>2],m[e+300>>2]=v(v(v(a*d)+v(r*f))+v(o*p))+m[e+300>>2])}function ji(e,t,n){var i=0,r=0,a=0,s=0;if(n&&(o[(i=e+n|0)-1|0]=t,o[0|e]=t,!(n>>>0<3||(o[i+-2|0]=t,o[e+1|0]=t,o[i+-3|0]=t,o[e+2|0]=t,n>>>0<7||(o[i+-4|0]=t,o[e+3|0]=t,n>>>0<9||(r=(i=0-e&3)+e|0,t=g(255&t,16843009),h[r>>2]=t,h[(i=(n=n-i&-4)+r|0)-4>>2]=t,n>>>0<9||(h[r+8>>2]=t,h[r+4>>2]=t,h[i+-8>>2]=t,h[i+-12>>2]=t,n>>>0<25||(h[r+24>>2]=t,h[r+20>>2]=t,h[r+16>>2]=t,h[r+12>>2]=t,h[i+-16>>2]=t,h[i+-20>>2]=t,h[i+-24>>2]=t,h[i+-28>>2]=t,(n=n-(s=4&r|24)|0)>>>0<32))))))))for(i=t,a=t,t=r+s|0;h[t+24>>2]=a,h[t+28>>2]=i,h[t+16>>2]=a,h[t+20>>2]=i,h[t+8>>2]=a,h[t+12>>2]=i,h[t>>2]=a,h[t+4>>2]=i,t=t+32|0,(n=n+-32|0)>>>0>31;);return e}function Ui(e){var t,n=0,i=0,a=0,s=0;if(h[(e|=0)>>2]=11320,(n=h[e+56>>2])&&(d[e+60|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+56>>2]=0),h[e+56>>2]=0,o[e+60|0]=1,h[e+48>>2]=0,h[e+52>>2]=0,(0|(t=h[e+28>>2]))>=1)for(;s=n=h[e+36>>2]+g(i,36)|0,(a=h[n+12>>2])&&(d[n+16|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[s+12>>2]=0),o[n+16|0]=1,h[s+12>>2]=0,h[n+4>>2]=0,h[n+8>>2]=0,(0|t)!=(0|(i=i+1|0)););return(n=h[e+36>>2])&&(d[e+40|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+36>>2]=0),h[e+36>>2]=0,h[e+28>>2]=0,h[e+32>>2]=0,o[e+40|0]=1,(n=h[e+16>>2])&&(d[e+20|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+16>>2]=0),h[e+16>>2]=0,o[e+20|0]=1,h[e+8>>2]=0,h[e+12>>2]=0,0|e}function Gi(e,t,n,i){for(var r=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0,d=0,f=0,_=0,m=0,b=0,g=0;;){for(d=n,a=h[e+12>>2],l=h[a+((n+i|0)/2<<2)>>2],s=i,c=n;;){for(f=h[h[l+740>>2]+208>>2];u=h[(_=((n=c)<<2)+a|0)>>2],(0|(r=h[h[u+740>>2]+208>>2]))<=-1&&(r=h[h[u+744>>2]+208>>2]),c=n+1|0,o=r,(m=(0|(r=f))>-1)||(r=h[h[l+744>>2]+208>>2]),(0|o)<(0|r););for(;p=h[(b=(r=s)<<2)+a>>2],o=f,s=r+-1|0,m||(o=h[h[l+744>>2]+208>>2]),g=o,(0|(o=h[h[p+740>>2]+208>>2]))<=-1&&(o=h[h[p+744>>2]+208>>2]),(0|g)<(0|o););if((0|n)<=(0|r)&&(h[_>>2]=p,h[h[e+12>>2]+b>>2]=u,r=s,n=c),!((0|n)<=(0|r)))break;a=h[e+12>>2],s=r,c=n}if((0|r)>(0|d)&&Gi(e,t,d,r),!((0|n)<(0|i)))break}}function Hi(e){var t=0,n=0,i=0,a=0,s=0;if(h[e+32>>2]=262144,(0|(n=h[e+4>>2]))<2383){if(h[e+8>>2]<2383){if(h[7717]=h[7717]+1,s=0|r[h[6606]](9532,16),(0|(i=h[e+4>>2]))>=1)for(;h[(t=a<<2)+s>>2]=h[t+h[e+12>>2]>>2],(0|i)!=(0|(a=a+1|0)););(t=h[e+12>>2])&&(d[e+16|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+12>>2]=0),h[e+12>>2]=s,o[e+16|0]=1,h[e+8>>2]=2383}for(;h[h[e+12>>2]+(n<<2)>>2]=0,2383!=(0|(n=n+1|0)););}for(h[e+4>>2]=2383,i=0;;){if(t=h[e+12>>2]+(i<<2)|0,n=h[t>>2],h[t>>2]=0,n)for(;t=h[n+280>>2],Se(n),n=t,t;);if(2383==(0|(i=i+1|0)))break}h[e+36>>2]=1,h[e+40>>2]=1,h[e+28>>2]=0,h[e+20>>2]=1048576e3,h[e+24>>2]=0}function Wi(e,t){var n,i,o=0,a=v(0),s=v(0);w=n=w-32|0;e:if(i=((o=h[t+388>>2])&h[e+388>>2]&48)-16|0){if(16!=(0|i))break e;if(!(64&o)&&(0|e)==(0|t))break e;h[n+20>>2]=0,h[n+4>>2]=1065353216,h[n>>2]=22016,h[n+8>>2]=h[e+456>>2],o=h[e+192>>2],a=v(r[h[h[o>>2]+48>>2]](o)),o=h[t+192>>2],m[n+12>>2]=a+v(r[h[h[o>>2]+48>>2]](o)),a=m[t+316>>2],s=m[e+316>>2],h[n+28>>2]=t,h[n+24>>2]=e,m[n+16>>2]=s>2],h[t+1048>>2],n)}else(0|e)!=(0|t)&&(h[n>>2]=22100,o=h[e+192>>2],a=v(r[h[h[o>>2]+48>>2]](o)),o=h[t+192>>2],s=v(r[h[h[o>>2]+48>>2]](o)),h[n+8>>2]=t,h[n+4>>2]=e,m[n+12>>2]=a+s,Ht(h[e+928>>2],h[t+988>>2],n),h[n+8>>2]=e,h[n+4>>2]=t,Ht(h[t+928>>2],h[e+988>>2],n));w=n+32|0}function Xi(e,t,n,i){for(var r=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0,d=0,f=0,_=0,m=0,b=0,g=0;;){for(d=n,a=h[e+12>>2],l=h[a+((n+i|0)/2<<2)>>2],s=i,c=n;;){for(f=h[h[l+28>>2]+208>>2];u=h[(_=((n=c)<<2)+a|0)>>2],(m=(0|(o=f))>-1)||(o=h[h[l+32>>2]+208>>2]),c=n+1|0,(0|(r=h[h[u+28>>2]+208>>2]))<=-1&&(r=h[h[u+32>>2]+208>>2]),(0|r)<(0|o););for(;p=h[(b=(r=s)<<2)+a>>2],(0|(o=h[h[p+28>>2]+208>>2]))<=-1&&(o=h[h[p+32>>2]+208>>2]),g=f,s=r+-1|0,m||(g=h[h[l+32>>2]+208>>2]),(0|g)<(0|o););if((0|n)<=(0|r)&&(h[_>>2]=p,h[h[e+12>>2]+b>>2]=u,r=s,n=c),!((0|n)<=(0|r)))break;a=h[e+12>>2],s=r,c=n}if((0|r)>(0|d)&&Xi(e,t,d,r),!((0|n)<(0|i)))break}}function Yi(e,t,n){var i,r=v(0),o=v(0),a=0,s=0,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0);w=i=w-16|0;e:{t:{n:{i:{if(h[n+100>>2]>=0)m[(h[t+108>>2]<<2)+i>>2]=h[n+88>>2];else if(r=no(n+24|0),o=no(a=n+72|0),s=h[n+100>>2],m[(h[t+108>>2]<<2)+i>>2]=r/o,(0|s)<0)break i;m[(h[t+112>>2]<<2)+i>>2]=h[n+92>>2];break n}if(r=no(n+40|0),o=no(a),a=h[n+100>>2],m[(h[t+112>>2]<<2)+i>>2]=r/o,(0|a)<0)break t}r=v(h[n+96>>2]);break e}r=v(no(n+56|0)/no(n+72|0))}m[(h[t+104>>2]<<2)+i>>2]=r,r=m[t+20>>2],o=m[t+24>>2],c=m[t+16>>2],l=m[t>>2],u=m[t+4>>2],p=m[t+8>>2],d=m[i>>2],f=m[i+4>>2],_=m[i+8>>2],h[e+12>>2]=0,m[e+8>>2]=o+v(_*p),m[e+4>>2]=r+v(f*u),m[e>>2]=c+v(d*l),w=i+16|0}function Qi(e,t,n,i){var r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),h=v(0),d=v(0),f=v(0),_=v(0);return c=m[n+24>>2],r=m[t+24>>2],p=v(c-r),l=m[n+16>>2],a=m[t+16>>2],h=v(l-a),o=m[e+4>>2],u=m[n+20>>2],s=m[t+20>>2],d=v(u-s),f=m[e>>2],_=m[e+8>>2],v(v(r*v(v(h*o)-v(d*f)))+v(v(a*v(v(d*_)-v(p*o)))+v(s*v(v(p*f)-v(h*_)))))v(0)||(o=v(v(v(l*l)+v(u*u))+v(c*c)),v(v(v(l*h)+v(u*d))+v(c*p))v(0)?r:v(0))),m[i>>2]=S(o),e=1):e=0,e}function Ki(e){h[e+188>>2]=0,h[e+192>>2]=0,h[e+180>>2]=0,h[e+184>>2]=1566444395,h[e+164>>2]=1065353216,h[e+168>>2]=1065353216,h[e>>2]=3948,h[e+244>>2]=1065353216,h[e+236>>2]=1,h[e+240>>2]=0,h[e+228>>2]=0,h[e+232>>2]=0,h[e+220>>2]=0,h[e+224>>2]=1056964608,h[e+212>>2]=-1,h[e+216>>2]=1,h[e+204>>2]=1,h[e+208>>2]=-1,h[e+248>>2]=0,h[e+252>>2]=0,h[e+4>>2]=1065353216,h[e+172>>2]=1065353216,h[e+176>>2]=0,h[e+196>>2]=0,h[e+200>>2]=0,h[e+256>>2]=0,h[e+260>>2]=0,h[e+8>>2]=0,h[e+12>>2]=0,h[e+16>>2]=0,h[e+20>>2]=0,h[e+36>>2]=0,h[e+40>>2]=0,h[e+24>>2]=1065353216,h[e+28>>2]=0,h[e+32>>2]=0,h[e- -64>>2]=0,h[e+44>>2]=1065353216,h[e+56>>2]=0,h[e+60>>2]=0,h[e+48>>2]=0,h[e+52>>2]=0}function Zi(e,t,n,i){var r=v(0),o=0,a=v(0),s=v(0),c=v(0);if(s=v(m[n+8>>2]-m[e+16>>2]),c=m[e+48>>2],a=v(v(m[n+4>>2]-m[e+12>>2])*m[e+44>>2]),r=v(v(m[n>>2]-m[e+8>>2])*m[e+40>>2]),n=i,r<=v(0)||(n=f[e+6>>1],n=r>=v(n>>>0)?n&f[e+4>>1]|i:(n=r=v(0)?~~r>>>0:0)&f[e+4>>1]|i),o=n,r=v(s*c),p[t>>1]=o,o=t,n=i,a<=v(0)||(n=f[e+6>>1],n=a>=v(n>>>0)?n&f[e+4>>1]|i:(n=a=v(0)?~~a>>>0:0)&f[e+4>>1]|i),p[o+2>>1]=n,n=t,!(r<=v(0))){if(o=f[e+6>>1],r>=v(o>>>0))return void(p[t+4>>1]=o&f[e+4>>1]|i);i=(t=r=v(0)?~~r>>>0:0)&f[e+4>>1]|i}p[n+4>>1]=i}function qi(e,t){var n=0,i=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0;if((0|(i=h[e+8>>2]))>=1)for(;n=h[h[e+16>>2]+(o<<2)>>2],2&d[n+236|0]&&(s=t,c=0|r[h[h[n>>2]+16>>2]](n),l=1,a=h[h[t>>2]+16>>2],i=0|r[a](0|s,0|c,0|l),l=t,c=i,s=0|r[h[h[n>>2]+20>>2]](n,h[i+8>>2],t),u=1497645650,p=n,a=h[h[t>>2]+20>>2],r[a](0|l,0|c,0|s,0|u,0|p),i=h[e+8>>2]),(0|(o=o+1|0))<(0|i););if(h[e+212>>2]>=1)for(o=0;n=h[h[e+220>>2]+(o<<2)>>2],p=t,u=0|r[h[h[n>>2]+36>>2]](n),s=1,a=h[h[t>>2]+16>>2],i=0|r[a](0|p,0|u,0|s),s=t,u=i,p=0|r[h[h[n>>2]+40>>2]](n,h[i+8>>2],t),c=1397641027,l=n,a=h[h[t>>2]+20>>2],r[a](0|s,0|u,0|p,0|c,0|l),(0|(o=o+1|0))>2];);}function Ji(e,t,n){var i=0,a=0,s=0,c=0,l=0,u=0,p=0;if((0|(i=h[e+96>>2]))==h[e+100>>2]&&!((0|i)>=(0|(a=i?i<<1:1)))){if(a&&(h[7717]=h[7717]+1,p=0|r[h[6606]](a<<4,16),i=h[e+96>>2]),(0|i)>=1)for(;c=(s=l<<4)+p|0,s=s+h[e+104>>2]|0,u=h[s+4>>2],h[c>>2]=h[s>>2],h[c+4>>2]=u,u=h[s+12>>2],h[c+8>>2]=h[s+8>>2],h[c+12>>2]=u,(0|(l=l+1|0))!=(0|i););(i=h[e+104>>2])&&(d[e+108|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+104>>2]=0),h[e+104>>2]=p,h[e+100>>2]=a,o[e+108|0]=1,i=h[e+96>>2]}a=h[t+4>>2],i=h[e+104>>2]+(i<<4)|0,h[i>>2]=h[t>>2],h[i+4>>2]=a,a=h[t+12>>2],h[i+8>>2]=h[t+8>>2],h[i+12>>2]=a,h[e+96>>2]=h[e+96>>2]+1,n&&or(e)}function $i(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),S=v(0);o=v(r[h[h[e>>2]+48>>2]](e)),u=m[t+52>>2],c=m[t+20>>2],f=m[t+24>>2],p=m[t+56>>2],l=m[t+36>>2],a=m[e+32>>2],_=m[t+40>>2],b=m[e+36>>2],d=m[t+48>>2],g=m[t>>2],C=m[t+4>>2],A=m[t+8>>2],x=m[t+16>>2],S=m[t+32>>2],s=m[e+28>>2],h[n+12>>2]=0,s=v(o+s),a=v(o+a),o=v(o+b),l=v(v(v(s*v(y(S)))+v(a*v(y(l))))+v(o*v(y(_)))),m[n+8>>2]=p-l,c=v(v(v(s*v(y(x)))+v(a*v(y(c))))+v(o*v(y(f)))),m[n+4>>2]=u-c,o=v(v(v(s*v(y(g)))+v(a*v(y(C))))+v(o*v(y(A)))),m[n>>2]=d-o,h[i+12>>2]=0,m[i+8>>2]=p+l,m[i+4>>2]=c+u,m[i>>2]=o+d}function er(e){e|=0;var t=0,n=0,i=0;if(Ir(18160),He(e),r[h[h[e>>2]+20>>2]](e)&&(t=0|r[h[h[e>>2]+20>>2]](e),6144&r[h[h[t>>2]+48>>2]](t)&&!((0|(n=0|r[h[h[e>>2]+104>>2]](e)))<1)))for(;t=n+-1|0,N(e,0|r[h[h[e>>2]+108>>2]](e,t)),i=(0|n)>1,n=t,i;);if(r[h[h[e>>2]+20>>2]](e)&&(t=0|r[h[h[e>>2]+20>>2]](e),16387&r[h[h[t>>2]+48>>2]](t)&&r[h[h[e>>2]+20>>2]](e)&&(t=0|r[h[h[e>>2]+20>>2]](e),!(!r[h[h[t>>2]+48>>2]](t)|h[e+280>>2]<1))))for(n=0;t=h[h[e+288>>2]+(n<<2)>>2],r[h[h[t>>2]+12>>2]](t,h[e+72>>2]),(0|(n=n+1|0))>2];);Bo()}function tr(e,t){var n,i,o=v(0),a=v(0),s=v(0),c=0,l=v(0),u=v(0),p=v(0);h[e+4>>2]=35,h[e+8>>2]=0,h[e>>2]=13316,h[e+44>>2]=1025758986,h[e+20>>2]=1065353216,h[e+24>>2]=0,h[e+12>>2]=1065353216,h[e+16>>2]=1065353216,h[e>>2]=13444,n=e,h[e+52>>2]=1,h[e>>2]=15624,i=e,o=m[t>>2],a=m[t+8>>2],s=m[t+4>>2],(o=v(m[((o>2]*v(.10000000149011612)))>2]?(fo(e,o),c=h[e>>2]):c=15624,o=v(r[h[c+48>>2]](i)),a=v(r[h[h[e>>2]+48>>2]](n)),s=v(r[h[h[e>>2]+48>>2]](n)),l=m[t>>2],u=m[t+4>>2],p=m[t+8>>2],h[e+40>>2]=0,h[e+4>>2]=13,m[e+36>>2]=v(p*m[e+20>>2])-s,m[e+32>>2]=v(u*m[e+16>>2])-a,m[e+28>>2]=v(l*m[e+12>>2])-o}function nr(e,t){var n=0,i=0,a=0,s=0,c=0;e:{t:if(!((0|(n=h[e+488>>2]))<1)){for(a=h[e+496>>2];;){if(h[a+(i<<2)>>2]!=(0|t)){if((0|(i=i+1|0))!=(0|n))continue;break t}break}if((0|n)!=(0|i))break e}if(h[e+492>>2]==(0|n)&&!((0|n)>=(0|(a=n?n<<1:1)))){if(a&&(h[7717]=h[7717]+1,s=0|r[h[6606]](a<<2,16),n=h[e+488>>2]),(0|n)>=1)for(i=0;h[(c=i<<2)+s>>2]=h[h[e+496>>2]+c>>2],(0|(i=i+1|0))!=(0|n););(i=h[e+496>>2])&&(d[e+500|0]&&(i&&(h[7718]=h[7718]+1,r[h[6607]](i)),n=h[e+488>>2]),h[e+496>>2]=0),h[e+496>>2]=s,h[e+492>>2]=a,o[e+500|0]=1}h[h[e+496>>2]+(n<<2)>>2]=t,h[e+488>>2]=n+1}h[e+256>>2]=1}function ir(e,t,n,i){var r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0);o=Ri(n),r=m[t+444>>2],n=wi(n),v(y(o))>v(1.1920928955078125e-7)?(a=v(n*n),c=v(o*o),l=v(a/c),s=m[t+448>>2],r=v(S(v(v(l+v(1))/v(v(v(1)/v(s*s))+v(l/v(r*r))))))):(a=v(n*n),c=v(o*o)),h[e+12>>2]=0,r=v(r*v(.5)),a=v(wi(r)/v(S(v(a+v(c+v(0)))))),c=v(a*v(0)),r=Ri(r),s=v(r*v(0)),n=v(a*v(-n)),u=v(c*v(0)),l=v(v(s+v(n*i))-u),o=v(o*a),s=v(v(s+u)-v(o*i)),u=v(o*v(0)),p=v(n*v(0)),a=v(v(v(v(a*v(-0))*i)-u)-p),i=v(v(v(r*i)+u)-p),m[e+8>>2]=v(c*l)+v(v(v(r*s)-v(n*a))-v(o*i)),m[e+4>>2]=v(n*i)+v(v(v(r*l)-v(o*a))-v(c*s)),m[e>>2]=v(o*s)+v(v(v(r*i)-v(c*a))-v(n*l))}function rr(e){var t=0;return h[(e|=0)>>2]=16376,(t=h[e+156>>2])&&(d[e+160|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+156>>2]=0),h[e+156>>2]=0,o[e+160|0]=1,h[e+148>>2]=0,h[e+152>>2]=0,(t=h[e+136>>2])&&(d[e+140|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+136>>2]=0),h[e+136>>2]=0,o[e+140|0]=1,h[e+128>>2]=0,h[e+132>>2]=0,(t=h[e+116>>2])&&(d[e+120|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+116>>2]=0),h[e+116>>2]=0,o[e+120|0]=1,h[e+108>>2]=0,h[e+112>>2]=0,(t=h[e+96>>2])&&(d[e+100|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+96>>2]=0),h[e+96>>2]=0,o[e+100|0]=1,h[e+88>>2]=0,h[e+92>>2]=0,Ha(e),0|e}function or(e){var t=0,n=v(0);w=t=w-96|0,o[e+88|0]=1,1&o[29104]||Vl(29104)&&(h[7253]=0,h[7254]=0,h[7252]=1065353216,h[7255]=0,h[7256]=0,h[7258]=0,h[7259]=0,h[7257]=1065353216,h[7260]=0,h[7261]=0,h[7265]=0,h[7266]=0,h[7264]=-1082130432,h[7262]=1065353216,h[7263]=0,h[7267]=0,h[7268]=0,h[7270]=0,h[7271]=0,h[7269]=-1082130432,h[7272]=0,h[7273]=0,h[7274]=-1082130432,h[7275]=0,Fu(29104)),t=ji(t,0,96),r[h[h[e>>2]+76>>2]](e,29008,t,6),n=m[e+44>>2],m[e+72>>2]=m[t>>2]+n,m[e+56>>2]=m[t+48>>2]-n,m[e+76>>2]=n+m[t+20>>2],m[e+60>>2]=m[t+68>>2]-n,m[e+80>>2]=n+m[t+40>>2],m[e- -64>>2]=m[t+88>>2]-n,w=t+96|0}function ar(e){var t=0,n=v(0);w=t=w-96|0,o[e+84|0]=1,1&o[29216]||Vl(29216)&&(h[7281]=0,h[7282]=0,h[7280]=1065353216,h[7283]=0,h[7284]=0,h[7286]=0,h[7287]=0,h[7285]=1065353216,h[7288]=0,h[7289]=0,h[7293]=0,h[7294]=0,h[7292]=-1082130432,h[7290]=1065353216,h[7291]=0,h[7295]=0,h[7296]=0,h[7298]=0,h[7299]=0,h[7297]=-1082130432,h[7300]=0,h[7301]=0,h[7302]=-1082130432,h[7303]=0,Fu(29216)),t=ji(t,0,96),r[h[h[e>>2]+76>>2]](e,29120,t,6),n=m[e+44>>2],m[e+68>>2]=m[t>>2]+n,m[e+52>>2]=m[t+48>>2]-n,m[e+72>>2]=n+m[t+20>>2],m[e+56>>2]=m[t+68>>2]-n,m[e+76>>2]=n+m[t+40>>2],m[e+60>>2]=m[t+88>>2]-n,w=t+96|0}function sr(e,t,n,i){var a,s=0,c=0;if(h[7717]=h[7717]+1,a=0|r[h[6606]](36,16),h[a+28>>2]=-1,h[a+32>>2]=0,h[a+20>>2]=-1,h[a+12>>2]=-1,h[a+16>>2]=-1,h[a+8>>2]=i,h[a+4>>2]=n,h[a>>2]=t,n=h[e+4>>2],h[a+24>>2]=n,h[e+8>>2]==(0|n)&&!((0|n)>=(0|(i=n?n<<1:1)))){if(i&&(h[7717]=h[7717]+1,s=0|r[h[6606]](i<<2,16),n=h[e+4>>2]),(0|n)>=1)for(t=0;h[(c=t<<2)+s>>2]=h[h[e+12>>2]+c>>2],(0|n)!=(0|(t=t+1|0)););(t=h[e+12>>2])&&(d[e+16|0]&&(t&&(h[7718]=h[7718]+1,r[h[6607]](t)),n=h[e+4>>2]),h[e+12>>2]=0),h[e+12>>2]=s,o[e+16|0]=1,h[e+8>>2]=i}return h[h[e+12>>2]+(n<<2)>>2]=a,h[e+4>>2]=n+1,a}function cr(e){var t,n,i=0,a=0,s=0;if(h[e>>2]=16848,o[e+28|0]=0,h[e+24>>2]=0,h[e+72>>2]=0,o[e+20|0]=1,h[e+16>>2]=0,o[e+48|0]=1,h[e+8>>2]=0,h[e+12>>2]=0,h[e+44>>2]=0,o[e+68|0]=1,h[e+36>>2]=0,h[e+40>>2]=0,h[e- -64>>2]=0,h[e+56>>2]=0,h[e+60>>2]=0,h[7717]=h[7717]+1,t=0|r[h[6606]](32,16),(0|(n=h[e+8>>2]))>=1)for(;i=(a=s<<4)+t|0,a=a+h[e+16>>2]|0,h[i>>2]=h[a>>2],h[i+4>>2]=h[a+4>>2],h[i+8>>2]=h[a+8>>2],h[i+12>>2]=h[a+12>>2],(0|n)!=(0|(s=s+1|0)););(i=h[e+16>>2])&&(d[e+20|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+16>>2]=0),h[e+16>>2]=t,o[e+20|0]=1,h[e+12>>2]=2,ln(e)}function lr(e,t){var n=v(0),i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0);!e|!(1&h[e+180>>2])||(g=m[e+172>>2],n=m[e+44>>2],l=m[e+12>>2],u=m[e+28>>2],r=m[e+36>>2],p=m[e+20>>2],y=m[e+168>>2],i=m[e+40>>2],d=m[e+8>>2],f=m[e+24>>2],o=m[e+164>>2],_=m[e+4>>2],h[t+12>>2]=0,b=r,a=o,o=m[t>>2],s=m[t+4>>2],r=m[t+8>>2],c=v(a*v(v(v(_*o)+v(p*s))+v(b*r))),C=i,i=v(y*v(v(v(o*d)+v(s*f))+v(r*i))),a=n,n=v(g*v(v(v(o*l)+v(s*u))+v(r*n))),m[t+8>>2]=v(v(b*c)+v(C*i))+v(a*n),m[t+4>>2]=v(v(p*c)+v(f*i))+v(u*n),m[t>>2]=v(v(_*c)+v(d*i))+v(l*n))}function ur(e,t){var n,i=0,a=0,s=0,c=0,l=0;if(w=n=w-96|0,ji(n,0,96),t=t||h[h[e+880>>2]>>2],(0|(i=h[e+772>>2]))==h[e+776>>2]&&!((0|i)>=(0|(a=i?i<<1:1)))){if(a&&(h[7717]=h[7717]+1,c=0|r[h[6606]](g(a,104),16),i=h[e+772>>2]),(0|i)>=1)for(;Vn((l=g(s,104))+c|0,h[e+780>>2]+l|0,104),(0|(s=s+1|0))!=(0|i););(i=h[e+780>>2])&&(d[e+784|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+780>>2]=0),h[e+780>>2]=c,h[e+776>>2]=a,o[e+784|0]=1,i=h[e+772>>2]}i=h[e+780>>2]+g(i,104)|0,h[i+4>>2]=t,h[i>>2]=0,Vn(i+8|0,n,96),h[e+772>>2]=h[e+772>>2]+1,w=n+96|0}function pr(e,t,n){var i,o,a,s,c,l,u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0);w=i=w-48|0,u=m[t+8>>2],p=m[t>>2],d=m[t+4>>2],h[n+12>>2]=0,f=u,u=v(v(1)/v(S(v(v(v(p*p)+v(d*d))+v(u*u))))),m[n+8>>2]=f*u,m[n+4>>2]=d*u,m[n>>2]=p*u,t=h[e+120>>2],s=i+32|0,o=h[e+124>>2],c=a=h[e>>2]+(o>>1)|0,l=n,1&o&&(t=h[t+h[a>>2]>>2]),r[t](s,c,l),u=m[n>>2],p=m[n+4>>2],d=m[n+8>>2],h[i+12>>2]=0,m[i+8>>2]=-d,m[i+4>>2]=-p,m[i>>2]=-u,function(e,t,n){var i,o,a,s=v(0),c=v(0),l=v(0),u=0,p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0);w=i=w-32|0,o=h[t+124>>2],a=h[t+4>>2]+(o>>1)|0,u=h[t+120>>2],u=1&o?h[h[a>>2]+u>>2]:u,p=m[t+16>>2],d=m[t+12>>2],f=m[t+32>>2],_=m[t+24>>2],b=m[t+28>>2],g=m[t+48>>2],y=m[t+40>>2],C=m[t+44>>2],A=m[t+8>>2],s=m[n+8>>2],c=m[n>>2],l=m[n+4>>2],h[i+12>>2]=0,m[i+8>>2]=v(v(c*y)+v(l*C))+v(s*g),m[i+4>>2]=v(v(c*_)+v(l*b))+v(s*f),m[i>>2]=v(v(A*c)+v(d*l))+v(p*s),r[u](i+16|0,a,i),p=m[t+104>>2],d=m[t- -64>>2],f=m[t+60>>2],_=m[t+108>>2],b=m[t+80>>2],g=m[t+72>>2],y=m[t+76>>2],C=m[t+112>>2],A=m[t+96>>2],x=m[t+88>>2],S=m[t+92>>2],T=m[t+56>>2],s=m[i+24>>2],c=m[i+16>>2],l=m[i+20>>2],h[e+12>>2]=0,m[e+8>>2]=C+v(v(v(c*x)+v(l*S))+v(s*A)),m[e+4>>2]=_+v(v(v(c*g)+v(l*y))+v(s*b)),m[e>>2]=p+v(v(v(c*T)+v(l*f))+v(s*d)),w=i+32|0}(i+16|0,e,i),u=m[i+16>>2],p=m[i+32>>2],d=m[i+20>>2],f=m[i+36>>2],_=m[i+24>>2],b=m[i+40>>2],h[n+28>>2]=0,m[n+24>>2]=b-_,m[n+20>>2]=f-d,m[n+16>>2]=p-u,w=i+48|0}function hr(e,t,n,i,o){e|=0,t|=0,n=v(n),i|=0,o|=0;var a,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0);return w=a=w-48|0,h[a+44>>2]=o,h[a+40>>2]=i,u=m[e- -64>>2],p=m[e+60>>2],d=m[e+80>>2],f=m[e+72>>2],_=m[e+76>>2],b=m[e+96>>2],g=m[e+88>>2],y=m[e+92>>2],C=m[e+56>>2],s=m[t+8>>2],c=m[t>>2],l=m[t+4>>2],t=h[e+48>>2],h[a+28>>2]=0,m[a+24>>2]=v(v(c*g)+v(l*y))+v(s*b),m[a+20>>2]=v(v(c*f)+v(l*_))+v(s*d),m[a+32>>2]=n,h[a+8>>2]=t,m[a+16>>2]=v(v(C*c)+v(p*l))+v(u*s),h[a+12>>2]=a+40,e=h[e+44>>2],n=v(r[h[h[e>>2]+12>>2]](e,a+8|0,1)),w=a+48|0,v(n)}function dr(e){var t=0;(t=h[e+72>>2])&&(d[e+76|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+72>>2]=0),h[e+72>>2]=0,o[e+76|0]=1,h[(t=e- -64|0)>>2]=0,h[t+4>>2]=0,(t=h[e+52>>2])&&(d[e+56|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+52>>2]=0),h[e+52>>2]=0,o[e+56|0]=1,h[e+44>>2]=0,h[e+48>>2]=0,(t=h[e+32>>2])&&(d[e+36|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+32>>2]=0),h[e+32>>2]=0,o[e+36|0]=1,h[e+24>>2]=0,h[e+28>>2]=0,(t=h[e+12>>2])&&(d[e+16|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+12>>2]=0),h[e+12>>2]=0,o[e+16|0]=1,h[e+4>>2]=0,h[e+8>>2]=0}function fr(e,t,n,i,r){var a;w=a=w-32|0,h[a+28>>2]=e,m[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,h[a+12>>2]=r,e=h[a+28>>2],m[e>>2]=m[a+24>>2],h[e+4>>2]=h[a+20>>2],Bu(e+8|0),h[e+72>>2]=h[a+16>>2],n=h[a+12>>2],i=h[n+4>>2],h[e+76>>2]=h[n>>2],h[e+80>>2]=i,i=h[n+12>>2],h[e+84>>2]=h[n+8>>2],h[e+88>>2]=i,m[e+92>>2]=0,m[e+96>>2]=0,m[e+100>>2]=.5,m[e+104>>2]=0,m[e+108>>2]=0,m[e+112>>2]=.800000011920929,m[e+116>>2]=1,o[e+120|0]=0,m[e+124>>2]=.004999999888241291,m[e+128>>2]=.009999999776482582,m[e+132>>2]=.009999999776482582,m[e+136>>2]=.009999999776482582,Rc(e+8|0),w=a+32|0}function _r(e){var t=0;return h[(e|=0)>>2]=16640,h[e+108>>2]&&(t=h[e+112>>2],r[h[h[t>>2]>>2]](t),(t=h[e+112>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+108>>2],r[h[h[t>>2]>>2]](t),(t=h[e+108>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),(t=h[e+88>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),(t=h[e+84>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),(t=h[e+80>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),(t=h[e+60>>2])&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),d[e+100|0]&&(t=h[e+92>>2],r[h[h[t>>2]>>2]](t),(t=h[e+92>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),0|e}function mr(e,t,n,i){var r,o,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0);return r=(h[t+4>>2]<<4)+e|0,l=m[r>>2],o=(h[t>>2]<<4)+e|0,d=m[o>>2],f=v(l-d),e=(h[t+8>>2]<<4)+e|0,a=m[r+4>>2],s=v(m[e+4>>2]-a),_=m[o+4>>2],a=v(a-_),b=v(m[e>>2]-l),p=v(v(f*s)-v(a*b)),u=a,a=m[r+8>>2],c=v(m[e+8>>2]-a),l=m[o+8>>2],a=v(a-l),s=v(v(u*c)-v(a*s)),c=v(v(a*b)-v(f*c)),(a=v(S(v(v(p*p)+v(v(s*s)+v(c*c))))))!=v(0)?(a=v(v(1)/a),g=v(p*a),y=v(c*a),u=v(s*a)):u=v(1),v(v(v(u*v(m[n>>2]-d))+v(y*v(m[n+4>>2]-_)))+v(g*v(m[n+8>>2]-l)))>i}function br(e,t,n,i,a,s,c,l,u,p,f){var _,m=0,b=0,v=0,y=0,C=0;if(m=_=h[e+68>>2],(0|_)==h[e+72>>2]&&(m=_,!((0|_)>=(0|(v=_?_<<1:1))))){if(v?(h[7717]=h[7717]+1,y=0|r[h[6606]](g(v,152),16),m=h[e+68>>2]):m=_,(0|(b=m))>=1)for(m=0;Vn((C=g(m,152))+y|0,h[e+76>>2]+C|0,152),(0|b)!=(0|(m=m+1|0)););(b=h[e+76>>2])&&(d[e+80|0]&&b&&(h[7718]=h[7718]+1,r[h[6607]](b)),h[e+76>>2]=0),h[e+76>>2]=y,h[e+72>>2]=v,o[e+80|0]=1,m=h[e+68>>2]}h[e+68>>2]=m+1,b=h[e+76>>2]+g(_,152)|0,h[b+140>>2]=a,Ie(e,b,t,n,i,s,c,l,u,p,f)}function gr(e){var t,n=0;(n=h[e>>2])&&Us(e,n),(n=h[e+4>>2])&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+4>>2]=0,h[e+8>>2]=-1,(n=h[e+32>>2])&&(d[e+36|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+32>>2]=0),h[e+32>>2]=0,h[e+16>>2]=0,o[e+36|0]=1,h[e+24>>2]=0,h[e+28>>2]=0,n=0,(t=h[e+52>>2])&&(d[e+56|0]&&(t&&(h[7718]=h[7718]+1,r[h[6607]](t)),n=h[e+32>>2]),h[e+52>>2]=0),h[e+52>>2]=0,o[e+56|0]=1,h[e+44>>2]=0,h[e+48>>2]=0,n&&(d[e+36|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+32>>2]=0),h[e+32>>2]=0,o[e+36|0]=1,h[e+24>>2]=0,h[e+28>>2]=0}function vr(e,t,n,i,r){var a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0);(0|t)==(0|i)|(0|t)==(0|n)|(0|n)==(0|i)||(wn(e,r),r=h[e+760>>2]+g(h[e+752>>2],44)|0,t=h[e+720>>2]+g(t,104)|0,h[r+-36>>2]=t,n=h[e+720>>2]+g(n,104)|0,h[r+-32>>2]=n,i=h[e+720>>2]+g(i,104)|0,h[r+-28>>2]=i,s=m[t+8>>2],u=v(m[n+8>>2]-s),a=m[t+12>>2],c=v(m[i+12>>2]-a),a=v(m[n+12>>2]-a),s=v(m[i+8>>2]-s),l=v(v(u*c)-v(a*s)),p=v(l*l),d=a,a=m[t+16>>2],l=v(m[i+16>>2]-a),a=v(m[n+16>>2]-a),c=v(v(d*l)-v(a*c)),s=v(v(a*s)-v(u*l)),m[r+-8>>2]=S(v(p+v(v(c*c)+v(s*s)))),o[e+924|0]=1)}function yr(e,t,n){var i;if(e|=0,!((i=8!=(0|(t|=0)))|8!=(0|(n|=0))))return h[e+60>>2];if(!(1!=(0|n)|i))return h[e+76>>2];if(!(1!=(0|t)|8!=(0|n)))return h[e+80>>2];if(!(t|n))return h[e+72>>2];if(!(28!=(0|n)|(0|t)>19))return h[e+88>>2];if(!(28!=(0|t)|(0|n)>19))return h[e+84>>2];e:{if((0|t)<=19){if((0|n)<=19)return h[e+32>>2];if(n+-21>>>0>8)break e;return h[e+36>>2]}if(!((0|n)>19|t+-21>>>0>8))return h[e+40>>2];if(31==(0|t))return 31==(0|n)?h[e+48>>2]:h[e+44>>2]}return 31==(0|n)?h[e+52>>2]:h[e+56>>2]}function Cr(e){var t=0,n=0,i=0,o=0,a=0,s=0;if(h[e+852>>2]>=1)for(;;){t=h[(n=i<<2)+h[e+860>>2]>>2],r[h[h[t>>2]+16>>2]](t,m[e+452>>2]),t=h[n+h[e+860>>2]>>2];e:if(d[t+152|0]){if(t&&(h[7718]=h[7718]+1,r[h[6607]](t)),i=i+-1|0,!((0|(t=h[e+852>>2]))<1)){for(o=h[e+860>>2],a=h[n+o>>2],n=0;;){if(h[(s=(n<<2)+o|0)>>2]!=(0|a)){if((0|(n=n+1|0))!=(0|t))continue;break e}break}(0|n)>=(0|t)||(n=(t=t+-1|0)<<2,h[s>>2]=h[n+o>>2],h[n+h[e+860>>2]>>2]=a,h[e+852>>2]=t)}}else t=h[e+852>>2];if(!((0|(i=i+1|0))<(0|t)))break}}function Ar(e,t,n,i,a,s){var c,l=0,u=0,p=0,f=0,_=0;if(l=c=h[e+88>>2],(0|c)==h[e+92>>2]&&(l=c,!((0|c)>=(0|(p=c?c<<1:1))))){if(p?(h[7717]=h[7717]+1,f=0|r[h[6606]](g(p,152),16),l=h[e+88>>2]):l=c,(0|(u=l))>=1)for(l=0;Vn((_=g(l,152))+f|0,h[e+96>>2]+_|0,152),(0|u)!=(0|(l=l+1|0)););(u=h[e+96>>2])&&(d[e+100|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u)),h[e+96>>2]=0),h[e+96>>2]=f,h[e+92>>2]=p,o[e+100|0]=1,l=h[e+88>>2]}h[e+88>>2]=l+1,u=h[e+96>>2]+g(c,152)|0,h[u+140>>2]=a,We(e,u,t,n,i,s)}function xr(e,t,n){var i,r,o=v(0),a=v(0),s=v(0),c=0,l=v(0),u=v(0);a=v(m[t+60>>2]*v(.5)),i=h[t+64>>2],c=(r=h[t+68>>2])<<2,o=m[n>>2],s=v(o*o),o=m[n+4>>2],s=v(s+v(o*o)),o=m[n+8>>2];e:{if(m[c+n>>2]>v(m[t+52>>2]*v(S(v(s+v(o*o))))))h[(i<<2)+e>>2]=0,m[e+c>>2]=a,n=h[t+72>>2];else{if(o=m[(i<<2)+n>>2],c=n,n=h[t+72>>2],l=m[c+(n<<2)>>2],(u=v(S(v(v(o*o)+v(l*l)))))>v(1.1920928955078125e-7)){s=o,o=v(m[t+56>>2]/u),m[(i<<2)+e>>2]=s*o,m[(r<<2)+e>>2]=-a,a=v(l*o);break e}h[(i<<2)+e>>2]=0,m[(r<<2)+e>>2]=-a}a=v(0)}m[(n<<2)+e>>2]=a}function Sr(e,t){var n,i=0,r=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=w-16|0,e=h[n+12>>2],h[t+12>>2]=e,h[n+4>>2]=h[h[t+12>>2]+4>>2],t=h[n+4>>2],h[12+(i=w-16|0)>>2]=e,h[h[i+12>>2]+8>>2]==(0|t)&&(h[12+(i=w-16|0)>>2]=e,r=h[h[i+12>>2]+4>>2],h[12+(i=w-16|0)>>2]=e,h[i+8>>2]=r,No(t=e,i=h[i+8>>2]?h[i+8>>2]<<1:1)),i=h[e+12>>2]+(h[e+4>>2]<<4)|0,h[12+(t=w-16|0)>>2]=16,h[t+8>>2]=i,i=h[n+8>>2],r=h[i+4>>2],t=h[t+8>>2],h[t>>2]=h[i>>2],h[t+4>>2]=r,r=h[i+12>>2],h[t+8>>2]=h[i+8>>2],h[t+12>>2]=r,h[e+4>>2]=h[e+4>>2]+1,w=n+16|0}function Tr(e,t,n){var i;if(w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,h[i+20>>2]=n,t=w-16|0,e=h[i+28>>2],h[t+12>>2]=e,h[i+16>>2]=h[h[t+12>>2]+4>>2],h[i+24>>2]>2])for(h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)h[i+12>>2]=h[i+12>>2]+1;else for(t=h[i+24>>2],h[12+(n=w-16|0)>>2]=e,(0|t)>h[h[n+12>>2]+4>>2]&&Io(e,h[i+24>>2]),h[i+8>>2]=h[i+16>>2];h[i+8>>2]>2];)h[h[e+12>>2]+(h[i+8>>2]<<2)>>2]=h[h[i+20>>2]>>2],h[i+8>>2]=h[i+8>>2]+1;h[e+4>>2]=h[i+24>>2],w=i+32|0}function Er(e,t,n){var i;if(w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,h[i+20>>2]=n,t=w-16|0,e=h[i+28>>2],h[t+12>>2]=e,h[i+16>>2]=h[h[t+12>>2]+4>>2],h[i+24>>2]>2])for(h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)h[i+12>>2]=h[i+12>>2]+1;else for(t=h[i+24>>2],h[12+(n=w-16|0)>>2]=e,(0|t)>h[h[n+12>>2]+4>>2]&&function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=w-16|0,e=h[n+12>>2],h[t+12>>2]=e,h[h[t+12>>2]+8>>2]>2]&&(h[n+4>>2]=function(e,t){var n=0;return w=n=w-16|0,h[n+8>>2]=e,h[n+4>>2]=t,e=h[n+8>>2],h[n+4>>2]?h[n+12>>2]=function(e,t){var n=0;return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,h[n+4>>2]=0,e=g(h[n+8>>2],104),h[7717]=h[7717]+1,e=0|r[h[6606]](e,16),w=n+16|0,e}(e,h[n+4>>2]):h[n+12>>2]=0,w=n+16|0,h[n+12>>2]}(e,h[n+8>>2]),h[12+(t=w-16|0)>>2]=e,Go(e,h[h[t+12>>2]+4>>2],h[n+4>>2]),h[12+(t=w-16|0)>>2]=e,cc(e,h[h[t+12>>2]+4>>2]),Lc(e),o[e+16|0]=1,h[e+12>>2]=h[n+4>>2],h[e+8>>2]=h[n+8>>2]),w=n+16|0}(e,h[i+24>>2]),h[i+8>>2]=h[i+16>>2];h[i+8>>2]>2];)Vn(h[e+12>>2]+g(h[i+8>>2],104)|0,h[i+20>>2],104),h[i+8>>2]=h[i+8>>2]+1;h[e+4>>2]=h[i+24>>2],w=i+32|0}function Pr(e){h[e>>2]=19780,o[e+20|0]=1,h[e+16>>2]=0,o[e+40|0]=1,h[e+8>>2]=0,h[e+12>>2]=0,h[e+36>>2]=0,o[e+60|0]=1,h[e+28>>2]=0,h[e+32>>2]=0,h[e+56>>2]=0,o[e+80|0]=1,h[e+48>>2]=0,h[e+52>>2]=0,h[e+76>>2]=0,o[e+100|0]=1,h[e+68>>2]=0,h[e+72>>2]=0,h[e+96>>2]=0,o[e+120|0]=1,h[e+88>>2]=0,h[e+92>>2]=0,h[e+116>>2]=0,o[e+140|0]=1,h[e+108>>2]=0,h[e+112>>2]=0,h[e+136>>2]=0,h[e+128>>2]=0,h[e+132>>2]=0,o[e+160|0]=1,h[e+156>>2]=0,h[e+148>>2]=0,h[e+152>>2]=0,o[e+180|0]=1,h[e+192>>2]=0,h[e+176>>2]=0,h[e+168>>2]=0,h[e+172>>2]=0}function Or(e,t,n){var i,r;for(h[28+(i=w-32|0)>>2]=e,h[i+24>>2]=0,h[i+20>>2]=t,h[i+16>>2]=n,r=h[i+28>>2],h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)e=h[r+12>>2]+g(h[i+12>>2],44)|0,n=h[e+4>>2],t=h[i+16>>2]+g(h[i+12>>2],44)|0,h[t>>2]=h[e>>2],h[t+4>>2]=n,h[t+40>>2]=h[e+40>>2],n=h[e+36>>2],h[t+32>>2]=h[e+32>>2],h[t+36>>2]=n,n=h[e+28>>2],h[t+24>>2]=h[e+24>>2],h[t+28>>2]=n,n=h[e+20>>2],h[t+16>>2]=h[e+16>>2],h[t+20>>2]=n,n=h[e+12>>2],h[t+8>>2]=h[e+8>>2],h[t+12>>2]=n,h[i+12>>2]=h[i+12>>2]+1}function Mr(e,t){t|=0;var n=0,i=0,a=0,s=0,c=0;if(!(!(n=h[12+(e|=0)>>2])|!d[e+8|0])){if((0|(i=h[t+4>>2]))==h[t+8>>2]&&!((0|i)>=(0|(a=i?i<<1:1)))){if(a&&(h[7717]=h[7717]+1,s=0|r[h[6606]](a<<2,16),i=h[t+4>>2]),(0|i)>=1)for(n=0;h[(c=n<<2)+s>>2]=h[h[t+12>>2]+c>>2],(0|(n=n+1|0))!=(0|i););(n=h[t+12>>2])&&(d[t+16|0]&&(n&&(h[7718]=h[7718]+1,r[h[6607]](n)),i=h[t+4>>2]),h[t+12>>2]=0),h[t+12>>2]=s,o[t+16|0]=1,h[t+8>>2]=a,n=h[e+12>>2]}h[h[t+12>>2]+(i<<2)>>2]=n,h[t+4>>2]=i+1}}function Rr(e,t,n){var i=0;return(i=h[e+4>>2])?h[e+4>>2]=0:(h[7717]=h[7717]+1,i=0|r[h[6606]](44,16),h[i>>2]=0,h[i+4>>2]=0,h[i+40>>2]=0,h[i+32>>2]=0,h[i+36>>2]=0,h[i+24>>2]=0,h[i+28>>2]=0,h[i+16>>2]=0,h[i+20>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0),h[i+36>>2]=n,h[i+32>>2]=0,h[i+40>>2]=0,n=h[t+4>>2],h[i>>2]=h[t>>2],h[i+4>>2]=n,n=h[t+12>>2],h[i+8>>2]=h[t+8>>2],h[i+12>>2]=n,n=h[t+20>>2],h[i+16>>2]=h[t+16>>2],h[i+20>>2]=n,n=h[t+28>>2],h[i+24>>2]=h[t+24>>2],h[i+28>>2]=n,Rt(e,h[e>>2],i),h[e+12>>2]=h[e+12>>2]+1,i}function Ir(e){var t,n,i=0;if(w=n=w-16|0,t=h[6605],h[t>>2]!=(0|e)){e:{if(i=h[t+24>>2])for(;;){if(h[i>>2]==(0|e))break e;if(!(i=h[i+28>>2]))break}i=Tl(36),h[i+4>>2]=0,h[i+8>>2]=0,h[i>>2]=e,h[i+32>>2]=0,h[i+24>>2]=0,h[i+28>>2]=0,h[i+20>>2]=t,h[i+12>>2]=0,h[i+16>>2]=0,wl(i),h[i+28>>2]=h[t+24>>2],h[t+24>>2]=i}h[6605]=i}else i=t;h[i+4>>2]=h[i+4>>2]+1,e=h[i+16>>2],h[i+16>>2]=e+1,e||(P(n+8|0,0),e=h[7705],h[i+12>>2]=(h[n+12>>2]-h[e+4>>2]|0)+g(h[n+8>>2]-h[e>>2]|0,1e6)),w=n+16|0}function wr(e,t){e|=0,t=v(t);var n=0,i=0;if(Ir(18214),(n=h[e+84>>2])&&r[n](e,t),r[h[h[e>>2]+140>>2]](e,t),n=0,h[e+32>>2]=0,m[e+28>>2]=t,h[e+48>>2]=r[h[h[e>>2]+20>>2]](e),function(e,t){var n,i=0,a=0,s=0,c=v(0),l=0,u=0,_=v(0),b=v(0),y=v(0),x=v(0),S=v(0),T=0,E=0,P=0,O=v(0),M=v(0),R=0,I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0);if(w=n=w-464|0,Ir(18323),Ir(18348),i=h[e+316>>2],h[e+308>>2]>=1)for(;a=h[e+24>>2],r[h[h[a>>2]+16>>2]](a,h[(u<<2)+i>>2]),i=h[e+316>>2],(0|(u=u+1|0))>2];);if(i&&(d[e+320|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+316>>2]=0),h[e+316>>2]=0,h[e+308>>2]=0,h[e+312>>2]=0,o[e+320|0]=1,Bo(),h[e+232>>2]>=1)for(T=n- -64|0,u=0;;){a=h[h[e+240>>2]+(u<<2)>>2],h[a+244>>2]=1065353216;e:{switch(h[a+216>>2]+-2|0){case 0:case 3:break e}if(!(3&d[a+204|0])&&(vh(a,t,n+400|0),d[e+44|0]&&(c=m[a+252>>2],(c=v(c*c))!=v(0)&&(_=c,c=v(m[n+448>>2]-m[a+52>>2]),b=v(c*c),c=v(m[n+452>>2]-m[a+56>>2]),b=v(b+v(c*c)),c=v(m[n+456>>2]-m[a+60>>2]),_>2]+4>>2]<=19&&(h[7312]=h[7312]+1,i=h[e+68>>2],i=0|r[h[h[i>>2]+36>>2]](i),s=h[e+24>>2],h[n+308>>2]=1065353216,h[n+312>>2]=-65535,l=h[a+64>>2],h[n+324>>2]=h[a+60>>2],h[n+328>>2]=l,l=h[a+56>>2],h[n+316>>2]=h[a+52>>2],h[n+320>>2]=l,l=h[n+460>>2],h[n+340>>2]=h[n+456>>2],h[n+344>>2]=l,l=h[n+452>>2],h[n+332>>2]=h[n+448>>2],h[n+336>>2]=l,h[n+380>>2]=0,h[n+304>>2]=18736,h[n+392>>2]=i,h[n+396>>2]=s,h[n+388>>2]=0,h[n+384>>2]=a,s=h[a+248>>2],h[4+(i=n+248|0)>>2]=35,h[i+8>>2]=0,h[i>>2]=13316,h[i+44>>2]=1025758986,h[i+20>>2]=1065353216,h[i+24>>2]=0,h[i+12>>2]=1065353216,h[i+16>>2]=1065353216,h[i>>2]=13444,h[n+292>>2]=s,h[n+276>>2]=s,h[n+252>>2]=8,h[n+248>>2]=11556,h[n+388>>2]=h[e+56>>2],i=h[a+188>>2],p[n+312>>1]=f[i+4>>1],p[n+314>>1]=f[i+6>>1],i=h[n+412>>2],h[n+192>>2]=h[n+408>>2],h[n+196>>2]=i,i=h[n+404>>2],h[n+184>>2]=h[n+400>>2],h[n+188>>2]=i,i=h[n+428>>2],h[n+208>>2]=h[n+424>>2],h[n+212>>2]=i,i=h[n+420>>2],h[n+200>>2]=h[n+416>>2],h[n+204>>2]=i,i=h[n+444>>2],h[n+224>>2]=h[n+440>>2],h[n+228>>2]=i,i=h[n+436>>2],h[n+216>>2]=h[n+432>>2],h[n+220>>2]=i,i=h[n+460>>2],h[n+240>>2]=h[n+456>>2],h[n+244>>2]=i,i=h[n+452>>2],h[n+232>>2]=h[n+448>>2],h[n+236>>2]=i,s=h[12+(i=a+4|0)>>2],h[n+192>>2]=h[i+8>>2],h[n+196>>2]=s,s=h[i+4>>2],h[n+184>>2]=h[i>>2],h[n+188>>2]=s,s=h[a+32>>2],h[n+208>>2]=h[a+28>>2],h[n+212>>2]=s,s=h[a+24>>2],h[n+200>>2]=h[a+20>>2],h[n+204>>2]=s,s=h[a+48>>2],h[n+224>>2]=h[a+44>>2],h[n+228>>2]=s,s=h[a+40>>2],h[n+216>>2]=h[a+36>>2],h[n+220>>2]=s,Te(e,n+248|0,i,n+184|0,n+304|0,v(0)),(c=m[n+308>>2])>2]-m[a+56>>2])),x=v(c*v(m[n+448>>2]-m[a+52>>2])),S=v(c*v(m[n+456>>2]-m[a+60>>2])),z=v(v(v(y*v(-m[n+352>>2]))-v(x*m[n+348>>2]))-v(S*m[n+356>>2])),i=h[e+24>>2],l=0|r[h[h[i>>2]+12>>2]](i,a,h[n+380>>2]),(0|(s=h[e+308>>2]))==h[e+312>>2]&&!((0|s)>=(0|(E=s?s<<1:1)))){if(i=0,P=0,E&&(h[7717]=h[7717]+1,P=0|r[h[6606]](E<<2,16),s=h[e+308>>2]),(0|s)>=1)for(;h[(R=i<<2)+P>>2]=h[h[e+316>>2]+R>>2],(0|s)!=(0|(i=i+1|0)););(i=h[e+316>>2])&&(d[e+320|0]&&(i&&(h[7718]=h[7718]+1,r[h[6607]](i)),s=h[e+308>>2]),h[e+316>>2]=0),h[e+316>>2]=P,o[e+320|0]=1,h[e+312>>2]=E}h[h[e+316>>2]+(s<<2)>>2]=l,h[e+308>>2]=s+1,i=h[n+380>>2],I=m[i+20>>2],D=m[i+36>>2],L=m[i+40>>2],N=m[i+8>>2],F=m[i+24>>2],c=m[i+60>>2],j=m[i+56>>2],O=m[i+52>>2],B=m[i+44>>2],k=m[i+12>>2],_=m[i+28>>2],V=m[i+4>>2],b=m[a+60>>2],M=m[a+52>>2],U=m[a+56>>2],h[n+8>>2]=0,h[n+12>>2]=0,h[n+28>>2]=0,h[n>>2]=0,h[n+4>>2]=0,x=v(x+M),y=v(y+U),S=v(S+b),M=v(v(v(k*x)+v(_*y))+v(B*S)),b=_,_=v(-j),m[n+24>>2]=M+v(v(v(b*_)-v(k*O))-v(B*c)),m[n+20>>2]=v(v(v(x*N)+v(y*F))+v(S*L))+v(v(v(F*_)-v(N*O))-v(L*c)),m[n+16>>2]=v(v(v(x*V)+v(y*I))+v(S*D))+v(v(v(I*_)-v(V*O))-v(D*c)),i=h[n+352>>2],h[T>>2]=h[n+348>>2],h[T+4>>2]=i,i=h[n+360>>2],h[T+8>>2]=h[n+356>>2],h[T+12>>2]=i,o[n+116|0]=0,h[n+112>>2]=0,h[n+92>>2]=0,h[n+84>>2]=0,h[n+88>>2]=0,m[n+80>>2]=z,h[n+144>>2]=0,h[n+148>>2]=0,h[n+136>>2]=0,h[n+140>>2]=0,h[n+128>>2]=0,h[n+132>>2]=0,h[n+120>>2]=0,h[n+124>>2]=0,i=g(ta(l,n),184)+l|0,h[i+96>>2]=0,m[i+88>>2]=C(v(A(v(m[a+224>>2]*m[h[n+380>>2]+224>>2]),v(-10))),v(10)),s=h[a+56>>2],h[i+52>>2]=h[a+52>>2],h[i+56>>2]=s,s=h[a+64>>2],h[i+60>>2]=h[a+60>>2],h[i+64>>2]=s,h[i+48>>2]=0,m[i+44>>2]=S,m[i+40>>2]=y,m[i+36>>2]=x}Bo()}}if(!((0|(u=u+1|0))>2]))break}Bo(),w=n+464|0}(e,t),r[h[h[e>>2]+44>>2]](e),r[h[h[e>>2]+148>>2]](e),m[e+104>>2]=t,r[h[h[e>>2]+152>>2]](e,e+92|0),r[h[h[e>>2]+144>>2]](e,t),Ir(18243),h[e+280>>2]>=1)for(;i=h[h[e+288>>2]+(n<<2)>>2],r[h[h[i>>2]+8>>2]](i,e,t),(0|(n=n+1|0))>2];);Bo(),r[h[h[e>>2]+156>>2]](e,t),(n=h[e+80>>2])&&r[n](e,t),Bo()}function Dr(e,t){var n,i=0;for(w=n=w-16|0,h[n+8>>2]=e,h[n+4>>2]=t,e=h[n+8>>2],h[n+12>>2]=e,i=e+48|0,t=e;h[12+(w-16|0)>>2]=t,(0|i)!=(0|(t=t+16|0)););t=h[n+4>>2],i=h[t+4>>2],h[e>>2]=h[t>>2],h[e+4>>2]=i,i=h[t+12>>2],h[e+8>>2]=h[t+8>>2],h[e+12>>2]=i,t=h[n+4>>2],i=h[t+20>>2],h[e+16>>2]=h[t+16>>2],h[e+20>>2]=i,i=h[t+28>>2],h[e+24>>2]=h[t+24>>2],h[e+28>>2]=i,t=h[n+4>>2],i=h[t+36>>2],h[e+32>>2]=h[t+32>>2],h[e+36>>2]=i,i=h[t+44>>2],h[e+40>>2]=h[t+40>>2],h[e+44>>2]=i,w=n+16|0}function Lr(e){var t,n=0,i=0,a=0,s=0;if(h[(e|=0)>>2]=10568,n=h[e+8>>2],(0|(t=h[n+8>>2]))>=1){for(;(i=h[8+(h[n+16>>2]+g(a,12)|0)>>2])&&(r[h[h[i>>2]>>2]](i),s=h[e+4>>2],r[h[h[s>>2]+60>>2]](s,i)),(0|t)!=(0|(a=a+1|0)););n=h[e+8>>2]}return Si(n),n=h[e+8>>2],r[h[h[n>>2]>>2]](n),(n=h[e+8>>2])&&(h[7718]=h[7718]+1,r[h[6607]](n)),(n=h[e+24>>2])&&(d[e+28|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+24>>2]=0),h[e+24>>2]=0,o[e+28|0]=1,h[e+16>>2]=0,h[e+20>>2]=0,0|e}function Nr(e,t,n,i){for(var r=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0,d=0;;){for(u=n,a=h[e+12>>2],p=h[a+((n+i|0)/2<<3)>>2],s=n,r=i;;)if(s=(n=s)+1|0,!(h[(o=(n<<3)+a|0)>>2]<(0|p))){for(c=r;c=(r=c)+-1|0,h[(l=(d=r<<3)+a|0)>>2]>(0|p););if((0|n)<=(0|r)&&(n=h[o>>2],r=h[o+4>>2],a=h[l+4>>2],h[o>>2]=h[l>>2],h[o+4>>2]=a,o=h[e+12>>2]+d|0,h[o>>2]=n,h[o+4>>2]=r,r=c,n=s),!((0|n)<=(0|r)))break;a=h[e+12>>2],s=n}if((0|r)>(0|u)&&Nr(e,t,u,r),!((0|n)<(0|i)))break}}function Fr(e,t,n,i){var r=0,a=0;r=h[t+4>>2],h[e+292>>2]=h[t>>2],h[e+296>>2]=r,r=h[t+12>>2],h[e+300>>2]=h[t+8>>2],h[e+304>>2]=r,o[e+356|0]=1,a=h[t+4>>2],r=e+(h[e>>2]<<4)|0,h[r+4>>2]=h[t>>2],h[r+8>>2]=a,a=h[t+12>>2],h[r+12>>2]=h[t+8>>2],h[r+16>>2]=a,a=h[n+12>>2],t=(h[e>>2]<<4)+e|0,h[t+92>>2]=h[n+8>>2],h[t+96>>2]=a,r=h[n+4>>2],h[t+84>>2]=h[n>>2],h[t+88>>2]=r,r=h[i+12>>2],t=(h[e>>2]<<4)+e|0,h[t+172>>2]=h[i+8>>2],h[t+176>>2]=r,n=h[i+4>>2],h[t+164>>2]=h[i>>2],h[t+168>>2]=n,h[e>>2]=h[e>>2]+1}function Br(e,t){var n,i=0,r=0,o=0,a=0,p=0;w=n=w-16|0,c(e);e:if((i=2147483647&(o=l(0)))>>>0<=1305022426){if(r=.6366197723675814*(a=+e)+6755399441055744-6755399441055744,b[t>>3]=a+-1.5707963109016418*r+-1.5893254773528196e-8*r,y(r)<2147483648){i=~~r;break e}i=-2147483648}else i>>>0>=2139095040?(b[t>>3]=v(e-e),i=0):(p=i,i=(i>>>23|0)-150|0,b[n+8>>3]=(s(0,p-(i<<23)|0),u()),i=function(e,t,n){var i,r,o,a,s,c=0,l=0,u=0,p=0,d=0,f=0,_=0,m=0,v=0,C=0,A=0,S=0,T=0;if(w=i=w-560|0,_=(l=n)+g(r=(0|(n=(n+-3|0)/24|0))>0?n:0,-24)|0,(0|(d=h[5760]))>=0)for(l=d+1|0,n=r;b[(i+320|0)+(u<<3)>>3]=(0|n)<0?0:+h[23056+(n<<2)>>2],n=n+1|0,(0|l)!=(0|(u=u+1|0)););for(v=_+-24|0,l=0,u=(0|d)>0?d:0;;){for(n=0,c=0;c+=b[(n<<3)+e>>3]*b[(i+320|0)+(l-n<<3)>>3],1!=(0|(n=n+1|0)););if(b[(l<<3)+i>>3]=c,n=(0|l)==(0|u),l=l+1|0,n)break}a=47-_|0,o=48-_|0,s=_+-25|0,l=d;t:{for(;;){if(c=b[(l<<3)+i>>3],n=0,u=l,!(m=(0|l)<1))for(;f=(i+480|0)+(n<<2)|0,C=c,p=y(c*=5.960464477539063e-8)<2147483648?~~c:-2147483648,p=y(C+=-16777216*(c=+(0|p)))<2147483648?~~C:-2147483648,h[f>>2]=p,c=b[((u=u+-1|0)<<3)+i>>3]+c,(0|l)!=(0|(n=n+1|0)););c=xo(c,v),c+=-8*x(.125*c),c-=+(0|(p=y(c)<2147483648?~~c:-2147483648));n:{i:{r:{if(S=(0|v)<1){if(v)break r;f=h[476+((l<<2)+i|0)>>2]>>23}else A=u=(l<<2)+i|0,u=(f=h[u+476>>2])-((n=f>>o)<>2]=u,p=n+p|0,f=u>>a;if((0|f)<1)break n;break i}if(f=2,!(c>=.5)){f=0;break n}}if(n=0,u=0,!m)for(;T=h[(A=(i+480|0)+(n<<2)|0)>>2],m=16777215,u||(m=16777216,T)?(h[A>>2]=m-T,u=1):u=0,(0|l)!=(0|(n=n+1|0)););i:if(!S){r:switch(0|s){case 0:h[476+(n=(l<<2)+i|0)>>2]=8388607&h[n+476>>2];break i;case 1:break r;default:break i}h[476+(n=(l<<2)+i|0)>>2]=4194303&h[n+476>>2]}p=p+1|0,2==(0|f)&&(c=1-c,f=2,u&&(c-=xo(1,v)))}if(0!=c)break;if(u=0,!((0|(n=l))<=(0|d))){for(;u=h[(i+480|0)+((n=n+-1|0)<<2)>>2]|u,(0|n)>(0|d););if(u){for(_=v;_=_+-24|0,!h[(i+480|0)+((l=l+-1|0)<<2)>>2];);break t}}for(n=1;u=n,n=n+1|0,!h[(i+480|0)+(d-u<<2)>>2];);for(u=l+u|0;;){for(p=l+1|0,l=l+1|0,b[(i+320|0)+(p<<3)>>3]=h[23056+(r+l<<2)>>2],n=0,c=0;c+=b[(n<<3)+e>>3]*b[(i+320|0)+(p-n<<3)>>3],1!=(0|(n=n+1|0)););if(b[(l<<3)+i>>3]=c,!((0|l)<(0|u)))break}l=u}(c=xo(c,0-v|0))>=16777216?(u=(i+480|0)+(l<<2)|0,C=c,n=y(c*=5.960464477539063e-8)<2147483648?~~c:-2147483648,e=y(c=C+-16777216*+(0|n))<2147483648?~~c:-2147483648,h[u>>2]=e,l=l+1|0):(n=y(c)<2147483648?~~c:-2147483648,_=v),h[(i+480|0)+(l<<2)>>2]=n}if(c=xo(1,_),!((0|l)<=-1)){for(n=l;b[(n<<3)+i>>3]=c*+h[(i+480|0)+(n<<2)>>2],c*=5.960464477539063e-8,e=(0|n)>0,n=n+-1|0,e;);if(m=0,!((0|l)<0))for(e=(0|d)>0?d:0,u=l;;){for(_=e>>>0>>0?e:m,v=l-u|0,n=0,c=0;c+=b[25824+(n<<3)>>3]*b[(n+u<<3)+i>>3],d=(0|n)!=(0|_),n=n+1|0,d;);if(b[(i+160|0)+(v<<3)>>3]=c,u=u+-1|0,n=(0|l)!=(0|m),m=m+1|0,!n)break}}if(c=0,(0|l)>=0)for(;c+=b[(i+160|0)+(l<<3)>>3],e=(0|l)>0,l=l+-1|0,e;);return b[t>>3]=f?-c:c,w=i+560|0,7&p}(n+8|0,n,i),r=b[n>>3],(0|o)<=-1?(b[t>>3]=-r,i=0-i|0):b[t>>3]=r);return w=n+16|0,i}function kr(e){var t=0,n=0,i=0,a=0,s=0,c=0,l=0,u=0,p=0;if(h[e+104>>2]>=1)for(;;){if(u=h[e+112>>2]+(s<<3)|0,i=h[u+4>>2],c=h[h[e+4>>2]+684>>2],(0|(n=h[c+60>>2]))>=1){for(a=0;;){if(l=0,p=h[c+68>>2]+(a<<2)|0,t=h[p>>2]){for(;n=h[t+280>>2],h[t+276>>2]==(0|i)?(h[(l?l+280|0:p)>>2]=n,Se(t)):l=t,t=n;);n=h[c+60>>2]}if(!((0|(a=a+1|0))<(0|n)))break}i=h[u+4>>2]}if(i&&r[h[h[i>>2]+4>>2]](i),!((0|(s=s+1|0))>2]))break}!function(e){var t=0;(t=h[e+12>>2])&&(d[e+16|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+12>>2]=0),h[e+12>>2]=0,o[e+16|0]=1,h[e+4>>2]=0,h[e+8>>2]=0,(t=h[e+32>>2])&&(d[e+36|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+32>>2]=0),h[e+32>>2]=0,o[e+36|0]=1,h[e+24>>2]=0,h[e+28>>2]=0,(t=h[e+52>>2])&&(d[e+56|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+52>>2]=0),h[e+52>>2]=0,o[e+56|0]=1,h[e+44>>2]=0,h[e+48>>2]=0,(t=h[e+72>>2])&&(d[e+76|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+72>>2]=0),h[e+72>>2]=0,o[e+76|0]=1,h[(e=e- -64|0)>>2]=0,h[e+4>>2]=0}(e+60|0)}function Vr(e,t,n,i){var r,o,a=0;w=r=w-160|0,h[r+156>>2]=t,h[r+152>>2]=n,m[r+148>>2]=i,t=h[r+152>>2],n=h[r+156>>2],m[r+124>>2]=Ss(h[r+152>>2],n),sa(o=r+128|0,t,r+124|0),aa(a=r+104|0,n,o),t=r+88|0,h[12+(w-16|0)>>2]=t,Ro(r+72|0,h[r+152>>2],n),n=h[r+76>>2],h[t>>2]=h[r+72>>2],h[t+4>>2]=n,n=h[r+84>>2],h[t+8>>2]=h[r+80>>2],h[t+12>>2]=n,m[r+36>>2]=up(m[r+148>>2]),sa(n=r+40|0,a,r+36|0),oa(a=r+56|0,o,n),m[r+12>>2]=lp(m[r+148>>2]),sa(n=r+16|0,t,r+12|0),oa(e,a,n),w=r+160|0}function zr(e,t,n){var i,r=v(0),o=v(0),a=v(0);i=h[e+204>>2],t!=v(0)?(h[e+204>>2]=-2&i,r=v(v(1)/t)):h[e+204>>2]=1|i,m[e+344>>2]=r,h[e+376>>2]=0,m[e+364>>2]=m[e+380>>2]*t,m[e+372>>2]=m[e+388>>2]*t,m[e+368>>2]=m[e+384>>2]*t,t=m[n+8>>2],o=m[n+4>>2],a=m[n>>2],m[e+560>>2]=m[e+348>>2]*r,m[e+564>>2]=r*m[e+352>>2],m[e+568>>2]=r*m[e+356>>2],h[e+572>>2]=0,h[e+408>>2]=0,m[e+396>>2]=a!=v(0)?v(v(1)/a):v(0),m[e+400>>2]=o!=v(0)?v(v(1)/o):v(0),m[e+404>>2]=t!=v(0)?v(v(1)/t):v(0)}function jr(e){var t,n=v(0),i=0,o=0,a=0,s=0,c=v(0),l=0,u=0;if((0|(t=h[e+732>>2]))>=1){for(u=h[e+740>>2];i=g(o,52)+u|0,a=h[i+8>>2],s=h[i+12>>2],n=v(m[a+8>>2]-m[s+8>>2]),c=v(n*n),n=v(m[a+12>>2]-m[s+12>>2]),c=v(c+v(n*n)),n=v(m[a+16>>2]-m[s+16>>2]),n=v(S(v(c+v(n*n)))),m[i+16>>2]=n,m[i+28>>2]=n*n,(0|t)!=(0|(o=o+1|0)););for(;i=g(l,52)+u|0,m[i+24>>2]=v(m[h[i+8>>2]+88>>2]+m[h[i+12>>2]+88>>2])/m[h[i+4>>2]+4>>2],(0|t)!=(0|(l=l+1|0)););}!function(e){var t=0,n=v(0),i=0,o=0,a=0,s=0,c=v(0),l=0,u=v(0),p=0,d=0,f=v(0),_=v(0),b=v(0),C=v(0);if((0|(l=h[e+752>>2]))>=1)for(d=h[e+760>>2];i=d+g(t,44)|0,s=h[i+12>>2],o=h[i+8>>2],n=m[o+8>>2],f=v(m[s+8>>2]-n),a=h[i+16>>2],c=m[o+12>>2],u=v(m[a+12>>2]-c),c=v(m[s+12>>2]-c),_=v(m[a+8>>2]-n),n=v(v(f*u)-v(c*_)),b=v(n*n),C=c,n=m[o+16>>2],c=v(m[a+16>>2]-n),n=v(m[s+16>>2]-n),u=v(v(C*c)-v(n*u)),n=v(v(n*_)-v(f*c)),m[i+36>>2]=S(v(b+v(v(u*u)+v(n*n)))),(0|l)!=(0|(t=t+1|0)););if((0|(i=h[e+712>>2]))<1)s=0;else if(h[7717]=h[7717]+1,t=i<<2,ji(s=0|r[h[6606]](t,16),0,t),!((0|(i=h[e+712>>2]))<1))for(o=h[e+720>>2],t=0;h[92+(o+g(t,104)|0)>>2]=0,(0|i)!=(0|(t=t+1|0)););if((0|(l=h[e+752>>2]))>=1){for(t=h[e+720>>2],d=h[e+760>>2],i=0;o=g(i,44)+d|0,n=m[o+36>>2],a=h[o+8>>2],h[(p=((a-t|0)/104<<2)+s|0)>>2]=h[p>>2]+1,n=v(y(n)),m[a+92>>2]=n+m[a+92>>2],a=h[o+12>>2],h[(p=((a-t|0)/104<<2)+s|0)>>2]=h[p>>2]+1,m[a+92>>2]=n+m[a+92>>2],o=h[o+16>>2],h[(a=((o-t|0)/104<<2)+s|0)>>2]=h[a>>2]+1,m[o+92>>2]=n+m[o+92>>2],(0|l)!=(0|(i=i+1|0)););i=h[e+712>>2]}e:{if((0|i)>=1)for(t=0;(0|(o=h[(t<<2)+s>>2]))>=1?(a=h[e+720>>2]+g(t,104)|0,m[a+92>>2]=m[a+92>>2]/v(0|o)):h[92+(h[e+720>>2]+g(t,104)|0)>>2]=0,(0|i)!=(0|(t=t+1|0)););else if(!s)break e;s&&(h[7718]=h[7718]+1,r[h[6607]](s))}}(e)}function Ur(e){var t=0,n=0,i=0,a=0,s=0;if(h[(e|=0)>>2]=7456,t=h[e+16>>2],(0|(n=h[e+8>>2]))>=1)for(;s=h[(i<<2)+t>>2],(a=h[s+188>>2])&&(t=h[e+68>>2],t=0|r[h[h[t>>2]+36>>2]](t),r[h[h[t>>2]+40>>2]](t,a,h[e+24>>2]),t=h[e+68>>2],r[h[h[t>>2]+12>>2]](t,a,h[e+24>>2]),h[s+188>>2]=0,n=h[e+8>>2],t=h[e+16>>2]),(0|(i=i+1|0))<(0|n););return t&&(d[e+20|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+16>>2]=0),h[e+16>>2]=0,h[e+8>>2]=0,h[e+12>>2]=0,o[e+20|0]=1,0|e}function Gr(e){var t=0;return h[(e|=0)>>2]=10504,(t=h[e+60>>2])&&(d[e- -64|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+60>>2]=0),h[e+60>>2]=0,o[e- -64|0]=1,h[e+52>>2]=0,h[e+56>>2]=0,(t=h[e+40>>2])&&(d[e+44|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+40>>2]=0),h[e+40>>2]=0,o[e+44|0]=1,h[e+32>>2]=0,h[e+36>>2]=0,(t=h[e+16>>2])&&(d[e+20|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+16>>2]=0),h[e+16>>2]=0,o[e+20|0]=1,h[e+8>>2]=0,h[e+12>>2]=0,0|e}function Hr(e){var t=0;return h[(e|=0)>>2]=16848,(t=h[e- -64>>2])&&(d[e+68|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+64>>2]=0),h[e+64>>2]=0,o[e+68|0]=1,h[e+56>>2]=0,h[e+60>>2]=0,(t=h[e+44>>2])&&(d[e+48|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+44>>2]=0),h[e+44>>2]=0,o[e+48|0]=1,h[e+36>>2]=0,h[e+40>>2]=0,(t=h[e+16>>2])&&(d[e+20|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+16>>2]=0),h[e+16>>2]=0,o[e+20|0]=1,h[e+8>>2]=0,h[e+12>>2]=0,0|e}function Wr(e,t){var n;h[e>>2]=10732,h[(n=e)+4>>2]=31,h[n+8>>2]=0,h[n+72>>2]=0,h[n+76>>2]=1065353216,h[n+64>>2]=0,h[n+68>>2]=1,h[n+48>>2]=-581039253,h[n+52>>2]=-581039253,h[n+32>>2]=1566444395,h[n+36>>2]=1566444395,o[n+28|0]=1,h[n+24>>2]=0,h[n+88>>2]=0,h[n+80>>2]=1065353216,h[n+84>>2]=1065353216,h[n+56>>2]=-581039253,h[n+60>>2]=0,h[n+40>>2]=1566444395,h[n+44>>2]=0,h[n+16>>2]=0,h[n+20>>2]=0,t&&(h[7717]=h[7717]+1,rs(t=0|r[h[6606]](60,16)),h[e+64>>2]=t)}function Xr(e,t,n,i,r){h[e>>2]=20152,h[e+176>>2]=r,h[e+60>>2]=0,h[e+64>>2]=0,h[e+56>>2]=1017370378,m[e+52>>2]=i,h[e+8>>2]=t,h[e+168>>2]=16842752,h[e+172>>2]=0,h[e+12>>2]=n,h[e+44>>2]=1105933107,h[e+48>>2]=0,h[e+16>>2]=0,h[e+20>>2]=0,o[e+180|0]=1,h[e+24>>2]=1113325568,h[e+28>>2]=1092616192,o[e+181|0]=0,o[e+182|0]=0,h[e+36>>2]=1061752795,h[e+40>>2]=1060439283,h[e+108>>2]=0,o[e+144|0]=1,h[e+140>>2]=0,h[e+132>>2]=0,h[e+136>>2]=0,h[e+68>>2]=0,h[e+72>>2]=0}function Yr(e){var t=0;return h[(e|=0)>>2]=22608,d[e+456|0]&&(t=h[e+452>>2],r[h[h[t>>2]>>2]](t),(t=h[e+452>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),(t=h[e+420>>2])&&(d[e+424|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+420>>2]=0),h[e+420>>2]=0,o[e+424|0]=1,h[e+412>>2]=0,h[e+416>>2]=0,(t=h[e+336>>2])&&(d[e+340|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+336>>2]=0),h[e+336>>2]=0,o[e+340|0]=1,h[e+328>>2]=0,h[e+332>>2]=0,zn(e),0|e}function Qr(e,t){e|=0;var n=0,i=0,o=0,a=0;(i=h[188+(t|=0)>>2])&&(n=h[e+68>>2],n=0|r[h[h[n>>2]+36>>2]](n),r[h[h[n>>2]+40>>2]](n,i,h[e+24>>2]),n=h[e+68>>2],r[h[h[n>>2]+12>>2]](n,i,h[e+24>>2]),h[t+188>>2]=0);e:if(!((0|(n=h[e+8>>2]))<1)){for(o=h[e+16>>2],i=0;;){if(h[(a=(i<<2)+o|0)>>2]!=(0|t)){if((0|n)!=(0|(i=i+1|0)))continue;break e}break}(0|i)>=(0|n)||(n=(i=n+-1|0)<<2,h[a>>2]=h[n+o>>2],h[n+h[e+16>>2]>>2]=t,h[e+8>>2]=i)}}function Kr(e,t){var n=v(0);if(h[e+20>>2]=0,h[e+24>>2]=0,o[e+28|0]=0,(n=m[e+4>>2])>=v(0)){if((t=ci(v(t-m[e>>2]),v(6.2831854820251465)))v(3.1415927410125732)&&(t=v(t+v(-6.2831854820251465))),t>2]=1065353216,o[e+28|0]=1,void(m[e+20>>2]=-v(n+t));t>n&&(h[e+24>>2]=-1082130432,o[e+28|0]=1,m[e+20>>2]=n-t)}}function Zr(e,t,n){e|=0,t|=0,n|=0;var i=v(0),o=v(0),a=v(0),s=v(0),c=v(0);r[h[h[t>>2]+68>>2]](e,t,n),v(r[h[h[t>>2]+48>>2]](t))!=v(0)&&(o=m[n+4>>2],i=m[n>>2],a=m[n+8>>2],s=v(r[h[h[t>>2]+48>>2]](t)),c=i=(t=v(v(v(i*i)+v(o*o))+v(a*a))>2]=m[e>>2]+v(s*v(c*i)),m[e+4>>2]=m[e+4>>2]+v(s*v(o*i)),m[e+8>>2]=m[e+8>>2]+v(s*v(a*i)))}function qr(e,t){var n,i=v(0),r=0,o=0,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=0;if((0|(n=h[e>>2]))>=1)for(s=m[e+308>>2],c=m[t+8>>2],l=m[t+4>>2],u=m[t>>2];p=r,i=v(u-m[4+(r=(o<<4)+e|0)>>2]),a=v(i*i),i=v(l-m[r+8>>2]),a=v(a+v(i*i)),i=v(c-m[r+12>>2]),r=p|v(a+v(i*i))<=s,(0|n)!=(0|(o=o+1|0)););return m[t+12>>2]!=m[e+304>>2]|m[t+8>>2]!=m[e+300>>2]|m[t+4>>2]!=m[e+296>>2]|m[t>>2]!=m[e+292>>2]||(r=1),1&r}function Jr(e,t){var n,i=v(0),r=v(0);return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=w-16|0,e=h[n+12>>2],h[t+12>>2]=e,i=m[h[t+12>>2]+4>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],i=v(i*m[h[t+12>>2]>>2]),h[12+(t=w-16|0)>>2]=e+16,r=m[h[t+12>>2]+4>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],i=v(i+v(r*m[h[t+12>>2]+4>>2])),h[12+(t=w-16|0)>>2]=e+32,r=m[h[t+12>>2]+4>>2],h[12+(e=w-16|0)>>2]=h[n+8>>2],w=n+16|0,v(i+v(r*m[h[e+12>>2]+8>>2]))}function $r(e,t){var n,i=v(0),r=v(0);return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=w-16|0,e=h[n+12>>2],h[t+12>>2]=e,i=m[h[t+12>>2]+8>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],i=v(i*m[h[t+12>>2]>>2]),h[12+(t=w-16|0)>>2]=e+16,r=m[h[t+12>>2]+8>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],i=v(i+v(r*m[h[t+12>>2]+4>>2])),h[12+(t=w-16|0)>>2]=e+32,r=m[h[t+12>>2]+8>>2],h[12+(e=w-16|0)>>2]=h[n+8>>2],w=n+16|0,v(i+v(r*m[h[e+12>>2]+8>>2]))}function eo(e,t,n,i,r){h[e>>2]=17764,h[e+4>>2]=h[t>>2],o[e+8|0]=r,h[e>>2]=22272,t=h[t>>2],o[e+88|0]=1,h[e- -64>>2]=0,h[e+60>>2]=t,h[e+12>>2]=22300,h[e+84>>2]=0,o[e+108|0]=1,h[e+76>>2]=0,h[e+80>>2]=0,h[e+104>>2]=0,o[e+128|0]=1,h[e+96>>2]=0,h[e+100>>2]=0,h[e+124>>2]=0,o[e+148|0]=1,h[e+116>>2]=0,h[e+120>>2]=0,h[e+144>>2]=0,h[e+136>>2]=0,h[e+140>>2]=0,h[e+16>>2]=h[(r?i:n)+8>>2],h[e+20>>2]=h[(r?n:i)+8>>2],kr(e+12|0)}function to(e,t){var n,i=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],i=h[t+4>>2],e=h[n+12>>2],h[e>>2]=h[t>>2],h[e+4>>2]=i,h[e+24>>2]=h[t+24>>2],i=h[t+20>>2],h[e+16>>2]=h[t+16>>2],h[e+20>>2]=i,i=h[t+12>>2],h[e+8>>2]=h[t+8>>2],h[e+12>>2]=i,Dr(e+28|0,h[n+8>>2]+28|0),t=h[n+8>>2],i=h[t+80>>2],h[e+76>>2]=h[t+76>>2],h[e+80>>2]=i,h[e+92>>2]=h[t+92>>2],i=h[t+88>>2],h[e+84>>2]=h[t+84>>2],h[e+88>>2]=i,w=n+16|0}function no(e){var t,n,i=0,r=0,o=0,a=v(0);return w=t=w-16|0,r=i=h[e+12>>2],n=h[e+8>>2],(0|i)>0||(0|i)>=0&&!(n>>>0<0)?a=v(v(v(+(n>>>0)+4294967296*+(r>>>0))*v(0x10000000000000000))+v(+_[e>>2]+4294967296*+_[e+4>>2])):(o=h[e+4>>2],e=i=h[e>>2],h[t>>2]=0-e,h[t+4>>2]=0-(o+(0>>0)|0),r^=-1,(i=(e=!(e|o))+(o=-1^n)|0)>>>0>>0&&(r=r+1|0),h[(e=t)+8>>2]=i,h[e+12>>2]=r,a=v(-no(e))),w=t+16|0,a}function io(e,t,n){var i,r=0;for(w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=0,h[i+20>>2]=t,h[i+16>>2]=n,n=h[i+28>>2],h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)t=h[i+16>>2]+(h[i+12>>2]<<4)|0,h[12+(e=w-16|0)>>2]=16,h[e+8>>2]=t,t=h[n+12>>2]+(h[i+12>>2]<<4)|0,r=h[t+4>>2],e=h[e+8>>2],h[e>>2]=h[t>>2],h[e+4>>2]=r,r=h[t+12>>2],h[e+8>>2]=h[t+8>>2],h[e+12>>2]=r,h[i+12>>2]=h[i+12>>2]+1;w=i+32|0}function ro(e,t){var n,i=v(0),r=v(0);return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=w-16|0,e=h[n+12>>2],h[t+12>>2]=e,i=m[h[t+12>>2]>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],i=v(i*m[h[t+12>>2]>>2]),h[12+(t=w-16|0)>>2]=e+16,r=m[h[t+12>>2]>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],i=v(i+v(r*m[h[t+12>>2]+4>>2])),h[12+(t=w-16|0)>>2]=e+32,r=m[h[t+12>>2]>>2],h[12+(e=w-16|0)>>2]=h[n+8>>2],w=n+16|0,v(i+v(r*m[h[e+12>>2]+8>>2]))}function oo(e,t,n,i,r,o,a,s,c,l){var u;for(w=u=w-48|0,h[u+40>>2]=e,h[u+36>>2]=t,h[u+32>>2]=n,h[u+28>>2]=i,h[u+24>>2]=r,h[u+20>>2]=o,h[u+16>>2]=a,h[u+12>>2]=s,h[u+8>>2]=c,h[u+4>>2]=l,e=h[u+40>>2],h[u+44>>2]=e,n=e+48|0,t=e;h[12+(w-16|0)>>2]=t,(0|n)!=(0|(t=i=t+16|0)););Fo(e,h[u+36>>2],h[u+32>>2],h[u+28>>2],h[u+24>>2],h[u+20>>2],h[u+16>>2],h[u+12>>2],h[u+8>>2],h[u+4>>2]),w=u+48|0}function ao(e,t,n){var i=0,r=0,o=0,a=0;e:if(r=ti(e,t))if((0|(o=h[e+8>>2]))>=0){if(!o)break e;for(;;){if(!(i=h[r+32>>2]))break e;if(r=i,(0|o)==(0|(a=a+1|0)))break}}else r=h[e>>2];else r=0;i=h[n+4>>2],h[t>>2]=h[n>>2],h[t+4>>2]=i,i=h[n+28>>2],h[t+24>>2]=h[n+24>>2],h[t+28>>2]=i,i=h[n+20>>2],h[t+16>>2]=h[n+16>>2],h[t+20>>2]=i,i=h[n+12>>2],h[t+8>>2]=h[n+8>>2],h[t+12>>2]=i,Rt(e,r,t)}function so(e,t){e|=0,t|=0;var n=v(0),i=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0);n=v(r[h[h[e>>2]+48>>2]](e)),i=v(r[h[h[e>>2]+48>>2]](e)),o=v(r[h[h[e>>2]+48>>2]](e)),a=m[e+16>>2],s=m[e+32>>2],c=m[e+20>>2],l=m[e+36>>2],u=m[e+12>>2],p=m[e+28>>2],pc(e,t),h[e+40>>2]=0,m[e+36>>2]=v(v(v(o+l)/c)*m[e+20>>2])-o,m[e+32>>2]=v(v(v(i+s)/a)*m[e+16>>2])-i,m[e+28>>2]=v(v(v(n+p)/u)*m[e+12>>2])-n}function co(e,t){var n,i=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=w-16|0,e=h[n+12>>2],h[t+12>>2]=e,h[n+4>>2]=h[h[t+12>>2]+4>>2],t=h[n+4>>2],h[12+(i=w-16|0)>>2]=e,h[h[i+12>>2]+8>>2]==(0|t)&&(h[12+(i=w-16|0)>>2]=e,t=h[h[i+12>>2]+4>>2],h[12+(i=w-16|0)>>2]=e,h[i+8>>2]=t,Do(t=e,i=h[i+8>>2]?h[i+8>>2]<<1:1)),to(h[e+12>>2]+g(h[e+4>>2],96)|0,h[n+8>>2]),h[e+4>>2]=h[e+4>>2]+1,w=n+16|0}function lo(e,t,n){var i;w=i=w-32|0,h[i+28>>2]=t,h[i+24>>2]=n,h[12+(t=w-16|0)>>2]=h[i+28>>2],h[t+8>>2]=0,m[i+20>>2]=Ss(h[t+12>>2]+(h[t+8>>2]<<4)|0,h[i+24>>2]),h[12+(t=w-16|0)>>2]=h[i+28>>2],h[t+8>>2]=1,m[i+16>>2]=Ss(h[t+12>>2]+(h[t+8>>2]<<4)|0,h[i+24>>2]),h[12+(t=w-16|0)>>2]=h[i+28>>2],h[t+8>>2]=2,m[i+12>>2]=Ss(h[t+12>>2]+(h[t+8>>2]<<4)|0,h[i+24>>2]),bs(e,i+20|0,i+16|0,i+12|0),w=i+32|0}function uo(e,t){var n=0,i=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],i=h[t+4>>2],e=h[n+12>>2],h[e>>2]=h[t>>2],h[e+4>>2]=i,i=h[t+12>>2],h[e+8>>2]=h[t+8>>2],h[e+12>>2]=i,t=h[n+8>>2],i=h[t+20>>2],h[e+16>>2]=h[t+16>>2],h[e+20>>2]=i,i=h[t+28>>2],h[e+24>>2]=h[t+24>>2],h[e+28>>2]=i,t=h[n+8>>2],n=h[t+36>>2],h[e+32>>2]=h[t+32>>2],h[e+36>>2]=n,n=h[t+44>>2],h[e+40>>2]=h[t+40>>2],h[e+44>>2]=n}function po(e,t){h[e>>2]=17276,rs(e+4|0),rs(e- -64|0),o[e+193|0]=256,o[e+194|0]=1,o[e+192|0]=!t,h[e+164>>2]=0,h[e+140>>2]=0,h[e+144>>2]=0,h[e+176>>2]=0,h[e+168>>2]=0,h[e+172>>2]=0,h[e+156>>2]=10,h[e+160>>2]=1,h[e+148>>2]=1,h[e+152>>2]=0,t||(h[7717]=h[7717]+1,cr(t=0|r[h[6606]](76,16))),h[e+188>>2]=0,h[e+136>>2]=t,h[e+180>>2]=0,h[e+184>>2]=0,h[e+124>>2]=0,h[e+128>>2]=0,h[e+132>>2]=0}function ho(e,t,n){var i;w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,function(e){var t=0;h[12+(t=w-16|0)>>2]=e,e=h[t+12>>2],h[e>>2]=1272,m[e+4>>2]=1,p[e+8>>1]=1,p[e+10>>1]=65535}(e=h[i+12>>2]),h[e>>2]=1132,t=h[i+8>>2],n=h[t+4>>2],h[e+12>>2]=h[t>>2],h[e+16>>2]=n,n=h[t+12>>2],h[e+20>>2]=h[t+8>>2],h[e+24>>2]=n,t=h[i+4>>2],n=h[t+4>>2],h[e+28>>2]=h[t>>2],h[e+32>>2]=n,n=h[t+12>>2],h[e+36>>2]=h[t+8>>2],h[e+40>>2]=n,h[12+(w-16|0)>>2]=e+44,h[12+(w-16|0)>>2]=e+60,h[e+76>>2]=0,w=i+16|0}function fo(e,t){e|=0,t=v(t);var n=v(0),i=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0);n=v(r[h[h[e>>2]+48>>2]](e)),i=v(r[h[h[e>>2]+48>>2]](e)),o=v(r[h[h[e>>2]+48>>2]](e)),m[e+44>>2]=t,t=m[e+36>>2],a=m[e+32>>2],s=m[e+28>>2],c=v(r[h[h[e>>2]+48>>2]](e)),l=v(r[h[h[e>>2]+48>>2]](e)),u=v(r[h[h[e>>2]+48>>2]](e)),h[e+40>>2]=0,m[e+32>>2]=v(i+a)-l,m[e+28>>2]=v(n+s)-c,m[e+36>>2]=v(o+t)-u}function _o(e){return h[e+4>>2]=35,h[e+8>>2]=0,h[e>>2]=13316,h[e+44>>2]=1025758986,h[e+20>>2]=1065353216,h[e+24>>2]=0,h[e+12>>2]=1065353216,h[e+16>>2]=1065353216,h[e>>2]=13444,o[e+88|0]=0,h[e+84>>2]=0,h[e+76>>2]=-1082130432,h[e+80>>2]=-1082130432,h[e+68>>2]=0,h[e+72>>2]=-1082130432,h[e+60>>2]=1065353216,h[e+64>>2]=1065353216,h[e>>2]=12932,h[e+52>>2]=0,h[e+56>>2]=1065353216,e}function mo(e,t){var n,i;w=n=w+-64|0,h[n+60>>2]=e,h[n+56>>2]=t,t=h[n+60>>2],h[12+(e=w-16|0)>>2]=h[n+56>>2],h[n+52>>2]=h[h[e+12>>2]+4>>2],i=h[n+52>>2],h[(e=n+8|0)>>2]=0,h[e+4>>2]=0,h[e+40>>2]=0,h[e+32>>2]=0,h[e+36>>2]=0,h[e+24>>2]=0,h[e+28>>2]=0,h[e+16>>2]=0,h[e+20>>2]=0,h[e+8>>2]=0,h[e+12>>2]=0,function(e){var t=0;w=t=w-16|0,h[t+12>>2]=e,tu(e=h[t+12>>2]),h[12+(w-16|0)>>2]=e+20,w=t+16|0}(e),Mi(t,i,e),Or(h[n+56>>2],h[n+52>>2],h[t+12>>2]),w=n- -64|0}function bo(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0);c=v(r[h[h[e>>2]+48>>2]](e)),l=v(r[h[h[e>>2]+48>>2]](e)),u=v(r[h[h[e>>2]+48>>2]](e)),o=m[t+52>>2],a=m[t+56>>2],s=m[t+48>>2],h[n+12>>2]=0,m[n+8>>2]=a-u,m[n+4>>2]=o-l,m[n>>2]=s-c,o=m[t+52>>2],a=m[t+56>>2],s=m[t+48>>2],h[i+12>>2]=0,m[i+8>>2]=u+a,m[i+4>>2]=l+o,m[i>>2]=c+s}function go(e,t){var n=v(0),i=v(0);if((n=m[e+32>>2])v(-1))return m[t>>2]=pi(v(-m[e+36>>2]),m[e+40>>2]),m[t+4>>2]=function(e){var t=0,n=0,i=v(0),r=0;e:{t:{if(c(e),(n=2147483647&(r=l(0)))>>>0>=1065353216){if(1065353216!=(0|n))break t;return v(1.5707963267948966*+e+752316384526264e-51)}if(n>>>0<=1056964607){if(n+-8388608>>>0<956301312)break e;return i=v(e*e),v(v(v(v(i*v(v(i*v(v(i*v(-.008656363002955914))+v(-.04274342209100723)))+v(.16666586697101593)))/v(v(i*v(-.7066296339035034))+v(1)))*e)+e)}return e=v(v(v(1)-v(y(e)))*v(.5)),t=S(+e),t+=t*+v(v(e*v(v(e*v(v(e*v(-.008656363002955914))+v(-.04274342209100723)))+v(.16666586697101593)))/v(v(e*v(-.7066296339035034))+v(1))),e=v(1.5707963267948966-(t+t)),(0|r)<0?v(-e):e}e=v(v(0)/v(e-e))}return e}(v(C(v(A(m[e+32>>2],v(-1))),v(1)))),void(m[t+8>>2]=pi(v(-m[e+16>>2]),m[e>>2]));n=m[e+20>>2],i=m[e+4>>2],h[t+4>>2]=-1077342245,m[t>>2]=-pi(i,n)}else n=m[e+20>>2],i=m[e+4>>2],h[t+4>>2]=1070141403,m[t>>2]=pi(i,n);m[t+8>>2]=0}function vo(e,t,n,i){var r;h[28+(r=w-32|0)>>2]=e,h[r+24>>2]=t,h[r+20>>2]=n,m[r+16>>2]=i,e=h[r+28>>2],m[r+12>>2]=v(1)-m[r+16>>2],m[e>>2]=v(m[r+12>>2]*m[h[r+24>>2]>>2])+v(m[r+16>>2]*m[h[r+20>>2]>>2]),m[e+4>>2]=v(m[r+12>>2]*m[h[r+24>>2]+4>>2])+v(m[r+16>>2]*m[h[r+20>>2]+4>>2]),m[e+8>>2]=v(m[r+12>>2]*m[h[r+24>>2]+8>>2])+v(m[r+16>>2]*m[h[r+20>>2]+8>>2])}function yo(e){var t=0;h[e+12>>2]&&(h[e+4>>2]=0,(t=h[e+20>>2])&&(d[e+24|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+20>>2]=0),h[e+20>>2]=0,h[e+12>>2]=0,h[e+16>>2]=0,o[e+24|0]=1),h[e+40>>2]&&(h[e+32>>2]=0,(t=h[e+48>>2])&&(d[e+52|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+48>>2]=0),h[e+48>>2]=0,h[e+40>>2]=0,h[e+44>>2]=0,o[e+52|0]=1)}function Co(e,t,n,i,o){for(var a=0,s=0;;){e:{if(!(f[o>>1]>1]|f[i>>1]>f[t+6>>1]|f[o+4>>1]>1]|f[i+4>>1]>f[t+10>>1]||f[o+2>>1]>1]|f[i+2>>1]>f[t+8>>1])){if((0|(a=h[t+12>>2]))<0)break e;r[h[h[n>>2]+8>>2]](n,a>>>21|0,2097151&a)}return}Co(e,a=t+16|0,n,i,o),s=t+32|0,t=(0|(t=h[t+28>>2]))>-1?s:a-(t<<4)|0}}function Ao(e,t){var n,i=v(0),r=v(0);return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],i=m[e>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],i=v(i*m[h[t+12>>2]>>2]),r=m[e+4>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],i=v(i+v(r*m[h[t+12>>2]+4>>2])),r=m[e+8>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],w=n+16|0,v(v(i+v(r*m[h[t+12>>2]+8>>2]))+v(m[e+12>>2]*m[h[n+8>>2]+12>>2]))}function xo(e,t){e:if((0|t)>=1024){if(e*=898846567431158e293,(0|t)<2047){t=t+-1023|0;break e}e*=898846567431158e293,t=((0|t)<3069?t:3069)+-2046|0}else(0|t)>-1023||(e*=22250738585072014e-324,(0|t)>-2045?t=t+1022|0:(e*=22250738585072014e-324,t=((0|t)>-3066?t:-3066)+2044|0));return s(0,0),s(1,t+1023<<20),e*+a[0]}function So(e,t,n){var i,r,o,a,s;w=i=w-32|0,h[i+28>>2]=t,h[i+24>>2]=n,o=h[i+24>>2],t=w-16|0,n=h[i+28>>2],h[t+12>>2]=n,h[t+8>>2]=0,a=h[t+12>>2]+(h[t+8>>2]<<4)|0,h[12+(t=w-16|0)>>2]=n,h[t+8>>2]=1,s=h[t+12>>2]+(h[t+8>>2]<<4)|0,h[12+(t=w-16|0)>>2]=n,h[t+8>>2]=2,function(e,t,n,i,r){var o=0;w=o=w-32|0,h[o+28>>2]=t,h[o+24>>2]=n,h[o+20>>2]=i,h[o+16>>2]=r,t=h[o+28>>2],m[o+12>>2]=Ss(t,h[o+24>>2]),m[o+8>>2]=Ss(t,h[o+20>>2]),m[o+4>>2]=Ss(t,h[o+16>>2]),bs(e,o+12|0,o+8|0,o+4|0),w=o+32|0}(r=i+8|0,o,a,s,h[t+12>>2]+(h[t+8>>2]<<4)|0),oa(e,r,n+48|0),w=i+32|0}function To(e,t,n,i){o[e+53|0]=1;e:if(h[e+4>>2]==(0|n)){if(o[e+52|0]=1,!(n=h[e+16>>2])){if(h[e+36>>2]=1,h[e+24>>2]=i,h[e+16>>2]=t,1!=(0|i)|1!=h[e+48>>2])break e;return void(o[e+54|0]=1)}if((0|t)==(0|n)){if(2==(0|(n=h[e+24>>2]))&&(h[e+24>>2]=i,n=i),1!=h[e+48>>2]|1!=(0|n))break e;return void(o[e+54|0]=1)}o[e+54|0]=1,h[e+36>>2]=h[e+36>>2]+1}}function Eo(e,t,n,i,o,a,s,c){e|=0,t|=0,n|=0,i|=0,o|=0,a|=0,s|=0,c|=0;var l,u=v(0);return w=l=w-32|0,h[l+28>>2]=e,h[l+24>>2]=t,h[l+20>>2]=n,h[l+16>>2]=i,h[l+12>>2]=o,h[l+8>>2]=a,h[l+4>>2]=s,h[l>>2]=c,e=h[l+28>>2],u=v(r[h[h[e>>2]+12>>2]](e,h[l+24>>2],h[l+20>>2],h[l+16>>2],h[l+12>>2],h[l+8>>2],h[l+4>>2],h[l>>2])),w=l+32|0,v(u)}function Po(e,t,n,i,a){var s=v(0);return h[e+32>>2]=n,h[e+28>>2]=t,h[e+24>>2]=i,h[e+20>>2]=a,h[e+4>>2]=0,h[e+8>>2]=1065353216,h[e>>2]=4548,h[e+12>>2]=0,h[e+16>>2]=0,h[e+36>>2]=h[t+4>>2],h[e+40>>2]=h[n+4>>2],m[e+44>>2]=r[h[h[t>>2]+48>>2]](t),s=v(r[h[h[n>>2]+48>>2]](n)),h[e+72>>2]=1,h[e+76>>2]=1,h[e+60>>2]=-1,o[e+52|0]=0,m[e+48>>2]=s,e}function Oo(e,t){var n,i=v(0);return w=n=w-32|0,h[n+24>>2]=e,h[n+20>>2]=t,e=h[n+24>>2],i=v(Hu(e)*Hu(h[n+20>>2])),m[12+(t=w-16|0)>>2]=i,m[n+16>>2]=S(m[t+12>>2]),Ao(e,h[n+20>>2])>2]=t,h[n+24>>2]=h[n+28>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],m[n+20>>2]=-m[h[t+12>>2]>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],m[n+16>>2]=-m[h[t+12>>2]+4>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],m[n+12>>2]=-m[h[t+12>>2]+8>>2],m[n+8>>2]=-m[h[n+24>>2]+12>>2],As(e,n+20|0,n+16|0,n+12|0,n+8|0),w=n+32|0}(n,h[n+20>>2]),m[n+28>>2]=lc(v(Ao(e,n)/m[n+16>>2]))*v(2)):m[n+28>>2]=lc(v(Ao(e,h[n+20>>2])/m[n+16>>2]))*v(2),w=n+32|0,m[n+28>>2]}function Mo(e,t){var n;w=n=w-48|0,h[n+44>>2]=e,h[n+40>>2]=t,e=h[n+44>>2],h[12+(t=w-16|0)>>2]=h[n+40>>2],h[n+36>>2]=h[h[t+12>>2]+4>>2],t=h[n+36>>2],h[n>>2]=0,h[n+4>>2]=0,h[n+32>>2]=0,h[n+24>>2]=0,h[n+28>>2]=0,h[n+16>>2]=0,h[n+20>>2]=0,h[n+8>>2]=0,h[n+12>>2]=0,sh(n),function(e,t,n){var i;if(w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,h[i+20>>2]=n,t=w-16|0,e=h[i+28>>2],h[t+12>>2]=e,h[i+16>>2]=h[h[t+12>>2]+4>>2],h[i+24>>2]>2])for(h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)oh(h[e+12>>2]+g(h[i+12>>2],36)|0),h[i+12>>2]=h[i+12>>2]+1;else for(t=h[i+24>>2],h[12+(n=w-16|0)>>2]=e,(0|t)>h[h[n+12>>2]+4>>2]&&Lo(e,h[i+24>>2]),h[i+8>>2]=h[i+16>>2];h[i+8>>2]>2];)Oa(h[e+12>>2]+g(h[i+8>>2],36)|0,h[i+20>>2]),h[i+8>>2]=h[i+8>>2]+1;h[e+4>>2]=h[i+24>>2],w=i+32|0}(e,t,n),oh(n),Ho(h[n+40>>2],h[n+36>>2],h[e+12>>2]),w=n+48|0}function Ro(e,t,n){var i;w=i=w-32|0,h[i+28>>2]=t,h[i+24>>2]=n,t=h[i+28>>2],m[i+20>>2]=v(m[t+4>>2]*m[h[i+24>>2]+8>>2])-v(m[t+8>>2]*m[h[i+24>>2]+4>>2]),m[i+16>>2]=v(m[t+8>>2]*m[h[i+24>>2]>>2])-v(m[t>>2]*m[h[i+24>>2]+8>>2]),m[i+12>>2]=v(m[t>>2]*m[h[i+24>>2]+4>>2])-v(m[t+4>>2]*m[h[i+24>>2]>>2]),bs(e,i+20|0,i+16|0,i+12|0),w=i+32|0}function Io(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=w-16|0,e=h[n+12>>2],h[t+12>>2]=e,h[h[t+12>>2]+8>>2]>2]&&(h[n+4>>2]=Vs(e,h[n+8>>2]),h[12+(t=w-16|0)>>2]=e,qo(e,h[h[t+12>>2]+4>>2],h[n+4>>2]),h[12+(t=w-16|0)>>2]=e,cc(e,h[h[t+12>>2]+4>>2]),Lc(e),o[e+16|0]=1,h[e+12>>2]=h[n+4>>2],h[e+8>>2]=h[n+8>>2]),w=n+16|0}function wo(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=w-16|0,e=h[n+12>>2],h[t+12>>2]=e,h[h[t+12>>2]+8>>2]>2]&&(h[n+4>>2]=Vs(e,h[n+8>>2]),h[12+(t=w-16|0)>>2]=e,Qo(e,h[h[t+12>>2]+4>>2],h[n+4>>2]),h[12+(t=w-16|0)>>2]=e,cc(e,h[h[t+12>>2]+4>>2]),Lc(e),o[e+16|0]=1,h[e+12>>2]=h[n+4>>2],h[e+8>>2]=h[n+8>>2]),w=n+16|0}function Do(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=w-16|0,e=h[n+12>>2],h[t+12>>2]=e,h[h[t+12>>2]+8>>2]>2]&&(h[n+4>>2]=function(e,t){var n=0;return w=n=w-16|0,h[n+8>>2]=e,h[n+4>>2]=t,e=h[n+8>>2],h[n+4>>2]?h[n+12>>2]=function(e,t){var n=0;return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,h[n+4>>2]=0,e=g(h[n+8>>2],96),h[7717]=h[7717]+1,e=0|r[h[6606]](e,16),w=n+16|0,e}(e,h[n+4>>2]):h[n+12>>2]=0,w=n+16|0,h[n+12>>2]}(e,h[n+8>>2]),h[12+(t=w-16|0)>>2]=e,Wo(e,h[h[t+12>>2]+4>>2],h[n+4>>2]),h[12+(t=w-16|0)>>2]=e,cc(e,h[h[t+12>>2]+4>>2]),Lc(e),o[e+16|0]=1,h[e+12>>2]=h[n+4>>2],h[e+8>>2]=h[n+8>>2]),w=n+16|0}function Lo(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=w-16|0,e=h[n+12>>2],h[t+12>>2]=e,h[h[t+12>>2]+8>>2]>2]&&(h[n+4>>2]=function(e,t){var n=0;return w=n=w-16|0,h[n+8>>2]=e,h[n+4>>2]=t,e=h[n+8>>2],h[n+4>>2]?h[n+12>>2]=function(e,t){var n=0;return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,h[n+4>>2]=0,e=g(h[n+8>>2],36),h[7717]=h[7717]+1,e=0|r[h[6606]](e,16),w=n+16|0,e}(e,h[n+4>>2]):h[n+12>>2]=0,w=n+16|0,h[n+12>>2]}(e,h[n+8>>2]),h[12+(t=w-16|0)>>2]=e,Ho(e,h[h[t+12>>2]+4>>2],h[n+4>>2]),h[12+(t=w-16|0)>>2]=e,Ia(e,h[h[t+12>>2]+4>>2]),Lc(e),o[e+16|0]=1,h[e+12>>2]=h[n+4>>2],h[e+8>>2]=h[n+8>>2]),w=n+16|0}function No(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=w-16|0,e=h[n+12>>2],h[t+12>>2]=e,h[h[t+12>>2]+8>>2]>2]&&(h[n+4>>2]=function(e,t){var n=0;return w=n=w-16|0,h[n+8>>2]=e,h[n+4>>2]=t,e=h[n+8>>2],h[n+4>>2]?h[n+12>>2]=function(e,t){var n=0;return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,h[n+4>>2]=0,e=h[n+8>>2]<<4,h[7717]=h[7717]+1,e=0|r[h[6606]](e,16),w=n+16|0,e}(e,h[n+4>>2]):h[n+12>>2]=0,w=n+16|0,h[n+12>>2]}(e,h[n+8>>2]),h[12+(t=w-16|0)>>2]=e,io(e,h[h[t+12>>2]+4>>2],h[n+4>>2]),h[12+(t=w-16|0)>>2]=e,cc(e,h[h[t+12>>2]+4>>2]),Lc(e),o[e+16|0]=1,h[e+12>>2]=h[n+4>>2],h[e+8>>2]=h[n+8>>2]),w=n+16|0}function Fo(e,t,n,i,r,o,a,s,c,l){var u;w=u=w-48|0,h[u+44>>2]=e,h[u+40>>2]=t,h[u+36>>2]=n,h[u+32>>2]=i,h[u+28>>2]=r,h[u+24>>2]=o,h[u+20>>2]=a,h[u+16>>2]=s,h[u+12>>2]=c,h[u+8>>2]=l,bs(e=h[u+44>>2],h[u+40>>2],h[u+36>>2],h[u+32>>2]),bs(e+16|0,h[u+28>>2],h[u+24>>2],h[u+20>>2]),bs(e+32|0,h[u+16>>2],h[u+12>>2],h[u+8>>2]),w=u+48|0}function Bo(){var e,t=0,n=0;w=e=w-16|0,t=h[6605],n=h[t+16>>2]+-1|0,h[t+16>>2]=n;e:{t:{if(!n){if(!h[t+4>>2])break t;P(e+8|0,0),n=h[7705],m[t+8>>2]=m[t+8>>2]+v(v(((h[e+12>>2]+g(h[e+8>>2]-h[n>>2]|0,1e6)|0)-h[n+4>>2]|0)-h[t+12>>2]>>>0)/v(1e3)),n=h[t+16>>2]}if(n)break e;t=h[6605]}h[6605]=h[t+20>>2]}w=e+16|0}function ko(e){var t;return w=t=w-16|0,m[t+8>>2]=e,m[t+8>>2]=function(e){var t=0;return w=t=w-16|0,m[t+12>>2]=e,m[t+8>>2]=6.2831854820251465,e=ci(m[t+12>>2],m[t+8>>2]),w=t+16|0,e}(m[t+8>>2]),m[t+8>>2]>2]=m[t+8>>2]+v(6.2831854820251465):m[t+8>>2]>v(3.1415927410125732)?m[t+12>>2]=m[t+8>>2]-v(6.2831854820251465):m[t+12>>2]=m[t+8>>2],w=t+16|0,m[t+12>>2]}function Vo(e,t,n,i,a){var s;h[e>>2]=17764,h[e+4>>2]=h[t>>2],h[e>>2]=5076,o[e+8|0]=a,h[e>>2]=6364,t=h[t>>2],h[e- -64>>2]=0,h[e+60>>2]=t,h[e+12>>2]=6392,s=a?n:i,h[e+20>>2]=s,n=a?i:n,h[e+16>>2]=n,t=0|r[h[h[t>>2]+12>>2]](t,h[n+8>>2],h[s+8>>2]),h[e+76>>2]=t,e=h[e+60>>2],r[h[h[e>>2]+20>>2]](e,t)}function zo(e,t){var n=0,i=0,r=0,o=0;e:if(!((0|(n=h[e+488>>2]))<1)){for(r=h[e+496>>2];;){if(h[(o=(i<<2)+r|0)>>2]!=(0|t)){if((0|(i=i+1|0))!=(0|n))continue;break e}break}(0|i)>=(0|n)||(i=(n=n+-1|0)<<2,h[o>>2]=h[i+r>>2],h[i+h[e+496>>2]>>2]=t,h[e+488>>2]=n)}h[e+256>>2]=(0|n)>0}function jo(e,t,n,i){h[e>>2]=17764,h[e+4>>2]=h[t>>2],h[e>>2]=5076,o[e+28|0]=1,h[e>>2]=10568,h[e+24>>2]=0,h[e+16>>2]=0,h[e+20>>2]=0,t=h[t+4>>2],o[e+36|0]=0,h[e+32>>2]=t,h[7717]=h[7717]+1,function(e){var t,n,i=0,a=0,s=0,c=0;if(h[e>>2]=10504,o[e+24|0]=0,o[e+20|0]=1,h[e+16>>2]=0,o[e+44|0]=1,h[e+8>>2]=0,h[e+12>>2]=0,h[e+40>>2]=0,o[e- -64|0]=1,h[e+32>>2]=0,h[e+36>>2]=0,h[e+60>>2]=0,h[e+52>>2]=0,h[e+56>>2]=0,h[7717]=h[7717]+1,t=0|r[h[6606]](24,16),(0|(n=h[e+8>>2]))>=1)for(;i=(a=g(s,12))+h[e+16>>2]|0,c=h[i+4>>2],h[(a=a+t|0)>>2]=h[i>>2],h[a+4>>2]=c,h[a+8>>2]=h[i+8>>2],(0|n)!=(0|(s=s+1|0)););(i=h[e+16>>2])&&(d[e+20|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+16>>2]=0),h[e+16>>2]=t,o[e+20|0]=1,h[e+12>>2]=2,dn(e)}(t=0|r[h[6606]](68,16)),h[e+8>>2]=t,h[e+40>>2]=h[h[n+4>>2]+68>>2],h[e+44>>2]=h[h[i+4>>2]+68>>2]}function Uo(e,t){var n=v(0),i=0,r=v(0),o=v(0),a=v(0);(n=m[e+344>>2])!=v(0)&&(r=m[t>>2],o=m[t+4>>2],a=m[t+8>>2],h[e+376>>2]=0,n=v(v(1)/n),m[e+372>>2]=a*n,m[e+368>>2]=n*o,m[e+364>>2]=n*r),i=h[t+4>>2],h[e+380>>2]=h[t>>2],h[e+384>>2]=i,i=h[t+12>>2],h[e+388>>2]=h[t+8>>2],h[e+392>>2]=i}function Go(e,t,n){var i;for(w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=0,h[i+20>>2]=t,h[i+16>>2]=n,e=h[i+28>>2],h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)Vn(h[i+16>>2]+g(h[i+12>>2],104)|0,h[e+12>>2]+g(h[i+12>>2],104)|0,104),h[i+12>>2]=h[i+12>>2]+1;w=i+32|0}function Ho(e,t,n){var i;for(w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=0,h[i+20>>2]=t,h[i+16>>2]=n,e=h[i+28>>2],h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)Oa(h[i+16>>2]+g(h[i+12>>2],36)|0,h[e+12>>2]+g(h[i+12>>2],36)|0),h[i+12>>2]=h[i+12>>2]+1;w=i+32|0}function Wo(e,t,n){var i;for(w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=0,h[i+20>>2]=t,h[i+16>>2]=n,e=h[i+28>>2],h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)to(h[i+16>>2]+g(h[i+12>>2],96)|0,h[e+12>>2]+g(h[i+12>>2],96)|0),h[i+12>>2]=h[i+12>>2]+1;w=i+32|0}function Xo(e){var t=0;(t=h[e>>2])&&Us(e,t),(t=h[e+4>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+4>>2]=0,h[e+8>>2]=-1,(t=h[e+32>>2])&&(d[e+36|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+32>>2]=0),h[e+32>>2]=0,h[e+16>>2]=0,o[e+36|0]=1,h[e+24>>2]=0,h[e+28>>2]=0}function Yo(e,t,n,i,r,a,s,c,l){return h[e+72>>2]=1,h[e+76>>2]=1,h[e+60>>2]=-1,o[e+52|0]=0,m[e+48>>2]=s,m[e+44>>2]=a,h[e+40>>2]=r,h[e+36>>2]=i,h[e+32>>2]=n,h[e+28>>2]=t,h[e+24>>2]=c,h[e+20>>2]=l,h[e+4>>2]=0,h[e+8>>2]=1065353216,h[e>>2]=4548,h[e+12>>2]=0,h[e+16>>2]=0,e}function Qo(e,t,n){var i;for(h[28+(i=w-32|0)>>2]=e,h[i+24>>2]=0,h[i+20>>2]=t,h[i+16>>2]=n,e=h[i+28>>2],h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)m[h[i+16>>2]+(h[i+12>>2]<<2)>>2]=m[h[e+12>>2]+(h[i+12>>2]<<2)>>2],h[i+12>>2]=h[i+12>>2]+1}function Ko(e,t,n,i,r){var o=v(0);if(o=v(1),!(t>n)&&(o=v(0),t!=n)){if((i=v(i/r))=t^1|v(t-i)>e^1?v(ev(0)){if(!(e<=n^1|v(n-i)n?0:1)}}return o}function Zo(e,t,n){var i,r,o=0;w=i=w-16|0,h[i+12>>2]=t,h[i+8>>2]=n,n=w-16|0,t=h[i+12>>2],h[n+12>>2]=t,n=h[n+12>>2]+(h[i+8>>2]<<2)|0,h[12+(o=w-16|0)>>2]=t+16,o=h[o+12>>2]+(h[i+8>>2]<<2)|0,h[12+(r=w-16|0)>>2]=t+32,bs(e,n,o,h[r+12>>2]+(h[i+8>>2]<<2)|0),w=i+16|0}function qo(e,t,n){var i;for(h[28+(i=w-32|0)>>2]=e,h[i+24>>2]=0,h[i+20>>2]=t,h[i+16>>2]=n,e=h[i+28>>2],h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)h[h[i+16>>2]+(h[i+12>>2]<<2)>>2]=h[h[e+12>>2]+(h[i+12>>2]<<2)>>2],h[i+12>>2]=h[i+12>>2]+1}function Jo(e,t,n,i,r,o,a,s,c,l){t|=0,n|=0,i|=0,r|=0,o|=0,a|=0,s|=0,c|=0,l|=0,e=h[32+(e|=0)>>2]+(l<<5)|0,h[n>>2]=h[e+12>>2],h[t>>2]=h[e+16>>2],h[i>>2]=h[e+28>>2],h[r>>2]=h[e+20>>2],h[s>>2]=h[e>>2],h[o>>2]=h[e+4>>2],h[a>>2]=h[e+8>>2],h[c>>2]=h[e+24>>2]}function $o(e,t,n,i,o,a){var s;e|=0,t|=0,n|=0,i=v(i),o|=0,a|=0,w=s=w-32|0,h[s+28>>2]=e,h[s+24>>2]=t,h[s+20>>2]=n,m[s+16>>2]=i,h[s+12>>2]=o,h[s+8>>2]=a,e=h[s+28>>2],r[h[h[e>>2]+32>>2]](e,h[s+24>>2],h[s+20>>2],m[s+16>>2],h[s+12>>2],h[s+8>>2]),w=s+32|0}function ea(e,t,n,i){var r=0;h[e>>2]=7324,r=h[t+4>>2],h[e+4>>2]=h[t>>2],h[e+8>>2]=r,r=h[t+12>>2],h[e+12>>2]=h[t+8>>2],h[e+16>>2]=r,t=h[n+4>>2],h[e+20>>2]=h[n>>2],h[e+24>>2]=t,t=h[n+12>>2],h[e+28>>2]=h[n+8>>2],h[e+32>>2]=t,h[e+40>>2]=1065353216,h[e+36>>2]=i}function ta(e,t){var n=0,i=0,o=0,a=0;e:if(4!=(0|(n=h[e+748>>2])))h[e+748>>2]=n+1;else{if(n=function(e,t){var n,i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),h=v(0),f=v(0),_=v(0),b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),S=0,T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=0,z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0);V=(S=(i=m[e+84>>2])<(r=m[t+80>>2]))?0:-1,n=(S=(a=m[e+268>>2])<(i=S?i:r))?1:V,S=(r=m[e+452>>2])<(i=S?a:i),S=(V=m[e+636>>2]<(S?r:i))?3:S?2:n,l=m[t>>2];t:{n:{i:{r:{if(d[26408]){if(!S){g=m[e+564>>2],T=m[e+380>>2],s=v(g-T),x=m[e+560>>2],E=m[e+376>>2],a=v(x-E),o=m[e+556>>2],R=m[e+372>>2],h=v(o-R),i=m[t+8>>2],r=m[t+4>>2];break r}if(c=m[e+188>>2],u=v(l-c),x=m[e+560>>2],E=m[e+376>>2],a=v(x-E),r=m[t+4>>2],_=m[e+192>>2],i=v(r-_),o=m[e+556>>2],R=m[e+372>>2],h=v(o-R),s=v(v(u*a)-v(i*h)),p=v(s*s),g=m[e+564>>2],T=m[e+380>>2],s=v(g-T),f=v(i*s),i=m[t+8>>2],P=m[e+196>>2],C=v(i-P),A=v(f-v(C*a)),u=v(v(C*h)-v(u*s)),W=v(p+v(v(A*A)+v(u*u))),1!=(0|S))break r;l=v(l-m[e+4>>2]),i=v(i-m[e+12>>2]),r=v(r-m[e+8>>2]),h=v(0);break i}o:{a:{if(S){if(D=m[e+188>>2],x=v(l-D),_=m[e+376>>2],C=m[e+560>>2],M=v(_-C),E=m[t+4>>2],L=m[e+192>>2],g=v(E-L),c=m[e+372>>2],A=m[e+556>>2],I=v(c-A),i=v(v(x*M)-v(g*I)),r=v(i*i),P=m[e+380>>2],u=m[e+564>>2],h=v(P-u),T=m[t+8>>2],o=m[e+196>>2],R=v(T-o),i=v(v(g*h)-v(R*M)),a=v(i*i),i=v(v(R*I)-v(x*h)),a=v(r+v(a+v(i*i))),s=v(l-c),w=v(L-C),i=v(E-_),z=v(D-A),r=v(v(s*w)-v(i*z)),p=v(r*r),j=v(o-u),r=v(T-P),f=v(v(i*j)-v(r*w)),b=v(f*f),f=v(v(r*z)-v(s*j)),f=a>(f=v(p+v(b+v(f*f))))?a:f,a=v(L-_),B=v(l-A),b=v(D-c),F=v(E-C),O=v(v(a*B)-v(b*F)),N=v(O*O),O=v(o-P),p=a,a=v(T-u),p=v(v(O*F)-v(p*a)),b=v(v(b*a)-v(O*B)),W=f>(b=v(N+v(v(p*p)+v(b*b))))?f:b,1==(0|S)){f=m[e+4>>2],U=v(f-A),p=v(l-f),b=m[e+12>>2],G=v(b-u),O=m[e+8>>2],H=v(O-C),N=v(T-b),k=v(E-O),h=v(0);break a}}else P=m[e+380>>2],u=m[e+564>>2],h=v(P-u),_=m[e+376>>2],C=m[e+560>>2],M=v(_-C),c=m[e+372>>2],A=m[e+556>>2],I=v(c-A),T=m[t+8>>2],a=v(T-u),E=m[t+4>>2],F=v(E-C),B=v(l-A),r=v(T-P),i=v(E-_),s=v(l-c);if(f=m[e+4>>2],p=v(l-f),O=m[e+8>>2],k=v(E-O),o=v(v(p*M)-v(k*I)),g=v(o*o),b=m[e+12>>2],N=v(T-b),o=v(v(k*h)-v(N*M)),h=v(v(N*I)-v(p*h)),h=v(g+v(v(o*o)+v(h*h))),H=v(O-C),U=v(f-A),o=v(v(s*H)-v(i*U)),g=v(o*o),G=v(b-u),o=v(v(i*G)-v(r*H)),x=v(o*o),o=v(v(r*U)-v(s*G)),h=h>(o=v(g+v(x+v(o*o))))?h:o,M=v(O-_),I=v(f-c),o=v(v(M*B)-v(I*F)),g=v(o*o),w=v(b-P),o=v(v(w*F)-v(M*a)),x=v(o*o),o=v(v(I*a)-v(w*B)),h=h>(o=v(g+v(x+v(o*o))))?h:o,o=m[e+196>>2],R=v(T-o),L=m[e+192>>2],g=v(E-L),D=m[e+188>>2],x=v(l-D),2==(0|S)){u=v(b-o),C=v(O-L),A=v(f-D),a=v(0);break o}j=v(o-u),w=v(L-C),z=v(D-A)}if(i=v(v(p*w)-v(k*z)),r=v(i*i),i=v(v(k*j)-v(N*w)),s=v(i*i),i=v(v(N*z)-v(p*j)),i=v(r+v(s+v(i*i))),r=v(v(x*H)-v(g*U)),s=v(r*r),r=v(v(g*G)-v(R*H)),u=v(r*r),r=v(v(R*U)-v(x*G)),i=i>(r=v(s+v(u+v(r*r))))?i:r,C=v(O-L),A=v(f-D),r=v(v(C*B)-v(A*F)),s=v(r*r),u=v(b-o),r=v(v(u*F)-v(C*a)),M=v(r*r),r=v(v(A*a)-v(u*B)),a=i>(r=v(s+v(M+v(r*r))))?i:r,s=v(0),V)break t;w=v(b-P),M=v(O-_),I=v(f-c),r=v(T-P),i=v(E-_),s=v(l-c)}l=v(L-_),c=v(D-c),_=v(v(p*l)-v(k*c)),f=v(_*_),_=v(o-P),l=v(v(k*_)-v(N*l)),o=v(l*l),l=v(v(N*c)-v(p*_)),l=v(f+v(o+v(l*l))),c=v(v(x*M)-v(g*I)),p=v(c*c),c=v(v(g*w)-v(R*M)),o=v(c*c),c=v(v(R*I)-v(x*w)),l=l>(c=v(p+v(o+v(c*c))))?l:c,c=v(v(C*s)-v(A*i)),i=v(v(u*i)-v(C*r)),p=v(i*i),i=v(v(A*r)-v(u*s)),s=l>(i=v(v(c*c)+v(p+v(i*i))))?l:i;break t}if(l=v(l-m[e+4>>2]),r=v(r-m[e+8>>2]),c=v(v(l*a)-v(r*h)),i=v(i-m[e+12>>2]),a=v(v(r*s)-v(i*a)),p=v(a*a),a=v(v(i*h)-v(l*s)),h=v(v(c*c)+v(p+v(a*a))),P=m[e+196>>2],_=m[e+192>>2],c=m[e+188>>2],a=v(0),2==(0|S))break n}if(a=v(x-_),s=v(o-c),u=v(v(l*a)-v(r*s)),p=v(u*u),u=v(g-P),a=v(v(r*u)-v(i*a)),o=v(a*a),a=v(v(i*s)-v(l*u)),a=v(p+v(o+v(a*a))),s=v(0),V)break t}s=v(E-_),c=v(R-c),_=v(v(l*s)-v(r*c)),p=r,r=v(T-P),s=v(v(p*r)-v(i*s)),i=v(v(i*c)-v(l*r)),s=v(v(_*_)+v(v(s*s)+v(i*i)))}return t=(e=(i=v(y(W)))>v(-0xde0b6b000000000))?0:-1,t=(e=(r=v(y(h)))>(i=e?i:v(-0xde0b6b000000000)))?1:t,e=(a=v(y(a)))>(i=e?r:i),v(y(s))>(e?a:i)?3:e?2:t}(e,t),i=g(n,184)+e|0,!(o=h[i+116>>2]))break e;if(!(a=h[6734]))break e;r[a](o),h[i+116>>2]=0}return Vn(4+((i=e)+g(e=(0|n)>0?n:0,184)|0)|0,t,184),e}function na(e,t,n){var i;w=i=w-48|0,h[i+44>>2]=e,h[i+40>>2]=t,h[i+36>>2]=n,e=h[i+44>>2],m[e+344>>2]!=v(0)&&(Qs(e,h[i+40>>2]),h[12+(t=w-16|0)>>2]=e+544,h[t+12>>2]&&(t=h[i+36>>2],ra(i,h[i+40>>2],e+348|0),Ro(n=i+16|0,t,i),Ys(e,n))),w=i+48|0}function ia(e,t){var n,i;w=n=w-128|0,h[n+124>>2]=e,h[n+120>>2]=t,e=h[n+124>>2],h[12+(t=w-16|0)>>2]=h[n+120>>2],h[n+116>>2]=h[h[t+12>>2]+4>>2],i=h[n+116>>2],ji(t=n+8|0,0,104),function(e){var t=0;w=t=w-16|0,h[t+12>>2]=e,tu(e=h[t+12>>2]),h[12+(w-16|0)>>2]=e+8,h[12+(w-16|0)>>2]=e+24,h[12+(w-16|0)>>2]=e+40,h[12+(w-16|0)>>2]=e+56,h[12+(w-16|0)>>2]=e+72,w=t+16|0}(t),Er(e,i,t),Go(h[n+120>>2],h[n+116>>2],h[e+12>>2]),w=n+128|0}function ra(e,t,n){var i;w=i=w-32|0,h[i+28>>2]=t,h[i+24>>2]=n,m[i+20>>2]=m[h[i+28>>2]>>2]*m[h[i+24>>2]>>2],m[i+16>>2]=m[h[i+28>>2]+4>>2]*m[h[i+24>>2]+4>>2],m[i+12>>2]=m[h[i+28>>2]+8>>2]*m[h[i+24>>2]+8>>2],bs(e,i+20|0,i+16|0,i+12|0),w=i+32|0}function oa(e,t,n){var i;w=i=w-32|0,h[i+28>>2]=t,h[i+24>>2]=n,m[i+20>>2]=m[h[i+28>>2]>>2]+m[h[i+24>>2]>>2],m[i+16>>2]=m[h[i+28>>2]+4>>2]+m[h[i+24>>2]+4>>2],m[i+12>>2]=m[h[i+28>>2]+8>>2]+m[h[i+24>>2]+8>>2],bs(e,i+20|0,i+16|0,i+12|0),w=i+32|0}function aa(e,t,n){var i;w=i=w-32|0,h[i+28>>2]=t,h[i+24>>2]=n,m[i+20>>2]=m[h[i+28>>2]>>2]-m[h[i+24>>2]>>2],m[i+16>>2]=m[h[i+28>>2]+4>>2]-m[h[i+24>>2]+4>>2],m[i+12>>2]=m[h[i+28>>2]+8>>2]-m[h[i+24>>2]+8>>2],bs(e,i+20|0,i+16|0,i+12|0),w=i+32|0}function sa(e,t,n){var i;w=i=w-32|0,h[i+28>>2]=t,h[i+24>>2]=n,m[i+20>>2]=m[h[i+28>>2]>>2]*m[h[i+24>>2]>>2],m[i+16>>2]=m[h[i+28>>2]+4>>2]*m[h[i+24>>2]>>2],m[i+12>>2]=m[h[i+28>>2]+8>>2]*m[h[i+24>>2]>>2],bs(e,i+20|0,i+16|0,i+12|0),w=i+32|0}function ca(){var e;return w=e=w-16|0,1&o[29868]||Vl(29868)&&(h[e+8>>2]=0,h[e+12>>2]=0,h[e>>2]=0,h[e+4>>2]=0,Vi(29252,e),Fu(29868)),h[e+8>>2]=0,h[e+12>>2]=0,h[e>>2]=0,h[e+4>>2]=0,zr(29252,v(0),e),w=e+16|0,29252}function la(e,t,n,i,r,o){var a;e|=0,t|=0,n|=0,i|=0,r|=0,o=v(o),w=a=w-32|0,h[a+28>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,h[a+12>>2]=r,m[a+8>>2]=o,Te(h[a+28>>2],h[a+24>>2],h[a+20>>2],h[a+16>>2],h[a+12>>2],m[a+8>>2]),w=a+32|0}function ua(e,t){var n;w=n=w-112|0,h[n+108>>2]=e,h[n+104>>2]=t,e=h[n+108>>2],h[12+(t=w-16|0)>>2]=h[n+104>>2],h[n+100>>2]=h[h[t+12>>2]+4>>2],t=h[n+100>>2],ji(n,0,96),nl(n),function(e,t,n){var i;if(w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,h[i+20>>2]=n,t=w-16|0,e=h[i+28>>2],h[t+12>>2]=e,h[i+16>>2]=h[h[t+12>>2]+4>>2],h[i+24>>2]>2])for(h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)h[i+12>>2]=h[i+12>>2]+1;else for(t=h[i+24>>2],h[12+(n=w-16|0)>>2]=e,(0|t)>h[h[n+12>>2]+4>>2]&&Do(e,h[i+24>>2]),h[i+8>>2]=h[i+16>>2];h[i+8>>2]>2];)to(h[e+12>>2]+g(h[i+8>>2],96)|0,h[i+20>>2]),h[i+8>>2]=h[i+8>>2]+1;h[e+4>>2]=h[i+24>>2],w=i+32|0}(e,t,n),Wo(h[n+104>>2],h[n+100>>2],h[e+12>>2]),w=n+112|0}function pa(e,t,n){var i;w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,t=w-16|0,e=h[i+12>>2],h[t+12>>2]=e,h[h[t+12>>2]>>2]=1588,h[e>>2]=1504,Ea(e+4|0,h[i+8>>2]),Ea(e+68|0,h[i+4>>2]),Ea(e+132|0,h[i+8>>2]),h[e+196>>2]=0,w=i+16|0}function ha(e){o[e+356|0]=1,h[e>>2]=0,o[e+312|0]=0,h[e+292>>2]=1566444395,h[e+296>>2]=1566444395,h[e+336>>2]=0,h[e+340>>2]=0,h[e+300>>2]=1566444395,h[e+304>>2]=0,h[e+344>>2]=0,h[e+348>>2]=0,o[e+352|0]=0,o[e+332|0]=240&d[e+332|0]}function da(e,t){var n;w=n=w-32|0,e=h[e+928>>2],h[n+24>>2]=1065353216,h[n+28>>2]=0,h[n+16>>2]=1065353216,h[n+20>>2]=0,h[n+8>>2]=1065353216,h[n+12>>2]=0,h[n>>2]=1065353216,h[n+4>>2]=1065353216,sn(t,e,0,n+16|0,n,0,-1),w=n+32|0}function fa(e,t,n,i){var r;w=r=w-32|0,h[r+24>>2]=0,h[r+28>>2]=0,h[r+16>>2]=0,h[r+20>>2]=0,h[r+8>>2]=0,h[r+12>>2]=0,h[r>>2]=0,h[r+4>>2]=0,d[e+60|0]?ze(e,t,n,i,r+16|0,r,h[e+56>>2]):ft(e,t,n,i,r+16|0,r),w=r+32|0}function _a(e,t,n,i,r){h[e>>2]=17764,h[e+4>>2]=h[t>>2],h[e>>2]=5076,o[e+24|0]=1,h[e>>2]=10356,h[e+20>>2]=0,o[e+28|0]=r,h[e+12>>2]=0,h[e+16>>2]=0,t=h[t+4>>2],o[e+36|0]=0,h[e+32>>2]=t,h[e+40>>2]=h[h[(r?i:n)+4>>2]+68>>2],li(e,n,i)}function ma(e,t,n,i){!function(e,t){h[e+4>>2]=35,h[e+8>>2]=0,h[e+12>>2]=0,h[e>>2]=14720,h[e+48>>2]=t,h[e>>2]=12324,h[e+4>>2]=21,r[h[h[t>>2]+40>>2]](t)?r[h[h[t>>2]+48>>2]](t,e+16|0,e+32|0):Jn(e)}(e,t),o[e+61|0]=0,o[e+60|0]=n,h[e+52>>2]=0,h[e+56>>2]=0,h[e>>2]=11692,h[e+4>>2]=21,i&&(h[7717]=h[7717]+1,n=Ph(t=0|r[h[6606]](172,16)),h[e+52>>2]=t,ue(n,h[e+48>>2],d[e+60|0],e+16|0,e+32|0),o[e+61|0]=1)}function ba(e,t){var n;w=n=w-32|0,h[n+28>>2]=e,h[n+24>>2]=t,e=h[n+28>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],h[n+20>>2]=h[h[t+12>>2]+4>>2],t=h[n+20>>2],h[12+(w-16|0)>>2]=n,function(e,t,n){var i,r=0;if(w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,h[i+20>>2]=n,t=w-16|0,e=h[i+28>>2],h[t+12>>2]=e,h[i+16>>2]=h[h[t+12>>2]+4>>2],h[i+24>>2]>2])for(h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)h[i+12>>2]=h[i+12>>2]+1;else for(t=h[i+24>>2],h[12+(n=w-16|0)>>2]=e,(0|t)>h[h[n+12>>2]+4>>2]&&No(e,h[i+24>>2]),h[i+8>>2]=h[i+16>>2];h[i+8>>2]>2];)n=h[e+12>>2]+(h[i+8>>2]<<4)|0,h[12+(t=w-16|0)>>2]=16,h[t+8>>2]=n,n=h[i+20>>2],r=h[n+4>>2],t=h[t+8>>2],h[t>>2]=h[n>>2],h[t+4>>2]=r,r=h[n+12>>2],h[t+8>>2]=h[n+8>>2],h[t+12>>2]=r,h[i+8>>2]=h[i+8>>2]+1;h[e+4>>2]=h[i+24>>2],w=i+32|0}(e,t,n),io(h[n+24>>2],h[n+20>>2],h[e+12>>2]),w=n+32|0}function ga(e,t,n,i){e|=0,n|=0,i|=0,e=h[20+(t|=0)>>2],h[n>>2]=h[t+16>>2],h[n+4>>2]=e,e=h[t+28>>2],h[n+8>>2]=h[t+24>>2],h[n+12>>2]=e,e=h[t+44>>2],h[i+8>>2]=h[t+40>>2],h[i+12>>2]=e,e=h[t+36>>2],h[i>>2]=h[t+32>>2],h[i+4>>2]=e}function va(e,t,n,i,r){var o;h[28+(o=w-32|0)>>2]=e,h[o+24>>2]=t,h[o+20>>2]=n,h[o+16>>2]=i,h[o+12>>2]=r,e=h[o+28>>2],m[e>>2]=m[h[o+24>>2]>>2],m[e+4>>2]=m[h[o+20>>2]>>2],m[e+8>>2]=m[h[o+16>>2]>>2],m[e+12>>2]=m[h[o+12>>2]>>2]}function ya(e,t){var n;return h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],m[e>>2]=m[e>>2]*m[h[n+8>>2]>>2],m[e+4>>2]=m[e+4>>2]*m[h[n+8>>2]>>2],m[e+8>>2]=m[e+8>>2]*m[h[n+8>>2]>>2],m[e+12>>2]=m[e+12>>2]*m[h[n+8>>2]>>2],e}function Ca(e,t,n){var i=0;de(e),i=h[e+248>>2],h[t>>2]=h[e+244>>2],h[t+4>>2]=i,i=h[e+256>>2],h[t+8>>2]=h[e+252>>2],h[t+12>>2]=i,t=h[e+272>>2],h[n+8>>2]=h[e+268>>2],h[n+12>>2]=t,t=h[e+264>>2],h[n>>2]=h[e+260>>2],h[n+4>>2]=t}function Aa(e,t){e|=0,t=v(t);var n=0,i=0,r=0;if(Ir(18490),(0|(i=h[e+232>>2]))>=1)for(;n=h[h[e+240>>2]+(r<<2)>>2],3&d[n+204|0]||(Tn(n,t),vh(n,t,n+68|0),i=h[e+232>>2]),(0|(r=r+1|0))<(0|i););Bo()}function xa(e,t,n){var i;w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,function(e,t){var n=0,i=0;for(w=n=w-16|0,h[n+8>>2]=e,h[n+4>>2]=t,e=h[n+8>>2],h[n+12>>2]=e,i=e+48|0,t=e;h[12+(w-16|0)>>2]=t,(0|i)!=(0|(t=t+16|0)););nn(e,h[n+4>>2]),w=n+16|0}(e=h[i+12>>2],h[i+8>>2]),t=h[i+4>>2],n=h[t+4>>2],h[e+48>>2]=h[t>>2],h[e+52>>2]=n,n=h[t+12>>2],h[e+56>>2]=h[t+8>>2],h[e+60>>2]=n,w=i+16|0}function Sa(e,t,n){var i;w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,Dr(e=h[i+12>>2],h[i+8>>2]),t=h[i+4>>2],n=h[t+4>>2],h[e+48>>2]=h[t>>2],h[e+52>>2]=n,n=h[t+12>>2],h[e+56>>2]=h[t+8>>2],h[e+60>>2]=n,w=i+16|0}function Ta(){var e,t=0,n=0;return w=e=w-32|0,1&o[26880]||Vl(26880)&&(n=function(){var e;return w=e=w-48|0,1&o[26932]||Vl(26932)&&(m[e+44>>2]=1,m[e+40>>2]=0,m[e+36>>2]=0,m[e+32>>2]=0,m[e+28>>2]=1,m[e+24>>2]=0,m[e+20>>2]=0,m[e+16>>2]=0,m[e+12>>2]=1,oo(26884,e+44|0,e+40|0,e+36|0,e+32|0,e+28|0,e+24|0,e+20|0,e+16|0,e+12|0),Fu(26932)),w=e+48|0,26884}(),m[e+12>>2]=0,m[e+8>>2]=0,m[e+4>>2]=0,bs(t=e+16|0,e+12|0,e+8|0,e+4|0),Sa(26816,n,t),Fu(26880)),w=e+32|0,26816}function Ea(e,t){var n,i=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Dr(e=h[n+12>>2],h[n+8>>2]),t=h[n+8>>2],i=h[t+52>>2],h[e+48>>2]=h[t+48>>2],h[e+52>>2]=i,i=h[t+60>>2],h[e+56>>2]=h[t+56>>2],h[e+60>>2]=i,w=n+16|0}function Pa(e,t){var n,i=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,uo(e=h[n+12>>2],h[n+8>>2]),t=h[n+8>>2],i=h[t+52>>2],h[e+48>>2]=h[t+48>>2],h[e+52>>2]=i,i=h[t+60>>2],h[e+56>>2]=h[t+56>>2],h[e+60>>2]=i,w=n+16|0}function Oa(e,t){var n,i=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[12+(w-16|0)>>2]=e,iu(e),h[12+(t=w-16|0)>>2]=h[n+8>>2],h[n+4>>2]=h[h[t+12>>2]+4>>2],t=h[n+4>>2],h[n>>2]=0,Tr(e,t,n),qo(h[n+8>>2],h[n+4>>2],h[e+12>>2]),w=n+16|0}(e=h[n+12>>2],h[n+8>>2]),t=h[n+8>>2],i=h[t+24>>2],h[e+20>>2]=h[t+20>>2],h[e+24>>2]=i,i=h[t+32>>2],h[e+28>>2]=h[t+28>>2],h[e+32>>2]=i,w=n+16|0}function Ma(e,t){var n;w=n=w-32|0,e=h[e+1048>>2],h[n+24>>2]=1065353216,h[n+28>>2]=0,h[n+16>>2]=0,h[n+20>>2]=1065353216,h[n+8>>2]=0,h[n+12>>2]=0,h[n>>2]=1065353216,h[n+4>>2]=0,sn(t,e,0,n+16|0,n,0,-1),w=n+32|0}function Ra(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],h[n+4>>2]=h[h[t+12>>2]+4>>2],t=h[n+4>>2],m[n>>2]=0,function(e,t,n){var i;if(w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,h[i+20>>2]=n,t=w-16|0,e=h[i+28>>2],h[t+12>>2]=e,h[i+16>>2]=h[h[t+12>>2]+4>>2],h[i+24>>2]>2])for(h[i+12>>2]=h[i+24>>2];h[i+12>>2]>2];)h[i+12>>2]=h[i+12>>2]+1;else for(t=h[i+24>>2],h[12+(n=w-16|0)>>2]=e,(0|t)>h[h[n+12>>2]+4>>2]&&wo(e,h[i+24>>2]),h[i+8>>2]=h[i+16>>2];h[i+8>>2]>2];)m[h[e+12>>2]+(h[i+8>>2]<<2)>>2]=m[h[i+20>>2]>>2],h[i+8>>2]=h[i+8>>2]+1;h[e+4>>2]=h[i+24>>2],w=i+32|0}(e,t,n),Qo(h[n+8>>2],h[n+4>>2],h[e+12>>2]),w=n+16|0}function Ia(e,t){var n;for(w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=0,h[n+4>>2]=t,e=h[n+12>>2],h[n>>2]=h[n+8>>2];h[n>>2]>2];)oh(h[e+12>>2]+g(h[n>>2],36)|0),h[n>>2]=h[n>>2]+1;w=n+16|0}function wa(e,t,n){var i;if(!(i=h[e+16>>2]))return h[e+36>>2]=1,h[e+24>>2]=n,void(h[e+16>>2]=t);e:{if((0|t)==(0|i)){if(2!=h[e+24>>2])break e;return void(h[e+24>>2]=n)}o[e+54|0]=1,h[e+24>>2]=2,h[e+36>>2]=h[e+36>>2]+1}}function Da(e,t,n,i,r,o){var a;w=a=w-32|0,h[a+28>>2]=e,m[a+24>>2]=t,m[a+20>>2]=n,m[a+16>>2]=i,m[a+12>>2]=r,m[a+8>>2]=o,function(e,t,n,i,r,o){n=v(v(n-t)*v(.5)),m[e+4>>2]=n,(t=ci(v(n+t),v(6.2831854820251465)))v(3.1415927410125732)&&(t=v(t+v(-6.2831854820251465))),m[e+16>>2]=o,m[e+12>>2]=r,m[e+8>>2]=i,m[e>>2]=t}(h[a+28>>2]+688|0,m[a+24>>2],m[a+20>>2],m[a+16>>2],m[a+12>>2],m[a+8>>2]),w=a+32|0}function La(e){return h[e+4>>2]=35,h[e+8>>2]=0,h[e>>2]=13316,h[e+44>>2]=1025758986,h[e+20>>2]=1065353216,h[e+24>>2]=0,h[e+12>>2]=1065353216,h[e+16>>2]=1065353216,h[e>>2]=13444,h[e+52>>2]=0,h[e>>2]=12800,e}function Na(e){var t=v(0);return(t=ci(v(m[e>>2]+m[e+4>>2]),v(6.2831854820251465)))v(3.1415927410125732)^1?t:v(t+v(-6.2831854820251465))}function Fa(e){var t=v(0);return(t=ci(v(m[e>>2]-m[e+4>>2]),v(6.2831854820251465)))v(3.1415927410125732)^1?t:v(t+v(-6.2831854820251465))}function Ba(e,t,n){h[e+28>>2]=n,h[e+24>>2]=-1,p[e+20>>1]=1,h[e+16>>2]=2139095039,h[e+8>>2]=-1,h[e+12>>2]=-1,h[e>>2]=19288,h[e+4>>2]=t,ca(),h[e+44>>2]=0,h[e+36>>2]=0,h[e+40>>2]=1050253722,h[e+32>>2]=29252}function ka(e,t,n,i){var o;return e|=0,t=v(t),n|=0,i=v(i),w=o=w-16|0,h[o+12>>2]=e,m[o+8>>2]=t,h[o+4>>2]=n,m[o>>2]=i,e=h[o+12>>2],e=0|r[h[h[e>>2]+52>>2]](e,m[o+8>>2],h[o+4>>2],m[o>>2]),w=o+16|0,0|e}function Va(e,t){var n;w=n=w-32|0,e=h[e+988>>2],h[n+24>>2]=0,h[n+28>>2]=0,h[n+16>>2]=0,h[n+20>>2]=1065353216,h[n+8>>2]=0,h[n+12>>2]=0,h[n>>2]=1065353216,h[n+4>>2]=0,sn(t,e,0,n+16|0,n,0,-1),w=n+32|0}function za(e,t,n){var i;return e|=0,t=v(t),n|=0,w=i=w-16|0,h[i+12>>2]=e,m[i+8>>2]=t,h[i+4>>2]=n,e=h[i+12>>2],e=0|r[h[h[e>>2]+52>>2]](e,m[i+8>>2],h[i+4>>2],v(.01666666753590107)),w=i+16|0,0|e}function ja(e,t,n,i){h[e+44>>2]=0,h[e+36>>2]=0,h[e+40>>2]=1050253722,h[e+32>>2]=i,h[e+28>>2]=n,h[e+24>>2]=-1,p[e+20>>1]=1,h[e+16>>2]=2139095039,h[e+8>>2]=-1,h[e+12>>2]=-1,h[e>>2]=19288,h[e+4>>2]=t}function Ua(e){e:switch(h[e+4>>2]){case 8:return v(m[e+28>>2]*m[e+12>>2]);default:return v(r[h[h[e>>2]+48>>2]](e));case 0:case 1:case 4:case 5:case 10:case 11:case 13:}return m[e+44>>2]}function Ga(e,t,n,i,r){var o;e|=0,t=v(t),n=v(n),i=v(i),r=v(r),w=o=w-32|0,h[o+28>>2]=e,m[o+24>>2]=t,m[o+20>>2]=n,m[o+16>>2]=i,m[o+12>>2]=r,va(h[o+28>>2],o+24|0,o+20|0,o+16|0,o+12|0),w=o+32|0}function Ha(e){var t;return h[(e|=0)>>2]=16264,(t=h[e+32>>2])&&(d[e+36|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+32>>2]=0),h[e+32>>2]=0,o[e+36|0]=1,h[e+24>>2]=0,h[e+28>>2]=0,0|e}function Wa(e,t,n,i){var o;e|=0,t|=0,n|=0,i|=0,w=o=w-16|0,h[o+12>>2]=e,h[o+8>>2]=t,p[o+6>>1]=n,p[o+4>>1]=i,e=h[o+12>>2],r[h[h[e>>2]+36>>2]](e,h[o+8>>2],p[o+6>>1],p[o+4>>1]),w=o+16|0}function Xa(e,t,n,i){var o;e|=0,t|=0,n|=0,i|=0,w=o=w-16|0,h[o+12>>2]=e,h[o+8>>2]=t,p[o+6>>1]=n,p[o+4>>1]=i,e=h[o+12>>2],r[h[h[e>>2]+88>>2]](e,h[o+8>>2],p[o+6>>1],p[o+4>>1]),w=o+16|0}function Ya(e,t){var n;return h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],m[e>>2]=m[e>>2]+m[h[n+8>>2]>>2],m[e+4>>2]=m[e+4>>2]+m[h[n+8>>2]+4>>2],m[e+8>>2]=m[e+8>>2]+m[h[n+8>>2]+8>>2],e}function Qa(e){3&d[e+204|0]||(m[e+412>>2]=v(m[e+364>>2]*m[e+348>>2])+m[e+412>>2],m[e+416>>2]=v(m[e+368>>2]*m[e+352>>2])+m[e+416>>2],m[e+420>>2]=v(m[e+372>>2]*m[e+356>>2])+m[e+420>>2])}function Ka(e,t,n,i){var r;h[12+(r=w-16|0)>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,o[r+3|0]=i,e=h[r+12>>2],1&o[r+3|0]?h[e+84>>2]=h[r+8>>2]:h[e+80>>2]=h[r+8>>2],h[e+88>>2]=h[r+4>>2]}function Za(e,t,n,i){var o;e|=0,t|=0,n|=0,i|=0,w=o=w-16|0,h[o+12>>2]=e,h[o+8>>2]=t,h[o+4>>2]=n,h[o>>2]=i,e=h[o+12>>2],r[h[h[e>>2]+8>>2]](e,h[o+8>>2],h[o+4>>2],h[o>>2]),w=o+16|0}function qa(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+52>>2]=h[e>>2],h[t+56>>2]=n,n=h[e+12>>2],h[t+60>>2]=h[e+8>>2],h[t+64>>2]=n}function Ja(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+68>>2]=h[e>>2],h[t+72>>2]=n,n=h[e+12>>2],h[t+76>>2]=h[e+8>>2],h[t+80>>2]=n}function $a(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+24>>2]=h[e>>2],h[t+28>>2]=n,n=h[e+12>>2],h[t+32>>2]=h[e+8>>2],h[t+36>>2]=n}function es(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,w=n+16|0,h[h[h[e+12>>2]+12>>2]+(h[e+8>>2]<<2)>>2]}function ts(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+32>>2]=h[e>>2],h[t+36>>2]=n,n=h[e+12>>2],h[t+40>>2]=h[e+8>>2],h[t+44>>2]=n}function ns(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+20>>2]=h[e>>2],h[t+24>>2]=n,n=h[e+12>>2],h[t+28>>2]=h[e+8>>2],h[t+32>>2]=n}function is(e,t,n,i){var o;e|=0,t|=0,n=v(n),i|=0,w=o=w-16|0,h[o+12>>2]=e,h[o+8>>2]=t,m[o+4>>2]=n,h[o>>2]=i,e=h[o+12>>2],r[h[h[e>>2]+28>>2]](e,h[o+8>>2],m[o+4>>2],h[o>>2]),w=o+16|0}function rs(e){return h[e+16>>2]=0,h[e+8>>2]=-1,h[e+12>>2]=0,h[e>>2]=0,h[e+4>>2]=0,h[e+32>>2]=0,o[e+36|0]=1,o[e+56|0]=1,h[e+24>>2]=0,h[e+28>>2]=0,h[e+52>>2]=0,h[e+44>>2]=0,h[e+48>>2]=0,e}function os(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+40>>2]=h[e>>2],h[t+44>>2]=n,n=h[e+12>>2],h[t+48>>2]=h[e+8>>2],h[t+52>>2]=n}function as(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+56>>2]=h[e>>2],h[t+60>>2]=n,n=h[e+12>>2],h[t+64>>2]=h[e+8>>2],h[t+68>>2]=n}function ss(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+48>>2]=h[e>>2],h[t+52>>2]=n,n=h[e+12>>2],h[t+56>>2]=h[e+8>>2],h[t+60>>2]=n}function cs(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+16>>2]=h[e>>2],h[t+20>>2]=n,n=h[e+12>>2],h[t+24>>2]=h[e+8>>2],h[t+28>>2]=n}function ls(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+36>>2]=h[e>>2],h[t+40>>2]=n,n=h[e+12>>2],h[t+44>>2]=h[e+8>>2],h[t+48>>2]=n}function us(e,t,n,i){var o;e|=0,t|=0,n|=0,i|=0,w=o=w-16|0,h[o+12>>2]=e,h[o+8>>2]=t,h[o+4>>2]=n,h[o>>2]=i,e=h[o+12>>2],r[h[h[e>>2]+28>>2]](e,h[o+8>>2],h[o+4>>2],h[o>>2]),w=o+16|0}function ps(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+8>>2]=h[e>>2],h[t+12>>2]=n,n=h[e+12>>2],h[t+16>>2]=h[e+8>>2],h[t+20>>2]=n}function hs(e,t,n,i){var o;e|=0,t|=0,n|=0,i|=0,w=o=w-16|0,h[o+12>>2]=e,h[o+8>>2]=t,h[o+4>>2]=n,h[o>>2]=i,e=h[o+12>>2],r[h[h[e>>2]+32>>2]](e,h[o+8>>2],h[o+4>>2],h[o>>2]),w=o+16|0}function ds(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+4>>2]=h[e>>2],h[t+8>>2]=n,n=h[e+12>>2],h[t+12>>2]=h[e+8>>2],h[t+16>>2]=n}function fs(e,t,n,i){var o;e|=0,t|=0,n|=0,i|=0,w=o=w-16|0,h[o+12>>2]=e,h[o+8>>2]=t,h[o+4>>2]=n,h[o>>2]=i,e=h[o+12>>2],r[h[h[e>>2]+8>>2]](e,h[o+8>>2],h[o+4>>2],h[o>>2]),w=o+16|0}function _s(e,t){var n;return h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],m[e>>2]=m[e>>2]*m[h[n+8>>2]>>2],m[e+4>>2]=m[e+4>>2]*m[h[n+8>>2]>>2],m[e+8>>2]=m[e+8>>2]*m[h[n+8>>2]>>2],e}function ms(e,t,n){e|=0,t|=0,n|=0;var i,o=v(0);return w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,e=h[i+12>>2],o=v(r[h[h[e>>2]+32>>2]](e,h[i+8>>2],h[i+4>>2])),w=i+16|0,v(o)}function bs(e,t,n,i){var r;h[12+(r=w-16|0)>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,h[r>>2]=i,e=h[r+12>>2],m[e>>2]=m[h[r+8>>2]>>2],m[e+4>>2]=m[h[r+4>>2]>>2],m[e+8>>2]=m[h[r>>2]>>2],m[e+12>>2]=0}function gs(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t>>2]=h[e>>2],h[t+4>>2]=n,n=h[e+12>>2],h[t+8>>2]=h[e+8>>2],h[t+12>>2]=n}function vs(e,t,n){var i,o;return e|=0,t|=0,i=0|r[h[h[(n|=0)>>2]+40>>2]](n,e),o=0|r[h[h[n>>2]+28>>2]](n,i),h[t>>2]=o,o&&r[h[h[n>>2]+48>>2]](n,i),h[t+4>>2]=h[e+4>>2],13258}function ys(e,t,n,i){var o,a,s,c=0;o=h[e+4>>2],a=e=h[e>>2],s=t,c=0,n&&(c=t=o>>8,1&o&&(c=h[t+h[n>>2]>>2])),r[h[h[e>>2]+28>>2]](a,s,c+n|0,2&o?i:2)}function Cs(e){var t;return w=t=w-16|0,h[t+8>>2]=e,h[12+(e=w-16|0)>>2]=h[t+8>>2],4!=h[h[e+12>>2]+236>>2]?h[t+12>>2]=0:h[t+12>>2]=h[t+8>>2],w=t+16|0,h[t+12>>2]}function As(e,t,n,i,r){var o;w=o=w-32|0,h[o+28>>2]=e,h[o+24>>2]=t,h[o+20>>2]=n,h[o+16>>2]=i,h[o+12>>2]=r,va(h[o+28>>2],h[o+24>>2],h[o+20>>2],h[o+16>>2],h[o+12>>2]),w=o+32|0}function xs(e){var t,n;return(e=(t=h[7848])+(n=e+3&-4)|0)>>>0<=t>>>0&&(0|n)>=1||e>>>0>(i.byteLength/65536|0)<<16>>>0&&!R(0|e)?(h[7722]=48,-1):(h[7848]=e,t)}function Ss(e,t){var n;return h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],v(v(v(m[e>>2]*m[h[n+8>>2]>>2])+v(m[e+4>>2]*m[h[n+8>>2]+4>>2]))+v(m[e+8>>2]*m[h[n+8>>2]+8>>2]))}function Ts(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,o[n+11|0]=t,t=1&o[n+11|0],h[12+(e=w-16|0)>>2]=h[n+12>>2],o[e+11|0]=t,o[h[e+12>>2]+21|0]=1&o[e+11|0],w=n+16|0}function Es(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,m[h[e+12>>2]+252>>2]=m[e+8>>2],w=n+16|0}function Ps(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,m[h[e+12>>2]+248>>2]=m[e+8>>2],w=n+16|0}function Os(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,m[h[e+12>>2]+184>>2]=m[e+8>>2],w=n+16|0}function Ms(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,m[h[e+12>>2]+12>>2]=m[e+8>>2],w=n+16|0}function Rs(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,h[h[e+12>>2]+204>>2]=h[e+8>>2],w=n+16|0}function Is(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,m[h[e+12>>2]+16>>2]=m[e+8>>2],w=n+16|0}function ws(e,t){var n;return e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,e=h[n+12>>2],e=0|r[h[h[e>>2]+52>>2]](e,m[n+8>>2],1,v(.01666666753590107)),w=n+16|0,0|e}function Ds(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,h[h[e+12>>2]+240>>2]=h[e+8>>2],w=n+16|0}function Ls(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,m[h[e+12>>2]+4>>2]=m[e+8>>2],w=n+16|0}function Ns(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,m[h[e+12>>2]+8>>2]=m[e+8>>2],w=n+16|0}function Fs(e,t,n,i){var r;e|=0,t|=0,n|=0,i|=0,w=r=w-16|0,h[r+12>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,o[r+3|0]=i,Ka(h[r+12>>2],h[r+8>>2],h[r+4>>2],1&o[r+3|0]),w=r+16|0}function Bs(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,m[h[e+12>>2]>>2]=m[e+8>>2],w=n+16|0}function ks(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],h[e>>2]=1296,Dp(e+112|0),Dp(e+92|0),Dp(e+72|0),Dp(e+20|0),h[12+(w-16|0)>>2]=e,w=t+16|0,0|e}function Vs(e,t){var n;return w=n=w-16|0,h[n+8>>2]=e,h[n+4>>2]=t,e=h[n+8>>2],h[n+4>>2]?h[n+12>>2]=function(e,t){var n=0;return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,h[n+4>>2]=0,e=h[n+8>>2]<<2,h[7717]=h[7717]+1,e=0|r[h[6606]](e,16),w=n+16|0,e}(e,h[n+4>>2]):h[n+12>>2]=0,w=n+16|0,h[n+12>>2]}function zs(e,t){var n;w=n=w-16|0,h[n+12>>2]=t,m[n+8>>2]=-m[h[n+12>>2]>>2],m[n+4>>2]=-m[h[n+12>>2]+4>>2],m[n>>2]=-m[h[n+12>>2]+8>>2],bs(e,n+8|0,n+4|0,n),w=n+16|0}function js(e,t,n,i){var o;e|=0,t|=0,n|=0,i|=0,w=o=w-16|0,h[o+12>>2]=e,h[o+8>>2]=t,h[o+4>>2]=n,h[o>>2]=i,function(e,t,n,i){var o,a;w=o=w-96|0,a=h[t+192>>2],h[o+88>>2]=-1,h[o+92>>2]=-1,h[o+84>>2]=t+4,h[o+80>>2]=t,h[o+76>>2]=a,h[o+72>>2]=0,t=h[n+192>>2],h[o+64>>2]=-1,h[o+68>>2]=-1,h[o+60>>2]=n+4,h[o+56>>2]=n,h[o+52>>2]=t,h[o+48>>2]=0,t=h[e+24>>2],(t=0|r[h[h[t>>2]+8>>2]](t,o+72|0,o+48|0,0))&&(h[12+(n=o+8|0)>>2]=o+48,h[n+8>>2]=o+72,h[n+4>>2]=0,h[n>>2]=7088,h[o+40>>2]=i,h[o+8>>2]=9484,r[h[h[t>>2]+8>>2]](t,o+72|0,o+48|0,e+28|0,n),r[h[h[t>>2]>>2]](t),e=h[e+24>>2],r[h[h[e>>2]+60>>2]](e,t)),w=o+96|0}(h[o+12>>2],h[o+8>>2],h[o+4>>2],h[o>>2]),w=o+16|0}function Us(e,t){var n;h[t+40>>2]&&(Us(e,h[t+36>>2]),Us(e,h[t+40>>2])),h[e>>2]==(0|t)&&(h[e>>2]=0),(n=h[e+4>>2])&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+4>>2]=t}function Gs(e){var t,n;for(w=t=w-16|0,h[t+8>>2]=e,e=h[t+8>>2],h[t+12>>2]=e,n=e+48|0;h[12+(w-16|0)>>2]=e,(0|n)!=(0|(e=e+16|0)););w=t+16|0}function Hs(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,p[i+6>>1]=n,e=h[i+12>>2],r[h[h[e>>2]+36>>2]](e,h[i+8>>2],p[i+6>>1],-3),w=i+16|0}function Ws(e,t,n){var i;w=i=w-80|0,h[i+76>>2]=e,h[i+72>>2]=t,h[i+68>>2]=n,function(e,t,n){var i;w=i=w-48|0,h[i+44>>2]=e,h[i+40>>2]=t,h[i+36>>2]=n,n=h[i+36>>2],h[12+(t=w-16|0)>>2]=h[i+40>>2],h[t+8>>2]=0,m[i+32>>2]=ro(n,h[t+12>>2]+(h[t+8>>2]<<4)|0),n=h[i+36>>2],h[12+(t=w-16|0)>>2]=h[i+40>>2],h[t+8>>2]=0,m[i+28>>2]=Jr(n,h[t+12>>2]+(h[t+8>>2]<<4)|0),n=h[i+36>>2],h[12+(t=w-16|0)>>2]=h[i+40>>2],h[t+8>>2]=0,m[i+24>>2]=$r(n,h[t+12>>2]+(h[t+8>>2]<<4)|0),n=h[i+36>>2],h[12+(t=w-16|0)>>2]=h[i+40>>2],h[t+8>>2]=1,m[i+20>>2]=ro(n,h[t+12>>2]+(h[t+8>>2]<<4)|0),n=h[i+36>>2],h[12+(t=w-16|0)>>2]=h[i+40>>2],h[t+8>>2]=1,m[i+16>>2]=Jr(n,h[t+12>>2]+(h[t+8>>2]<<4)|0),n=h[i+36>>2],h[12+(t=w-16|0)>>2]=h[i+40>>2],h[t+8>>2]=1,m[i+12>>2]=$r(n,h[t+12>>2]+(h[t+8>>2]<<4)|0),n=h[i+36>>2],h[12+(t=w-16|0)>>2]=h[i+40>>2],h[t+8>>2]=2,m[i+8>>2]=ro(n,h[t+12>>2]+(h[t+8>>2]<<4)|0),n=h[i+36>>2],h[12+(t=w-16|0)>>2]=h[i+40>>2],h[t+8>>2]=2,m[i+4>>2]=Jr(n,h[t+12>>2]+(h[t+8>>2]<<4)|0),n=h[i+36>>2],h[12+(t=w-16|0)>>2]=h[i+40>>2],h[t+8>>2]=2,m[i>>2]=$r(n,h[t+12>>2]+(h[t+8>>2]<<4)|0),oo(e,i+32|0,i+28|0,i+24|0,i+20|0,i+16|0,i+12|0,i+8|0,i+4|0,i),w=i+48|0}(t=i+16|0,n=h[i+72>>2],h[i+68>>2]),So(i,n,h[i+68>>2]+48|0),Sa(e,t,i),w=i+80|0}function Xs(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,p[i+6>>1]=n,e=h[i+12>>2],r[h[h[e>>2]+36>>2]](e,h[i+8>>2],p[i+6>>1],-1),w=i+16|0}function Ys(e,t){var n,i;w=n=w-48|0,h[n+44>>2]=e,h[n+40>>2]=t,lo(t=n+8|0,(e=h[n+44>>2])+264|0,h[n+40>>2]),ra(i=n+24|0,t,e+544|0),Ya(e+328|0,i),w=n+48|0}function Qs(e,t){var n,i;w=n=w-48|0,h[n+44>>2]=e,h[n+40>>2]=t,t=n+8|0,e=h[n+44>>2],ra(t,h[n+40>>2],e+348|0),sa(i=n+24|0,t,e+344|0),Ya(e+312|0,i),w=n+48|0}function Ks(e,t){var n,i,r=0;w=n=w-96|0,h[n+92>>2]=e,h[n+88>>2]=t,function(e,t){var n,i,r=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,r=w-16|0,t=h[n+8>>2],h[r+12>>2]=t,r=h[r+12>>2],h[12+(o=w-16|0)>>2]=t+16,o=h[o+12>>2],h[12+(a=w-16|0)>>2]=t+32,a=h[a+12>>2],h[12+(s=w-16|0)>>2]=t,s=h[s+12>>2]+4|0,h[12+(c=w-16|0)>>2]=t+16,c=h[c+12>>2]+4|0,h[12+(l=w-16|0)>>2]=t+32,l=h[l+12>>2]+4|0,h[12+(u=w-16|0)>>2]=t,u=h[u+12>>2]+8|0,h[12+(p=w-16|0)>>2]=t+16,p=h[p+12>>2]+8|0,h[12+(i=w-16|0)>>2]=t+32,oo(e,r,o,a,s,c,l,u,p,h[i+12>>2]+8|0),w=n+16|0}(t=n+40|0,r=h[n+88>>2]),zs(i=n+8|0,r+48|0),lo(r=n+24|0,t,i),Sa(e,t,r),w=n+96|0}function Zs(e,t,n){var i;e|=0,t=v(t),n|=0,w=i=w-16|0,h[i+12>>2]=e,m[i+8>>2]=t,h[i+4>>2]=n,e=h[i+12>>2],r[h[h[e>>2]+32>>2]](e,m[i+8>>2],h[i+4>>2]),w=i+16|0}function qs(e,t,n){var i;e|=0,t|=0,n=v(n),w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,m[i+4>>2]=n,e=h[i+12>>2],r[h[h[e>>2]+8>>2]](e,h[i+8>>2],m[i+4>>2]),w=i+16|0}function Js(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,o[i+7|0]=n,e=h[i+12>>2],r[h[h[e>>2]+56>>2]](e,h[i+8>>2],1&o[i+7|0]),w=i+16|0}function $s(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,e=h[i+12>>2],r[h[h[e>>2]+40>>2]](e,h[i+8>>2],h[i+4>>2]),w=i+16|0}function ec(e,t,n,i,r,o,a,s){var c;w=c=w-32|0,h[c+24>>2]=-1,h[c+28>>2]=-1,h[c+20>>2]=o,h[c+16>>2]=i,h[c+12>>2]=r,h[c+8>>2]=0,H(e,t,n,c+8|0,a,s),w=c+32|0}function tc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,h[6734]=h[e+8>>2],w=n+16|0}function nc(e){var t;(t=h[e+12>>2])&&(d[e+16|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+12>>2]=0),h[e+12>>2]=0,o[e+16|0]=1,h[e+4>>2]=0,h[e+8>>2]=0}function ic(e,t){var n;return w=n=w-32|0,h[n+28>>2]=e,h[n+24>>2]=t,lo(t=n+8|0,e=h[n+28>>2],h[n+24>>2]+48|0),Ya(e+48|0,t),function(e,t){var n;w=n=w-48|0,h[n+44>>2]=e,h[n+40>>2]=t,e=h[n+44>>2],m[n+36>>2]=ro(h[n+40>>2],e),m[n+32>>2]=Jr(h[n+40>>2],e),m[n+28>>2]=$r(h[n+40>>2],e),m[n+24>>2]=ro(h[n+40>>2],e+16|0),m[n+20>>2]=Jr(h[n+40>>2],e+16|0),m[n+16>>2]=$r(h[n+40>>2],e+16|0),m[n+12>>2]=ro(h[n+40>>2],e+32|0),m[n+8>>2]=Jr(h[n+40>>2],e+32|0),m[n+4>>2]=$r(h[n+40>>2],e+32|0),Fo(e,n+36|0,n+32|0,n+28|0,n+24|0,n+20|0,n+16|0,n+12|0,n+8|0,n+4|0),w=n+48|0}(e,h[n+24>>2]),w=n+32|0,e}function rc(e){var t,n;return v((n=(t=e*e)*e)*(t*t)*(2718311493989822e-21*t-.00019839334836096632)+(n*(.008333329385889463*t-.16666666641626524)+e))}function oc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,h[6989]=h[e+8>>2],w=n+16|0}function ac(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,h[6735]=h[e+8>>2],w=n+16|0}function sc(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,bs(e=h[n+12>>2],h[n+8>>2],h[n+8>>2]+16|0,h[n+8>>2]+32|0),bs(e+16|0,h[n+8>>2]+4|0,h[n+8>>2]+20|0,h[n+8>>2]+36|0),bs(e+32|0,h[n+8>>2]+8|0,h[n+8>>2]+24|0,h[n+8>>2]+40|0),w=n+16|0}(e=h[n+12>>2],h[n+8>>2]),bs(e+48|0,h[n+8>>2]+48|0,h[n+8>>2]+52|0,h[n+8>>2]+56|0),w=n+16|0}function cc(e,t){var n;for(h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=0,h[n+4>>2]=t,h[n>>2]=h[n+8>>2];h[n>>2]>2];)h[n>>2]=h[n>>2]+1}function lc(e){var t;return w=t=w-16|0,m[t+12>>2]=e,m[t+12>>2]>2]=-1),m[t+12>>2]>v(1)&&(m[t+12>>2]=1),e=oi(m[t+12>>2]),w=t+16|0,e}function uc(e){e|=0;var t=v(0),n=v(0);return t=m[e+28>>2],n=v(r[h[h[e>>2]+48>>2]](e)),v(r[h[h[e>>2]+48>>2]](e)),v(r[h[h[e>>2]+48>>2]](e)),v(v(t+n))}function pc(e,t){e|=0,t|=0;var n=v(0),i=v(0),r=v(0);n=m[t>>2],i=m[t+4>>2],r=m[t+8>>2],h[e+24>>2]=0,m[e+20>>2]=y(r),m[e+16>>2]=y(i),m[e+12>>2]=y(n)}function hc(e,t){e|=0;var n,i=0;i=h[4+(t|=0)>>2],n=h[e+48>>2],h[n+4>>2]=h[t>>2],h[n+8>>2]=i,i=h[t+12>>2],h[n+12>>2]=h[t+8>>2],h[n+16>>2]=i,Jn(e)}function dc(e){var t=0;return h[(e|=0)>>2]=12800,(t=h[e+52>>2])&&(r[h[h[t>>2]>>2]](t),(t=h[e+52>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),0|e}function fc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+8>>2],t=h[n+12>>2],4!=(-2&h[t+216>>2])&&(h[t+216>>2]=e),w=n+16|0}function _c(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],e=0|r[h[h[e>>2]+40>>2]](e,h[n+8>>2]),w=n+16|0,0|e}function mc(e,t,n){var i;w=i=w-16|0,m[i+12>>2]=t,function(e,t){var n=v(0),i=v(0),r=v(0);if((i=m[e+4>>2])>v(0)&&(r=m[e>>2],(n=ci(v(m[t>>2]-r),v(6.2831854820251465)))v(3.1415927410125732)&&(n=v(n+v(-6.2831854820251465))),!(nv(0))return(n=ci(v(i+r),v(6.2831854820251465)))>2]=n+v(6.2831854820251465)):void(m[t>>2]=n>v(3.1415927410125732)^1?n:v(n+v(-6.2831854820251465)));(n=ci(v(r-i),v(6.2831854820251465)))v(3.1415927410125732)&&(n=v(n+v(-6.2831854820251465))),m[t>>2]=n}}(e+688|0,i+12|0),m[e+680>>2]=v(m[i+12>>2]-xi(e,h[e+28>>2]+4|0,h[e+32>>2]+4|0))/n,w=i+16|0}function bc(e,t,n,i,o,a){var s,c,l=0;l=(s=h[e+4>>2])>>8,c=e=h[e>>2],1&s&&(l=h[h[i>>2]+l>>2]),r[h[h[e>>2]+20>>2]](c,t,n,i+l|0,2&s?o:2,a)}function gc(e,t){var n,i=0;return n=de(e),i=h[e+288>>2],h[t+8>>2]=h[e+284>>2],h[t+12>>2]=i,i=h[e+280>>2],h[t>>2]=h[e+276>>2],h[t+4>>2]=i,n}function vc(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,Ka(h[i+12>>2],h[i+8>>2],h[i+4>>2],0),w=i+16|0}function yc(e,t,n,i,o){var a,s,c=0;c=(a=h[e+4>>2])>>8,s=e=h[e>>2],1&a&&(c=h[h[n>>2]+c>>2]),r[h[h[e>>2]+24>>2]](s,t,n+c|0,2&a?i:2,o)}function Cc(e,t){var n;return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],m[n+4>>2]=v(1)/m[h[n+8>>2]>>2],e=ya(e,n+4|0),w=n+16|0,e}function Ac(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,function(e,t,n){var i,o;w=i=w-48|0,o=h[t+192>>2],r[h[h[o>>2]+8>>2]](o,t+4|0,i+32|0,i+16|0),h[i+12>>2]=n,h[i+4>>2]=t,h[i>>2]=9424,h[i+8>>2]=e,e=h[e+68>>2],r[h[h[e>>2]+28>>2]](e,i+32|0,i+16|0,i),w=i+48|0}(h[i+12>>2],h[i+8>>2],h[i+4>>2]),w=i+16|0}function xc(e){var t;return v(-.499999997251031*(e*=e)+1+.04166662332373906*(t=e*e)+e*t*(2439044879627741e-20*e-.001388676377460993))}function Sc(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,function(e,t,n){var i,r=0;w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,t=h[i+8>>2],r=h[t+4>>2],e=h[i+12>>2],h[(n=e)+164>>2]=h[t>>2],h[n+168>>2]=r,n=h[t+12>>2],h[e+172>>2]=h[t+8>>2],h[e+176>>2]=n,t=i,h[12+(r=w-16|0)>>2]=h[i+8>>2],n=1,m[h[r+12>>2]>>2]==v(1)&&(h[12+(r=w-16|0)>>2]=h[i+8>>2],n=1,m[h[r+12>>2]+4>>2]==v(1)&&(h[12+(n=w-16|0)>>2]=h[i+8>>2],n=m[h[n+12>>2]+8>>2]!=v(1))),o[t+3|0]=n,t=1&o[i+3|0]?h[i+4>>2]:0,h[e+180>>2]=t,w=i+16|0}(h[i+12>>2],h[i+8>>2],h[i+4>>2]),w=i+16|0}function Tc(e){h[e+12>>2]=1065353216,h[e+4>>2]=5,h[e+8>>2]=0,h[e>>2]=20392,o[e+16|0]=1,o[e+36|0]=1,h[e+32>>2]=0,h[e+24>>2]=0,h[e+28>>2]=0}function Ec(e){var t;h[12+(t=w-16|0)>>2]=e,e=h[t+12>>2],h[e>>2]=1428,m[e+4>>2]=1,h[e+8>>2]=0,p[e+12>>1]=1,p[e+14>>1]=65535,h[e+16>>2]=0}function Pc(e){var t;h[12+(t=w-16|0)>>2]=e,e=h[t+12>>2],h[e>>2]=0,h[e+4>>2]=0,h[e+8>>2]=4096,h[e+12>>2]=4096,h[e+16>>2]=0,h[e+20>>2]=1}function Oc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+36>>2]](e,h[n+8>>2],2,-3),w=n+16|0}function Mc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+36>>2]](e,h[n+8>>2],1,-1),w=n+16|0}function Rc(e){var t;w=t=w-16|0,h[t+12>>2]=e,function(e){var t;w=t=w-48|0,h[t+44>>2]=e,e=h[t+44>>2],m[t+40>>2]=1,m[t+36>>2]=0,m[t+32>>2]=0,m[t+28>>2]=0,m[t+24>>2]=1,m[t+20>>2]=0,m[t+16>>2]=0,m[t+12>>2]=0,m[t+8>>2]=1,Fo(e,t+40|0,t+36|0,t+32|0,t+28|0,t+24|0,t+20|0,t+16|0,t+12|0,t+8|0),w=t+48|0}(e=h[t+12>>2]),m[t+8>>2]=0,m[t+4>>2]=0,m[t>>2]=0,bs(e+48|0,t+8|0,t+4|0,t),w=t+16|0}function Ic(e,t){var n;w=n=w-32|0,h[n+28>>2]=e,h[n+24>>2]=t,e=n+8|0,t=h[n+28>>2],ra(e,h[n+24>>2],t+544|0),Ya(t+428|0,e),w=n+32|0}function wc(e,t){var n;w=n=w-32|0,h[n+28>>2]=e,h[n+24>>2]=t,e=n+8|0,t=h[n+28>>2],ra(e,h[n+24>>2],t+348|0),Ya(t+412|0,e),w=n+32|0}function Dc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+56>>2]](e,h[n+8>>2],0),w=n+16|0}function Lc(e){var t;w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],h[e+12>>2]&&(1&o[e+16|0]&&function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,(e=h[n+8>>2])&&(h[7718]=h[7718]+1,r[h[6607]](e)),w=n+16|0}(e,h[e+12>>2]),h[e+12>>2]=0),w=t+16|0}function Nc(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,0!=(2&h[h[e+12>>2]+204>>2])|0}function Fc(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,0!=(1&h[h[e+12>>2]+204>>2])|0}function Bc(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,0!=(3&h[h[e+12>>2]+204>>2])|0}function kc(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+44>>2]](e,m[n+8>>2]),w=n+16|0}function Vc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+12>>2]](e,h[n+8>>2]),w=n+16|0}function zc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+24>>2]](e,h[n+8>>2]),w=n+16|0}function jc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+40>>2]](e,h[n+8>>2]),w=n+16|0}function Uc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+72>>2]](e,h[n+8>>2]),w=n+16|0}function Gc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+64>>2]](e,h[n+8>>2]),w=n+16|0}function Hc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+84>>2]](e,h[n+8>>2]),w=n+16|0}function Wc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+92>>2]](e,h[n+8>>2]),w=n+16|0}function Xc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+16>>2]](e,h[n+8>>2]),w=n+16|0}function Yc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+60>>2]](e,h[n+8>>2]),w=n+16|0}function Qc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+36>>2]](e,h[n+8>>2]),w=n+16|0}function Kc(e,t){e|=0,t|=0;var n,i=v(0);return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,i=Ss(h[n+12>>2],h[n+8>>2]),w=n+16|0,v(i)}function Zc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+68>>2]](e,h[n+8>>2]),w=n+16|0}function qc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+44>>2]](e,h[n+8>>2]),w=n+16|0}function Jc(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+8>>2]](e,h[n+8>>2]),w=n+16|0}function $c(e){var t,n=v(0);return w=t=w-16|0,h[t+12>>2]=e,n=function(e){var t=0,n=v(0);return w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],n=Ss(e,e),w=t+16|0,n}(h[t+12>>2]),m[12+(e=w-16|0)>>2]=n,w=t+16|0,v(S(m[e+12>>2]))}function el(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,m[h[e+12>>2]+4>>2]>2]=e,n=Hu(h[t+12>>2]),m[12+(e=w-16|0)>>2]=n,w=t+16|0,v(S(m[e+12>>2]))}function nl(e){var t;w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],h[12+(w-16|0)>>2]=e+4,Gs(e+28|0),h[12+(w-16|0)>>2]=e+76,w=t+16|0}function il(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,0!=h[h[e+12>>2]+8>>2]|0}function rl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,v(m[h[e+12>>2]+228>>2])}function ol(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,v(m[h[e+12>>2]+224>>2])}function al(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,v(m[h[e+12>>2]+232>>2])}function sl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,v(m[h[e+12>>2]+16>>2])}function cl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,v(m[h[e+12>>2]+12>>2])}function ll(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,v(m[h[e+12>>2]+4>>2])}function ul(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,v(m[h[e+12>>2]+8>>2])}function pl(e){e|=0;var t,n=v(0);return w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],n=v(r[h[h[e>>2]+48>>2]](e)),w=t+16|0,v(n)}function hl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+204>>2]}function dl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+188>>2]}function fl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+240>>2]}function _l(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+192>>2]}function ml(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+24>>2]}function bl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,v(m[h[e+12>>2]>>2])}function gl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+52>>2]}function vl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+68>>2]}function yl(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=function(e,t){var n;return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2]+264,h[e+8>>2]=t,w=n+16|0,h[h[h[e+12>>2]+12>>2]+(h[e+8>>2]<<2)>>2]}(h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e}function Cl(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=Ya(h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e}function Al(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=function(e,t){var n;return h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],m[e>>2]=m[e>>2]-m[h[n+8>>2]>>2],m[e+4>>2]=m[e+4>>2]-m[h[n+8>>2]+4>>2],m[e+8>>2]=m[e+8>>2]-m[h[n+8>>2]+8>>2],e}(h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e}function xl(e,t){var n;ti(e,t),(n=h[e+4>>2])&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+4>>2]=t,h[e+12>>2]=h[e+12>>2]+-1}function Sl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+4>>2]}function Tl(e){var t=0;e=e||1;e:{for(;;){if(t=k(e))break e;if(!(t=h[7723]))break;r[t]()}I(),T()}return t}function El(e){var t;return w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],h[7717]=h[7717]+1,e=0|r[h[6606]](e,16),w=t+16|0,e}function Pl(e,t){var n;return e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,e=_s(h[n+12>>2],n+8|0),w=n+16|0,0|e}function Ol(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+28|0}function Ml(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+92|0}function Rl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+48|0}function Il(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+4|0}function wl(e){for(var t=0;h[e+4>>2]=0,h[e+8>>2]=0,(t=h[e+24>>2])&&wl(t),e=h[e+28>>2];);}function Dl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],e=0|r[h[h[e>>2]+28>>2]](e),w=t+16|0,0|e}function Ll(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],e=0|r[h[h[e>>2]+36>>2]](e),w=t+16|0,0|e}function Nl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],e=0|r[h[h[e>>2]+48>>2]](e),w=t+16|0,0|e}function Fl(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],e=0|r[h[h[e>>2]+20>>2]](e),w=t+16|0,0|e}function Bl(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]+216>>2]=h[n+8>>2],w=n+16|0}function kl(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Ka(h[n+12>>2],h[n+8>>2],0,0),w=n+16|0}function Vl(e){var t;return w=t=w-16|0,h[t+12>>2]=0,h[t+4>>2]=e,h[t>>2]=e,h[t+8>>2]=e+1,e=function(e){var t=0,n=0;return w=t=w-16|0,h[t+8>>2]=h[e+4>>2],d[h[t+8>>2]]||(n=function(e){var t=0;e:{if(e=h[e+8>>2],1!=(0|(t=d[0|e]))){if(2&t)break e;o[0|e]=2,e=1}else e=0;return e}T()}(e)),w=t+16|0,n}(t),w=t+16|0,e}function zl(e,t){t|=0,h[(e|=0)>>2]=0,h[e+4>>2]=0,h[e+8>>2]=0,h[e+12>>2]=0,h[e+(h[t+52>>2]<<2)>>2]=1065353216}function jl(e,t,n){return n?(0|e)==(0|t)?1:!function(e,t){var n=0,i=0;e:if(!(!(n=d[0|e])|(0|n)!=(0|(i=d[0|t]))))for(;;){if(i=d[t+1|0],!(n=d[e+1|0]))break e;if(t=t+1|0,e=e+1|0,(0|n)!=(0|i))break}return n-i|0}(h[e+4>>2],h[t+4>>2]):h[e+4>>2]==h[t+4>>2]}function Ul(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,o[n+11|0]=t,Zu(h[n+12>>2],1&o[n+11|0]),w=n+16|0}function Gl(e,t,n,i,r){var o;o=h[e+32>>2],h[o>>2]=h[o>>2]+1,qn(e,ke(e,t,r)),qn(e,ke(e,n,r)),qn(e,ke(e,i,r))}function Hl(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,function(e,t){var n;h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,e=h[n+12>>2],h[e+260>>2]=h[e+260>>2]+1,m[e+228>>2]=m[n+8>>2]}(h[n+12>>2],m[n+8>>2]),w=n+16|0}function Wl(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,function(e,t){var n;h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,e=h[n+12>>2],h[e+260>>2]=h[e+260>>2]+1,m[e+224>>2]=m[n+8>>2]}(h[n+12>>2],m[n+8>>2]),w=n+16|0}function Xl(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,function(e,t){var n;h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,e=h[n+12>>2],h[e+260>>2]=h[e+260>>2]+1,m[e+232>>2]=m[n+8>>2]}(h[n+12>>2],m[n+8>>2]),w=n+16|0}function Yl(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+680>>2]=h[e>>2],h[t+684>>2]=n,n=h[e+12>>2],h[t+688>>2]=h[e+8>>2],h[t+692>>2]=n}(h[n+12>>2],h[n+8>>2]),w=n+16|0}function Ql(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+696>>2]=h[e>>2],h[t+700>>2]=n,n=h[e+12>>2],h[t+704>>2]=h[e+8>>2],h[t+708>>2]=n}(h[n+12>>2],h[n+8>>2]),w=n+16|0}function Kl(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[e+260>>2]=h[e+260>>2]+1,Pa(e+4|0,h[n+8>>2]),w=n+16|0}(h[n+12>>2],h[n+8>>2]),w=n+16|0}function Zl(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n,i=v(0);for(w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[n+4>>2]=0;h[n+4>>2]<3;)h[12+(t=w-16|0)>>2]=h[n+8>>2],i=ko(m[h[t+12>>2]+(h[n+4>>2]<<2)>>2]),m[(e+868|0)+(h[n+4>>2]<<6)>>2]=i,h[n+4>>2]=h[n+4>>2]+1;w=n+16|0}(h[n+12>>2],h[n+8>>2]),w=n+16|0}function ql(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n,i=v(0);for(w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[n+4>>2]=0;h[n+4>>2]<3;)h[12+(t=w-16|0)>>2]=h[n+8>>2],i=ko(m[h[t+12>>2]+(h[n+4>>2]<<2)>>2]),m[4+((e+868|0)+(h[n+4>>2]<<6)|0)>>2]=i,h[n+4>>2]=h[n+4>>2]+1;w=n+16|0}(h[n+12>>2],h[n+8>>2]),w=n+16|0}function Jl(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,ds(h[n+12>>2],h[n+8>>2]),w=n+16|0}function $l(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Jt(h[n+12>>2],h[n+8>>2]),w=n+16|0}function eu(e){var t;w=t=w-16|0,h[t+12>>2]=e,(e=h[t+12>>2])&&(h[7718]=h[7718]+1,r[h[6607]](e)),w=t+16|0}function tu(e){var t;w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],h[h[e+12>>2]>>2]=0,w=t+16|0}function nu(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],h[12+(w-16|0)>>2]=e,w=t+16|0,0|e}function iu(e){var t;h[12+(t=w-16|0)>>2]=e,e=h[t+12>>2],o[e+16|0]=1,h[e+12>>2]=0,h[e+4>>2]=0,h[e+8>>2]=0}function ru(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,(e=h[t+12>>2])&&r[h[h[e>>2]+8>>2]](e),w=t+16|0}function ou(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,(e=h[t+12>>2])&&r[h[h[e>>2]+4>>2]](e),w=t+16|0}function au(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,p[n+10>>1]=t,p[h[n+12>>2]+12>>1]=f[n+10>>1]}function su(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,p[n+10>>1]=t,p[h[n+12>>2]+14>>1]=f[n+10>>1]}function cu(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,p[n+10>>1]=t,p[h[n+12>>2]+10>>1]=f[n+10>>1]}function lu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+40>>2]=m[n+8>>2]}function uu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+28>>2]=m[n+8>>2]}function pu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+48>>2]=m[n+8>>2]}function hu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+52>>2]=m[n+8>>2]}function du(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+56>>2]=m[n+8>>2]}function fu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+60>>2]=m[n+8>>2]}function _u(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+64>>2]=m[n+8>>2]}function mu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+68>>2]=m[n+8>>2]}function bu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+36>>2]=m[n+8>>2]}function gu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+72>>2]=m[n+8>>2]}function vu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+76>>2]=m[n+8>>2]}function yu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+32>>2]=m[n+8>>2]}function Cu(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,p[n+10>>1]=t,p[h[n+12>>2]+8>>1]=f[n+10>>1]}function Au(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+16>>2]=m[n+8>>2]}function xu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+20>>2]=m[n+8>>2]}function Su(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+12>>2]=m[n+8>>2]}function Tu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+24>>2]=m[n+8>>2]}function Eu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+92>>2]=m[n+8>>2]}function Pu(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]+88>>2]=h[n+8>>2]}function Ou(e,t,n){var i;w=i=w-16|0,h[i+12>>2]=t,h[i+8>>2]=n,sa(e,h[i+8>>2],h[i+12>>2]),w=i+16|0}function Mu(e,t,n){var i;w=i=w-16|0,h[i+12>>2]=t,h[i+8>>2]=n,So(e,h[i+12>>2],h[i+8>>2]),w=i+16|0}function Ru(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+4>>2]=m[n+8>>2]}function Iu(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+8>>2]=m[n+8>>2]}function wu(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]+20>>2]=h[n+8>>2]}function Du(e){e|=0;var t,n=v(0);return w=t=w-16|0,h[t+12>>2]=e,n=$c(h[t+12>>2]),w=t+16|0,v(n)}function Lu(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]+8>>2]=h[n+8>>2]}function Nu(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]+4>>2]=h[n+8>>2]}function Fu(e){var t;w=t=w-16|0,h[t+12>>2]=0,h[t+4>>2]=e,h[t>>2]=e,h[t+8>>2]=e+1,function(e){var t=0;w=t=w-16|0,h[t+8>>2]=h[e+4>>2],o[h[t+8>>2]]=1,o[h[e+8>>2]]=1,w=t+16|0}(t),w=t+16|0}function Bu(e){var t;w=t=w-16|0,h[t+12>>2]=e,Gs(e=h[t+12>>2]),h[12+(w-16|0)>>2]=e+48,w=t+16|0}function ku(e){e|=0;var t,n=v(0);return w=t=w-16|0,h[t+12>>2]=e,n=function(e){var t,n;return w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],h[t+8>>2]=(h[e+52>>2]+2|0)%3,h[12+(n=w-16|0)>>2]=e+28,w=t+16|0,m[h[n+12>>2]+(h[t+8>>2]<<2)>>2]}(h[t+12>>2]),w=t+16|0,v(n)}function Vu(e){e|=0;var t,n=v(0);return w=t=w-16|0,h[t+12>>2]=e,n=function(e){var t,n;return w=t=w-16|0,h[t+12>>2]=e,e=w-16|0,n=h[t+12>>2],h[e+12>>2]=n+28,w=t+16|0,m[h[e+12>>2]+(h[n+52>>2]<<2)>>2]}(h[t+12>>2]),w=t+16|0,v(n)}function zu(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],r[h[h[e>>2]+24>>2]](e),w=t+16|0}function ju(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]>>2]=m[n+8>>2]}function Uu(e){var t;w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],m[t+8>>2]=$c(e),function(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],m[n+4>>2]=v(1)/m[h[n+8>>2]>>2],_s(e,n+4|0),w=n+16|0}(e,t+8|0),w=t+16|0}function Gu(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]>>2]=h[n+8>>2]}function Hu(e){var t,n=v(0);return w=t=w-16|0,h[t+12>>2]=e,n=Ao(e=h[t+12>>2],e),w=t+16|0,n}function Wu(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,ba(h[n+12>>2],h[n+8>>2]),w=n+16|0}function Xu(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],h[n+4>>2]=h[h[t+12>>2]+4>>2],t=h[n+4>>2],h[n>>2]=0,Tr(e,t,n),qo(h[n+8>>2],h[n+4>>2],h[e+12>>2]),w=n+16|0}(h[n+12>>2],h[n+8>>2]),w=n+16|0}function Yu(e){var t;w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],h[12+(w-16|0)>>2]=e,iu(e),w=t+16|0}function Qu(e,t){e|=0,!(t|=0)|!(2&h[t+236>>2])?Qr(e,t):r[h[h[e>>2]+92>>2]](e,t)}function Ku(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,(e=h[t+12>>2])&&(Dp(e),Se(e)),w=t+16|0}function Zu(e,t){3&d[e+204|0]&&!t||(4!=(-2&h[e+216>>2])&&(h[e+216>>2]=1),h[e+220>>2]=0)}function qu(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=1&function(e){var t,n,i;return w=t=w-16|0,h[t+12>>2]=e,e=0,n=w-16|0,i=h[t+12>>2],h[n+12>>2]=i,2!=h[h[n+12>>2]+216>>2]&&(h[12+(e=w-16|0)>>2]=i,e=5!=h[h[e+12>>2]+216>>2]),w=t+16|0,1&e}(h[t+12>>2]),w=t+16|0,0|e}function Ju(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=function(e){var t;return w=t=w-16|0,h[t+12>>2]=e,e=h[h[t+12>>2]+68>>2],e=0|r[h[h[e>>2]+36>>2]](e),w=t+16|0,e}(h[t+12>>2]),w=t+16|0,0|e}function $u(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=function(e){var t;return w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2]+264,w=t+16|0,h[h[e+12>>2]+4>>2]}(h[t+12>>2]),w=t+16|0,0|e}function ep(e){var t=0;return(t=h[e+24>>2])&&Se(ep(t)),(t=h[e+28>>2])&&Se(ep(t)),e}function tp(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,(e=h[t+12>>2])&&Se(e),w=t+16|0}function np(e,t,n,i,r,o){d[e+60|0]?ze(e,t,n,i,r,o,h[e+56>>2]):ft(e,t,n,i,r,o)}function ip(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,nu(e=h[t+12>>2]),Se(e),w=t+16|0}function rp(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,(e=h[t+12>>2])&&eu(e),w=t+16|0}function op(e,t,n,i,r){return e=pe(e,26816,t,n,i,r)?1:_e(e,26816,t,n,i,r,0)}function ap(e,t,n){var i;i=_o(e),h[e+92>>2]=t,h[e>>2]=14468,h[e+4>>2]=3,n&&or(i)}function sp(e,t,n,i,r){!function(e,t,n,i,r){var a=v(0),s=0,c=v(0),l=0,u=0,p=0;e:{if(r&&!((0|(l=h[e+732>>2]))<1))for(p=h[e+740>>2],r=0;;){if(s=g(r,52)+p|0,u=h[s+8>>2],(h[s+12>>2]==(0|n)?(0|u)==(0|t):0)|(h[s+12>>2]==(0|t)?(0|n)==(0|u):0))break e;if((0|l)==(0|(r=r+1|0)))break}yn(e,i),i=h[e+740>>2]+g(h[e+732>>2],52)|0,h[i+-40>>2]=n,h[i+-44>>2]=t,a=v(m[t+8>>2]-m[n+8>>2]),c=v(a*a),a=v(m[t+12>>2]-m[n+12>>2]),c=v(c+v(a*a)),a=v(m[t+16>>2]-m[n+16>>2]),m[i+-36>>2]=S(v(c+v(a*a))),o[e+924|0]=1}}(e,(e=h[e+720>>2])+g(t,104)|0,e+g(n,104)|0,i,r)}function cp(e,t,n){t=v(t),h[(n|=0)>>2]=0,h[n+4>>2]=0,h[n+8>>2]=0,h[n+12>>2]=0}function lp(e){var t;return w=t=w-16|0,m[t+12>>2]=e,e=wi(m[t+12>>2]),w=t+16|0,e}function up(e){var t;return w=t=w-16|0,m[t+12>>2]=e,e=Ri(m[t+12>>2]),w=t+16|0,e}function pp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+40>>2])}function hp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+28>>2])}function dp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+48>>2])}function fp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+52>>2])}function _p(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+16>>2])}function mp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+56>>2])}function bp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+60>>2])}function gp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+64>>2])}function vp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+68>>2])}function yp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+36>>2])}function Cp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+72>>2])}function Ap(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+92>>2])}function xp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+32>>2])}function Sp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+20>>2])}function Tp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+12>>2])}function Ep(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+24>>2])}function Pp(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,Zu(h[t+12>>2],0),w=t+16|0}function Op(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+76>>2])}function Mp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+4>>2])}function Rp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+8>>2])}function Ip(e){var t;return(-1>>>(t=31&e)&-2)<>>e}function wp(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,Uu(h[t+12>>2]),w=t+16|0}function Dp(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,function(e){var t,n;w=t=w-16|0,h[t+12>>2]=e,n=w-16|0,e=h[t+12>>2],h[n+12>>2]=e,cc(e,h[h[n+12>>2]+4>>2]),Lc(e),iu(e),w=t+16|0}(h[t+12>>2]),w=t+16|0}function Lp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,p[h[t+12>>2]+12>>1]}function Np(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,p[h[t+12>>2]+14>>1]}function Fp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]>>2])}function Bp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,p[h[t+12>>2]+10>>1]}function kp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[h[t+12>>2]+20>>2]}function Vp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[h[t+12>>2]+88>>2]}function zp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[h[t+12>>2]+4>>2]}function jp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[h[t+12>>2]+8>>2]}function Up(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,p[h[t+12>>2]+8>>1]}function Gp(e,t){t|=0,e=h[4+(e|=0)>>2],r[h[h[e>>2]+8>>2]](e,h[t+36>>2])}function Hp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[h[t+12>>2]>>2]}function Wp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+52|0}function Xp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+68|0}function Yp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+28|0}function Qp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+32|0}function Kp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+92|0}function Zp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+20|0}function qp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+40|0}function Jp(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+56|0}function $p(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+72|0}function eh(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+24|0}function th(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+16|0}function nh(e){h[(e|=0)>>2]=19288,e&&(h[7718]=h[7718]+1,r[h[6607]](e))}function ih(e,t,n,i){t|=0,n|=0,i|=0,r[h[h[(e|=0)>>2]+80>>2]](e,t,n,i)}function rh(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+36|0}function oh(e){var t;w=t=w-16|0,h[t+12>>2]=e,Dp(h[t+12>>2]),w=t+16|0}function ah(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+8|0}function sh(e){var t;w=t=w-16|0,h[t+12>>2]=e,Yu(h[t+12>>2]),w=t+16|0}function ch(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+4|0}function lh(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]}function uh(e,t,n,i,r){return v(v(1))}function ph(e){dc(e|=0),e&&(h[7718]=h[7718]+1,r[h[6607]](e))}function hh(e,t,n,i,o){!function(e,t,n,i){var o,a,s=v(0),c=0,l=v(0),u=0,p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=0,A=0,x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=0;for(w=o=w-272|0,h[e+56>>2]=0,h[o+264>>2]=0,h[o+268>>2]=0,h[o+256>>2]=0,h[o+260>>2]=0,u=h[(c=t)+12>>2],h[o+168>>2]=h[c+8>>2],h[o+172>>2]=u,u=h[c+4>>2],h[o+160>>2]=h[c>>2],h[o+164>>2]=u,u=h[c+28>>2],h[o+184>>2]=h[c+24>>2],h[o+188>>2]=u,u=h[c+20>>2],h[o+176>>2]=h[c+16>>2],h[o+180>>2]=u,u=h[c+44>>2],h[o+200>>2]=h[c+40>>2],h[o+204>>2]=u,u=h[c+36>>2],h[o+192>>2]=h[c+32>>2],h[o+196>>2]=u,u=h[c+60>>2],h[o+216>>2]=h[c+56>>2],h[o+220>>2]=u,u=h[c+52>>2],h[o+208>>2]=h[c+48>>2],h[o+212>>2]=u,u=h[c+76>>2],h[o+104>>2]=h[c+72>>2],h[o+108>>2]=u,u=h[c+68>>2],h[o+96>>2]=h[c+64>>2],h[o+100>>2]=u,u=h[c+92>>2],h[o+120>>2]=h[c+88>>2],h[o+124>>2]=u,u=h[c+84>>2],h[o+112>>2]=h[c+80>>2],h[o+116>>2]=u,u=h[c+108>>2],h[o+136>>2]=h[c+104>>2],h[o+140>>2]=u,u=h[c+100>>2],h[o+128>>2]=h[c+96>>2],h[o+132>>2]=u,u=h[c+124>>2],h[o+152>>2]=h[c+120>>2],h[o+156>>2]=u,u=h[c+116>>2],h[o+144>>2]=h[c+112>>2],h[o+148>>2]=u,s=m[o+212>>2],l=m[o+148>>2],M=v(v(s+l)*v(.5)),m[o+212>>2]=s-M,s=m[o+216>>2],f=m[o+152>>2],R=v(v(s+f)*v(.5)),m[o+216>>2]=s-R,m[o+148>>2]=l-M,m[o+152>>2]=f-R,s=m[o+208>>2],l=m[o+144>>2],I=v(v(s+l)*v(.5)),m[o+208>>2]=s-I,m[o+144>>2]=l-I,A=h[h[e+28>>2]+4>>2]+-17>>>0<=1?h[h[e+32>>2]+4>>2]+-17>>>0<2:A,y=m[e+44>>2],s=m[e+48>>2],h[6738]=h[6738]+1,h[e+68>>2]=0,h[e+12>>2]=0,h[e+16>>2]=0,h[e+4>>2]=0,h[e+8>>2]=1065353216,h[e+60>>2]=-1,h[e+64>>2]=0,a=d[e+52|0],ha(h[e+24>>2]),g=a?v(0):s,c=e+4|0,l=v(0xde0b6b000000000);;){b=m[t+32>>2],x=m[t+16>>2],E=m[t>>2],P=m[t+36>>2],O=m[t+20>>2],D=m[t+4>>2],L=m[t+40>>2],s=m[e+12>>2],p=m[t+24>>2],_=m[e+8>>2],N=m[t+8>>2],f=m[e+4>>2],h[o+252>>2]=0,T=p,p=v(-_),m[o+248>>2]=v(v(T*p)-v(f*N))-v(s*L),m[o+244>>2]=v(v(O*p)-v(f*D))-v(s*P),m[o+240>>2]=v(v(x*p)-v(f*E))-v(s*b),p=m[t+96>>2],b=m[t+64>>2],x=m[t+80>>2],E=m[t+100>>2],P=m[t+68>>2],O=m[t+84>>2],D=m[t+104>>2],L=m[t+72>>2],N=m[t+88>>2],h[o+236>>2]=0,m[o+232>>2]=v(v(f*L)+v(_*N))+v(s*D),m[o+228>>2]=v(v(f*P)+v(_*O))+v(s*E),m[o+224>>2]=v(v(f*b)+v(_*x))+v(s*p),ge(o+80|0,h[e+28>>2],o+240|0),ge(o- -64|0,h[e+32>>2],o+224|0),h[o+60>>2]=0,s=m[o+80>>2],_=m[o+84>>2],p=m[o+88>>2],f=v(v(v(v(s*m[o+192>>2])+v(_*m[o+196>>2]))+v(p*m[o+200>>2]))+m[o+216>>2]),m[o+56>>2]=f,x=v(v(v(v(s*m[o+176>>2])+v(_*m[o+180>>2]))+v(p*m[o+184>>2]))+m[o+212>>2]),m[o+52>>2]=x,E=v(v(v(v(s*m[o+160>>2])+v(_*m[o+164>>2]))+v(p*m[o+168>>2]))+m[o+208>>2]),m[o+48>>2]=E,h[o+44>>2]=0,s=m[o+64>>2],p=m[o+68>>2],b=m[o+72>>2],_=v(v(v(v(s*m[o+128>>2])+v(p*m[o+132>>2]))+v(b*m[o+136>>2]))+m[o+152>>2]),m[o+40>>2]=_,P=v(v(v(v(s*m[o+112>>2])+v(p*m[o+116>>2]))+v(b*m[o+120>>2]))+m[o+148>>2]),m[o+36>>2]=P,s=v(v(v(v(s*m[o+96>>2])+v(p*m[o+100>>2]))+v(b*m[o+104>>2]))+m[o+144>>2]),m[o+32>>2]=s,A&&(h[o+40>>2]=0,h[o+56>>2]=0,_=v(0),f=v(0)),h[o+28>>2]=0,f=v(f-_),m[o+24>>2]=f,s=v(E-s),m[o+16>>2]=s,_=v(x-P),m[o+20>>2]=_;e:{if((s=v(v(v(s*m[e+4>>2])+v(_*m[e+8>>2]))+v(f*m[e+12>>2])))>v(0)^1|v(s*s)>v(l*m[t+128>>2])^1){if(qr(h[e+24>>2],o+16|0)){C=1,h[e+68>>2]=1,u=2;break e}if((s=v(l-s))<=v(l*v(9.999999974752427e-7))){u=2,h[e+68>>2]=s<=v(0)?2:11,C=1;break e}if(Fr(h[e+24>>2],o+16|0,o+48|0,o+32|0),gc(h[e+24>>2],o)){if(s=m[o>>2],p=v(s*s),s=m[o+4>>2],p=v(p+v(s*s)),s=m[o+8>>2],!((s=v(p+v(s*s)))>2]=12,C=1,u=2):(u=h[o+4>>2],h[c>>2]=h[o>>2],h[c+4>>2]=u,u=h[o+12>>2],h[c+8>>2]=h[o+8>>2],h[c+12>>2]=u,F=h[e+64>>2],h[e+64>>2]=F+1,u=2,(0|F)>1e3||(4==h[h[e+24>>2]>>2]?h[e+68>>2]=13:u=0)),l=s;break e}u=h[o+4>>2],h[c>>2]=h[o>>2],h[c+4>>2]=u,u=h[o+12>>2],h[c+8>>2]=h[o+8>>2],h[c+12>>2]=u,h[e+68>>2]=6}else h[e+68>>2]=3}else h[e+68>>2]=10;C=1,u=2}if(u)break}s=v(0),f=a?v(0):y,_=v(f+g),A=0,u=0,1&C&&(Ca(h[e+24>>2],o+240|0,o+224|0),C=h[c+12>>2],h[o+264>>2]=h[c+8>>2],h[o+268>>2]=C,C=h[c+4>>2],h[o+256>>2]=h[c>>2],h[o+260>>2]=C,s=m[e+4>>2],p=m[e+8>>2],b=m[e+12>>2],+(y=v(v(v(s*s)+v(p*p))+v(b*b)))<1e-4&&(h[e+68>>2]=5),C=1,y>v(14210854715202004e-30)?(y=v(v(1)/v(S(y))),m[o+256>>2]=y*m[o+256>>2],m[o+260>>2]=y*m[o+260>>2],m[o+264>>2]=y*m[o+264>>2],x=v(S(l)),l=v(f/x),m[o+240>>2]=m[o+240>>2]-v(l*s),m[o+244>>2]=m[o+244>>2]-v(l*p),m[o+248>>2]=m[o+248>>2]-v(l*b),l=v(g/x),m[o+224>>2]=v(l*s)+m[o+224>>2],m[o+228>>2]=v(l*p)+m[o+228>>2],m[o+232>>2]=v(l*b)+m[o+232>>2],u=1,s=v(v(v(1)/y)-_)):(C=2,s=v(0)),h[e+60>>2]=C),!h[e+68>>2]|!h[e+72>>2]|!h[e+20>>2]||(A=+v(_+s)<.01);e:{t:{if(((C=1^u)||A)&&(A=h[e+20>>2])){if(h[6737]=h[6737]+1,h[c+8>>2]=0,h[c+12>>2]=0,h[c>>2]=0,h[c+4>>2]=0,r[h[h[A>>2]+8>>2]](A,h[e+24>>2],h[e+28>>2],h[e+32>>2],o+160|0,o+96|0,c,o+80|0,o- -64|0,i)){if(b=v(0),A=9,l=m[o+64>>2],y=m[o+80>>2],g=v(l-y),x=m[o+68>>2],E=m[o+84>>2],p=v(x-E),P=m[o+72>>2],O=m[o+88>>2],f=v(P-O),(_=v(v(v(g*g)+v(p*p))+v(f*f)))<=v(14210854715202004e-30)&&(b=m[e+16>>2],g=m[e+4>>2],p=m[e+8>>2],f=m[e+12>>2],_=v(v(v(g*g)+v(p*p))+v(f*f))),_>v(14210854715202004e-30)&&(A=8,l=v(y-l),T=v(l*l),l=v(E-x),T=v(T+v(l*l)),l=v(O-P),!((s>(l=v(-v(S(v(T+v(l*l))))))^-1)&(1^C)))){i=h[o+92>>2],h[o+248>>2]=h[o+88>>2],h[o+252>>2]=i,i=h[o+76>>2],h[o+232>>2]=h[o+72>>2],h[o+236>>2]=i,i=h[o+84>>2],h[o+240>>2]=h[o+80>>2],h[o+244>>2]=i,i=h[o+68>>2],h[o+224>>2]=h[o+64>>2],h[o+228>>2]=i,m[o+268>>2]=b,s=v(v(1)/v(S(_))),m[o+264>>2]=f*s,m[o+260>>2]=p*s,m[o+256>>2]=g*s,h[e+60>>2]=3,s=l;break t}if(h[e+60>>2]=A,u)break t;break e}if(p=m[e+4>>2],b=m[e+8>>2],y=m[e+12>>2],v(v(v(p*p)+v(b*b))+v(y*y))>v(0)){if(l=v(m[o+80>>2]-m[o+64>>2]),T=v(l*l),l=v(m[o+84>>2]-m[o+68>>2]),T=v(T+v(l*l)),l=v(m[o+88>>2]-m[o+72>>2]),!(((l=v(v(S(v(T+v(l*l))))-_))>2],h[o+248>>2]=h[o+88>>2],h[o+252>>2]=i,i=h[o+76>>2],h[o+232>>2]=h[o+72>>2],h[o+236>>2]=i,m[o+248>>2]=m[o+248>>2]-v(f*y),m[o+232>>2]=v(g*y)+m[o+232>>2],i=h[o+68>>2],h[o+224>>2]=h[o+64>>2],h[o+228>>2]=i,i=h[o+84>>2],h[o+240>>2]=h[o+80>>2],h[o+244>>2]=i,m[o+224>>2]=v(g*p)+m[o+224>>2],m[o+228>>2]=v(g*b)+m[o+228>>2],m[o+240>>2]=m[o+240>>2]-v(f*p),m[o+244>>2]=m[o+244>>2]-v(f*b),i=h[c+12>>2],h[o+264>>2]=h[c+8>>2],h[o+268>>2]=i,i=h[c+4>>2],h[o+256>>2]=h[c>>2],h[o+260>>2]=i,f=m[o+256>>2],_=m[o+260>>2],g=m[o+264>>2],s=v(v(1)/v(S(v(v(v(f*f)+v(_*_))+v(g*g))))),m[o+264>>2]=g*s,m[o+260>>2]=_*s,m[o+256>>2]=f*s,h[e+60>>2]=6,s=l;break t}h[e+60>>2]=5}}if(!u)break e}v(s*s)>2]^1&&!(s>2]&&(t=h[e+28>>2],r[h[h[t>>2]+8>>2]](t,o+160|0,o+80|0,o- -64|0),l=m[o+88>>2],f=m[o+72>>2],_=m[o+80>>2],g=m[o+64>>2],p=m[o+84>>2],b=m[o+68>>2],t=h[e+32>>2],r[h[h[t>>2]+8>>2]](t,o+96|0,o+80|0,o- -64|0),T=v(v(v(g+_)*v(.5))-v(v(m[o+80>>2]+m[o+64>>2])*v(.5))),_=m[o+256>>2],g=m[o+260>>2],f=v(v(v(f+l)*v(.5))-v(v(m[o+88>>2]+m[o+72>>2])*v(.5))),l=m[o+264>>2],v(v(v(T*_)+v(v(v(v(b+p)*v(.5))-v(v(m[o+84>>2]+m[o+68>>2])*v(.5)))*g))+v(f*l))>2]=-l,m[o+260>>2]=-g,m[o+256>>2]=-_)),t=h[o+260>>2],h[c>>2]=h[o+256>>2],h[c+4>>2]=t,t=h[o+268>>2],h[c+8>>2]=h[o+264>>2],h[c+12>>2]=t,m[e+56>>2]=s,h[o+92>>2]=0,m[o+88>>2]=R+m[o+232>>2],m[o+84>>2]=M+m[o+228>>2],m[o+80>>2]=I+m[o+224>>2],r[h[h[n>>2]+16>>2]](n,o+256|0,o+80|0,s))}w=o+272|0}(e|=0,t|=0,n|=0,i|=0)}function dh(e,t){return t|=0,h[h[220+(e|=0)>>2]+(t<<2)>>2]}function fh(e){(e|=0)&&(h[7718]=h[7718]+1,r[h[6607]](e))}function _h(e,t,n,i,a,s){!function(e,t,n,i,a,s){var c=v(0);if(h[e+104>>2]=0,h[e+108>>2]=0,o[e+100|0]=0,h[e+96>>2]=0,h[e+92>>2]=a,p[e+6>>1]=65535,p[e+4>>1]=65534,h[e>>2]=16640,a||(h[7717]=h[7717]+1,cr(a=0|r[h[6606]](76,16)),o[e+100|0]=1,h[e+92>>2]=a),s||(h[7717]=h[7717]+1,a=0|r[h[6606]](24,16),h[a+20>>2]=0,h[a+4>>2]=0,h[a+8>>2]=0,h[a>>2]=16704,h[a+12>>2]=0,h[a+16>>2]=0,o[a+20|0]=1,h[a+8>>2]=0,h[e+112>>2]=a,h[7717]=h[7717]+1,po(a=0|r[h[6606]](196,16),h[e+112>>2]),h[e+108>>2]=a,o[a+193|0]=1),a=h[t+4>>2],h[e+8>>2]=h[t>>2],h[e+12>>2]=a,a=h[t+12>>2],h[e+16>>2]=h[t+8>>2],h[e+20>>2]=a,t=h[n+12>>2],h[e+32>>2]=h[n+8>>2],h[e+36>>2]=t,t=h[n+4>>2],h[e+24>>2]=h[n>>2],h[e+28>>2]=t,h[e+52>>2]=0,c=v(f[e+6>>1]),m[e+48>>2]=c/v(m[e+32>>2]-m[e+16>>2]),m[e+44>>2]=c/v(m[e+28>>2]-m[e+12>>2]),m[e+40>>2]=c/v(m[e+24>>2]-m[e+8>>2]),h[7717]=h[7717]+1,a=(n=65535&(i=i+1|0))<<6,t=0|r[h[6606]](a,16),n)for(s=t+a|0,a=t;h[a+8>>2]=0,h[a>>2]=0,(0|s)!=(0|(a=a- -64|0)););if(p[e+58>>1]=i,h[e+60>>2]=t,a=1,p[e+64>>1]=1,p[e+56>>1]=0,n>>>0>1)for(;i=t+(a<<6)|0,a=a+1|0,p[i+48>>1]=a,(0|n)!=(0|a););p[(t+(n<<6)|0)-16>>1]=0,h[7717]=h[7717]+1,t=n<<3,n=0|r[h[6606]](t,16),h[e+68>>2]=n,h[e+80>>2]=n,h[7717]=h[7717]+1,n=0|r[h[6606]](t,16),h[e+72>>2]=n,h[e+84>>2]=n,h[7717]=h[7717]+1,t=0|r[h[6606]](t,16),h[e+76>>2]=t,h[e+88>>2]=t,t=h[e+60>>2],p[t+48>>1]=0,h[t>>2]=0,p[t+54>>1]=1,n=h[e+68>>2],p[n>>1]=0,p[n+2>>1]=0,i=f[e+6>>1],p[n+6>>1]=0,p[n+4>>1]=i,p[t+56>>1]=1,p[t+50>>1]=0,n=h[e+72>>2],p[n>>1]=0,p[n+2>>1]=0,i=f[e+6>>1],p[n+6>>1]=0,p[n+4>>1]=i,p[t+58>>1]=1,p[t+52>>1]=0,t=h[e+76>>2],p[t>>1]=0,p[t+2>>1]=0,e=f[e+6>>1],p[t+6>>1]=0,p[t+4>>1]=e}(e,t,n,i,a,s),h[e>>2]=16476}function mh(e,t){t|=0,r[h[h[(e|=0)>>2]+64>>2]](e,t)}function bh(e,t){t|=0,r[h[h[(e|=0)>>2]+68>>2]](e,t)}function gh(e){st(e,h[e+28>>2]+4|0,h[e+32>>2]+4|0)}function vh(e,t,n){Sn(e+4|0,e+312|0,e+328|0,t,n)}function yh(e,t,n){return n=v(n),0}function Ch(e){return h[(e|=0)>>2]=19288,0|e}function Ah(e,t,n){return 0}function xh(e,t,n,i){i=v(i)}function Sh(e){e|=0,h[12+(w-16|0)>>2]=e,T()}function Th(e,t,n,i){}function Eh(e,t,n,i){return e=function(e,t,n,i){var r,o,a,s,c=0,l=0;return s=g(c=n>>>16|0,l=e>>>16|0),c=(65535&(l=((a=g(r=65535&n,o=65535&e))>>>16|0)+g(l,r)|0))+g(c,o)|0,e=(g(t,n)+s|0)+g(e,i)+(l>>>16)+(c>>>16)|0,D=e,65535&a|c<<16}(e,t,n,i)}function Ph(e){return function(e){o[e+60|0]=0,h[e+52>>2]=282,h[e>>2]=17612,h[e+144>>2]=0,o[e+80|0]=1,h[e+76>>2]=0,o[e+100|0]=1,h[e+68>>2]=0,h[e+72>>2]=0,h[e+96>>2]=0,o[e+120|0]=1,h[e+88>>2]=0,h[e+92>>2]=0,h[e+116>>2]=0,o[e+140|0]=1,h[e+108>>2]=0,h[e+112>>2]=0,h[e+136>>2]=0,o[e+164|0]=1,h[e+128>>2]=0,h[e+132>>2]=0,h[e+160>>2]=0,h[e+168>>2]=0,h[e+152>>2]=0,h[e+156>>2]=0,h[e+4>>2]=-8388609,h[e+8>>2]=-8388609,h[e+12>>2]=-8388609,h[e+16>>2]=0,h[e+20>>2]=2139095039,h[e+24>>2]=2139095039,h[e+28>>2]=2139095039,h[e+32>>2]=0}(e),h[e>>2]=15164,e}function Oh(e,t){e|=0,t=v(t),m[e+44>>2]=t}function Mh(e,t){t|=0,h[72+(e|=0)>>2]=t}function Rh(e){return h[136+(e|=0)>>2]}function Ih(e){return h[92+(e|=0)>>2]}function wh(e){return h[16+(e|=0)>>2]}function Dh(e){return h[96+(e|=0)>>2]}function Lh(e){return h[24+(e|=0)>>2]}function Nh(e){return h[68+(e|=0)>>2]}function Fh(e,t){return 1}function Bh(e){return h[8+(e|=0)>>2]}function kh(e,t,n){t=v(t)}function Vh(e,t,n){}function zh(e){return 4+(e|=0)|0}function jh(e){return 0|(e|=0)}function Uh(e){return 84}function Gh(e){return 52}function Hh(e){return 60}function Wh(e){return 12}function Xh(e){return 0}function Yh(e){return 2}function Qh(e){return 1}function Kh(e){return 6}function Zh(e){return 3}function qh(e,t){}function Jh(e){Se(e|=0)}function $h(e){T()}function ed(){return 1}function td(){return 2}function nd(){return 3}function id(){return 4}function rd(e){}return r[1]=nu,r[2]=ip,r[3]=function(e,t){var n;return e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],o[n+7|0]=0!=(p[h[n+8>>2]+4>>1]&p[t+10>>1]),o[n+7|0]=1&o[n+7|0]?0!=(p[t+8>>1]&p[h[n+8>>2]+6>>1]):0,1&o[n+7|0]},r[4]=function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,o[i+23|0]=n,e=h[i+28>>2],m[e+4>>2]=m[h[i+24>>2]+40>>2],h[e+76>>2]=h[h[i+24>>2]>>2],1&o[i+23|0]?(t=h[i+24>>2],n=h[t+12>>2],h[e+44>>2]=h[t+8>>2],h[e+48>>2]=n,n=h[t+20>>2],h[e+52>>2]=h[t+16>>2],h[e+56>>2]=n):(h[12+(t=w-16|0)>>2]=h[e+76>>2],h[12+(n=w-16|0)>>2]=h[t+12>>2]+4,lo(i,h[n+12>>2],h[i+24>>2]+8|0),t=h[i+4>>2],h[e+44>>2]=h[i>>2],h[e+48>>2]=t,t=h[i+12>>2],h[e+52>>2]=h[i+8>>2],h[e+56>>2]=t),t=h[i+24>>2],n=h[t+28>>2],h[e+60>>2]=h[t+24>>2],h[e+64>>2]=n,n=h[t+36>>2],h[e+68>>2]=h[t+32>>2],h[e+72>>2]=n,w=i+32|0,v(m[h[i+24>>2]+40>>2])},r[5]=lh,r[6]=Sh,r[7]=function(){T()},r[8]=ks,r[9]=function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,ks(e=h[t+12>>2]),Se(e),w=t+16|0},r[10]=function(e,t){var n;return e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],o[n+7|0]=0!=(p[h[n+8>>2]+4>>1]&p[t+14>>1]),o[n+7|0]=1&o[n+7|0]?0!=(p[t+12>>1]&p[h[n+8>>2]+6>>1]):0,1&o[n+7|0]},r[11]=function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w+-64|0,h[i+60>>2]=e,h[i+56>>2]=t,o[i+55|0]=n,e=h[i+60>>2],h[e+8>>2]=h[h[i+56>>2]>>2],function(e,t){var n=0,i=0;w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,t=w-16|0,e=h[i+12>>2],h[t+12>>2]=e,h[i+4>>2]=h[h[t+12>>2]+4>>2],t=h[i+4>>2],h[12+(n=w-16|0)>>2]=e,h[h[n+12>>2]+8>>2]==(0|t)&&(h[12+(n=w-16|0)>>2]=e,t=h[h[n+12>>2]+4>>2],h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,Io(t=e,n=h[n+8>>2]?h[n+8>>2]<<1:1)),h[h[e+12>>2]+(h[e+4>>2]<<2)>>2]=h[h[i+8>>2]>>2],h[e+4>>2]=h[e+4>>2]+1,w=i+16|0}(e+20|0,h[i+56>>2]),h[12+(w-16|0)>>2]=i+32,1&o[i+55|0]?(t=h[i+56>>2],n=h[t+12>>2],h[i+32>>2]=h[t+8>>2],h[i+36>>2]=n,n=h[t+20>>2],h[i+40>>2]=h[t+16>>2],h[i+44>>2]=n):(h[12+(t=w-16|0)>>2]=h[e+8>>2],h[12+(n=w-16|0)>>2]=h[t+12>>2]+4,lo(i+16|0,h[n+12>>2],h[i+56>>2]+8|0),t=h[i+20>>2],h[i+32>>2]=h[i+16>>2],h[i+36>>2]=t,t=h[i+28>>2],h[i+40>>2]=h[i+24>>2],h[i+44>>2]=t),Sr(e+72|0,i+32|0),h[12+(w-16|0)>>2]=i,vo(i,e+40|0,e+56|0,m[h[i+56>>2]+24>>2]),Sr(e+92|0,i),function(e,t){var n=0,i=0;w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,t=w-16|0,e=h[i+12>>2],h[t+12>>2]=e,h[i+4>>2]=h[h[t+12>>2]+4>>2],t=h[i+4>>2],h[12+(n=w-16|0)>>2]=e,h[h[n+12>>2]+8>>2]==(0|t)&&(h[12+(n=w-16|0)>>2]=e,t=h[h[n+12>>2]+4>>2],h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,wo(t=e,n=h[n+8>>2]?h[n+8>>2]<<1:1)),m[h[e+12>>2]+(h[e+4>>2]<<2)>>2]=m[h[i+8>>2]>>2],h[e+4>>2]=h[e+4>>2]+1,w=i+16|0}(e+112|0,h[i+56>>2]+24|0),w=i- -64|0,v(m[e+4>>2])},r[12]=lh,r[13]=Sh,r[14]=lh,r[15]=Sh,r[16]=nu,r[17]=function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,nu(e=h[t+12>>2]),eu(e),w=t+16|0},r[18]=function(e,t){var n,i;e|=0,t|=0,w=n=w-144|0,h[n+140>>2]=e,h[n+136>>2]=t,Ks(e=n+8|0,(t=h[n+140>>2])+68|0),Ws(i=n+72|0,e,t+4|0),Pa(h[n+136>>2],i),w=n+144|0},r[19]=function(e,t){var n;e|=0,t|=0,w=n=w-80|0,h[n+76>>2]=e,h[n+72>>2]=t,e=n+8|0,t=h[n+76>>2],Ws(e,h[n+72>>2],t+68|0),Pa(t+4|0,e),w=n+80|0},r[20]=lh,r[21]=Sh,r[22]=nu,r[23]=ip,r[24]=function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,h[i+20>>2]=n,h[i+16>>2]=h[h[i+24>>2]>>2],h[i+12>>2]=h[h[i+20>>2]>>2],h[i+8>>2]=Cs(h[i+16>>2]),h[i+4>>2]=Cs(h[i+12>>2]),h[i+8>>2]&&(e=h[i+8>>2],r[h[h[e>>2]+28>>2]](e,h[i+20>>2],h[i+24>>2])),h[i+4>>2]&&(e=h[i+4>>2],r[h[h[e>>2]+28>>2]](e,h[i+24>>2],h[i+20>>2])),w=i+32|0,0},r[25]=function(e,t,n,i){var o;return e|=0,t|=0,n|=0,i|=0,w=o=w-32|0,h[o+28>>2]=e,h[o+24>>2]=t,h[o+20>>2]=n,h[o+16>>2]=i,h[o+12>>2]=h[h[o+24>>2]>>2],h[o+8>>2]=h[h[o+20>>2]>>2],h[o+4>>2]=Cs(h[o+12>>2]),h[o>>2]=Cs(h[o+8>>2]),h[o+4>>2]&&(e=h[o+4>>2],r[h[h[e>>2]+32>>2]](e,h[o+20>>2],h[o+16>>2],h[o+24>>2])),h[o>>2]&&(e=h[o>>2],r[h[h[e>>2]+32>>2]](e,h[o+24>>2],h[o+16>>2],h[o+20>>2])),w=o+32|0,0},r[26]=function(e,t,n){var i;e|=0,t|=0,n|=0,h[12+(i=w-16|0)>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n},r[27]=lh,r[28]=Sh,r[29]=nu,r[30]=ip,r[31]=function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,o[i+23|0]=n,e=h[i+28>>2],m[e+4>>2]=m[h[i+24>>2]+24>>2],h[e+8>>2]=h[h[i+24>>2]>>2],1&o[i+23|0]?(t=h[i+24>>2],n=h[t+12>>2],h[e+52>>2]=h[t+8>>2],h[e+56>>2]=n,n=h[t+20>>2],h[e+60>>2]=h[t+16>>2],h[e+64>>2]=n):(h[12+(t=w-16|0)>>2]=h[e+8>>2],h[12+(n=w-16|0)>>2]=h[t+12>>2]+4,lo(i,h[n+12>>2],h[i+24>>2]+8|0),t=h[i+4>>2],h[e+52>>2]=h[i>>2],h[e+56>>2]=t,t=h[i+12>>2],h[e+60>>2]=h[i+8>>2],h[e+64>>2]=t),vo(e+68|0,e+20|0,e+36|0,m[h[i+24>>2]+24>>2]),w=i+32|0,v(m[h[i+24>>2]+24>>2])},r[32]=nu,r[33]=ip,r[34]=function(e,t){var n;return e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],o[n+7|0]=0!=(p[h[n+8>>2]+4>>1]&p[t+6>>1]),o[n+7|0]=1&o[n+7|0]?0!=(p[t+4>>1]&p[h[n+8>>2]+6>>1]):0,1&o[n+7|0]},r[35]=function(e,t,n,i,r,o,a,s){var c,l;return e|=0,t|=0,n|=0,i|=0,r|=0,o|=0,a|=0,s|=0,w=c=w+-64|0,h[c+60>>2]=e,h[c+56>>2]=t,h[c+52>>2]=n,h[c+48>>2]=i,h[c+44>>2]=r,h[c+40>>2]=o,h[c+36>>2]=a,h[c+32>>2]=s,e=h[c+60>>2],t=h[c+56>>2],n=h[c+52>>2],i=h[c+48>>2],r=h[c+44>>2],o=h[c+40>>2],a=h[c+36>>2],h[c+28>>2]=h[c+32>>2],h[c+24>>2]=a,h[c+20>>2]=o,h[c+16>>2]=r,h[c+12>>2]=i,h[c+8>>2]=n,h[c+4>>2]=t,h[c>>2]=e,l=+O(1960,2256,0|c),w=c- -64|0,v(v(l))},r[36]=lh,r[37]=Sh,r[38]=nu,r[39]=ip,r[40]=function(e,t,n,i){var r;e|=0,t|=0,n|=0,i|=0,w=r=w-32|0,h[r+28>>2]=e,h[r+24>>2]=t,h[r+20>>2]=n,h[r+16>>2]=i,e=h[r+28>>2],t=h[r+24>>2],n=h[r+20>>2],h[r+12>>2]=h[r+16>>2],h[r+8>>2]=n,h[r+4>>2]=t,h[r>>2]=e,E(2520,2740,0|r),w=r+32|0},r[41]=function(e,t,n,i,o){var a;e|=0,t|=0,n|=0,i|=0,o|=0,w=a=w-32|0,h[a+28>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,h[a+12>>2]=o,e=h[a+28>>2],r[h[h[e>>2]+8>>2]](e,h[a+24>>2],h[a+20>>2],h[a+16>>2]),w=a+32|0},r[42]=function(e,t,n,i){e|=0,t=v(t),n|=0,i|=0;var o,a=0,s=0;w=o=w-112|0,h[o+108>>2]=e,m[o+104>>2]=t,h[o+100>>2]=n,h[o+96>>2]=i,n=h[o+108>>2],h[12+(i=w-16|0)>>2]=h[o+100>>2],i=h[i+12>>2]+48|0,a=h[i+4>>2],h[(e=o+80|0)>>2]=h[i>>2],h[e+4>>2]=a,a=h[i+12>>2],h[e+8>>2]=h[i+8>>2],h[e+12>>2]=a,h[12+(a=w-16|0)>>2]=h[o+100>>2],Zo(i=o- -64|0,h[a+12>>2],1),h[12+(s=w-16|0)>>2]=h[o+100>>2],Zo(a=o+48|0,h[s+12>>2],0),m[o+44>>2]=-1.5707963705062866,m[o+40>>2]=1.5707963705062866,m[o+36>>2]=-1.5707963705062866,m[o+32>>2]=1.5707963705062866,m[o+28>>2]=30,r[h[h[n>>2]+64>>2]](n,e,i,a,m[o+104>>2],m[o+44>>2],m[o+40>>2],m[o+36>>2],m[o+32>>2],h[o+96>>2],m[o+28>>2],0),zs(s=o+8|0,a),r[h[h[n>>2]+64>>2]](n,e,i,s,m[o+104>>2],m[o+44>>2],m[o+40>>2],m[o+36>>2],m[o+32>>2],h[o+96>>2],m[o+28>>2],0),w=o+112|0},r[43]=function(e,t,n,i){var o;e|=0,t|=0,n=v(n),i|=0,w=o=w-80|0,h[o+76>>2]=e,h[o+72>>2]=t,m[o+68>>2]=n,h[o+64>>2]=i,e=h[o+76>>2],Bu(o),Rc(o),ss(o,h[o+72>>2]),r[h[h[e>>2]+16>>2]](e,m[o+68>>2],o,h[o+64>>2]),w=o+80|0},r[44]=function(e,t,n,i,o,a,s,c,l){var u;e|=0,t|=0,n|=0,i|=0,o|=0,a|=0,s|=0,c|=0,l=v(l),w=u=w-48|0,h[u+44>>2]=e,h[u+40>>2]=t,h[u+36>>2]=n,h[u+32>>2]=i,h[u+28>>2]=o,h[u+24>>2]=a,h[u+20>>2]=s,h[u+16>>2]=c,m[u+12>>2]=l,e=h[u+44>>2],r[h[h[e>>2]+28>>2]](e,h[u+40>>2],h[u+36>>2],h[u+32>>2],h[u+16>>2],m[u+12>>2]),w=u+48|0},r[45]=function(e,t,n,i,o,a){var s;e|=0,t|=0,n|=0,i|=0,o|=0,a=v(a),w=s=w-32|0,h[s+28>>2]=e,h[s+24>>2]=t,h[s+20>>2]=n,h[s+16>>2]=i,h[s+12>>2]=o,m[s+8>>2]=a,e=h[s+28>>2],r[h[h[e>>2]+8>>2]](e,h[s+24>>2],h[s+20>>2],h[s+12>>2]),r[h[h[e>>2]+8>>2]](e,h[s+20>>2],h[s+16>>2],h[s+12>>2]),r[h[h[e>>2]+8>>2]](e,h[s+16>>2],h[s+24>>2],h[s+12>>2]),w=s+32|0},r[46]=function(e,t,n,i,r,o){var a;e|=0,t|=0,n|=0,i=v(i),r|=0,o|=0,w=a=w+-64|0,h[a+60>>2]=e,h[a+56>>2]=t,h[a+52>>2]=n,m[a+48>>2]=i,h[a+44>>2]=r,h[a+40>>2]=o,e=h[a+60>>2],t=h[a+56>>2],n=h[a+52>>2],i=m[a+48>>2],r=h[a+44>>2],h[a+28>>2]=h[a+40>>2],h[a+24>>2]=r,b[a+16>>3]=i,h[a+8>>2]=n,h[a+4>>2]=t,h[a>>2]=e,E(2745,2995,0|a),w=a- -64|0},r[47]=function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[n+4>>2]=h[n+8>>2],h[n>>2]=e,E(3002,3246,0|n),w=n+16|0},r[48]=function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,h[i+20>>2]=n,e=h[i+28>>2],t=h[i+24>>2],h[i+8>>2]=h[i+20>>2],h[i+4>>2]=t,h[i>>2]=e,E(3249,3472,0|i),w=i+32|0},r[49]=function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[n+4>>2]=h[n+8>>2],h[n>>2]=e,E(3476,3702,0|n),w=n+16|0},r[50]=function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[t>>2]=h[t+12>>2],e=0|E(3705,3936,0|t),w=t+16|0,0|e},r[51]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=0,s=v(0),c=0;for(w=o=w-272|0,h[o+268>>2]=e,h[o+264>>2]=t,h[o+260>>2]=n,h[o+256>>2]=i,i=h[o+268>>2],aa(e=o+224|0,h[o+260>>2],h[o+264>>2]),m[o+220>>2]=.5,sa(o+240|0,e,o+220|0),oa(e=o+184|0,h[o+260>>2],h[o+264>>2]),m[o+180>>2]=.5,sa(o+200|0,e,o+180|0),m[o+148>>2]=1,m[o+144>>2]=1,m[o+140>>2]=1,bs(o+152|0,o+148|0,o+144|0,o+140|0),h[12+(w-16|0)>>2]=o+120,h[12+(w-16|0)>>2]=o+104,h[o+176>>2]=0;h[o+176>>2]<4;){for(h[o+172>>2]=0;h[o+172>>2]<3;)e=o+152|0,h[12+(t=w-16|0)>>2]=e,s=m[h[t+12>>2]>>2],t=o+240|0,h[12+(n=w-16|0)>>2]=t,m[o+84>>2]=s*m[h[n+12>>2]>>2],h[12+(n=w-16|0)>>2]=e,s=m[h[n+12>>2]+4>>2],h[12+(n=w-16|0)>>2]=t,m[o+80>>2]=s*m[h[n+12>>2]+4>>2],h[12+(n=w-16|0)>>2]=e,s=m[h[n+12>>2]+8>>2],h[12+(n=w-16|0)>>2]=t,m[o+76>>2]=s*m[h[n+12>>2]+8>>2],bs(o+88|0,o+84|0,o+80|0,o+76|0),c=h[o+92>>2],h[(n=o+120|0)>>2]=h[o+88>>2],h[n+4>>2]=c,c=h[o+100>>2],h[n+8>>2]=h[o+96>>2],h[n+12>>2]=c,Ya(n,c=o+200|0),h[o+72>>2]=h[o+172>>2]%3,h[12+(a=w-16|0)>>2]=e,a=h[a+12>>2]+(h[o+72>>2]<<2)|0,m[a>>2]=m[a>>2]*v(-1),h[12+(a=w-16|0)>>2]=e,s=m[h[a+12>>2]>>2],h[12+(a=w-16|0)>>2]=t,m[o+52>>2]=s*m[h[a+12>>2]>>2],h[12+(a=w-16|0)>>2]=e,s=m[h[a+12>>2]+4>>2],h[12+(a=w-16|0)>>2]=t,m[o+48>>2]=s*m[h[a+12>>2]+4>>2],h[12+(a=w-16|0)>>2]=e,s=m[h[a+12>>2]+8>>2],h[12+(e=w-16|0)>>2]=t,m[o+44>>2]=s*m[h[e+12>>2]+8>>2],bs(o+56|0,o+52|0,o+48|0,o+44|0),t=h[o+60>>2],h[(e=o+104|0)>>2]=h[o+56>>2],h[e+4>>2]=t,t=h[o+68>>2],h[e+8>>2]=h[o+64>>2],h[e+12>>2]=t,Ya(e,c),r[h[h[i>>2]+8>>2]](i,n,e,h[o+256>>2]),h[o+172>>2]=h[o+172>>2]+1;m[o+20>>2]=-1,m[o+16>>2]=-1,m[o+12>>2]=-1,bs(o+24|0,o+20|0,o+16|0,o+12|0),e=h[o+28>>2],h[o+152>>2]=h[o+24>>2],h[o+156>>2]=e,e=h[o+36>>2],h[o+160>>2]=h[o+32>>2],h[o+164>>2]=e,h[o+176>>2]<3&&(h[12+(e=w-16|0)>>2]=o+152,e=h[e+12>>2]+(h[o+176>>2]<<2)|0,m[e>>2]=m[e>>2]*v(-1)),h[o+176>>2]=h[o+176>>2]+1}w=o+272|0},r[52]=function(e,t,n){e|=0,t|=0,n=v(n);var i,o=0,a=0,s=0,c=0;w=i=w-304|0,h[i+300>>2]=e,h[i+296>>2]=t,m[i+292>>2]=n,t=h[i+300>>2],h[12+(a=w-16|0)>>2]=h[i+296>>2],a=h[a+12>>2]+48|0,o=h[a+4>>2],h[(e=i+272|0)>>2]=h[a>>2],h[e+4>>2]=o,o=h[a+12>>2],h[e+8>>2]=h[a+8>>2],h[e+12>>2]=o,h[12+(a=w-16|0)>>2]=h[i+296>>2],o=h[a+12>>2],m[i+220>>2]=0,m[i+216>>2]=0,bs(s=i+224|0,a=i+292|0,i+220|0,i+216|0),lo(c=i+240|0,o,s),oa(o=i+256|0,e,c),m[i+196>>2]=.699999988079071,m[i+192>>2]=0,m[i+188>>2]=0,bs(s=i+200|0,i+196|0,i+192|0,i+188|0),r[h[h[t>>2]+8>>2]](t,e,o,s),h[12+(o=w-16|0)>>2]=h[i+296>>2],o=h[o+12>>2],m[i+132>>2]=0,m[i+128>>2]=0,bs(s=i+136|0,i+132|0,a,i+128|0),lo(c=i+152|0,o,s),oa(o=i+168|0,e,c),m[i+108>>2]=0,m[i+104>>2]=.699999988079071,m[i+100>>2]=0,bs(s=i+112|0,i+108|0,i+104|0,i+100|0),r[h[h[t>>2]+8>>2]](t,e,o,s),h[12+(o=w-16|0)>>2]=h[i+296>>2],o=h[o+12>>2],m[i+44>>2]=0,m[i+40>>2]=0,bs(s=i+48|0,i+44|0,i+40|0,a),lo(a=i- -64|0,o,s),oa(o=i+80|0,e,a),m[i+20>>2]=0,m[i+16>>2]=0,m[i+12>>2]=.699999988079071,bs(a=i+24|0,i+20|0,i+16|0,i+12|0),r[h[h[t>>2]+8>>2]](t,e,o,a),w=i+304|0},r[53]=function(e,t,n,i,a,s,c,l,u,p,d){var f;for(e|=0,t|=0,n|=0,i|=0,a=v(a),s=v(s),c=v(c),l=v(l),u|=0,p|=0,d=v(d),w=f=w-304|0,h[f+300>>2]=e,h[f+296>>2]=t,h[f+292>>2]=n,h[f+288>>2]=i,m[f+284>>2]=a,m[f+280>>2]=s,m[f+276>>2]=c,m[f+272>>2]=l,h[f+268>>2]=u,o[f+267|0]=p,m[f+260>>2]=d,t=h[f+300>>2],h[f+256>>2]=h[f+288>>2],Ro(f+240|0,h[f+292>>2],h[f+288>>2]),m[f+236>>2]=m[f+260>>2]*v(.01745329238474369),e=f,a=v(v(m[f+272>>2]-m[f+276>>2])/m[f+236>>2]),n=v(y(a))>2]=n,h[f+232>>2]||(h[f+232>>2]=1),e=h[f+296>>2],Ou(n=f+168|0,f+284|0,h[f+256>>2]),m[f+164>>2]=up(m[f+276>>2]),sa(i=f+184|0,n,f+164|0),oa(n=f+200|0,e,i),Ou(e=f+128|0,f+280|0,f+240|0),m[f+124>>2]=lp(m[f+276>>2]),sa(i=f+144|0,e,f+124|0),oa(f+216|0,n,i),1&o[f+267|0]&&r[h[h[t>>2]+8>>2]](t,h[f+296>>2],f+216|0,h[f+268>>2]),h[f+120>>2]=1;h[f+120>>2]<=h[f+232>>2];)m[f+116>>2]=m[f+276>>2]+v(v(v(m[f+272>>2]-m[f+276>>2])*v(h[f+120>>2]))/v(h[f+232>>2])),e=h[f+296>>2],Ou(n=f+48|0,f+284|0,h[f+256>>2]),m[f+44>>2]=up(m[f+116>>2]),sa(i=f- -64|0,n,f+44|0),oa(n=f+80|0,e,i),Ou(e=f+8|0,f+280|0,f+240|0),m[f+4>>2]=lp(m[f+116>>2]),sa(i=f+24|0,e,f+4|0),oa(e=f+96|0,n,i),n=f+216|0,r[h[h[t>>2]+8>>2]](t,n,e,h[f+268>>2]),i=h[e+4>>2],h[n>>2]=h[e>>2],h[n+4>>2]=i,i=h[e+12>>2],h[n+8>>2]=h[e+8>>2],h[n+12>>2]=i,h[f+120>>2]=h[f+120>>2]+1;1&o[f+267|0]&&r[h[h[t>>2]+8>>2]](t,h[f+296>>2],f+216|0,h[f+268>>2]),w=f+304|0},r[54]=function(e,t,n,i,a,s,c,l,u,p,d,f){var _;for(e|=0,t|=0,n|=0,i|=0,a=v(a),s=v(s),c=v(c),l=v(l),u=v(u),p|=0,d=v(d),f|=0,w=_=w-2720|0,h[_+2716>>2]=e,h[_+2712>>2]=t,h[_+2708>>2]=n,h[_+2704>>2]=i,m[_+2700>>2]=a,m[_+2696>>2]=s,m[_+2692>>2]=c,m[_+2688>>2]=l,m[_+2684>>2]=u,h[_+2680>>2]=p,m[_+2676>>2]=d,o[_+2675|0]=f,t=h[_+2716>>2],n=1184+(e=_+1488|0)|0;h[12+(w-16|0)>>2]=e,(0|n)!=(0|(e=e+16|0)););for(n=1184+(e=_+304|0)|0;h[12+(w-16|0)>>2]=e,(0|n)!=(0|(e=e+16|0)););for(h[_+300>>2]=_+1488,h[_+296>>2]=_+304,e=h[_+2712>>2],i=_+2700|0,sa(n=_+256|0,h[_+2708>>2],i),oa(_+272|0,e,n),e=h[_+2712>>2],sa(n=_+224|0,h[_+2708>>2],i),aa(_+240|0,e,n),h[12+(w-16|0)>>2]=_+208,m[_+204>>2]=m[_+2676>>2]*v(.01745329238474369),h[_+200>>2]=h[_+2708>>2],h[_+196>>2]=h[_+2704>>2],Ro(_+176|0,h[_+200>>2],h[_+196>>2]),o[_+175|0]=0,o[_+174|0]=0,m[_+2696>>2]<=v(-1.5707963705062866)&&(m[_+2696>>2]=v(-1.5707963705062866)+m[_+204>>2],o[_+175|0]=1),m[_+2692>>2]>=v(1.5707963705062866)&&(m[_+2692>>2]=v(1.5707963705062866)-m[_+204>>2],o[_+174|0]=1),m[_+2696>>2]>m[_+2692>>2]&&(m[_+2696>>2]=v(-1.5707963705062866)+m[_+204>>2],m[_+2692>>2]=v(1.5707963705062866)-m[_+204>>2],o[_+174|0]=1,o[_+175|0]=1),e=_,a=v(v(m[_+2692>>2]-m[_+2696>>2])/m[_+204>>2]),n=v(y(a))>2]=n+1,h[_+168>>2]<2&&(h[_+168>>2]=2),m[_+164>>2]=v(m[_+2692>>2]-m[_+2696>>2])/v(h[_+168>>2]-1|0),o[_+163|0]=0,m[_+2688>>2]>m[_+2684>>2]?(m[_+2688>>2]=v(-3.1415927410125732)+m[_+204>>2],m[_+2684>>2]=3.1415927410125732,o[_+163|0]=1):v(m[_+2684>>2]-m[_+2688>>2])>=v(6.2831854820251465)?o[_+163|0]=1:o[_+163|0]=0,e=_,a=v(v(m[_+2684>>2]-m[_+2688>>2])/m[_+204>>2]),n=v(y(a))>2]=n+1,h[_+156>>2]<2&&(h[_+156>>2]=2),m[_+152>>2]=v(m[_+2684>>2]-m[_+2688>>2])/v(h[_+156>>2]-1|0),h[_+148>>2]=0;h[_+148>>2]>2];){for(m[_+144>>2]=m[_+2696>>2]+v(v(h[_+148>>2])*m[_+164>>2]),m[_+140>>2]=m[_+2700>>2]*lp(m[_+144>>2]),m[_+136>>2]=m[_+2700>>2]*up(m[_+144>>2]),h[_+132>>2]=0;h[_+132>>2]>2];)m[_+128>>2]=m[_+2688>>2]+v(v(h[_+132>>2])*m[_+152>>2]),m[_+124>>2]=lp(m[_+128>>2]),m[_+120>>2]=up(m[_+128>>2]),e=h[_+2712>>2],m[_+52>>2]=m[_+136>>2]*m[_+120>>2],Ou(n=_+56|0,_+52|0,h[_+196>>2]),oa(i=_+72|0,e,n),m[_+28>>2]=m[_+136>>2]*m[_+124>>2],Ou(e=_+32|0,_+28|0,_+176|0),oa(n=_+88|0,i,e),Ou(e=_+8|0,_+140|0,h[_+200>>2]),oa(_+104|0,n,e),n=h[_+108>>2],e=h[_+296>>2]+(h[_+132>>2]<<4)|0,h[e>>2]=h[_+104>>2],h[e+4>>2]=n,n=h[_+116>>2],h[e+8>>2]=h[_+112>>2],h[e+12>>2]=n,h[_+148>>2]?r[h[h[t>>2]+8>>2]](t,h[_+300>>2]+(h[_+132>>2]<<4)|0,h[_+296>>2]+(h[_+132>>2]<<4)|0,h[_+2680>>2]):1&o[_+174|0]&&r[h[h[t>>2]+8>>2]](t,_+240|0,h[_+296>>2]+(h[_+132>>2]<<4)|0,h[_+2680>>2]),h[_+132>>2]?r[h[h[t>>2]+8>>2]](t,h[_+296>>2]+(h[_+132>>2]-1<<4)|0,h[_+296>>2]+(h[_+132>>2]<<4)|0,h[_+2680>>2]):(e=h[_+296>>2]+(h[_+132>>2]<<4)|0,n=h[e+4>>2],h[_+208>>2]=h[e>>2],h[_+212>>2]=n,n=h[e+12>>2],h[_+216>>2]=h[e+8>>2],h[_+220>>2]=n),!(1&o[_+175|0])|h[_+148>>2]!=(h[_+168>>2]-1|0)||r[h[h[t>>2]+8>>2]](t,_+272|0,h[_+296>>2]+(h[_+132>>2]<<4)|0,h[_+2680>>2]),1&o[_+2675|0]&&(1&o[_+163|0]?h[_+132>>2]==(h[_+156>>2]-1|0)&&r[h[h[t>>2]+8>>2]](t,_+208|0,h[_+296>>2]+(h[_+132>>2]<<4)|0,h[_+2680>>2]):(h[_+148>>2]!=(h[_+168>>2]-1|0)?h[_+148>>2]:0)|(h[_+132>>2]!=(h[_+156>>2]-1|0)?h[_+132>>2]:0)||r[h[h[t>>2]+8>>2]](t,h[_+2712>>2],h[_+296>>2]+(h[_+132>>2]<<4)|0,h[_+2680>>2])),h[_+132>>2]=h[_+132>>2]+1;h[_+292>>2]=h[_+300>>2],h[_+300>>2]=h[_+296>>2],h[_+296>>2]=h[_+292>>2],h[_+148>>2]=h[_+148>>2]+1}w=_+2720|0},r[55]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=0,s=0;w=o=w-400|0,h[o+396>>2]=e,h[o+392>>2]=t,h[o+388>>2]=n,h[o+384>>2]=i,e=h[o+396>>2],h[12+(t=w-16|0)>>2]=h[o+392>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+392>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+392>>2],bs(a=o+368|0,t,n,h[i+12>>2]+8|0),h[12+(t=w-16|0)>>2]=h[o+388>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+392>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+392>>2],bs(s=o+352|0,t,n,h[i+12>>2]+8|0),r[h[h[e>>2]+8>>2]](e,a,s,h[o+384>>2]),h[12+(t=w-16|0)>>2]=h[o+388>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+392>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+392>>2],bs(a=o+336|0,t,n,h[i+12>>2]+8|0),h[12+(t=w-16|0)>>2]=h[o+388>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+388>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+392>>2],bs(s=o+320|0,t,n,h[i+12>>2]+8|0),r[h[h[e>>2]+8>>2]](e,a,s,h[o+384>>2]),h[12+(t=w-16|0)>>2]=h[o+388>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+388>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+392>>2],bs(a=o+304|0,t,n,h[i+12>>2]+8|0),h[12+(t=w-16|0)>>2]=h[o+392>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+388>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+392>>2],bs(s=o+288|0,t,n,h[i+12>>2]+8|0),r[h[h[e>>2]+8>>2]](e,a,s,h[o+384>>2]),h[12+(t=w-16|0)>>2]=h[o+392>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+388>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+392>>2],bs(a=o+272|0,t,n,h[i+12>>2]+8|0),h[12+(t=w-16|0)>>2]=h[o+392>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+392>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+392>>2],bs(s=o+256|0,t,n,h[i+12>>2]+8|0),r[h[h[e>>2]+8>>2]](e,a,s,h[o+384>>2]),h[12+(t=w-16|0)>>2]=h[o+392>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+392>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+392>>2],bs(a=o+240|0,t,n,h[i+12>>2]+8|0),h[12+(t=w-16|0)>>2]=h[o+392>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+392>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+388>>2],bs(s=o+224|0,t,n,h[i+12>>2]+8|0),r[h[h[e>>2]+8>>2]](e,a,s,h[o+384>>2]),h[12+(t=w-16|0)>>2]=h[o+388>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+392>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+392>>2],bs(a=o+208|0,t,n,h[i+12>>2]+8|0),h[12+(t=w-16|0)>>2]=h[o+388>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+392>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+388>>2],bs(s=o+192|0,t,n,h[i+12>>2]+8|0),r[h[h[e>>2]+8>>2]](e,a,s,h[o+384>>2]),h[12+(t=w-16|0)>>2]=h[o+388>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+388>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+392>>2],bs(a=o+176|0,t,n,h[i+12>>2]+8|0),h[12+(t=w-16|0)>>2]=h[o+388>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+388>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+388>>2],bs(s=o+160|0,t,n,h[i+12>>2]+8|0),r[h[h[e>>2]+8>>2]](e,a,s,h[o+384>>2]),h[12+(t=w-16|0)>>2]=h[o+392>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+388>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+392>>2],bs(a=o+144|0,t,n,h[i+12>>2]+8|0),h[12+(t=w-16|0)>>2]=h[o+392>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+388>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+388>>2],bs(s=o+128|0,t,n,h[i+12>>2]+8|0),r[h[h[e>>2]+8>>2]](e,a,s,h[o+384>>2]),h[12+(t=w-16|0)>>2]=h[o+392>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+392>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+388>>2],bs(a=o+112|0,t,n,h[i+12>>2]+8|0),h[12+(t=w-16|0)>>2]=h[o+388>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+392>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+388>>2],bs(s=o+96|0,t,n,h[i+12>>2]+8|0),r[h[h[e>>2]+8>>2]](e,a,s,h[o+384>>2]),h[12+(t=w-16|0)>>2]=h[o+388>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+392>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+388>>2],bs(a=o+80|0,t,n,h[i+12>>2]+8|0),h[12+(t=w-16|0)>>2]=h[o+388>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+388>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+388>>2],bs(s=o- -64|0,t,n,h[i+12>>2]+8|0),r[h[h[e>>2]+8>>2]](e,a,s,h[o+384>>2]),h[12+(t=w-16|0)>>2]=h[o+388>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+388>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+388>>2],bs(a=o+48|0,t,n,h[i+12>>2]+8|0),h[12+(t=w-16|0)>>2]=h[o+392>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+388>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+388>>2],bs(s=o+32|0,t,n,h[i+12>>2]+8|0),r[h[h[e>>2]+8>>2]](e,a,s,h[o+384>>2]),h[12+(t=w-16|0)>>2]=h[o+392>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+388>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+388>>2],bs(a=o+16|0,t,n,h[i+12>>2]+8|0),h[12+(t=w-16|0)>>2]=h[o+392>>2],t=h[t+12>>2],h[12+(n=w-16|0)>>2]=h[o+392>>2],n=h[n+12>>2]+4|0,h[12+(i=w-16|0)>>2]=h[o+388>>2],bs(o,t,n,h[i+12>>2]+8|0),r[h[h[e>>2]+8>>2]](e,a,o,h[o+384>>2]),w=o+400|0},r[56]=function(e,t,n,i,o){e|=0,t|=0,n|=0,i|=0,o|=0;var a,s=0,c=0;w=a=w-800|0,h[a+796>>2]=e,h[a+792>>2]=t,h[a+788>>2]=n,h[a+784>>2]=i,h[a+780>>2]=o,e=h[a+796>>2],t=h[a+784>>2],h[12+(n=w-16|0)>>2]=h[a+792>>2],n=h[n+12>>2],h[12+(i=w-16|0)>>2]=h[a+792>>2],i=h[i+12>>2]+4|0,h[12+(o=w-16|0)>>2]=h[a+792>>2],bs(s=a+744|0,n,i,h[o+12>>2]+8|0),Mu(n=a+760|0,t,s),t=h[a+784>>2],h[12+(i=w-16|0)>>2]=h[a+788>>2],i=h[i+12>>2],h[12+(o=w-16|0)>>2]=h[a+792>>2],o=h[o+12>>2]+4|0,h[12+(s=w-16|0)>>2]=h[a+792>>2],bs(c=a+712|0,i,o,h[s+12>>2]+8|0),Mu(i=a+728|0,t,c),r[h[h[e>>2]+8>>2]](e,n,i,h[a+780>>2]),t=h[a+784>>2],h[12+(n=w-16|0)>>2]=h[a+788>>2],n=h[n+12>>2],h[12+(i=w-16|0)>>2]=h[a+792>>2],i=h[i+12>>2]+4|0,h[12+(o=w-16|0)>>2]=h[a+792>>2],bs(s=a+680|0,n,i,h[o+12>>2]+8|0),Mu(n=a+696|0,t,s),t=h[a+784>>2],h[12+(i=w-16|0)>>2]=h[a+788>>2],i=h[i+12>>2],h[12+(o=w-16|0)>>2]=h[a+788>>2],o=h[o+12>>2]+4|0,h[12+(s=w-16|0)>>2]=h[a+792>>2],bs(c=a+648|0,i,o,h[s+12>>2]+8|0),Mu(i=a+664|0,t,c),r[h[h[e>>2]+8>>2]](e,n,i,h[a+780>>2]),t=h[a+784>>2],h[12+(n=w-16|0)>>2]=h[a+788>>2],n=h[n+12>>2],h[12+(i=w-16|0)>>2]=h[a+788>>2],i=h[i+12>>2]+4|0,h[12+(o=w-16|0)>>2]=h[a+792>>2],bs(s=a+616|0,n,i,h[o+12>>2]+8|0),Mu(n=a+632|0,t,s),t=h[a+784>>2],h[12+(i=w-16|0)>>2]=h[a+792>>2],i=h[i+12>>2],h[12+(o=w-16|0)>>2]=h[a+788>>2],o=h[o+12>>2]+4|0,h[12+(s=w-16|0)>>2]=h[a+792>>2],bs(c=a+584|0,i,o,h[s+12>>2]+8|0),Mu(i=a+600|0,t,c),r[h[h[e>>2]+8>>2]](e,n,i,h[a+780>>2]),t=h[a+784>>2],h[12+(n=w-16|0)>>2]=h[a+792>>2],n=h[n+12>>2],h[12+(i=w-16|0)>>2]=h[a+788>>2],i=h[i+12>>2]+4|0,h[12+(o=w-16|0)>>2]=h[a+792>>2],bs(s=a+552|0,n,i,h[o+12>>2]+8|0),Mu(n=a+568|0,t,s),t=h[a+784>>2],h[12+(i=w-16|0)>>2]=h[a+792>>2],i=h[i+12>>2],h[12+(o=w-16|0)>>2]=h[a+792>>2],o=h[o+12>>2]+4|0,h[12+(s=w-16|0)>>2]=h[a+792>>2],bs(c=a+520|0,i,o,h[s+12>>2]+8|0),Mu(i=a+536|0,t,c),r[h[h[e>>2]+8>>2]](e,n,i,h[a+780>>2]),t=h[a+784>>2],h[12+(n=w-16|0)>>2]=h[a+792>>2],n=h[n+12>>2],h[12+(i=w-16|0)>>2]=h[a+792>>2],i=h[i+12>>2]+4|0,h[12+(o=w-16|0)>>2]=h[a+792>>2],bs(s=a+488|0,n,i,h[o+12>>2]+8|0),Mu(n=a+504|0,t,s),t=h[a+784>>2],h[12+(i=w-16|0)>>2]=h[a+792>>2],i=h[i+12>>2],h[12+(o=w-16|0)>>2]=h[a+792>>2],o=h[o+12>>2]+4|0,h[12+(s=w-16|0)>>2]=h[a+788>>2],bs(c=a+456|0,i,o,h[s+12>>2]+8|0),Mu(i=a+472|0,t,c),r[h[h[e>>2]+8>>2]](e,n,i,h[a+780>>2]),t=h[a+784>>2],h[12+(n=w-16|0)>>2]=h[a+788>>2],n=h[n+12>>2],h[12+(i=w-16|0)>>2]=h[a+792>>2],i=h[i+12>>2]+4|0,h[12+(o=w-16|0)>>2]=h[a+792>>2],bs(s=a+424|0,n,i,h[o+12>>2]+8|0),Mu(n=a+440|0,t,s),t=h[a+784>>2],h[12+(i=w-16|0)>>2]=h[a+788>>2],i=h[i+12>>2],h[12+(o=w-16|0)>>2]=h[a+792>>2],o=h[o+12>>2]+4|0,h[12+(s=w-16|0)>>2]=h[a+788>>2],bs(c=a+392|0,i,o,h[s+12>>2]+8|0),Mu(i=a+408|0,t,c),r[h[h[e>>2]+8>>2]](e,n,i,h[a+780>>2]),t=h[a+784>>2],h[12+(n=w-16|0)>>2]=h[a+788>>2],n=h[n+12>>2],h[12+(i=w-16|0)>>2]=h[a+788>>2],i=h[i+12>>2]+4|0,h[12+(o=w-16|0)>>2]=h[a+792>>2],bs(s=a+360|0,n,i,h[o+12>>2]+8|0),Mu(n=a+376|0,t,s),t=h[a+784>>2],h[12+(i=w-16|0)>>2]=h[a+788>>2],i=h[i+12>>2],h[12+(o=w-16|0)>>2]=h[a+788>>2],o=h[o+12>>2]+4|0,h[12+(s=w-16|0)>>2]=h[a+788>>2],bs(c=a+328|0,i,o,h[s+12>>2]+8|0),Mu(i=a+344|0,t,c),r[h[h[e>>2]+8>>2]](e,n,i,h[a+780>>2]),t=h[a+784>>2],h[12+(n=w-16|0)>>2]=h[a+792>>2],n=h[n+12>>2],h[12+(i=w-16|0)>>2]=h[a+788>>2],i=h[i+12>>2]+4|0,h[12+(o=w-16|0)>>2]=h[a+792>>2],bs(s=a+296|0,n,i,h[o+12>>2]+8|0),Mu(n=a+312|0,t,s),t=h[a+784>>2],h[12+(i=w-16|0)>>2]=h[a+792>>2],i=h[i+12>>2],h[12+(o=w-16|0)>>2]=h[a+788>>2],o=h[o+12>>2]+4|0,h[12+(s=w-16|0)>>2]=h[a+788>>2],bs(c=a+264|0,i,o,h[s+12>>2]+8|0),Mu(i=a+280|0,t,c),r[h[h[e>>2]+8>>2]](e,n,i,h[a+780>>2]),t=h[a+784>>2],h[12+(n=w-16|0)>>2]=h[a+792>>2],n=h[n+12>>2],h[12+(i=w-16|0)>>2]=h[a+792>>2],i=h[i+12>>2]+4|0,h[12+(o=w-16|0)>>2]=h[a+788>>2],bs(s=a+232|0,n,i,h[o+12>>2]+8|0),Mu(n=a+248|0,t,s),t=h[a+784>>2],h[12+(i=w-16|0)>>2]=h[a+788>>2],i=h[i+12>>2],h[12+(o=w-16|0)>>2]=h[a+792>>2],o=h[o+12>>2]+4|0,h[12+(s=w-16|0)>>2]=h[a+788>>2],bs(c=a+200|0,i,o,h[s+12>>2]+8|0),Mu(i=a+216|0,t,c),r[h[h[e>>2]+8>>2]](e,n,i,h[a+780>>2]),t=h[a+784>>2],h[12+(n=w-16|0)>>2]=h[a+788>>2],n=h[n+12>>2],h[12+(i=w-16|0)>>2]=h[a+792>>2],i=h[i+12>>2]+4|0,h[12+(o=w-16|0)>>2]=h[a+788>>2],bs(s=a+168|0,n,i,h[o+12>>2]+8|0),Mu(n=a+184|0,t,s),t=h[a+784>>2],h[12+(i=w-16|0)>>2]=h[a+788>>2],i=h[i+12>>2],h[12+(o=w-16|0)>>2]=h[a+788>>2],o=h[o+12>>2]+4|0,h[12+(s=w-16|0)>>2]=h[a+788>>2],bs(c=a+136|0,i,o,h[s+12>>2]+8|0),Mu(i=a+152|0,t,c),r[h[h[e>>2]+8>>2]](e,n,i,h[a+780>>2]),t=h[a+784>>2],h[12+(n=w-16|0)>>2]=h[a+788>>2],n=h[n+12>>2],h[12+(i=w-16|0)>>2]=h[a+788>>2],i=h[i+12>>2]+4|0,h[12+(o=w-16|0)>>2]=h[a+788>>2],bs(s=a+104|0,n,i,h[o+12>>2]+8|0),Mu(n=a+120|0,t,s),t=h[a+784>>2],h[12+(i=w-16|0)>>2]=h[a+792>>2],i=h[i+12>>2],h[12+(o=w-16|0)>>2]=h[a+788>>2],o=h[o+12>>2]+4|0,h[12+(s=w-16|0)>>2]=h[a+788>>2],bs(c=a+72|0,i,o,h[s+12>>2]+8|0),Mu(i=a+88|0,t,c),r[h[h[e>>2]+8>>2]](e,n,i,h[a+780>>2]),t=h[a+784>>2],h[12+(n=w-16|0)>>2]=h[a+792>>2],n=h[n+12>>2],h[12+(i=w-16|0)>>2]=h[a+788>>2],i=h[i+12>>2]+4|0,h[12+(o=w-16|0)>>2]=h[a+788>>2],bs(s=a+40|0,n,i,h[o+12>>2]+8|0),Mu(n=a+56|0,t,s),t=h[a+784>>2],h[12+(i=w-16|0)>>2]=h[a+792>>2],i=h[i+12>>2],h[12+(o=w-16|0)>>2]=h[a+792>>2],o=h[o+12>>2]+4|0,h[12+(s=w-16|0)>>2]=h[a+788>>2],bs(c=a+8|0,i,o,h[s+12>>2]+8|0),Mu(i=a+24|0,t,c),r[h[h[e>>2]+8>>2]](e,n,i,h[a+780>>2]),w=a+800|0},r[57]=function(e,t,n,i,o,a){e|=0,t=v(t),n=v(n),i|=0,o|=0,a|=0;var s,c=0,l=0;for(w=s=w-496|0,h[s+492>>2]=e,m[s+488>>2]=t,m[s+484>>2]=n,h[s+480>>2]=i,h[s+476>>2]=o,h[s+472>>2]=a,e=h[s+492>>2],h[s+468>>2]=30,m[s+444>>2]=0,m[s+440>>2]=0,m[s+436>>2]=0,bs(o=s+448|0,s+444|0,s+440|0,s+436|0),t=v(-m[s+484>>2]),h[12+(i=w-16|0)>>2]=o,m[h[i+12>>2]+(h[s+480>>2]<<2)>>2]=t,m[s+412>>2]=0,m[s+408>>2]=0,m[s+404>>2]=0,bs(c=s+416|0,s+412|0,s+408|0,s+404|0),t=m[s+484>>2],h[12+(i=w-16|0)>>2]=c,m[h[i+12>>2]+(h[s+480>>2]<<2)>>2]=t,Ea(i=s+336|0,h[s+476>>2]),Mu(s+320|0,h[s+476>>2],o),h[12+(o=w-16|0)>>2]=i,a=h[s+324>>2],o=h[o+12>>2]+48|0,h[o>>2]=h[s+320>>2],h[o+4>>2]=a,a=h[s+332>>2],h[o+8>>2]=h[s+328>>2],h[o+12>>2]=a,h[12+(a=w-16|0)>>2]=i,a=h[a+12>>2]+48|0,l=h[a+4>>2],h[(o=s+304|0)>>2]=h[a>>2],h[o+4>>2]=l,l=h[a+12>>2],h[o+8>>2]=h[a+8>>2],h[o+12>>2]=l,h[12+(a=w-16|0)>>2]=i,Zo(l=s+288|0,h[a+12>>2],(h[s+480>>2]+1|0)%3|0),h[12+(a=w-16|0)>>2]=i,Zo(i=s+256|0,h[a+12>>2],h[s+480>>2]),zs(a=s+272|0,i),m[s+252>>2]=-1.5707963705062866,m[s+248>>2]=1.5707963705062866,m[s+244>>2]=-1.5707963705062866,m[s+240>>2]=1.5707963705062866,r[h[h[e>>2]+64>>2]](e,o,l,a,m[s+488>>2],m[s+252>>2],m[s+248>>2],m[s+244>>2],m[s+240>>2],h[s+472>>2],v(h[s+468>>2]),0),Ea(i=s+176|0,h[s+476>>2]),Mu(s+160|0,h[s+476>>2],c),h[12+(o=w-16|0)>>2]=i,a=h[s+164>>2],o=h[o+12>>2]+48|0,h[o>>2]=h[s+160>>2],h[o+4>>2]=a,a=h[s+172>>2],h[o+8>>2]=h[s+168>>2],h[o+12>>2]=a,h[12+(a=w-16|0)>>2]=i,a=h[a+12>>2]+48|0,c=h[a+4>>2],h[(o=s+144|0)>>2]=h[a>>2],h[o+4>>2]=c,c=h[a+12>>2],h[o+8>>2]=h[a+8>>2],h[o+12>>2]=c,h[12+(a=w-16|0)>>2]=i,Zo(c=s+128|0,h[a+12>>2],(h[s+480>>2]+1|0)%3|0),h[12+(a=w-16|0)>>2]=i,Zo(i=s+112|0,h[a+12>>2],h[s+480>>2]),m[s+108>>2]=-1.5707963705062866,m[s+104>>2]=1.5707963705062866,m[s+100>>2]=-1.5707963705062866,m[s+96>>2]=1.5707963705062866,r[h[h[e>>2]+64>>2]](e,o,c,i,m[s+488>>2],m[s+108>>2],m[s+104>>2],m[s+100>>2],m[s+96>>2],h[s+472>>2],v(h[s+468>>2]),0),h[12+(i=w-16|0)>>2]=h[s+476>>2],i=h[i+12>>2]+48|0,o=h[i+4>>2],h[s+80>>2]=h[i>>2],h[s+84>>2]=o,o=h[i+12>>2],h[s+88>>2]=h[i+8>>2],h[s+92>>2]=o,h[s+76>>2]=0;h[s+76>>2]<360;)t=v(lp(v(v(h[s+76>>2])*v(.01745329238474369)))*m[s+488>>2]),i=s+448|0,h[12+(o=w-16|0)>>2]=i,m[h[o+12>>2]+((h[s+480>>2]+1|0)%3<<2)>>2]=t,o=s+416|0,h[12+(a=w-16|0)>>2]=o,m[h[a+12>>2]+((h[s+480>>2]+1|0)%3<<2)>>2]=t,t=v(up(v(v(h[s+76>>2])*v(.01745329238474369)))*m[s+488>>2]),h[12+(a=w-16|0)>>2]=i,m[h[a+12>>2]+((h[s+480>>2]+2|0)%3<<2)>>2]=t,h[12+(a=w-16|0)>>2]=o,m[h[a+12>>2]+((h[s+480>>2]+2|0)%3<<2)>>2]=t,h[12+(a=w-16|0)>>2]=h[s+476>>2],lo(c=s+40|0,h[a+12>>2],i),oa(i=s+56|0,a=s+80|0,c),h[12+(c=w-16|0)>>2]=h[s+476>>2],lo(l=s+8|0,h[c+12>>2],o),oa(o=s+24|0,a,l),r[h[h[e>>2]+8>>2]](e,i,o,h[s+472>>2]),h[s+76>>2]=h[s+468>>2]+h[s+76>>2];w=s+496|0},r[58]=function(e,t,n,i,o,a){e|=0,t=v(t),n=v(n),i|=0,o|=0,a|=0;var s,c,l,u,p=0,d=0;for(w=s=w-400|0,h[s+396>>2]=e,m[s+392>>2]=t,m[s+388>>2]=n,h[s+384>>2]=i,h[s+380>>2]=o,h[s+376>>2]=a,e=h[s+396>>2],h[12+(i=w-16|0)>>2]=h[s+380>>2],i=h[i+12>>2]+48|0,o=h[i+4>>2],h[s+360>>2]=h[i>>2],h[s+364>>2]=o,o=h[i+12>>2],h[s+368>>2]=h[i+8>>2],h[s+372>>2]=o,m[s+340>>2]=0,m[s+336>>2]=0,m[s+332>>2]=0,bs(i=s+344|0,s+340|0,s+336|0,s+332|0),t=m[s+388>>2],h[12+(o=w-16|0)>>2]=i,m[h[o+12>>2]+(h[s+384>>2]<<2)>>2]=t,h[s+328>>2]=30,m[s+308>>2]=0,m[s+304>>2]=0,m[s+300>>2]=0,bs(i=s+312|0,s+308|0,s+304|0,s+300|0),t=v(-m[s+388>>2]),h[12+(o=w-16|0)>>2]=i,m[h[o+12>>2]+(h[s+384>>2]<<2)>>2]=t,m[s+276>>2]=0,m[s+272>>2]=0,m[s+268>>2]=0,bs(i=s+280|0,s+276|0,s+272|0,s+268|0),t=m[s+388>>2],h[12+(o=w-16|0)>>2]=i,m[h[o+12>>2]+(h[s+384>>2]<<2)>>2]=t,h[s+264>>2]=0;h[s+264>>2]<360;)t=v(lp(v(v(h[s+264>>2])*v(.01745329238474369)))*m[s+392>>2]),i=s+312|0,h[12+(o=w-16|0)>>2]=i,m[h[o+12>>2]+((h[s+384>>2]+1|0)%3<<2)>>2]=t,o=s+280|0,h[12+(a=w-16|0)>>2]=o,m[h[a+12>>2]+((h[s+384>>2]+1|0)%3<<2)>>2]=t,t=v(up(v(v(h[s+264>>2])*v(.01745329238474369)))*m[s+392>>2]),h[12+(a=w-16|0)>>2]=i,m[h[a+12>>2]+((h[s+384>>2]+2|0)%3<<2)>>2]=t,h[12+(a=w-16|0)>>2]=o,m[h[a+12>>2]+((h[s+384>>2]+2|0)%3<<2)>>2]=t,h[12+(a=w-16|0)>>2]=h[s+380>>2],lo(p=s+232|0,h[a+12>>2],i),oa(i=s+248|0,a=s+360|0,p),h[12+(p=w-16|0)>>2]=h[s+380>>2],lo(d=s+200|0,h[p+12>>2],o),oa(o=s+216|0,a,d),r[h[h[e>>2]+8>>2]](e,i,o,h[s+376>>2]),h[s+264>>2]=h[s+328>>2]+h[s+264>>2];m[s+180>>2]=0,m[s+176>>2]=0,m[s+172>>2]=0,bs(i=s+184|0,s+180|0,s+176|0,s+172|0),h[12+(o=w-16|0)>>2]=i,m[h[o+12>>2]+(h[s+384>>2]<<2)>>2]=1,m[s+148>>2]=0,m[s+144>>2]=0,m[s+140>>2]=0,bs(o=s+152|0,s+148|0,s+144|0,s+140|0),h[12+(a=w-16|0)>>2]=o,m[h[a+12>>2]+((h[s+384>>2]+1|0)%3<<2)>>2]=1,h[12+(a=w-16|0)>>2]=h[s+380>>2],lo(p=s+104|0,d=h[a+12>>2],a=s+344|0),aa(d=s+120|0,c=s+360|0,p),h[12+(p=w-16|0)>>2]=h[s+380>>2],lo(l=s+88|0,h[p+12>>2],i),h[12+(p=w-16|0)>>2]=h[s+380>>2],lo(u=s+72|0,h[p+12>>2],o),r[h[h[e>>2]+60>>2]](e,d,l,u,m[s+392>>2],m[s+392>>2],v(0),v(6.2831854820251465),h[s+376>>2],0,v(10)),h[12+(p=w-16|0)>>2]=h[s+380>>2],lo(d=s+40|0,h[p+12>>2],a),oa(a=s+56|0,c,d),h[12+(p=w-16|0)>>2]=h[s+380>>2],lo(d=s+24|0,h[p+12>>2],i),h[12+(i=w-16|0)>>2]=h[s+380>>2],lo(p=s+8|0,h[i+12>>2],o),r[h[h[e>>2]+60>>2]](e,a,d,p,m[s+392>>2],m[s+392>>2],v(0),v(6.2831854820251465),h[s+376>>2],0,v(10)),w=s+400|0},r[59]=function(e,t,n,i,o,a){e|=0,t=v(t),n=v(n),i|=0,o|=0,a|=0;var s,c=0,l=0,u=0,p=0;for(w=s=w-752|0,h[s+748>>2]=e,m[s+744>>2]=t,m[s+740>>2]=n,h[s+736>>2]=i,h[s+732>>2]=o,h[s+728>>2]=a,e=h[s+748>>2],h[s+724>>2]=30,h[12+(i=w-16|0)>>2]=h[s+732>>2],i=h[i+12>>2]+48|0,o=h[i+4>>2],h[s+704>>2]=h[i>>2],h[s+708>>2]=o,o=h[i+12>>2],h[s+712>>2]=h[i+8>>2],h[s+716>>2]=o,m[s+684>>2]=0,m[s+680>>2]=0,m[s+676>>2]=0,bs(i=s+688|0,s+684|0,s+680|0,s+676|0),m[s+672>>2]=m[s+740>>2]*v(.5),t=m[s+672>>2],h[12+(o=w-16|0)>>2]=i,m[h[o+12>>2]+(h[s+736>>2]<<2)>>2]=t,m[s+652>>2]=0,m[s+648>>2]=0,m[s+644>>2]=0,bs(i=s+656|0,s+652|0,s+648|0,s+644|0),t=m[s+744>>2],h[12+(o=w-16|0)>>2]=i,m[h[o+12>>2]+((h[s+736>>2]+1|0)%3<<2)>>2]=t,m[s+620>>2]=0,m[s+616>>2]=0,m[s+612>>2]=0,bs(i=s+624|0,s+620|0,s+616|0,s+612|0),t=m[s+744>>2],h[12+(o=w-16|0)>>2]=i,m[h[o+12>>2]+((h[s+736>>2]+2|0)%3<<2)>>2]=t,m[s+588>>2]=0,m[s+584>>2]=0,m[s+580>>2]=0,bs(i=s+592|0,s+588|0,s+584|0,s+580|0),t=v(-m[s+672>>2]),h[12+(o=w-16|0)>>2]=i,m[h[o+12>>2]+(h[s+736>>2]<<2)>>2]=t,h[s+576>>2]=0;h[s+576>>2]<360;)t=v(lp(v(v(h[s+576>>2])*v(.01745329238474369)))*m[s+744>>2]),i=s+592|0,h[12+(o=w-16|0)>>2]=i,m[h[o+12>>2]+((h[s+736>>2]+1|0)%3<<2)>>2]=t,t=v(up(v(v(h[s+576>>2])*v(.01745329238474369)))*m[s+744>>2]),h[12+(o=w-16|0)>>2]=i,m[h[o+12>>2]+((h[s+736>>2]+2|0)%3<<2)>>2]=t,h[12+(o=w-16|0)>>2]=h[s+732>>2],lo(a=s+544|0,h[o+12>>2],s+688|0),oa(o=s+560|0,c=s+704|0,a),h[12+(a=w-16|0)>>2]=h[s+732>>2],lo(l=s+512|0,h[a+12>>2],i),oa(i=s+528|0,c,l),r[h[h[e>>2]+8>>2]](e,o,i,h[s+728>>2]),h[s+576>>2]=h[s+724>>2]+h[s+576>>2];h[12+(i=w-16|0)>>2]=h[s+732>>2],lo(a=s+480|0,o=h[i+12>>2],i=s+688|0),oa(c=s+496|0,o=s+704|0,a),h[12+(a=w-16|0)>>2]=h[s+732>>2],a=h[a+12>>2],zs(l=s+416|0,i),oa(p=s+432|0,u=l,l=s+656|0),lo(u=s+448|0,a,p),oa(a=s+464|0,o,u),r[h[h[e>>2]+8>>2]](e,c,a,h[s+728>>2]),h[12+(a=w-16|0)>>2]=h[s+732>>2],lo(c=s+384|0,h[a+12>>2],i),oa(a=s+400|0,o,c),h[12+(c=w-16|0)>>2]=h[s+732>>2],c=h[c+12>>2],zs(p=s+320|0,i),aa(u=s+336|0,p,l),lo(l=s+352|0,c,u),oa(c=s+368|0,o,l),r[h[h[e>>2]+8>>2]](e,a,c,h[s+728>>2]),h[12+(a=w-16|0)>>2]=h[s+732>>2],lo(c=s+288|0,h[a+12>>2],i),oa(a=s+304|0,o,c),h[12+(c=w-16|0)>>2]=h[s+732>>2],c=h[c+12>>2],zs(l=s+224|0,i),oa(p=s+240|0,u=l,l=s+624|0),lo(u=s+256|0,c,p),oa(c=s+272|0,o,u),r[h[h[e>>2]+8>>2]](e,a,c,h[s+728>>2]),h[12+(a=w-16|0)>>2]=h[s+732>>2],lo(c=s+192|0,h[a+12>>2],i),oa(a=s+208|0,o,c),h[12+(c=w-16|0)>>2]=h[s+732>>2],c=h[c+12>>2],zs(p=s+128|0,i),aa(u=s+144|0,p,l),lo(l=s+160|0,c,u),oa(c=s+176|0,o,l),r[h[h[e>>2]+8>>2]](e,a,c,h[s+728>>2]),m[s+108>>2]=0,m[s+104>>2]=0,m[s+100>>2]=0,bs(a=s+112|0,s+108|0,s+104|0,s+100|0),h[12+(c=w-16|0)>>2]=a,m[h[c+12>>2]+(h[s+736>>2]<<2)>>2]=1,m[s+76>>2]=0,m[s+72>>2]=0,m[s+68>>2]=0,bs(c=s+80|0,s+76|0,s+72|0,s+68|0),h[12+(l=w-16|0)>>2]=c,m[h[l+12>>2]+((h[s+736>>2]+1|0)%3<<2)>>2]=1,h[12+(l=w-16|0)>>2]=h[s+732>>2],lo(p=s+32|0,h[l+12>>2],i),aa(i=s+48|0,o,p),h[12+(o=w-16|0)>>2]=h[s+732>>2],lo(l=s+16|0,h[o+12>>2],a),h[12+(o=w-16|0)>>2]=h[s+732>>2],lo(s,h[o+12>>2],c),r[h[h[e>>2]+60>>2]](e,i,l,s,m[s+744>>2],m[s+744>>2],v(0),v(6.2831854820251465),h[s+728>>2],0,v(10)),w=s+752|0},r[60]=function(e,t,n,i,o){e|=0,t|=0,n=v(n),i|=0,o|=0;var a,s,c,l=0,u=0;w=a=w-272|0,h[a+268>>2]=e,h[a+264>>2]=t,m[a+260>>2]=n,h[a+256>>2]=i,h[a+252>>2]=o,e=h[a+268>>2],sa(t=a+232|0,h[a+264>>2],a+260|0),i=a+216|0,h[12+(w-16|0)>>2]=i,o=a+200|0,h[12+(w-16|0)>>2]=o,function(e,t,n){var i,r=v(0),o=v(0);w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,h[i+20>>2]=n,h[12+(e=w-16|0)>>2]=h[i+28>>2],m[12+(t=w-16|0)>>2]=m[h[e+12>>2]+8>>2],v(y(m[t+12>>2]))>v(.7071067690849304)?(h[12+(e=w-16|0)>>2]=h[i+28>>2],r=m[h[e+12>>2]+4>>2],h[12+(e=w-16|0)>>2]=h[i+28>>2],r=v(r*m[h[e+12>>2]+4>>2]),h[12+(e=w-16|0)>>2]=h[i+28>>2],o=m[h[e+12>>2]+8>>2],h[12+(e=w-16|0)>>2]=h[i+28>>2],m[i+16>>2]=r+v(o*m[h[e+12>>2]+8>>2]),m[12+(e=w-16|0)>>2]=m[i+16>>2],m[i+12>>2]=v(1)/v(S(m[e+12>>2])),h[12+(e=w-16|0)>>2]=h[i+24>>2],m[h[e+12>>2]>>2]=0,h[12+(e=w-16|0)>>2]=h[i+28>>2],r=v(v(-m[h[e+12>>2]+8>>2])*m[i+12>>2]),h[12+(e=w-16|0)>>2]=h[i+24>>2],m[h[e+12>>2]+4>>2]=r,h[12+(e=w-16|0)>>2]=h[i+28>>2],r=v(m[h[e+12>>2]+4>>2]*m[i+12>>2]),h[12+(e=w-16|0)>>2]=h[i+24>>2],m[h[e+12>>2]+8>>2]=r,r=v(m[i+16>>2]*m[i+12>>2]),h[12+(e=w-16|0)>>2]=h[i+20>>2],m[h[e+12>>2]>>2]=r,h[12+(e=w-16|0)>>2]=h[i+28>>2],r=v(-m[h[e+12>>2]>>2]),h[12+(e=w-16|0)>>2]=h[i+24>>2],r=v(r*m[h[e+12>>2]+8>>2]),h[12+(e=w-16|0)>>2]=h[i+20>>2],m[h[e+12>>2]+4>>2]=r,h[12+(e=w-16|0)>>2]=h[i+28>>2],r=m[h[e+12>>2]>>2],h[12+(e=w-16|0)>>2]=h[i+24>>2],r=v(r*m[h[e+12>>2]+4>>2])):(h[12+(e=w-16|0)>>2]=h[i+28>>2],r=m[h[e+12>>2]>>2],h[12+(e=w-16|0)>>2]=h[i+28>>2],r=v(r*m[h[e+12>>2]>>2]),h[12+(e=w-16|0)>>2]=h[i+28>>2],o=m[h[e+12>>2]+4>>2],h[12+(e=w-16|0)>>2]=h[i+28>>2],m[i+8>>2]=r+v(o*m[h[e+12>>2]+4>>2]),m[12+(e=w-16|0)>>2]=m[i+8>>2],m[i+4>>2]=v(1)/v(S(m[e+12>>2])),h[12+(e=w-16|0)>>2]=h[i+28>>2],r=v(v(-m[h[e+12>>2]+4>>2])*m[i+4>>2]),h[12+(e=w-16|0)>>2]=h[i+24>>2],m[h[e+12>>2]>>2]=r,h[12+(e=w-16|0)>>2]=h[i+28>>2],r=v(m[h[e+12>>2]>>2]*m[i+4>>2]),h[12+(e=w-16|0)>>2]=h[i+24>>2],m[h[e+12>>2]+4>>2]=r,h[12+(e=w-16|0)>>2]=h[i+24>>2],m[h[e+12>>2]+8>>2]=0,h[12+(e=w-16|0)>>2]=h[i+28>>2],r=v(-m[h[e+12>>2]+8>>2]),h[12+(e=w-16|0)>>2]=h[i+24>>2],r=v(r*m[h[e+12>>2]+4>>2]),h[12+(e=w-16|0)>>2]=h[i+20>>2],m[h[e+12>>2]>>2]=r,h[12+(e=w-16|0)>>2]=h[i+28>>2],r=m[h[e+12>>2]+8>>2],h[12+(e=w-16|0)>>2]=h[i+24>>2],r=v(r*m[h[e+12>>2]>>2]),h[12+(e=w-16|0)>>2]=h[i+20>>2],m[h[e+12>>2]+4>>2]=r,r=v(m[i+8>>2]*m[i+4>>2])),h[12+(e=w-16|0)>>2]=h[i+20>>2],m[h[e+12>>2]+8>>2]=r,w=i+32|0}(h[a+264>>2],i,o),m[a+196>>2]=100,sa(l=a+160|0,i,u=a+196|0),oa(s=a+176|0,t,l),sa(l=a+128|0,i,u),aa(i=a+144|0,t,l),sa(l=a+96|0,o,u),oa(c=a+112|0,t,l),sa(l=a- -64|0,o,u),aa(o=a+80|0,t,l),Mu(t=a+48|0,h[a+256>>2],s),Mu(u=a+32|0,h[a+256>>2],i),r[h[h[e>>2]+8>>2]](e,t,u,h[a+252>>2]),Mu(t=a+16|0,h[a+256>>2],c),Mu(a,h[a+256>>2],o),r[h[h[e>>2]+8>>2]](e,t,a,h[a+252>>2]),w=a+272|0},r[61]=lh,r[62]=Sh,r[63]=Fh,r[64]=function(e){return h[(e|=0)>>2]=3948,0|e},r[65]=function(e){h[(e|=0)>>2]=3948,e&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[66]=function(e,t){t|=0,h[200+(e|=0)>>2]=t,h[e+192>>2]=t,h[e+260>>2]=h[e+260>>2]+1},r[67]=function(e){return 256},r[68]=Nt,r[69]=function(e,t){var n,i=0,o=0,a=0,s=0,c=0;a=t|=0,s=0|r[h[h[(e|=0)>>2]+16>>2]](e),c=1,o=h[h[t>>2]+16>>2],i=0|r[o](0|a,0|s,0|c),c=t,s=i,a=0|r[h[h[e>>2]+20>>2]](e,h[i+8>>2],t),n=e,o=h[h[t>>2]+20>>2],r[o](0|c,0|s,0|a,1245859651,0|n)},r[70]=function(e){var t;return h[(e|=0)>>2]=4040,(t=h[e+276>>2])&&(d[e+280|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+276>>2]=0),h[e+276>>2]=0,o[e+280|0]=1,h[e+268>>2]=0,h[e+272>>2]=0,h[e>>2]=3948,0|e},r[71]=function(e){var t;h[(e|=0)>>2]=4040,(t=h[e+276>>2])&&(d[e+280|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+276>>2]=0),h[e+276>>2]=0,o[e+280|0]=1,h[e+268>>2]=0,h[e+272>>2]=0,h[e>>2]=3948,e&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[72]=function(e,t,n){e|=0,n|=0;var i,a=0,s=0,c=0;i=h[(t|=0)>>2];e:{t:if(!((0|(n=h[e+268>>2]))<1)){for(a=h[e+276>>2],t=0;;){if(h[a+(t<<2)>>2]!=(0|i)){if((0|n)!=(0|(t=t+1|0)))continue;break t}break}if((0|t)!=(0|n))break e}if(h[e+272>>2]==(0|n)&&!((0|n)>=(0|(a=n?n<<1:1)))){if(a&&(h[7717]=h[7717]+1,s=0|r[h[6606]](a<<2,16),n=h[e+268>>2]),(0|n)>=1)for(t=0;h[(c=t<<2)+s>>2]=h[h[e+276>>2]+c>>2],(0|n)!=(0|(t=t+1|0)););(t=h[e+276>>2])&&(d[e+280|0]&&(t&&(h[7718]=h[7718]+1,r[h[6607]](t)),n=h[e+268>>2]),h[e+276>>2]=0),h[e+276>>2]=s,h[e+272>>2]=a,o[e+280|0]=1}h[h[e+276>>2]+(n<<2)>>2]=i,h[e+268>>2]=n+1}},r[73]=function(e,t,n,i){t|=0,n|=0,i|=0;var r=0,o=0;e:if(!((0|(n=h[268+(e|=0)>>2]))<1)){for(i=h[e+276>>2],o=h[t>>2],t=0;;){if(h[(r=(t<<2)+i|0)>>2]!=(0|o)){if((0|n)!=(0|(t=t+1|0)))continue;break e}break}(0|t)>=(0|n)||(t=n+-1|0,h[r>>2]=h[(t<<2)+i>>2],h[e+268>>2]=t)}},r[74]=function(e){var t=0;return h[(e|=0)>>2]=4084,t=h[e+284>>2],r[h[h[t>>2]>>2]](t),(t=h[e+284>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e>>2]=4040,(t=h[e+276>>2])&&(d[e+280|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+276>>2]=0),h[e+276>>2]=0,o[e+280|0]=1,h[e+268>>2]=0,h[e+272>>2]=0,h[e>>2]=3948,0|e},r[75]=function(e){var t=0;h[(e|=0)>>2]=4084,t=h[e+284>>2],r[h[h[t>>2]>>2]](t),(t=h[e+284>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e>>2]=4040,(t=h[e+276>>2])&&(d[e+280|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+276>>2]=0),h[e+276>>2]=0,o[e+280|0]=1,h[e+268>>2]=0,h[e+272>>2]=0,h[e>>2]=3948,e&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[76]=function(e,t,n){e|=0,t|=0;var i,a=0,s=0,c=0,l=0,u=0;n=(n|=0)||h[e+188>>2],i=h[t>>2];e:{t:if(!((0|(a=h[e+268>>2]))<1)){for(c=h[e+276>>2];;){if(h[c+(s<<2)>>2]!=(0|i)){if((0|(s=s+1|0))!=(0|a))continue;break t}break}if((0|a)!=(0|s))break e}if(h[e+272>>2]==(0|a)&&!((0|a)>=(0|(c=a?a<<1:1)))){if(c&&(h[7717]=h[7717]+1,l=0|r[h[6606]](c<<2,16),a=h[e+268>>2]),(0|a)>=1)for(s=0;h[(u=s<<2)+l>>2]=h[h[e+276>>2]+u>>2],(0|(s=s+1|0))!=(0|a););(s=h[e+276>>2])&&(d[e+280|0]&&(s&&(h[7718]=h[7718]+1,r[h[6607]](s)),a=h[e+268>>2]),h[e+276>>2]=0),h[e+276>>2]=l,h[e+272>>2]=c,o[e+280|0]=1}h[h[e+276>>2]+(a<<2)>>2]=i,h[e+268>>2]=a+1,e=h[e+284>>2],r[h[h[e>>2]+8>>2]](e,n,t)}},r[77]=function(e,t,n,i){e|=0,n|=0,i|=0;var o,a=0,s=0,c=0,l=0;o=h[(t|=0)>>2],i=i||h[e+188>>2];e:if(!((0|(a=h[e+268>>2]))<1)){for(c=h[e+276>>2];;){if(h[(l=(s<<2)+c|0)>>2]!=(0|o)){if((0|a)!=(0|(s=s+1|0)))continue;break e}break}(0|s)>=(0|a)||(a=a+-1|0,h[l>>2]=h[(a<<2)+c>>2],h[e+268>>2]=a,e=h[e+284>>2],r[h[h[e>>2]+12>>2]](e,i,t,n))}},r[78]=function(e,t,n){e|=0,t|=0,n|=0;var i,o,a,s=0,c=v(0);w=i=w-80|0,o=h[h[e>>2]>>2],a=h[h[e+4>>2]>>2],r[h[h[t>>2]+24>>2]](t,o,a)&&(s=h[o+192>>2],h[i+72>>2]=-1,h[i+76>>2]=-1,h[i+68>>2]=o+4,h[i+64>>2]=o,h[i+60>>2]=s,h[i+56>>2]=0,s=h[a+192>>2],h[i+48>>2]=-1,h[i+52>>2]=-1,h[i+44>>2]=a+4,h[i+40>>2]=a,h[i+36>>2]=s,h[i+32>>2]=0,(h[e+8>>2]||(t=0|r[h[h[t>>2]+8>>2]](t,i+56|0,i+32|0,0),h[e+8>>2]=t,t))&&(h[i+12>>2]=i+32,h[i+8>>2]=i+56,h[i+4>>2]=0,h[i>>2]=7088,t=i,e=h[e+8>>2],1!=h[n+8>>2]?(c=v(r[h[h[e>>2]+12>>2]](e,o,a,n,t)),m[n+12>>2]>c&&(m[n+12>>2]=c)):r[h[h[e>>2]+8>>2]](e,i+56|0,i+32|0,n,t))),w=i+80|0},r[79]=function(e){var t;return h[(e|=0)>>2]=4196,(t=h[e+20>>2])&&(d[e+24|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+20>>2]=0),h[e+20>>2]=0,o[e+24|0]=1,h[e+12>>2]=0,h[e+16>>2]=0,0|e},r[80]=function(e){var t;h[(e|=0)>>2]=4196,(t=h[e+20>>2])&&(d[e+24|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+20>>2]=0),h[e+20>>2]=0,o[e+24|0]=1,h[e+12>>2]=0,h[e+16>>2]=0,Se(e)},r[81]=function(e,t,n,i){var o;return e|=0,t|=0,n|=0,i|=0,w=o=w-16|0,h[o+12>>2]=i,h[o+8>>2]=e,e=h[72+((g(h[h[t+4>>2]+4>>2],144)+e|0)+(h[h[n+4>>2]+4>>2]<<2)|0)>>2],e=0|r[h[h[e>>2]+8>>2]](e,o+8|0,t,n),w=o+16|0,0|e},r[82]=function(e,t,n){e|=0,t|=0,n|=0;var i,a=0,s=0,c=v(0),l=v(0),u=0,p=0,f=0;w=i=w-16|0,h[6736]=h[6736]+1,2&h[e+4>>2]?(a=h[t+192>>2],c=v(r[h[h[a>>2]+20>>2]](a,m[6601])),m[i+12>>2]=c,a=h[n+192>>2],l=v(r[h[h[a>>2]+20>>2]](a,m[6601])),m[i+8>>2]=l,a=c>2],c=m[n+184>>2],l=m[t+184>>2],s=h[e+68>>2];e:{if(p=h[s+8>>2])a=h[s+12>>2],f=h[a>>2],h[s+8>>2]=p+-1,h[s+12>>2]=f;else{if(a=0,4&d[e+4|0])break e;h[7717]=h[7717]+1,a=0|r[h[6606]](772,16)}if(h[a>>2]=1025,h[a+124>>2]=0,h[a+128>>2]=0,o[a+120|0]=0,h[a+116>>2]=0,h[a+132>>2]=0,h[a+136>>2]=0,h[a+140>>2]=0,h[a+144>>2]=0,h[a+148>>2]=0,h[a+152>>2]=0,h[a+308>>2]=0,h[a+312>>2]=0,o[a+304|0]=0,h[a+300>>2]=0,h[a+316>>2]=0,h[a+320>>2]=0,h[a+324>>2]=0,h[a+328>>2]=0,h[a+332>>2]=0,h[a+336>>2]=0,h[a+492>>2]=0,h[a+496>>2]=0,o[a+488|0]=0,h[a+484>>2]=0,h[a+500>>2]=0,h[a+504>>2]=0,h[a+508>>2]=0,h[a+512>>2]=0,h[a+516>>2]=0,h[a+520>>2]=0,o[a+672|0]=0,h[a+668>>2]=0,h[a+700>>2]=0,h[a+704>>2]=0,h[a+692>>2]=0,h[a+696>>2]=0,h[a+684>>2]=0,h[a+688>>2]=0,h[a+676>>2]=0,h[a+680>>2]=0,h[a+740>>2]=t,h[a+744>>2]=n,h[a+748>>2]=0,h[a+752>>2]=u,m[a+756>>2]=l>2],h[a+768>>2]=n,h[e+16>>2]==(0|n)&&!((0|n)>=(0|(s=n?n<<1:1)))){if(s?(h[7717]=h[7717]+1,u=0|r[h[6606]](s<<2,16),n=h[e+12>>2]):u=0,(0|n)>=1)for(t=0;h[(p=t<<2)+u>>2]=h[p+h[e+20>>2]>>2],(0|n)!=(0|(t=t+1|0)););(t=h[e+20>>2])&&(d[e+24|0]&&(t&&(h[7718]=h[7718]+1,r[h[6607]](t)),n=h[e+12>>2]),h[e+20>>2]=0),h[e+20>>2]=u,h[e+16>>2]=s,o[e+24|0]=1}h[h[e+20>>2]+(n<<2)>>2]=a,h[e+12>>2]=n+1}return w=i+16|0,0|a},r[83]=function(e,t){e|=0,t|=0;var n,i,o,a,s,c=0,l=0;if(h[6736]=h[6736]+-1,r[h[h[e>>2]+20>>2]](e,t),n=(c=h[t+768>>2])<<2,i=h[e+20>>2],a=h[(l=n+i|0)>>2],s=l,o=(l=h[e+12>>2]+-1|0)<<2,h[s>>2]=h[i+o>>2],h[h[e+20>>2]+o>>2]=a,h[h[h[e+20>>2]+n>>2]+768>>2]=c,h[e+12>>2]=l,t&&(e=h[e+68>>2],!((c=h[e+16>>2])>>>0>t>>>0|c+g(h[e>>2],h[e+4>>2])>>>0<=t>>>0)))return h[t>>2]=h[e+12>>2],h[e+12>>2]=t,void(h[e+8>>2]=h[e+8>>2]+1);t&&(h[7718]=h[7718]+1,r[h[6607]](t))},r[84]=function(e,t){e|=0;var n=0,i=0,o=0;if(h[748+(t|=0)>>2]>=1)for(e=0;n=g(e,184)+t|0,(i=h[n+116>>2])&&(o=h[6734])&&(r[o](i),h[n+116>>2]=0),(0|(e=e+1|0))>2];);h[t+748>>2]=0},r[85]=function(e,t,n){e|=0,n|=0;e:{t:{n:switch(h[216+(t|=0)>>2]+-2|0){case 0:case 3:break n;default:break t}switch(e=0,h[n+216>>2]+-2|0){case 0:case 3:break e;default:break t}}if(!h[t+256>>2])return 1;e=0|r[h[h[t>>2]>>2]](t,n)}return 0|e},r[86]=function(e,t,n){if(e|=0,n|=0,e=0,!(4&(t=h[204+(t|=0)>>2])||4&(n=h[n+204>>2]))){if(!(3&t))return 1;e=!(3&n)}return 0|e},r[87]=function(e,t,n,i){var o;e|=0,t|=0,n|=0,i|=0,w=o=w-16|0,h[o+8>>2]=e,h[o+4>>2]=n,h[o>>2]=4304,r[h[h[t>>2]+48>>2]](t,o,i),w=o+16|0},r[88]=function(e){return h[12+(e|=0)>>2]},r[89]=function(e,t){return t|=0,h[h[20+(e|=0)>>2]+(t<<2)>>2]},r[90]=function(e){return h[12+(e|=0)>>2]?h[e+20>>2]:0},r[91]=Nh,r[92]=Nh,r[93]=function(e,t){t|=0;var n,i=0;return e=h[64+(e|=0)>>2],(n=h[e+8>>2])?(t=h[e+12>>2],i=h[t>>2],h[e+8>>2]=n+-1,h[e+12>>2]=i,0|t):(h[7717]=h[7717]+1,0|r[h[6606]](t,16))},r[94]=function(e,t){e|=0;var n=0;if((t|=0)&&(e=h[e+64>>2],!((n=h[e+16>>2])>>>0>t>>>0|g(h[e>>2],h[e+4>>2])+n>>>0<=t>>>0)))return h[t>>2]=h[e+12>>2],h[e+12>>2]=t,void(h[e+8>>2]=h[e+8>>2]+1);t&&(h[7718]=h[7718]+1,r[h[6607]](t))},r[95]=jh,r[96]=Jh,r[97]=function(e,t){var n;return n=t|=0,t=h[8+(e|=0)>>2],r[h[t+60>>2]](n,t,h[e+4>>2]),0},r[98]=ge,r[99]=function(e,t,n){e|=0,t|=0,n|=0;var i,o=v(0),a=v(0),s=v(0),c=0,l=v(0),u=v(0),p=v(0),d=v(0);w=i=w-32|0,c=h[n+12>>2],h[i+24>>2]=h[n+8>>2],h[i+28>>2]=c,c=h[n+4>>2],h[i+16>>2]=h[n>>2],h[i+20>>2]=c,o=m[i+16>>2],s=m[i+20>>2],a=m[i+24>>2],v(v(v(o*o)+v(s*s))+v(a*a))>2]=-1082130432,h[i+28>>2]=0,h[i+16>>2]=-1082130432,h[i+20>>2]=-1082130432,a=v(-1),s=v(-1),o=v(-1)),l=a,a=v(v(1)/v(S(v(v(v(o*o)+v(s*s))+v(a*a))))),m[i+24>>2]=l*a,m[i+20>>2]=s*a,m[i+16>>2]=o*a,ge(i,t,i+16|0);e:{t:switch(h[t+4>>2]){case 8:o=v(m[t+28>>2]*m[t+12>>2]);break e;case 0:case 1:case 13:case 11:case 10:o=m[t+44>>2];break e;case 4:case 5:o=m[t+44>>2];break e}o=v(r[h[h[t>>2]+48>>2]](t))}s=m[i>>2],a=m[i+16>>2],l=m[i+4>>2],u=m[i+20>>2],p=m[i+8>>2],d=m[i+24>>2],h[e+12>>2]=0,m[e+8>>2]=p+v(o*d),m[e+4>>2]=l+v(o*u),m[e>>2]=s+v(o*a),w=i+32|0},r[100]=jh,r[101]=Jh,r[102]=function(e,t,n,i,r,o,a,s,c,l){e|=0,t|=0,n|=0,i|=0,r|=0,o|=0,a|=0,s|=0,c|=0,l|=0;var u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0);return w=l=w-80|0,u=m[r+52>>2],p=m[o+52>>2],d=m[r+56>>2],f=m[o+56>>2],_=m[r+48>>2],b=m[o+48>>2],e=0,h[l+76>>2]=0,m[l+64>>2]=b-_,m[l+72>>2]=f-d,m[l+68>>2]=p-u,t=1,(_e(n,r,i,o,l- -64|0,l+8|0,1)||(t=0,pe(n,r,i,o,l- -64|0,l+8|0)))&&(e=h[l+16>>2],h[s>>2]=h[l+12>>2],h[s+4>>2]=e,e=h[l+24>>2],h[s+8>>2]=h[l+20>>2],h[s+12>>2]=e,e=h[l+40>>2],h[c+8>>2]=h[l+36>>2],h[c+12>>2]=e,e=h[l+32>>2],h[c>>2]=h[l+28>>2],h[c+4>>2]=e,e=h[l+56>>2],h[a+8>>2]=h[l+52>>2],h[a+12>>2]=e,e=h[l+48>>2],h[a>>2]=h[l+44>>2],h[a+4>>2]=e,e=t),w=l+80|0,0|e},r[103]=jh,r[104]=Jh,r[105]=hh,r[106]=Jh,r[107]=function(e,t,n,i,a,s,c,l,u,p){e|=0,t|=0,n|=0,i|=0,a|=0,s|=0,c|=0,l|=0,u|=0,p|=0;var f=v(0),_=v(0),b=v(0),g=v(0),y=0,C=0,A=v(0),x=v(0),S=v(0),T=v(0),E=0,P=v(0),O=0,M=v(0),R=v(0),I=v(0),D=v(0),L=0,N=0,F=0,B=v(0);for(w=e=w-4240|0,F=h[n+4>>2]+-17>>>0<=1?h[i+4>>2]+-17>>>0<2:F;Le(),x=m[a+32>>2],S=m[a+16>>2],T=m[a>>2],A=m[a+36>>2],M=m[a+20>>2],P=m[a+4>>2],f=m[a+40>>2],_=m[a+24>>2],R=m[a+8>>2],h[12+(y=(E=O<<4)+(e+1264|0)|0)>>2]=0,g=m[E+26964>>2],b=v(-g),D=v(_*b),_=m[E+26960>>2],I=f,f=m[E+26968>>2],m[y+8>>2]=v(D-v(R*_))-v(I*f),m[y+4>>2]=v(v(M*b)-v(_*P))-v(f*A),m[y>>2]=v(v(S*b)-v(_*T))-v(f*x),b=m[s+40>>2],x=m[s+8>>2],S=m[s+24>>2],T=m[s+36>>2],A=m[s+4>>2],M=m[s+20>>2],P=m[s+32>>2],R=m[s>>2],I=m[s+16>>2],h[12+(E=E+(e+272|0)|0)>>2]=0,m[E>>2]=v(v(_*R)+v(g*I))+v(f*P),m[E+4>>2]=v(v(_*A)+v(g*M))+v(f*T),m[E+8>>2]=v(v(_*x)+v(g*S))+v(f*b),42!=(0|(O=O+1|0)););if(E=42,(0|(N=0|r[h[h[n>>2]+84>>2]](n)))>=1)for(O=0;r[h[h[n>>2]+88>>2]](n,O,e+3248|0),b=m[a+8>>2],x=m[a>>2],S=m[a+4>>2],T=m[a+24>>2],A=m[a+16>>2],M=m[a+20>>2],g=m[a+40>>2],_=m[a+32>>2],f=m[a+36>>2],h[e+3260>>2]=0,I=_,_=m[e+3248>>2],P=f,f=m[e+3252>>2],R=g,g=m[e+3256>>2],m[e+3256>>2]=v(v(I*_)+v(P*f))+v(R*g),m[e+3252>>2]=v(v(_*A)+v(f*M))+v(g*T),m[e+3248>>2]=v(v(x*_)+v(S*f))+v(b*g),Le(),L=h[e+3260>>2],h[(C=26968+(y=E<<4)|0)>>2]=h[e+3256>>2],h[C+4>>2]=L,L=h[e+3252>>2],h[(C=y+26960|0)>>2]=h[e+3248>>2],h[C+4>>2]=L,x=m[a+40>>2],S=m[a+24>>2],T=m[a+8>>2],A=m[a+36>>2],M=m[a+20>>2],P=m[a+4>>2],f=m[a+32>>2],_=m[a+16>>2],R=m[a>>2],h[12+(C=y+(e+1264|0)|0)>>2]=0,g=m[e+3252>>2],b=v(-g),D=v(_*b),_=m[e+3248>>2],I=f,f=m[e+3256>>2],m[C>>2]=v(D-v(R*_))-v(I*f),m[C+4>>2]=v(v(M*b)-v(_*P))-v(f*A),m[C+8>>2]=v(v(S*b)-v(_*T))-v(f*x),b=m[s+32>>2],x=m[s>>2],S=m[s+16>>2],T=m[s+36>>2],A=m[s+4>>2],M=m[s+20>>2],P=m[s+40>>2],R=m[s+8>>2],I=m[s+24>>2],h[12+(y=y+(e+272|0)|0)>>2]=0,m[y+8>>2]=v(v(_*R)+v(g*I))+v(f*P),m[y+4>>2]=v(v(_*A)+v(g*M))+v(f*T),m[y>>2]=v(v(_*x)+v(g*S))+v(f*b),E=E+1|0,(0|N)!=(0|(O=O+1|0)););if((0|(N=0|r[h[h[i>>2]+84>>2]](i)))>=1)for(O=0;r[h[h[i>>2]+88>>2]](i,O,e+3248|0),b=m[s+8>>2],x=m[s>>2],S=m[s+4>>2],T=m[s+24>>2],A=m[s+16>>2],M=m[s+20>>2],g=m[s+40>>2],_=m[s+32>>2],f=m[s+36>>2],h[e+3260>>2]=0,I=_,_=m[e+3248>>2],P=f,f=m[e+3252>>2],R=g,g=m[e+3256>>2],m[e+3256>>2]=v(v(I*_)+v(P*f))+v(R*g),m[e+3252>>2]=v(v(_*A)+v(f*M))+v(g*T),m[e+3248>>2]=v(v(x*_)+v(S*f))+v(b*g),Le(),L=h[e+3260>>2],h[(C=26968+(y=E<<4)|0)>>2]=h[e+3256>>2],h[C+4>>2]=L,L=h[e+3252>>2],h[(C=y+26960|0)>>2]=h[e+3248>>2],h[C+4>>2]=L,x=m[a+40>>2],S=m[a+24>>2],T=m[a+8>>2],A=m[a+36>>2],M=m[a+20>>2],P=m[a+4>>2],f=m[a+32>>2],_=m[a+16>>2],R=m[a>>2],h[12+(C=y+(e+1264|0)|0)>>2]=0,g=m[e+3252>>2],b=v(-g),D=v(_*b),_=m[e+3248>>2],I=f,f=m[e+3256>>2],m[C>>2]=v(D-v(R*_))-v(I*f),m[C+4>>2]=v(v(M*b)-v(_*P))-v(f*A),m[C+8>>2]=v(v(S*b)-v(_*T))-v(f*x),b=m[s+32>>2],x=m[s>>2],S=m[s+16>>2],T=m[s+36>>2],A=m[s+4>>2],M=m[s+20>>2],P=m[s+40>>2],R=m[s+8>>2],I=m[s+24>>2],h[12+(y=y+(e+272|0)|0)>>2]=0,m[y+8>>2]=v(v(_*R)+v(g*I))+v(f*P),m[y+4>>2]=v(v(_*A)+v(g*M))+v(f*T),m[y>>2]=v(v(_*x)+v(g*S))+v(f*b),E=E+1|0,(0|N)!=(0|(O=O+1|0)););if(r[h[h[n>>2]+76>>2]](n,e+1264|0,e+3248|0,E),r[h[h[i>>2]+76>>2]](i,e+272|0,e+2256|0,E),(0|E)<1)b=v(0xde0b6b000000000),_=v(0),f=v(0),g=v(0),M=v(0);else for(O=0,b=v(0xde0b6b000000000),M=v(0),g=v(0),f=v(0),_=v(0);Le(),x=m[26960+(y=O<<4)>>2],S=m[y+26964>>2],T=F?v(0):m[y+26968>>2],+v(v(v(x*x)+v(S*S))+v(T*T))>.01&&(A=m[(C=y+(e+2256|0)|0)>>2],P=m[C+4>>2],R=m[C+8>>2],I=m[(C=y+(e+3248|0)|0)>>2],D=m[C+4>>2],B=m[C+8>>2],(A=v(v(v(x*v(v(v(v(v(A*m[s>>2])+v(P*m[s+4>>2]))+v(R*m[s+8>>2]))+m[s+48>>2])-v(v(v(v(I*m[a>>2])+v(D*m[a+4>>2]))+v(B*m[a+8>>2]))+m[a+48>>2])))+v(S*v(v(v(v(v(A*m[s+16>>2])+v(P*m[s+20>>2]))+v(R*m[s+24>>2]))+m[s+52>>2])-v(v(v(v(I*m[a+16>>2])+v(D*m[a+20>>2]))+v(B*m[a+24>>2]))+m[a+52>>2]))))+v(T*v(F?0:v(v(v(v(A*m[s+32>>2])+v(P*m[s+36>>2]))+v(R*m[s+40>>2]))+m[s+56>>2])-v(v(v(v(I*m[a+32>>2])+v(D*m[a+36>>2]))+v(B*m[a+40>>2]))+m[a+56>>2])))))>2],_=x,f=S,g=T,b=A)),(0|(O=O+1|0))!=(0|E););return Ua(n),Ua(i),E=0,b>2],A=m[a+56>>2],P=m[a+48>>2],i=h[a+12>>2],h[(n=e- -64|0)>>2]=h[a+8>>2],h[n+4>>2]=i,n=h[a+4>>2],h[e+56>>2]=h[a>>2],h[e+60>>2]=n,n=h[a+28>>2],h[e+80>>2]=h[a+24>>2],h[e+84>>2]=n,n=h[a+20>>2],h[e+72>>2]=h[a+16>>2],h[e+76>>2]=n,n=h[a+40>>2],i=h[a+44>>2],O=h[a+32>>2],a=h[a+36>>2],h[e+116>>2]=0,b=v(b+v(v(x+S)+v(.5))),m[e+112>>2]=A+v(g*b),m[e+108>>2]=T+v(f*b),h[e+96>>2]=n,h[e+100>>2]=i,m[e+104>>2]=P+v(_*b),h[e+88>>2]=O,h[e+92>>2]=a,n=h[s+12>>2],h[e+128>>2]=h[s+8>>2],h[e+132>>2]=n,n=h[s+4>>2],h[e+120>>2]=h[s>>2],h[e+124>>2]=n,n=h[s+28>>2],h[e+144>>2]=h[s+24>>2],h[e+148>>2]=n,n=h[s+20>>2],h[e+136>>2]=h[s+16>>2],h[e+140>>2]=n,n=h[s+44>>2],h[e+160>>2]=h[s+40>>2],h[e+164>>2]=n,n=h[s+36>>2],h[e+152>>2]=h[s+32>>2],h[e+156>>2]=n,n=h[s+60>>2],h[e+176>>2]=h[s+56>>2],h[e+180>>2]=n,n=h[s+52>>2],h[e+168>>2]=h[s+48>>2],h[e+172>>2]=n,h[e+184>>2]=1566444395,o[e+48|0]=0,h[e+8>>2]=4716,h[t+16>>2]=0,m[t+12>>2]=-g,m[t+8>>2]=-f,m[t+4>>2]=-_,hh(t,e+56|0,e+8|0,p),(t=d[e+48|0])&&(x=m[e+44>>2],S=m[e+32>>2],T=m[e+36>>2],A=m[e+28>>2],h[l+12>>2]=0,b=v(b-x),m[l>>2]=A-v(_*b),m[l+8>>2]=T-v(g*b),m[l+4>>2]=S-v(f*b),n=h[e+40>>2],h[u+8>>2]=h[e+36>>2],h[u+12>>2]=n,n=h[e+32>>2],h[u>>2]=h[e+28>>2],h[u+4>>2]=n,m[c+12>>2]=M,m[c+8>>2]=g,m[c+4>>2]=f,m[c>>2]=_),E=0!=(0|t)),w=e+4240|0,0|E},r[108]=jh,r[109]=Jh,r[110]=Vh,r[111]=Vh,r[112]=function(e,t,n,i){e|=0,t|=0,n|=0,i=v(i);var r=0;r=h[t+4>>2],h[e+4>>2]=h[t>>2],h[e+8>>2]=r,r=h[t+12>>2],h[e+12>>2]=h[t+8>>2],h[e+16>>2]=r,t=h[n+4>>2],h[e+20>>2]=h[n>>2],h[e+24>>2]=t,t=h[n+12>>2],h[e+28>>2]=h[n+8>>2],h[e+32>>2]=t,o[e+40|0]=1,m[e+36>>2]=i},r[113]=jh,r[114]=Jh,r[115]=function(e,t,n,i,r){},r[116]=uh,r[117]=qh,r[118]=jh,r[119]=$h,r[120]=function(e){var t=0,n=0;return h[(e|=0)>>2]=5152,d[e+8|0]&&(t=h[e+12>>2])&&(n=h[e+4>>2],r[h[h[n>>2]+16>>2]](n,t)),0|e},r[121]=function(e){var t=0,n=0;h[(e|=0)>>2]=5152,d[e+8|0]&&(t=h[e+12>>2])&&(n=h[e+4>>2],r[h[h[n>>2]+16>>2]](n,t)),Se(e)},r[122]=function(e,t,n,i,o){e|=0,t|=0,n|=0,i|=0,o|=0;var a=v(0),s=v(0),c=v(0),l=0,u=v(0),p=0,d=v(0),f=v(0),_=v(0),b=v(0),g=v(0);w=i=w-32|0;e:if(e=h[e+12>>2])if(h[o+4>>2]=e,l=h[t+12>>2],p=h[n+12>>2],_=m[p+48>>2],f=v(m[l+48>>2]-_),b=m[p+52>>2],s=v(m[l+52>>2]-b),g=m[p+56>>2],c=v(m[l+56>>2]-g),a=v(S(v(v(v(f*f)+v(s*s))+v(c*c)))),t=h[t+4>>2],u=v(m[t+28>>2]*m[t+12>>2]),t=h[n+4>>2],d=v(m[t+28>>2]*m[t+12>>2]),a>(u=v(u+d))){if(!h[e+748>>2])break e;if((0|(t=h[e+740>>2]))!=(0|(n=h[h[o+8>>2]+8>>2]))){ut(e,h[h[o+12>>2]+8>>2]+4|0,n+4|0);break e}ut(e,t+4|0,h[h[o+12>>2]+8>>2]+4|0)}else h[i+24>>2]=0,h[i+28>>2]=0,h[i+16>>2]=1065353216,h[i+20>>2]=0,u=v(a-u),a>v(1.1920928955078125e-7)?(h[i+28>>2]=0,a=v(v(1)/a),c=v(c*a),m[i+24>>2]=c,s=v(s*a),m[i+20>>2]=s,a=v(f*a),m[i+16>>2]=a):(a=v(1),c=v(0),s=v(0)),h[i+12>>2]=0,m[i+8>>2]=v(d*c)+g,m[i+4>>2]=v(d*s)+b,m[i>>2]=v(d*a)+_,r[h[h[o>>2]+16>>2]](o,i+16|0,i,u),e=h[o+4>>2],h[e+748>>2]&&(t=(0|(n=h[e+740>>2]))==(0|(l=h[h[o+8>>2]+8>>2])),p=e,e=h[h[o+12>>2]+8>>2],ut(p,(t?n:e)+4|0,(t?e:l)+4|0));w=i+32|0},r[123]=uh,r[124]=Mr,r[125]=zt,r[126]=function(e){Se(zt(e|=0))},r[127]=Bh,r[128]=wh,r[129]=yr,r[130]=Lh,r[131]=jh,r[132]=Jh,r[133]=function(e,t,n,i){return e|=0,n|=0,i|=0,e=h[(t|=0)>>2],Vo(e=0|r[h[h[e>>2]+56>>2]](e,80),t,n,i,0),0|e},r[134]=Jh,r[135]=function(e,t,n,i){return e|=0,n|=0,i|=0,e=h[(t|=0)>>2],Vo(e=0|r[h[h[e>>2]+56>>2]](e,80),t,n,i,1),0|e},r[136]=Jh,r[137]=function(e,t,n,i){return e|=0,n|=0,i|=0,e=h[(t|=0)>>2],_a(e=0|r[h[h[e>>2]+56>>2]](e,44),t,n,i,0),0|e},r[138]=Jh,r[139]=function(e,t,n,i){return e|=0,n|=0,i|=0,e=h[(t|=0)>>2],jo(e=0|r[h[h[e>>2]+56>>2]](e,48),t,n,i),0|e},r[140]=Jh,r[141]=function(e,t,n,i){return e|=0,n|=0,i|=0,e=h[(t|=0)>>2],_a(e=0|r[h[h[e>>2]+56>>2]](e,44),t,n,i,1),0|e},r[142]=Jh,r[143]=function(e,t,n,i){return e|=0,e=h[(t|=0)>>2],e=0|r[h[h[e>>2]+56>>2]](e,8),h[e>>2]=17764,h[e+4>>2]=h[t>>2],h[e>>2]=4984,0|e},r[144]=Jh,r[145]=function(e,t,n,i){return e|=0,n|=0,i|=0,e=h[(t|=0)>>2],function(e,t,n,i){h[e>>2]=17764,h[e+4>>2]=h[t>>2],h[e>>2]=5076,h[e+12>>2]=0,o[e+8|0]=0,h[e>>2]=5152,t=h[e+4>>2],t=0|r[h[h[t>>2]+12>>2]](t,h[n+8>>2],h[i+8>>2]),o[e+8|0]=1,h[e+12>>2]=t}(e=0|r[h[h[e>>2]+56>>2]](e,16),t,n,i),0|e},r[146]=Jh,r[147]=function(e,t,n,i){e|=0,n|=0,i|=0;var a=0;return a=h[(t|=0)>>2],function(e,t,n,i,a,s){h[e>>2]=17764,h[e+4>>2]=h[n>>2],h[e>>2]=5076,o[e+16|0]=s,h[e+12>>2]=t,o[e+8|0]=0,h[e>>2]=9708,t||(t=h[e+4>>2],t=0|r[h[h[t>>2]+12>>2]](t,h[i+8>>2],h[a+8>>2]),o[e+8|0]=1,h[e+12>>2]=t)}(a=0|r[h[h[a>>2]+56>>2]](a,20),h[t+4>>2],t,n,i,d[e+4|0]),0|a},r[148]=Jh,r[149]=function(e,t,n,i){return e|=0,n|=0,i|=0,e=h[(t|=0)>>2],function(e,t,n,i){h[e>>2]=17764,h[e+4>>2]=h[t>>2],h[e>>2]=5076,h[e+12>>2]=0,o[e+8|0]=0,h[e>>2]=7016,t=h[e+4>>2],r[h[h[t>>2]+24>>2]](t,h[n+8>>2],h[i+8>>2])&&(t=h[e+4>>2],t=0|r[h[h[t>>2]+12>>2]](t,h[n+8>>2],h[i+8>>2]),o[e+8|0]=1,h[e+12>>2]=t)}(e=0|r[h[h[e>>2]+56>>2]](e,16),t,n,i),0|e},r[150]=Jh,r[151]=function(e,t,n,i){e|=0,n|=0,i|=0;var a=0;return a=h[(t|=0)>>2],function(e,t,n,i,a,s,c){h[e>>2]=17764,h[e+4>>2]=h[t>>2],h[e+24>>2]=c,h[e+20>>2]=s,o[e+16|0]=a,h[e+12>>2]=0,o[e+8|0]=0,h[e>>2]=6204,t=h[e+4>>2],s=a?i:n,n=a?n:i,r[h[h[t>>2]+24>>2]](t,h[s+8>>2],h[n+8>>2])&&(t=h[e+4>>2],t=0|r[h[h[t>>2]+12>>2]](t,h[s+8>>2],h[n+8>>2]),o[e+8|0]=1,h[e+12>>2]=t)}(a=0|r[h[h[a>>2]+56>>2]](a,28),t,n,i,d[e+4|0],h[e+8>>2],h[e+12>>2]),0|a},r[152]=function(e){var t=0,n=0;return h[(e|=0)>>2]=6204,d[e+8|0]&&(t=h[e+12>>2])&&(n=h[e+4>>2],r[h[h[n>>2]+16>>2]](n,t)),0|e},r[153]=function(e){var t=0,n=0;h[(e|=0)>>2]=6204,d[e+8|0]&&(t=h[e+12>>2])&&(n=h[e+4>>2],r[h[h[n>>2]+16>>2]](n,t)),Se(e)},r[154]=function(e,t,n,i,o){e|=0,t|=0,n|=0,i|=0,o|=0;var a=0,s=v(0),c=v(0),l=v(0),u=v(0),p=0,f=v(0),_=v(0),b=0,g=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=0,H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0),q=v(0),J=v(0),$=v(0),ee=v(0),te=v(0),ne=v(0),ie=v(0),re=v(0),oe=v(0),ae=v(0),se=v(0),ce=v(0),le=v(0);if(w=i=w-48|0,h[e+12>>2]){if(a=d[e+16|0],p=h[(G=a?t:n)+12>>2],T=m[p+56>>2],K=m[p+52>>2],E=m[p+48>>2],a=h[(b=a?n:t)+12>>2],P=m[a+56>>2],j=m[a+52>>2],U=m[a+48>>2],b=h[b+4>>2],O=m[a+32>>2],D=m[a>>2],L=m[a+16>>2],R=m[a+36>>2],F=m[a+20>>2],B=m[a+4>>2],s=m[p+40>>2],c=m[p+24>>2],l=m[p+8>>2],u=m[p+36>>2],g=m[p+20>>2],_=m[p+4>>2],A=m[p+32>>2],M=m[a+40>>2],x=m[p+16>>2],k=m[a+24>>2],f=m[p>>2],V=m[a+8>>2],p=h[G+4>>2],I=m[p+56>>2],N=m[p+52>>2],z=m[p+48>>2],h[i+28>>2]=0,W=v(v(v(V*_)+v(k*g))+v(M*u)),N=v(-N),X=v(v(v(V*f)+v(k*x))+v(M*A)),M=v(v(v(V*l)+v(k*c))+v(M*s)),m[i+24>>2]=v(v(W*N)-v(z*X))-v(I*M),k=v(v(v(B*_)+v(F*g))+v(R*u)),V=v(v(v(B*f)+v(F*x))+v(R*A)),Y=v(v(v(B*l)+v(F*c))+v(R*s)),m[i+20>>2]=v(v(k*N)-v(z*V))-v(I*Y),Q=v(v(v(D*_)+v(L*g))+v(O*u)),H=z,z=v(v(v(D*f)+v(L*x))+v(O*A)),R=I,I=v(v(v(D*l)+v(L*c))+v(O*s)),m[i+16>>2]=v(v(Q*N)-v(H*z))-v(R*I),r[h[h[b>>2]+64>>2]](i+32|0,b,i+16|0),a=h[G+12>>2],N=m[a+48>>2],Z=m[a+32>>2],q=m[a+16>>2],J=m[a+8>>2],$=m[a+4>>2],ee=m[a>>2],te=m[a+56>>2],ne=m[a+52>>2],ie=m[a+40>>2],re=m[a+36>>2],oe=m[a+24>>2],ae=m[a+20>>2],se=m[p+64>>2],R=m[p+56>>2],F=m[p+48>>2],B=m[p+52>>2],O=m[i+40>>2],D=m[i+32>>2],L=m[i+36>>2],ce=m[h[e+12>>2]+752>>2],h[o+4>>2]=h[e+12>>2],le=v(v(v(U*l)+v(j*c))+v(P*s)),H=c,c=v(-K),M=v(v(le+v(v(v(H*c)-v(E*l))-v(T*s)))+v(v(v(I*D)+v(Y*L))+v(M*O))),A=v(v(v(v(v(U*f)+v(j*x))+v(P*A))+v(v(v(x*c)-v(E*f))-v(T*A)))+v(v(v(z*D)+v(V*L))+v(X*O))),g=v(v(v(v(v(U*_)+v(j*g))+v(P*u))+v(v(v(g*c)-v(E*_))-v(T*u)))+v(v(v(Q*D)+v(k*L))+v(W*O))),(s=v(v(v(R*M)+v(v(F*A)+v(B*g)))-se))>2],_=m[a+24>>2],x=m[a+20>>2],f=m[a+40>>2],T=m[a+36>>2],E=m[a+16>>2],P=m[a+32>>2],c=m[p+56>>2],j=m[a+8>>2],l=m[p+48>>2],U=m[a>>2],u=m[p+52>>2],O=m[a+4>>2],h[i+28>>2]=0,m[i+16>>2]=v(v(U*l)+v(O*u))+v(j*c),m[i+24>>2]=v(v(l*P)+v(u*T))+v(c*f),m[i+20>>2]=v(v(l*E)+v(u*x))+v(c*_),h[i+12>>2]=0,c=v(A-v(F*s)),l=v(g-v(B*s)),u=v(M-v(R*s)),m[i+8>>2]=v(v(v(c*Z)+v(l*re))+v(u*ie))+te,m[i+4>>2]=v(v(v(c*q)+v(l*ae))+v(u*oe))+ne,m[i>>2]=v(v(J*u)+v(v(ee*c)+v($*l)))+N,r[h[h[o>>2]+16>>2]](o,i+16|0,i,s)),!(h[b+4>>2]>6|h[h[o+4>>2]+748>>2]>=h[e+24>>2]||(c=m[p+56>>2],v(y(c))>v(.7071067690849304)?(s=m[p+52>>2],l=v(v(1)/v(S(v(v(c*c)+v(s*s))))),s=v(s*l),c=v(l*v(-c)),l=v(0)):(s=m[p+48>>2],l=m[p+52>>2],u=v(v(1)/v(S(v(v(s*s)+v(l*l))))),c=v(s*u),s=v(0),l=v(u*v(-l))),a=0,u=v(r[h[h[b>>2]+16>>2]](b)),_=wi(u=v(v(C(v(m[6601]/u),v(.39269909262657166)))*v(.5))),b=h[e+20>>2],g=Ri(u),(0|b)<1)))for(I=s,s=v(_/v(S(v(v(v(l*l)+v(c*c))+v(s*s))))),_=v(I*s),A=v(c*s),x=v(l*s);c=m[p+52>>2],u=m[p+48>>2],s=m[p+56>>2],l=v(v(v(v(6.2831854820251465)/v(0|b))*v(0|a))*v(.5)),f=v(wi(l)/v(S(v(v(v(u*u)+v(c*c))+v(s*s))))),s=v(s*f),c=v(c*f),l=Ri(l),u=v(u*f),f=v(v(_*s)+v(v(A*c)+v(v(g*l)+v(x*u)))),T=v(v(A*s)+v(v(v(x*l)-v(g*u))-v(_*c))),E=v(v(_*u)+v(v(v(A*l)-v(g*c))-v(x*s))),P=v(v(x*c)+v(v(v(_*l)-v(g*s))-v(A*u))),m[i+28>>2]=v(v(v(l*f)-v(u*T))-v(c*E))-v(s*P),m[i+24>>2]=v(v(c*T)+v(v(s*f)+v(l*P)))-v(u*E),m[i+20>>2]=v(v(u*P)+v(v(l*E)+v(c*f)))-v(s*T),m[i+16>>2]=v(v(s*E)+v(v(u*f)+v(l*T)))-v(c*P),xe(e,i+16|0,t,n,o),(0|(a=a+1|0))<(0|(b=h[e+20>>2])););!d[e+8|0]|!h[h[e+12>>2]+748>>2]||(e=h[o+4>>2],h[e+748>>2]&&((0|(t=h[e+740>>2]))==(0|(n=h[h[o+8>>2]+8>>2]))?ut(e,t+4|0,h[h[o+12>>2]+8>>2]+4|0):ut(e,h[h[o+12>>2]+8>>2]+4|0,n+4|0)))}w=i+48|0},r[155]=uh,r[156]=Mr,r[157]=jh,r[158]=Jh,r[159]=ie,r[160]=function(e){var t=0;return h[12+(e|=0)>>2]=6392,h[e>>2]=6364,t=h[e+60>>2],r[h[h[t>>2]+20>>2]](t,h[e+76>>2]),t=h[e+60>>2],r[h[h[t>>2]+16>>2]](t,h[e+76>>2]),0|e},r[161]=function(e){var t=0;h[12+(e|=0)>>2]=6392,h[e>>2]=6364,t=h[e+60>>2],r[h[h[t>>2]+20>>2]](t,h[e+76>>2]),t=h[e+60>>2],r[h[h[t>>2]+16>>2]](t,h[e+76>>2]),Se(e)},r[162]=function(e,t,n,i,o){e|=0,t|=0,n|=0,i|=0,o|=0;var a=0,s=0,c=0,l=v(0);c=d[e+8|0],a=h[(s=c?t:n)+4>>2],h[a+4>>2]+-21>>>0>8||h[h[(t=c?n:t)+4>>2]+4>>2]>19||(l=v(r[h[h[a>>2]+48>>2]](a)),h[o+4>>2]=h[e+76>>2],function(e,t,n,i,o,a){var s,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0);w=s=w+-64|0,m[e+56>>2]=t,h[e+52>>2]=n,h[e+8>>2]=o,h[e+4>>2]=i,h[e+44>>2]=a,n=h[o+12>>2],c=m[n+52>>2],C=m[n+56>>2],o=h[i+12>>2],A=m[o+52>>2],x=m[o+56>>2],l=m[n+20>>2],u=m[n+36>>2],S=m[o+20>>2],T=m[o+36>>2],E=m[o+24>>2],p=m[n+24>>2],P=m[o+40>>2],d=m[n+40>>2],O=m[o+32>>2],f=m[n+32>>2],M=m[o>>2],_=m[n>>2],R=m[o+16>>2],b=m[n+16>>2],I=m[n+48>>2],D=m[o+48>>2],g=m[n+4>>2],L=m[o+4>>2],N=m[o+8>>2],y=m[n+8>>2],h[s+60>>2]=0,h[s+44>>2]=0,h[s+28>>2]=0,m[s+40>>2]=v(v(y*N)+v(p*E))+v(d*P),m[s+36>>2]=v(v(y*L)+v(p*S))+v(d*T),m[s+24>>2]=v(v(g*N)+v(l*E))+v(u*P),m[s+20>>2]=v(v(g*L)+v(l*S))+v(u*T),c=v(-c),m[s+56>>2]=v(v(v(p*c)-v(y*I))-v(d*C))+v(v(v(y*D)+v(p*A))+v(d*x)),m[s+52>>2]=v(v(v(l*c)-v(g*I))-v(u*C))+v(v(v(g*D)+v(l*A))+v(u*x)),h[s+12>>2]=0,m[s>>2]=v(v(_*M)+v(b*R))+v(f*O),m[s+32>>2]=v(v(y*M)+v(p*R))+v(d*O),m[s+16>>2]=v(v(g*M)+v(l*R))+v(u*O),m[s+8>>2]=v(v(_*N)+v(b*E))+v(f*P),m[s+4>>2]=v(v(_*L)+v(b*S))+v(f*T),m[s+48>>2]=v(v(v(b*c)-v(_*I))-v(f*C))+v(v(v(_*D)+v(b*A))+v(f*x)),n=h[i+4>>2],r[h[h[n>>2]+8>>2]](n,s,e+12|0,e+28|0),m[e+28>>2]=m[e+28>>2]+t,m[e+32>>2]=m[e+32>>2]+t,m[e+36>>2]=m[e+36>>2]+t,m[e+12>>2]=m[e+12>>2]-t,m[e+16>>2]=m[e+16>>2]-t,m[e+20>>2]=m[e+20>>2]-t,w=s- -64|0}(n=e+12|0,l,i,t,s,o),t=h[t+8>>2],i=h[e+76>>2],h[i+744>>2]=h[s+8>>2],h[i+740>>2]=t,r[h[h[a>>2]+64>>2]](a,n,e+24|0,e+40|0),t=h[o+4>>2],h[t+748>>2]&&(n=(0|(i=h[t+740>>2]))==(0|(a=h[h[o+8>>2]+8>>2])),s=t,t=h[h[o+12>>2]+8>>2],ut(s,(n?i:t)+4|0,(n?t:a)+4|0)),h[e+16>>2]=0,h[e+20>>2]=0)},r[163]=function(e,t,n,i,o){e|=0,t|=0,n|=0,i|=0,o|=0;var a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0),q=v(0),J=v(0);return w=i=w-240|0,q=v(1),o=d[e+8|0],a=v(m[(e=o?n:t)+116>>2]-m[e+52>>2]),s=v(a*a),a=v(m[e+120>>2]-m[e+56>>2]),s=v(s+v(a*a)),a=v(m[e+124>>2]-m[e+60>>2]),s=v(s+v(a*a)),a=m[e+252>>2],s>2],h[n+4>>2]+-21>>>0>8||(D=m[e+92>>2],L=m[e+76>>2],N=m[e+108>>2],F=m[e+88>>2],B=m[e+72>>2],k=m[e+104>>2],V=m[e+100>>2],z=m[e+84>>2],j=m[e+68>>2],f=m[t+36>>2],_=m[t+20>>2],b=m[t+4>>2],U=m[e+28>>2],G=m[e+12>>2],H=m[e+44>>2],W=m[e+24>>2],X=m[e+8>>2],Y=m[e+40>>2],Q=m[e+36>>2],K=m[e+20>>2],Z=m[e+4>>2],g=m[t+12>>2],E=m[e+116>>2],y=m[t+28>>2],s=m[e+120>>2],C=m[t+44>>2],P=m[e+124>>2],J=v(v(v(g*E)+v(y*s))+v(C*P)),A=m[t+24>>2],O=v(-m[t+56>>2]),x=m[t+8>>2],S=m[t+52>>2],T=m[t+40>>2],M=m[t+60>>2],p=v(v(v(A*O)-v(x*S))-v(T*M)),a=v(p+v(v(v(x*E)+v(A*s))+v(T*P))),c=m[e+56>>2],l=m[e+52>>2],u=m[e+60>>2],h[i+236>>2]=0,I=v(v(v(y*O)-v(g*S))-v(C*M)),R=v(I+v(v(v(g*l)+v(y*c))+v(C*u))),m[i+232>>2]=R,p=v(p+v(v(v(x*l)+v(A*c))+v(T*u))),m[i+228>>2]=p,S=v(v(v(_*O)-v(b*S))-v(f*M)),c=v(S+v(v(v(b*l)+v(_*c))+v(f*u))),m[i+224>>2]=c,O=c,(l=v(S+v(v(v(b*E)+v(_*s))+v(f*P))))>2]=l,O=l),E=p,a>2]=a,E=a),(u=v(I+J))<(s=R)&&(m[i+232>>2]=u,s=u),h[i+220>>2]=0,m[i+216>>2]=R,m[i+212>>2]=p,m[i+208>>2]=c,P=c,c>2]=l,P=l),S=p,p>2]=a,S=a),M=R,R>2]=u,M=u),I=s,s=m[e+248>>2],m[i+232>>2]=I-s,m[i+228>>2]=E-s,m[i+224>>2]=O-s,m[i+216>>2]=s+M,m[i+212>>2]=s+S,m[i+208>>2]=s+P,h[i+128>>2]=0,m[i+124>>2]=u,m[i+120>>2]=a,m[i+116>>2]=l,h[i+112>>2]=0,m[i+108>>2]=v(v(g*L)+v(y*D))+v(C*N),m[i+104>>2]=v(v(g*B)+v(y*F))+v(C*k),m[i+100>>2]=v(v(g*j)+v(y*z))+v(C*V),h[i+96>>2]=0,m[i+92>>2]=v(v(x*L)+v(A*D))+v(T*N),m[i+88>>2]=v(v(x*B)+v(A*F))+v(T*k),m[i+84>>2]=v(v(x*j)+v(A*z))+v(T*V),h[i+80>>2]=0,m[i+76>>2]=v(v(b*L)+v(_*D))+v(f*N),m[i+72>>2]=v(v(b*B)+v(_*F))+v(f*k),h[i- -64>>2]=0,m[i+60>>2]=R,m[i+56>>2]=p,m[i+52>>2]=c,h[i+48>>2]=0,m[i+44>>2]=v(v(g*G)+v(y*U))+v(C*H),m[i+40>>2]=v(v(g*X)+v(y*W))+v(C*Y),m[i+36>>2]=v(v(g*Z)+v(y*K))+v(C*Q),h[i+32>>2]=0,m[i+28>>2]=v(v(x*G)+v(A*U))+v(T*H),m[i+24>>2]=v(v(x*X)+v(A*W))+v(T*Y),m[i+20>>2]=v(v(x*Z)+v(A*K))+v(T*Q),h[i+16>>2]=0,m[i+12>>2]=v(v(b*G)+v(_*U))+v(f*H),m[i+8>>2]=v(v(b*X)+v(_*W))+v(f*Y),m[i+196>>2]=s,m[i+68>>2]=v(v(b*j)+v(_*z))+v(f*V),m[i+4>>2]=v(v(b*Z)+v(_*K))+v(f*Q),h[i>>2]=6704,h[i+200>>2]=h[e+244>>2],n&&(r[h[h[n>>2]+64>>2]](n,i,i+224|0,i+208|0),(a=m[i+200>>2])>2]&&(m[e+244>>2]=a,q=a)))),w=i+240|0,v(q)},r[164]=function(e,t){t|=0;var n=0,i=0,a=0,s=0,c=0;if(n=h[76+(e|=0)>>2]){if((0|(i=h[t+4>>2]))==h[t+8>>2]&&!((0|i)>=(0|(a=i?i<<1:1)))){if(a&&(h[7717]=h[7717]+1,s=0|r[h[6606]](a<<2,16),i=h[t+4>>2]),(0|i)>=1)for(n=0;h[(c=n<<2)+s>>2]=h[h[t+12>>2]+c>>2],(0|(n=n+1|0))!=(0|i););(n=h[t+12>>2])&&(d[t+16|0]&&(n&&(h[7718]=h[7718]+1,r[h[6607]](n)),i=h[t+4>>2]),h[t+12>>2]=0),h[t+12>>2]=s,o[t+16|0]=1,h[t+8>>2]=a,n=h[e+76>>2]}h[h[t+12>>2]+(i<<2)>>2]=n,h[t+4>>2]=i+1}},r[165]=function(e){var t=0;return h[(e|=0)>>2]=6392,t=h[e+48>>2],r[h[h[t>>2]+20>>2]](t,h[e+64>>2]),t=h[e+48>>2],r[h[h[t>>2]+16>>2]](t,h[e+64>>2]),0|e},r[166]=function(e){var t=0;h[(e|=0)>>2]=6392,t=h[e+48>>2],r[h[h[t>>2]+20>>2]](t,h[e+64>>2]),t=h[e+48>>2],r[h[h[t>>2]+16>>2]](t,h[e+64>>2]),Se(e)},r[167]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=0,s=v(0),c=v(0),l=v(0),u=0,p=v(0),d=0,f=0;w=o=w-128|0,((p=(s=m[t>>2])<(c=m[t+16>>2])?s:c)<(l=m[t+32>>2])?p:l)>m[e+28>>2]||m[(m[t+(a=(s>c^1)<<4)>>2]>l?a:32)+t>>2]>2]||((p=(s=m[t+8>>2])<(c=m[(a=t+24|0)>>2])?s:c)<(l=m[(u=t+40|0)>>2])?p:l)>m[e+36>>2]||m[(m[(a=s>c?t+8|0:a)>>2]>l?a:u)>>2]>2]||((p=(s=m[t+4>>2])<(c=m[(a=t+20|0)>>2])?s:c)<(l=m[(u=t+36|0)>>2])?p:l)>m[e+32>>2]||(a=s>c?t+4|0:a,h[h[h[e+4>>2]+4>>2]+4>>2]>19|m[(m[a>>2]>l?a:u)>>2]>2]||(u=h[e+48>>2],f=La(o+24|0),h[o+28>>2]=1,h[o+24>>2]=6500,a=h[t+12>>2],h[o+88>>2]=h[t+8>>2],h[o+92>>2]=a,a=h[t+4>>2],h[o+80>>2]=h[t>>2],h[o+84>>2]=a,a=h[t+28>>2],h[o+104>>2]=h[t+24>>2],h[o+108>>2]=a,a=h[t+20>>2],h[o+96>>2]=h[t+16>>2],h[o+100>>2]=a,a=h[t+44>>2],h[o+120>>2]=h[t+40>>2],h[o+124>>2]=a,a=h[t+36>>2],h[o+112>>2]=h[t+32>>2],h[o+116>>2]=a,h[o+68>>2]=h[e+56>>2],t=h[e+8>>2],a=h[t+12>>2],h[o+8>>2]=h[t+8>>2],h[o+12>>2]=a,h[o+20>>2]=i,h[o+16>>2]=n,h[o>>2]=t,h[o+4>>2]=o+24,a=0|r[h[h[u>>2]+8>>2]](u,h[e+4>>2],o,h[e+64>>2]),t=h[e+44>>2],d=h[t+8>>2],h[d+8>>2]!=h[h[e+8>>2]+8>>2]?(d=h[t+12>>2],h[t+12>>2]=o,r[h[h[t>>2]+12>>2]](t,n,i)):(h[t+8>>2]=o,r[h[h[t>>2]+8>>2]](t,n,i)),r[h[h[a>>2]+8>>2]](a,h[e+4>>2],o,h[e+52>>2],h[e+44>>2]),t=h[e+44>>2],h[(h[h[t+8>>2]+8>>2]==h[h[e+8>>2]+8>>2]?8:12)+t>>2]=d,r[h[h[a>>2]>>2]](a),r[h[h[u>>2]+60>>2]](u,a),dc(f))),w=o+128|0},r[168]=dc,r[169]=ph,r[170]=ih,r[171]=function(e,t,n){e|=0,t|=0,n|=0;var i,o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0);w=i=w-96|0,h[i+44>>2]=0,h[i+48>>2]=0,h[i+56>>2]=0,h[i+60>>2]=0,h[i+52>>2]=1065353216,h[i+76>>2]=0,h[i+80>>2]=0,h[i+72>>2]=1065353216,h[i+84>>2]=0,h[i+88>>2]=0,h[i+92>>2]=0,h[i+36>>2]=0,h[i+40>>2]=0,h[i+32>>2]=1065353216,h[i+64>>2]=0,h[i+68>>2]=0,r[h[h[e>>2]+8>>2]](e,i+32|0,i+16|0,i),c=m[i>>2],l=m[i+16>>2],o=v(c-l),s=v(o*o),o=m[i+4>>2],u=m[i+20>>2],a=v(o-u),d=v(s+v(a*a)),a=m[i+8>>2],s=m[i+24>>2],p=v(a-s),m[n>>2]=v(S(v(d+v(p*p))))*v(.5),h[t+12>>2]=0,m[t+8>>2]=v(a+s)*v(.5),m[t+4>>2]=v(o+u)*v(.5),m[t>>2]=v(c+l)*v(.5),w=i+96|0},r[172]=function(e){e|=0;var t,n=v(0),i=v(0);return w=t=w-32|0,r[h[h[e>>2]+12>>2]](e,t+16|0,t+12|0),w=t+32|0,n=m[t+16>>2],i=v(n*n),n=m[t+20>>2],i=v(i+v(n*n)),n=m[t+24>>2],v(v(m[t+12>>2]+v(S(v(i+v(n*n))))))},r[173]=function(e,t){return e|=0,t=v(t),v(v(v(r[h[h[e>>2]+16>>2]](e))*t))},r[174]=pc,r[175]=function(e){return 12+(e|=0)|0},r[176]=cp,r[177]=function(e){return 6660},r[178]=function(e,t){h[8+(e|=0)>>2]=1065353216,h[e+12>>2]=0,h[e>>2]=1065353216,h[e+4>>2]=1065353216},r[179]=Oh,r[180]=function(e){return v(m[44+(e|=0)>>2])},r[181]=Gh,r[182]=function(e,t,n){return vs(e|=0,t|=0,n|=0),h[t+28>>2]=h[e+28>>2],h[t+32>>2]=h[e+32>>2],h[t+36>>2]=h[e+36>>2],h[t+40>>2]=h[e+40>>2],h[t+12>>2]=h[e+12>>2],h[t+16>>2]=h[e+16>>2],h[t+20>>2]=h[e+20>>2],h[t+24>>2]=h[e+24>>2],h[t+44>>2]=h[e+44>>2],6669},r[183]=function(e,t){var n,i=0,o=0,a=0,s=0,c=0;a=t|=0,s=0|r[h[h[(e|=0)>>2]+52>>2]](e),c=1,o=h[h[t>>2]+16>>2],i=0|r[o](0|a,0|s,0|c),c=t,s=i,a=0|r[h[h[e>>2]+56>>2]](e,h[i+8>>2],t),n=e,o=h[h[t>>2]+20>>2],r[o](0|c,0|s,0|a,1346455635,0|n)},r[184]=Zr,r[185]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0);i=m[n>>2],r=m[n+4>>2],o=m[n+8>>2],a=v(v(v(i*m[t+72>>2])+v(r*m[t+76>>2]))+v(o*m[t+80>>2])),s=v(v(v(i*m[t+88>>2])+v(r*m[t+92>>2]))+v(o*m[t+96>>2])),i=v(v(v(i*m[t+56>>2])+v(r*m[t+60>>2]))+v(o*m[t- -64>>2])),n=h[4+(t=(t+56|0)+((i>2],h[e>>2]=h[t>>2],h[e+4>>2]=n,n=h[t+12>>2],h[e+8>>2]=h[t+8>>2],h[e+12>>2]=n},r[186]=function(e,t,n,i,o){e|=0,t|=0,n|=0,i|=0,o|=0;var a,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0);w=a=w-48|0,u=m[t+36>>2],p=m[t+20>>2],d=m[t+40>>2],f=m[t+24>>2],_=m[t+4>>2],b=m[t+8>>2],s=m[n+8>>2],g=m[t+32>>2],c=m[n>>2],y=m[t>>2],l=m[n+4>>2],C=m[t+16>>2],h[a+44>>2]=0,m[a+32>>2]=v(v(y*c)+v(C*l))+v(g*s),m[a+40>>2]=v(v(c*b)+v(l*f))+v(s*d),m[a+36>>2]=v(v(c*_)+v(l*p))+v(s*u),r[h[h[e>>2]+64>>2]](a+16|0,e,a+32|0),f=m[t+56>>2],_=m[t+40>>2],b=m[t+36>>2],g=m[t+52>>2],y=m[t+24>>2],C=m[t+20>>2],A=m[t+32>>2],x=m[t+48>>2],S=m[t+8>>2],T=m[t>>2],E=m[t+4>>2],P=m[t+16>>2],s=m[a+24>>2],c=m[a+16>>2],l=m[a+20>>2],h[a+12>>2]=0,m[a+8>>2]=-m[a+40>>2],m[a+4>>2]=-m[a+36>>2],m[a>>2]=-m[a+32>>2],r[h[h[e>>2]+64>>2]](a+16|0,e,a),O=m[t+56>>2],M=m[t+40>>2],R=m[t+36>>2],I=m[t+52>>2],D=m[t+24>>2],L=m[t+20>>2],N=m[t+32>>2],F=m[t+48>>2],B=m[t+8>>2],k=m[t>>2],V=m[t+4>>2],z=m[t+16>>2],u=m[a+24>>2],p=m[a+16>>2],d=m[a+20>>2],m[i>>2]=v(v(v(x+v(v(v(c*T)+v(l*E))+v(s*S)))*m[n>>2])+v(v(g+v(v(v(c*P)+v(l*C))+v(s*y)))*m[n+4>>2]))+v(v(f+v(v(v(c*A)+v(l*b))+v(s*_)))*m[n+8>>2]),s=v(v(v(v(F+v(v(v(p*k)+v(d*V))+v(u*B)))*m[n>>2])+v(v(I+v(v(v(p*z)+v(d*L))+v(u*D)))*m[n+4>>2]))+v(v(O+v(v(v(p*N)+v(d*R))+v(u*M)))*m[n+8>>2])),m[o>>2]=s,(c=m[i>>2])>s&&(m[i>>2]=s,m[o>>2]=c),w=a+48|0},r[187]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var r=0,o=v(0),a=0,s=0,c=v(0),l=v(0),u=0,p=v(0),d=v(0),f=0;if((0|i)>=1)for(f=e+56|0;a=(r=s<<4)+n|0,o=m[(r=t+r|0)>>2],c=m[r+4>>2],l=m[r+8>>2],p=v(v(v(o*m[e+72>>2])+v(c*m[e+76>>2]))+v(l*m[e+80>>2])),d=v(v(v(o*m[e+88>>2])+v(c*m[e+92>>2]))+v(l*m[e+96>>2])),o=v(v(v(o*m[e+56>>2])+v(c*m[e+60>>2]))+v(l*m[e+64>>2])),u=h[4+(r=((o>2],h[a>>2]=h[r>>2],h[a+4>>2]=u,u=h[r+12>>2],h[a+8>>2]=h[r+8>>2],h[a+12>>2]=u,(0|(s=s+1|0))!=(0|i););},r[188]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=0,A=0,x=v(0),S=v(0),T=v(0),E=v(0),P=0,O=0;for(w=o=w-80|0,E=v(r[h[h[e>>2]+48>>2]](e));h[o+72>>2]=0,h[o+76>>2]=0,h[o+64>>2]=0,h[o+68>>2]=0,h[(P=(C=A<<2)+(o- -64|0)|0)>>2]=1065353216,l=m[t+32>>2],u=m[t>>2],p=m[t+16>>2],d=m[t+36>>2],f=m[t+4>>2],_=m[t+20>>2],a=m[t+40>>2],s=m[t+8>>2],c=m[t+24>>2],h[o+44>>2]=0,b=s,s=m[o+64>>2],g=c,c=m[o+68>>2],y=a,a=m[o+72>>2],m[o+40>>2]=v(v(b*s)+v(g*c))+v(y*a),m[o+36>>2]=v(v(s*f)+v(c*_))+v(a*d),m[o+32>>2]=v(v(u*s)+v(p*c))+v(l*a),r[h[h[e>>2]+64>>2]](o+48|0,e,o+32|0),l=m[t+48>>2],u=m[t+8>>2],p=m[t>>2],d=m[t+4>>2],f=m[t+52>>2],_=m[t+24>>2],y=m[t+16>>2],x=m[t+20>>2],s=m[t+56>>2],a=m[t+40>>2],c=m[t+32>>2],S=m[t+36>>2],h[o+44>>2]=0,b=s,s=m[o+48>>2],T=v(c*s),c=m[o+52>>2],g=a,a=m[o+56>>2],m[o+40>>2]=b+v(v(T+v(S*c))+v(g*a)),m[o+36>>2]=f+v(v(v(s*y)+v(c*x))+v(a*_)),m[o+32>>2]=l+v(v(v(s*p)+v(c*d))+v(a*u)),O=(o+32|0)+C|0,m[i+C>>2]=E+m[O>>2],h[P>>2]=-1082130432,l=m[t+32>>2],u=m[t>>2],p=m[t+16>>2],d=m[t+36>>2],f=m[t+4>>2],_=m[t+20>>2],a=m[t+40>>2],s=m[t+8>>2],c=m[t+24>>2],h[o+12>>2]=0,b=s,s=m[o+64>>2],g=c,c=m[o+68>>2],y=a,a=m[o+72>>2],m[o+8>>2]=v(v(b*s)+v(g*c))+v(y*a),m[o+4>>2]=v(v(s*f)+v(c*_))+v(a*d),m[o>>2]=v(v(u*s)+v(p*c))+v(l*a),r[h[h[e>>2]+64>>2]](o+16|0,e,o),l=m[t+48>>2],u=m[t+8>>2],p=m[t>>2],d=m[t+4>>2],f=m[t+52>>2],_=m[t+24>>2],y=m[t+16>>2],x=m[t+20>>2],s=m[t+56>>2],a=m[t+40>>2],c=m[t+32>>2],S=m[t+36>>2],h[o+44>>2]=0,b=s,s=m[o+16>>2],T=v(c*s),c=m[o+20>>2],g=a,a=m[o+24>>2],m[o+40>>2]=b+v(v(T+v(S*c))+v(g*a)),m[o+36>>2]=f+v(v(v(s*y)+v(c*x))+v(a*_)),m[o+32>>2]=l+v(v(v(s*p)+v(c*d))+v(a*u)),m[n+C>>2]=m[O>>2]-E,3!=(0|(A=A+1|0)););w=o+80|0},r[189]=Yh,r[190]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0);a=m[e+88>>2],s=m[e+72>>2],c=m[e+76>>2],u=m[e+96>>2],r=m[e- -64>>2],p=m[e+80>>2],l=m[e+92>>2],i=m[e+60>>2],o=m[e+56>>2],h[n+12>>2]=0,s=v(s-o),l=v(l-i),c=v(c-i),o=v(a-o),d=i=v(v(s*l)-v(c*o)),f=v(i*i),i=v(u-r),a=v(p-r),r=v(v(c*i)-v(a*l)),i=v(v(a*o)-v(s*i)),o=v(v(1)/v(S(v(f+v(v(r*r)+v(i*i)))))),a=v(d*o),m[n+8>>2]=a,i=v(i*o),m[n+4>>2]=i,r=v(r*o),m[n>>2]=r,t&&(m[n+8>>2]=-a,m[n+4>>2]=-i,m[n>>2]=-r)},r[191]=function(e,t){e|=0,t|=0;var n,i=0,a=0,s=0,c=0,l=0,u=0,p=0,f=0,_=0,b=v(0),y=0,C=v(0),A=v(0),x=0,T=0,E=v(0),P=0,O=v(0),M=0,R=0,I=0,D=v(0),L=v(0);w=n=w-240|0,(i=h[e+52>>2])&&(r[h[h[i>>2]>>2]](i),(i=h[e+52>>2])&&(h[7718]=h[7718]+1,r[h[6607]](i))),h[7717]=h[7717]+1,function(e){h[e>>2]=11320,o[e+20|0]=1,h[e+16>>2]=0,o[e+40|0]=1,h[e+8>>2]=0,h[e+12>>2]=0,h[e+36>>2]=0,o[e+60|0]=1,h[e+28>>2]=0,h[e+32>>2]=0,h[e+56>>2]=0,h[e+48>>2]=0,h[e+52>>2]=0}(i=0|r[h[6606]](132,16)),h[e+52>>2]=i,h[n+228>>2]=0,h[n+220>>2]=0,h[n+224>>2]=0,o[n+232|0]=1;e:if(!((0|r[h[h[e>>2]+96>>2]](e))<1))for(;;){if((0|s)==(0|u))if((0|u)>=(0|(c=u?u<<1:1)))i=l;else{a=0,i=0,c&&(h[7717]=h[7717]+1,i=0|r[h[6606]](c<<4,16));t:{n:{if((0|u)>=1)for(;;)if(f=y=(p=a<<4)+i|0,x=h[4+(p=l+p|0)>>2],h[f>>2]=h[p>>2],h[f+4>>2]=x,f=h[p+12>>2],h[y+8>>2]=h[p+8>>2],h[y+12>>2]=f,(0|u)==(0|(a=a+1|0)))break n;if(!l)break t}d[n+232|0]&&l&&(h[7718]=h[7718]+1,r[h[6607]](l)),h[n+228>>2]=0}h[n+228>>2]=i,o[n+232|0]=1,h[n+224>>2]=c}else i=l;if(h[n+220>>2]=s+1,c=h[n+156>>2],h[(i=(s<<=4)+i|0)>>2]=h[n+152>>2],h[i+4>>2]=c,c=h[n+164>>2],h[i+8>>2]=h[n+160>>2],h[i+12>>2]=c,l=h[n+228>>2],r[h[h[e>>2]+108>>2]](e,_,s+l|0),(0|(_=_+1|0))>=(0|r[h[h[e>>2]+96>>2]](e)))break e;u=h[n+224>>2],s=h[n+220>>2]}if(o[n+188|0]=1,h[n+184>>2]=0,o[n+208|0]=1,h[n+176>>2]=0,h[n+180>>2]=0,h[n+204>>2]=0,h[n+196>>2]=0,h[n+200>>2]=0,h[n+164>>2]=0,o[n+168|0]=1,h[n+156>>2]=0,h[n+160>>2]=0,t){if(h[n+60>>2]=0,o[n+64|0]=1,h[n+52>>2]=0,h[n+56>>2]=0,function(e,t){var n=0,i=v(0),a=0,s=v(0),c=v(0),l=0,u=0,p=0,f=0,_=v(0),b=0,g=0,y=v(0),C=0,A=0,x=0,T=v(0),E=v(0),P=0,O=0,M=0,R=0,I=0,w=v(0);if((0|(g=h[e+4>>2]))>=1)for(;;){e:if(!((0|(A=(f=A)+1|0))>=(0|g)))for(M=C=(u=h[e+12>>2])+(f<<4)|0,n=A;;){t:if(!((0|(f=n+1|0))>=(0|g)))for(I=O=(n<<4)+u|0,x=f;;){for(_=m[C>>2],s=v(m[O>>2]-_),n=(x<<4)+u|0,i=m[C+4>>2],y=v(m[n+4>>2]-i),c=v(m[O+4>>2]-i),T=v(m[n>>2]-_),w=v(v(s*y)-v(c*T)),i=m[M+8>>2],_=v(m[I+8>>2]-i),i=v(m[n+8>>2]-i),T=v(v(_*T)-v(s*i)),_=v(v(c*i)-v(_*y)),i=v(1),R=1;;){s=v(w*i),y=v(_*i),c=v(T*i);n:if((i=v(v(s*s)+v(v(y*y)+v(c*c))))>v(9999999747378752e-20)){if(i=v(v(1)/v(S(i))),E=v(s*i),s=v(c*i),c=v(y*i),(0|(l=h[t+4>>2]))>=1)for(b=h[t+12>>2],n=0;;){if(v(v(v(c*m[(a=b+(n<<4)|0)>>2])+v(s*m[a+4>>2]))+v(E*m[a+8>>2]))>v(.9990000128746033))break n;if((0|l)==(0|(n=n+1|0)))break}if(i=v(v(v(c*m[C>>2])+v(s*m[C+4>>2]))+v(E*m[M+8>>2])),(0|(a=h[e+4>>2]))>=1)for(b=h[e+12>>2],n=0;;){if(v(v(v(v(v(c*m[(p=b+(n<<4)|0)>>2])+v(s*m[p+4>>2]))+v(E*m[p+8>>2]))-i)+v(-.009999999776482582))>v(0))break n;if((0|a)==(0|(n=n+1|0)))break}if(i=v(-i),h[t+8>>2]==(0|l)&&!((0|l)>=(0|(P=l?l<<1:1)))){if(u=0,b=0,P&&(h[7717]=h[7717]+1,b=0|r[h[6606]](P<<4,16),l=h[t+4>>2]),(0|l)>=1)for(;a=(n=u<<4)+b|0,p=n+h[t+12>>2]|0,n=h[p+4>>2],h[a>>2]=h[p>>2],h[a+4>>2]=n,n=h[p+12>>2],h[a+8>>2]=h[p+8>>2],h[a+12>>2]=n,(0|(u=u+1|0))!=(0|l););(n=h[t+12>>2])&&(d[t+16|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[t+12>>2]=0),h[t+12>>2]=b,o[t+16|0]=1,h[t+8>>2]=P,l=h[t+4>>2]}n=h[t+12>>2]+(l<<4)|0,m[n+12>>2]=i,m[n+8>>2]=E,m[n+4>>2]=s,m[n>>2]=c,h[t+4>>2]=h[t+4>>2]+1}if(n=R,i=v(-1),R=0,!n)break}if((0|(x=x+1|0))>=(0|g))break t;u=h[e+12>>2]}if((0|g)==(0|f))break e;u=h[e+12>>2],n=f}if((0|g)==(0|A))break}}(n+216|0,n+48|0),h[n+140>>2]=0,o[n+144|0]=1,h[n+132>>2]=0,h[n+136>>2]=0,h[n+52>>2]>=1)for(l=0;;){if(t=h[n+60>>2]+(l<<4)|0,h[n+112>>2]=h[t+8>>2],i=h[t+4>>2],h[n+104>>2]=h[t>>2],h[n+108>>2]=i,b=v(m[t+12>>2]-v(r[h[h[e>>2]+48>>2]](e))),(0|(u=h[n+132>>2]))==h[n+136>>2]&&!((0|u)>=(0|(t=u?u<<1:1)))){if(a=0,i=0,t&&(h[7717]=h[7717]+1,i=0|r[h[6606]](t<<4,16),u=h[n+132>>2]),(0|u)>=1)for(;c=(s=a<<4)+i|0,s=s+h[n+140>>2]|0,y=h[s+4>>2],h[c>>2]=h[s>>2],h[c+4>>2]=y,p=h[s+12>>2],h[c+8>>2]=h[s+8>>2],h[c+12>>2]=p,(0|u)!=(0|(a=a+1|0)););(s=h[n+140>>2])&&(d[n+144|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s)),h[n+140>>2]=0),h[n+140>>2]=i,o[n+144|0]=1,h[n+136>>2]=t,u=h[n+132>>2]}if(i=h[n+108>>2],t=h[n+140>>2]+(u<<4)|0,h[t>>2]=h[n+104>>2],h[t+4>>2]=i,i=h[n+112>>2],m[t+12>>2]=b,h[t+8>>2]=i,h[n+132>>2]=h[n+132>>2]+1,!((0|(l=l+1|0))>2]))break}h[n+116>>2]=0,o[n+120|0]=1,h[n+108>>2]=0,h[n+112>>2]=0,_t(n+128|0,n+104|0),Y(n+152|0,h[n+116>>2],h[n+108>>2]),(t=h[n+116>>2])&&(d[n+120|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[n+116>>2]=0),(t=h[n+140>>2])&&(d[n+144|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[n+140>>2]=0),(t=h[n+60>>2])&&(d[n+64|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[n+60>>2]=0)}else Y(n+152|0,l,h[n+220>>2]);if(c=0,(0|(p=h[n+196>>2]))>=1)for(a=0,h[7717]=h[7717]+1,M=0|r[h[6606]](p<<4,16);s=h[n+52>>2],h[(i=t=(a<<4)+M|0)>>2]=h[n+48>>2],h[i+4>>2]=s,i=h[n+60>>2],h[t+8>>2]=h[n+56>>2],h[t+12>>2]=i,(0|p)!=(0|(a=a+1|0)););h[n+140>>2]=0,o[n+144|0]=1,h[n+132>>2]=0,h[n+136>>2]=0,o[n+63|0]=0,o[n+64|0]=0,o[n+65|0]=0,o[n+66|0]=0,h[n+56>>2]=0,h[n+60>>2]=0,h[n+48>>2]=0,h[n+52>>2]=0;e:{if((0|p)<=-1)for(i=p;;){if(s=t=g(i,36)+c|0,(c=h[t+12>>2])&&(d[t+16|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c)),h[s+12>>2]=0),o[t+16|0]=1,h[s+12>>2]=0,h[t+4>>2]=0,h[t+8>>2]=0,(t=i+1|0)>>>0>>0)break e;c=h[n+140>>2],i=t}if(p)for(Lo(n+128|0,p),c=s=n+48|3,i=0;t=h[n+140>>2]+g(i,36)|0,h[t+4>>2]=0,h[t+8>>2]=0,o[t+16|0]=1,h[t+12>>2]=0,l=d[s+4|0]|d[s+5|0]<<8|d[s+6|0]<<16|d[s+7|0]<<24,a=d[0|s]|d[s+1|0]<<8|d[s+2|0]<<16|d[s+3|0]<<24,o[t+20|0]=a,o[t+21|0]=a>>>8,o[t+22|0]=a>>>16,o[t+23|0]=a>>>24,o[t+24|0]=l,o[t+25|0]=l>>>8,o[t+26|0]=l>>>16,o[t+27|0]=l>>>24,l=d[c+12|0]|d[c+13|0]<<8|d[c+14|0]<<16|d[c+15|0]<<24,a=d[c+8|0]|d[c+9|0]<<8|d[c+10|0]<<16|d[c+11|0]<<24,o[t+28|0]=a,o[t+29|0]=a>>>8,o[t+30|0]=a>>>16,o[t+31|0]=a>>>24,o[t+32|0]=l,o[t+33|0]=l>>>8,o[t+34|0]=l>>>16,o[t+35|0]=l>>>24,(0|p)!=(0|(i=i+1|0)););}if(h[n+132>>2]=p,i=h[e+52>>2],(0|(a=h[i+8>>2]))<(0|(l=h[n+156>>2]))){if(h[i+12>>2]<(0|l)){if(l?(h[7717]=h[7717]+1,s=0|r[h[6606]](l<<4,16),t=h[i+8>>2]):(s=0,t=a),(0|t)>=1)for(c=0;_=y=(u=c<<4)+s|0,u=u+h[i+16>>2]|0,f=h[u+4>>2],h[_>>2]=h[u>>2],h[_+4>>2]=f,_=h[u+12>>2],h[y+8>>2]=h[u+8>>2],h[y+12>>2]=_,(0|t)!=(0|(c=c+1|0)););(t=h[i+16>>2])&&(d[i+20|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[i+16>>2]=0),h[i+16>>2]=s,h[i+12>>2]=l,o[i+20|0]=1}for(;c=h[n+52>>2],t=h[i+16>>2]+(a<<4)|0,h[t>>2]=h[n+48>>2],h[t+4>>2]=c,s=h[n+60>>2],h[t+8>>2]=h[n+56>>2],h[t+12>>2]=s,(0|l)!=(0|(a=a+1|0)););}if(h[i+8>>2]=l,a=0,(0|l)>0)for(;t=(i=a<<4)+h[h[e+52>>2]+16>>2]|0,i=i+h[n+164>>2]|0,s=h[i+4>>2],h[t>>2]=h[i>>2],h[t+4>>2]=s,s=h[i+12>>2],h[t+8>>2]=h[i+8>>2],h[t+12>>2]=s,(0|l)!=(0|(a=a+1|0)););if((0|p)>=1)for(t=0;;){for(s=0,i=P=h[n+184>>2]+g(h[h[n+204>>2]+(t<<2)>>2],12)|0;;){if(y=l=(x=g(t,36))+h[n+140>>2]|0,T=h[8+(g(h[i+4>>2],12)+i|0)>>2],(0|(c=h[l+4>>2]))==h[l+8>>2]&&!((0|c)>=(0|(f=c?c<<1:1)))){a=0,u=0,f&&(h[7717]=h[7717]+1,u=0|r[h[6606]](f<<2,16),c=h[y+4>>2]),_=h[l+12>>2];e:{t:{if((0|c)>=1)for(;;)if(h[(R=a<<2)+u>>2]=h[_+R>>2],(0|(a=a+1|0))==(0|c))break t;if(!_)break e}d[l+16|0]&&_&&(h[7718]=h[7718]+1,r[h[6607]](_)),h[l+12>>2]=0,c=h[y+4>>2]}o[l+16|0]=1,h[l+12>>2]=u,h[l+8>>2]=f}if(h[h[l+12>>2]+(c<<2)>>2]=T,h[y+4>>2]=h[y+4>>2]+1,(0|s)<=1?(l=h[n+164>>2],b=m[4+(c=l+(T<<4)|0)>>2],l=l+(h[i+8>>2]<<4)|0,C=m[l+4>>2],A=m[c>>2],E=m[l>>2],O=m[c+8>>2],D=m[l+8>>2],h[12+(c=(n+48|0)+(s<<4)|0)>>2]=0,A=v(E-A),C=v(C-b),E=v(D-O),b=v(v(1)/v(S(v(v(v(A*A)+v(C*C))+v(E*E))))),m[c+8>>2]=E*b,m[c+4>>2]=C*b,m[c>>2]=A*b,s=s+1|0):s=2,i=g(h[i+4>>2],12)+i|0,(0|P)==(0|(i=g(h[i>>2],12)+i|0)))break}if(2!=(0|s)?(h[(i=(t<<4)+M|0)>>2]=0,h[i+4>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0,i=h[n+140>>2]):(b=m[n+52>>2],A=m[n+68>>2],C=m[n+64>>2],E=m[n+56>>2],O=m[n+48>>2],D=m[n+72>>2],h[12+(s=(t<<4)+M|0)>>2]=0,L=v(v(A*O)-v(b*C)),A=v(v(b*D)-v(E*A)),C=v(v(E*C)-v(D*O)),b=v(v(1)/v(S(v(v(L*L)+v(v(A*A)+v(C*C)))))),m[s+8>>2]=L*b,m[s+4>>2]=C*b,b=v(A*b),m[s>>2]=b,i=h[n+140>>2],m[20+(c=x+i|0)>>2]=b,h[c+24>>2]=h[s+4>>2],s=h[s+8>>2],h[c+32>>2]=1900671690,h[c+28>>2]=s),(0|(c=h[4+(i=i+x|0)>>2]))<1)b=v(1.0000000150474662e30);else for(l=h[i+12>>2],A=m[8+(s=(t<<4)+M|0)>>2],C=m[s+4>>2],E=m[s>>2],u=h[h[e+52>>2]+16>>2],b=v(1.0000000150474662e30),a=0;s=u+(h[l+(a<<2)>>2]<<4)|0,b=b>(O=v(v(v(m[s>>2]*E)+v(m[s+4>>2]*C))+v(m[s+8>>2]*A)))?O:b,(0|c)!=(0|(a=a+1|0)););if(m[i+32>>2]=-b,(0|p)==(0|(t=t+1|0)))break}p=0;e:if(h[n+132>>2]>0){for(y=0,u=0;;){if((0|u)==(0|p))if(p>>>0>=(u=p?p<<1:1)>>>0)u=p;else{a=0,h[7717]=h[7717]+1,t=0|r[h[6606]](u<<2,16);t:{n:{if(p)for(;;)if(h[(i=a<<2)+t>>2]=h[i+y>>2],(0|p)==(0|(a=a+1|0)))break n;if(!y){u=1;break t}}y&&(h[7718]=h[7718]+1,r[h[6607]](y))}y=t}if(h[(p<<2)+y>>2]=p,!((0|(p=p+1|0))>2]))break}for(;;){t=h[((s=p+-1|0)<<2)+y>>2],h[7717]=h[7717]+1,i=0|r[h[6606]](4,16),h[i>>2]=t;t:{if((0|p)<2)u=1,t=i,p=s;else{for(t=(a=h[n+140>>2])+g(t,36)|0,b=m[t+20>>2],A=m[t+28>>2],C=m[t+24>>2],l=p+-2|0,c=1,p=s,u=1;;){_=h[(l<<2)+y>>2],t=g(_,36)+a|0;n:if(v(v(v(b*m[t+20>>2])+v(C*m[t+24>>2]))+v(A*m[t+28>>2]))>v(.9990000128746033)){i:if((0|c)!=(0|u)||(0|c)>=(0|(s=c?c<<1:1)))s=c,t=i;else{a=0,t=0,s&&(h[7717]=h[7717]+1,t=0|r[h[6606]](s<<2,16));r:{if((0|c)>=1)for(;;)if(h[(f=a<<2)+t>>2]=h[i+f>>2],(0|(a=a+1|0))==(0|c))break r;if(!i)break i}i&&(h[7718]=h[7718]+1,r[h[6607]](i))}if(h[(u<<2)+t>>2]=_,u=u+1|0,a=0,!((0|p)<1)){for(;;){if((0|_)!=h[(i=(a<<2)+y|0)>>2]){if((0|p)!=(0|(a=a+1|0)))continue;break n}break}(0|a)>=(0|p)||(c=i,i=((p=p+-1|0)<<2)+y|0,h[c>>2]=h[i>>2],h[i>>2]=_)}}else s=c,t=i;if(!((0|l)>=1))break;l=l+-1|0,a=h[n+140>>2],i=t,c=s}n:if(!((0|u)<=1)){for(i=0,h[n+116>>2]=0,o[n+120|0]=1,h[n+108>>2]=0,h[n+112>>2]=0,h[n+40>>2]=0,h[n+44>>2]=0,h[n+32>>2]=0,h[n+36>>2]=0,b=v(0),A=v(0),C=v(0),s=0;;){if(c=h[n+140>>2]+g(h[(s<<2)+t>>2],36)|0,E=m[c+24>>2],O=m[c+28>>2],m[n+32>>2]=m[c+20>>2]+C,m[n+40>>2]=O+b,m[n+36>>2]=E+A,(0|(l=h[c+4>>2]))>=1)for(_=0;;){R=h[h[c+12>>2]+(_<<2)>>2],a=h[h[e+52>>2]+16>>2]+(R<<4)|0,f=h[a+12>>2],h[n+16>>2]=h[a+8>>2],h[n+20>>2]=f,f=h[a+4>>2],h[n+8>>2]=h[a>>2],h[n+12>>2]=f;i:{if((0|i)>=1)for(f=(0|i)>1?i:1,a=0,x=h[n+116>>2];;){if((0|R)==h[20+(x+g(a,24)|0)>>2])break i;if((0|f)==(0|(a=a+1|0)))break}if(l=h[n+20>>2],h[n+56>>2]=h[n+16>>2],h[n+60>>2]=l,l=h[n+12>>2],h[n+48>>2]=h[n+8>>2],h[n+52>>2]=l,h[n+112>>2]==(0|i)&&!((0|i)>=(0|(P=i?i<<1:1)))){a=0,l=0,P&&(h[7717]=h[7717]+1,l=0|r[h[6606]](g(P,24),16),i=h[n+108>>2]),x=h[n+116>>2];r:{o:{if((0|i)>=1)for(;;)if(T=(f=g(a,24))+l|0,I=h[4+(f=f+x|0)>>2],h[T>>2]=h[f>>2],h[T+4>>2]=I,I=h[f+20>>2],h[T+16>>2]=h[f+16>>2],h[T+20>>2]=I,I=h[f+12>>2],h[T+8>>2]=h[f+8>>2],h[T+12>>2]=I,(0|(a=a+1|0))==(0|i))break o;if(!x)break r}d[n+120|0]&&(x&&(h[7718]=h[7718]+1,r[h[6607]](x)),i=h[n+108>>2]),h[n+116>>2]=0}h[n+116>>2]=l,o[n+120|0]=1,h[n+112>>2]=P}l=h[n+52>>2],i=h[n+116>>2]+g(i,24)|0,h[i>>2]=h[n+48>>2],h[i+4>>2]=l,l=h[n+60>>2],a=h[n+56>>2],f=h[n- -64>>2],h[i+20>>2]=R,h[i+16>>2]=f,h[i+8>>2]=a,h[i+12>>2]=l,i=h[n+108>>2]+1|0,h[n+108>>2]=i,l=h[c+4>>2]}if(!((0|(_=_+1|0))<(0|l)))break}if(b=m[n+40>>2],A=m[n+36>>2],C=m[n+32>>2],(0|u)==(0|(s=s+1|0)))break}if(h[n+60>>2]=0,o[n+64|0]=1,h[n+52>>2]=0,h[n+56>>2]=0,i=h[n+140>>2]+g(h[t>>2],36)|0,h[n+68>>2]=h[i+20>>2],h[n+72>>2]=h[i+24>>2],h[n+76>>2]=h[i+28>>2],h[n+80>>2]=h[i+32>>2],E=C,C=v(v(1)/v(S(v(v(v(C*C)+v(A*A))+v(b*b))))),m[n+32>>2]=E*C,m[n+36>>2]=A*C,m[n+40>>2]=b*C,h[n+20>>2]=0,o[n+24|0]=1,h[n+12>>2]=0,h[n+16>>2]=0,$(n+104|0,n+8|0,n+32|0),h[n+12>>2]<=0)i=h[n+108>>2];else for(s=0,l=h[n+52>>2];;){if(x=(f=g(s,24))+h[n+20>>2]|0,h[n+56>>2]==(0|l)&&!((0|l)>=(0|(_=l?l<<1:1)))){a=0,c=0,_&&(h[7717]=h[7717]+1,c=0|r[h[6606]](_<<2,16),l=h[n+52>>2]),i=h[n+60>>2];i:{r:{if((0|l)>=1)for(;;)if(h[(T=a<<2)+c>>2]=h[i+T>>2],(0|l)==(0|(a=a+1|0)))break r;if(!i)break i}d[n+64|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[n+60>>2]=0,l=h[n+52>>2]}h[n+60>>2]=c,o[n+64|0]=1,h[n+56>>2]=_}h[h[n+60>>2]+(l<<2)>>2]=h[x+20>>2],l=h[n+52>>2]+1|0,h[n+52>>2]=l;i:if(!((0|(i=h[n+108>>2]))<1)){for(c=h[20+(f+h[n+20>>2]|0)>>2],a=0,_=h[n+116>>2];;){if(f=_+g(a,24)|0,(0|c)!=h[f+20>>2]){if((0|(a=a+1|0))!=(0|i))continue;break i}break}h[f+20>>2]=-1}if(!((0|(s=s+1|0))>2]))break}if((0|i)>=1)for(_=0,l=h[n+140>>2],s=h[n+132>>2],f=h[n+116>>2];;){if(-1!=(0|(x=h[20+(f+g(_,24)|0)>>2]))&&(c=0,!((0|s)<1)))for(;;){a=0;i:{if((0|u)>0)for(;;){if(h[(a<<2)+t>>2]==(0|c))break i;if((0|u)==(0|(a=a+1|0)))break}if(a=l+g(c,36)|0,!((0|(T=h[a+4>>2]))<1)){for(P=h[a+12>>2],a=0;;){if((0|x)!=h[P+(a<<2)>>2]){if((0|(a=a+1|0))<(0|T))continue;break i}break}if((i=h[n+20>>2])&&(d[n+24|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[n+20>>2]=0),(i=h[n+60>>2])&&(d[n+64|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[n+60>>2]=0),!(i=h[n+116>>2]))break n;d[n+120|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[n+116>>2]=0;break n}}if((0|s)==(0|(c=c+1|0)))break}if((0|(_=_+1|0))==(0|i))break}if(Oi(h[e+52>>2]+24|0,n+48|0),(i=h[n+20>>2])&&(d[n+24|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[n+20>>2]=0),(i=h[n+60>>2])&&(d[n+64|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[n+60>>2]=0),!(i=h[n+116>>2]))break t;d[n+120|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[n+116>>2]=0;break t}if((0|u)<1)break t}for(_=0;;){if(i=h[(_<<2)+t>>2],h[n+60>>2]=0,h[n+52>>2]=0,h[n+56>>2]=0,s=h[n+140>>2],o[n+64|0]=1,i=s+g(i,36)|0,(0|(s=h[i+4>>2]))>=1){h[7717]=h[7717]+1,f=s<<2,l=0|r[h[6606]](f,16),a=0,c=h[n+60>>2];n:{i:{if((0|(x=h[n+52>>2]))>=1)for(;;)if(h[(T=a<<2)+l>>2]=h[c+T>>2],(0|x)==(0|(a=a+1|0)))break i;if(!c)break n}d[n+64|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c))}for(h[n+60>>2]=l,o[n+64|0]=1,h[n+56>>2]=s,a=0,ji(l,0,f),h[n+52>>2]=s,c=h[i+12>>2],l=h[n+60>>2];h[(f=a<<2)+l>>2]=h[c+f>>2],(0|s)!=(0|(a=a+1|0)););}else h[n+52>>2]=s;if(s=h[i+24>>2],h[n+68>>2]=h[i+20>>2],h[n+72>>2]=s,s=h[i+32>>2],h[n+76>>2]=h[i+28>>2],h[n+80>>2]=s,Oi(h[e+52>>2]+24|0,n+48|0),(i=h[n+60>>2])&&(d[n+64|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[n+60>>2]=0),(0|(_=_+1|0))==(0|u))break}}if(t&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),!p)break}if(q(h[e+52>>2]),!y)break e;y&&(h[7718]=h[7718]+1,r[h[6607]](y))}else q(h[e+52>>2]);if((0|(c=h[n+132>>2]))>=1)for(i=0;e=h[n+140>>2]+g(i,36)|0,(s=h[(t=e)+12>>2])&&(d[e+16|0]&&s&&(h[7718]=h[7718]+1,r[h[6607]](s)),h[t+12>>2]=0),o[e+16|0]=1,h[t+12>>2]=0,h[e+4>>2]=0,h[e+8>>2]=0,(0|c)!=(0|(i=i+1|0)););return(e=h[n+140>>2])&&(d[n+144|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[n+140>>2]=0),M&&M&&(h[7718]=h[7718]+1,r[h[6607]](M)),(e=h[n+204>>2])&&(d[n+208|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[n+204>>2]=0),h[n+204>>2]=0,o[n+208|0]=1,h[n+196>>2]=0,h[n+200>>2]=0,(e=h[n+184>>2])&&(d[n+188|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[n+184>>2]=0),h[n+184>>2]=0,o[n+188|0]=1,h[n+176>>2]=0,h[n+180>>2]=0,(e=h[n+164>>2])&&(d[n+168|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[n+164>>2]=0),(e=h[n+228>>2])&&(d[n+232|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[n+228>>2]=0),w=n+240|0,1},r[192]=Zh,r[193]=Zh,r[194]=function(e,t,n,i){t|=0,n|=0,i|=0,r[h[h[(e|=0)>>2]+108>>2]](e,t,n),r[h[h[e>>2]+108>>2]](e,(t+1|0)%3|0,i)},r[195]=function(e,t,n){var i;n|=0,i=h[4+(t=(e=((t|=0)<<4)+(e|=0)|0)- -64|0)>>2],h[n+8>>2]=h[t>>2],h[n+12>>2]=i,t=h[e+60>>2],h[n>>2]=h[e+56>>2],h[n+4>>2]=t},r[196]=Qh,r[197]=function(e,t,n,i){t|=0,n|=0,i|=0,r[h[h[(e|=0)>>2]+124>>2]](e,i,t,n)},r[198]=function(e,t,n){e|=0,t|=0,n=v(n);var i,o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=0,y=0;w=i=w-32|0,o=m[e+56>>2],s=v(m[e+72>>2]-o),a=m[e+60>>2],c=v(m[e+92>>2]-a),u=v(m[e+76>>2]-a),p=v(m[e+88>>2]-o),d=l=v(v(s*c)-v(u*p)),b=v(l*l),_=u,u=m[e- -64>>2],l=v(m[e+96>>2]-u),f=v(m[e+80>>2]-u),c=v(v(_*l)-v(f*c)),s=v(v(f*p)-v(s*l)),p=v(v(1)/v(S(v(b+v(v(c*c)+v(s*s)))))),l=v(d*p),c=v(c*p),s=v(s*p);e:if(!((o=v(v(v(m[t+8>>2]*l)+v(v(m[t>>2]*c)+v(m[t+4>>2]*s)))-v(v(u*l)+v(v(o*c)+v(a*s)))))>=(u=v(-n))^1|o<=n^1)){for(;;){if(r[h[h[e>>2]+104>>2]](e,g,i+16|0,i),p=m[i+16>>2],o=v(m[i>>2]-p),f=m[i+20>>2],a=v(m[i+4>>2]-f),d=n=v(v(s*o)-v(c*a)),b=v(n*n),n=v(l*a),_=m[i+24>>2],a=v(m[i+8>>2]-_),n=v(n-v(s*a)),o=v(v(c*a)-v(l*o)),a=v(v(1)/v(S(v(b+v(v(n*n)+v(o*o)))))),d=v(d*a),n=v(n*a),o=v(o*a),!(v(v(v(m[t+8>>2]*d)+v(v(m[t>>2]*n)+v(m[t+4>>2]*o)))-v(v(_*d)+v(v(p*n)+v(f*o))))>2],c=m[e+72>>2],l=m[e+76>>2],p=m[e+96>>2],a=m[(t=e- -64|0)>>2],d=m[e+80>>2],u=m[e+92>>2],r=m[e+60>>2],o=m[e+56>>2],h[n+12>>2]=0,c=v(c-o),u=v(u-r),l=v(l-r),o=v(s-o),f=r=v(v(c*u)-v(l*o)),_=v(r*r),r=v(p-a),s=v(d-a),a=v(v(l*r)-v(s*u)),r=v(v(s*o)-v(c*r)),o=v(v(1)/v(S(v(_+v(v(a*a)+v(r*r)))))),m[n+8>>2]=f*o,m[n+4>>2]=r*o,m[n>>2]=a*o,n=h[t+4>>2],h[i+8>>2]=h[t>>2],h[i+12>>2]=n,t=h[e+60>>2],h[i>>2]=h[e+56>>2],h[i+4>>2]=t},r[200]=jh,r[201]=Jh,r[202]=Mn,r[203]=function(e,t){t=v(t)},r[204]=qh,r[205]=Vh,r[206]=jh,r[207]=Jh,r[208]=Jh,r[209]=Wn,r[210]=function(e){var t=0,n=0;return h[(e|=0)>>2]=7016,d[e+8|0]&&(t=h[e+12>>2])&&(n=h[e+4>>2],r[h[h[n>>2]+16>>2]](n,t)),0|e},r[211]=function(e){var t=0,n=0;h[(e|=0)>>2]=7016,d[e+8|0]&&(t=h[e+12>>2])&&(n=h[e+4>>2],r[h[h[n>>2]+16>>2]](n,t)),Se(e)},r[212]=function(e,t,n,i,r){t|=0,n|=0,i|=0,r|=0;var o,a=0,s=0,c=0,l=0;w=o=w-160|0,(a=h[12+(e|=0)>>2])&&(s=h[n+4>>2],c=h[t+4>>2],h[r+4>>2]=a,h[o+152>>2]=1566444395,t=h[t+12>>2],a=h[t+12>>2],h[o+32>>2]=h[t+8>>2],h[o+36>>2]=a,a=h[t+4>>2],h[o+24>>2]=h[t>>2],h[o+28>>2]=a,a=h[t+28>>2],h[o+48>>2]=h[t+24>>2],h[o+52>>2]=a,a=h[t+20>>2],h[o+40>>2]=h[t+16>>2],h[o+44>>2]=a,l=h[t+44>>2],h[(a=o- -64|0)>>2]=h[t+40>>2],h[a+4>>2]=l,a=h[t+36>>2],h[o+56>>2]=h[t+32>>2],h[o+60>>2]=a,a=h[t+60>>2],h[o+80>>2]=h[t+56>>2],h[o+84>>2]=a,a=h[t+52>>2],h[o+72>>2]=h[t+48>>2],h[o+76>>2]=a,t=h[n+12>>2],n=h[t+12>>2],h[o+96>>2]=h[t+8>>2],h[o+100>>2]=n,n=h[t+4>>2],h[o+88>>2]=h[t>>2],h[o+92>>2]=n,n=h[t+20>>2],h[o+104>>2]=h[t+16>>2],h[o+108>>2]=n,n=h[t+28>>2],h[o+112>>2]=h[t+24>>2],h[o+116>>2]=n,n=h[t+36>>2],h[o+120>>2]=h[t+32>>2],h[o+124>>2]=n,n=h[t+44>>2],h[o+128>>2]=h[t+40>>2],h[o+132>>2]=n,n=h[t+52>>2],h[o+136>>2]=h[t+48>>2],h[o+140>>2]=n,n=h[t+60>>2],h[o+144>>2]=h[t+56>>2],h[o+148>>2]=n,h[8+(t=o+8|0)>>2]=s,h[t+4>>2]=c,h[t>>2]=6964,Wn(t,o+24|0,r,h[i+20>>2],0),d[e+8|0]&&(e=h[r+4>>2],h[e+748>>2]&&((0|(t=h[e+740>>2]))==(0|(n=h[h[r+8>>2]+8>>2]))?ut(e,t+4|0,h[h[r+12>>2]+8>>2]+4|0):ut(e,h[h[r+12>>2]+8>>2]+4|0,n+4|0)))),w=o+160|0},r[213]=uh,r[214]=Mr,r[215]=Jh,r[216]=function(e,t,n){t|=0,n|=0,h[24+(e|=0)>>2]=n,h[e+16>>2]=t},r[217]=function(e,t,n){t|=0,n|=0,h[28+(e|=0)>>2]=n,h[e+20>>2]=t},r[218]=function(e,t,n,i){e|=0,t|=0,n|=0,i=v(i);var a,s=0,c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=0,b=v(0),x=0,T=0,E=v(0),P=0,O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=0,W=0;w=a=w-192|0,m[h[e+4>>2]+752>>2]>2],p=v(v(m[t+8>>2]*i)+E),O=m[n+4>>2],f=v(v(m[t+4>>2]*i)+O),M=m[n>>2],b=v(v(m[t>>2]*i)+M),x=h[e+4>>2],(T=(0|(_=h[x+740>>2]))==(0|(P=h[h[e+8>>2]+8>>2])))?(c=v(b-m[_+52>>2]),l=v(f-m[_+56>>2]),u=v(p-m[_+60>>2]),R=v(v(v(c*m[_+12>>2])+v(l*m[_+28>>2]))+v(u*m[_+44>>2])),I=v(v(v(c*m[_+8>>2])+v(l*m[_+24>>2]))+v(u*m[_+40>>2])),c=v(v(v(c*m[_+4>>2])+v(l*m[_+20>>2]))+v(u*m[_+36>>2])),s=h[h[e+12>>2]+8>>2]):(s=h[h[e+12>>2]+8>>2],c=v(b-m[s+52>>2]),l=v(f-m[s+56>>2]),u=v(p-m[s+60>>2]),R=v(v(v(c*m[s+12>>2])+v(l*m[s+28>>2]))+v(u*m[s+44>>2])),I=v(v(v(c*m[s+8>>2])+v(l*m[s+24>>2]))+v(u*m[s+40>>2])),c=v(v(v(c*m[s+4>>2])+v(l*m[s+20>>2]))+v(u*m[s+36>>2])),s=P),D=m[s+20>>2],L=m[s+36>>2],N=m[s+40>>2],F=m[s+8>>2],B=m[s+24>>2],k=m[s+44>>2],V=m[s+60>>2],l=m[s+12>>2],u=m[s+52>>2],z=m[s+28>>2],j=m[s+56>>2],U=m[s+4>>2],h[a+36>>2]=0,G=l,l=v(M-u),u=v(O-j),E=v(E-V),m[a+32>>2]=v(v(G*l)+v(z*u))+v(k*E),m[a+28>>2]=v(v(l*F)+v(u*B))+v(E*N),h[a+20>>2]=0,m[a+16>>2]=R,m[a+12>>2]=I,m[a+8>>2]=c,m[a+24>>2]=v(v(l*U)+v(u*D))+v(E*L),s=h[t+12>>2],h[a+80>>2]=h[t+8>>2],h[a+84>>2]=s,s=h[t>>2],t=h[t+4>>2],h[a+136>>2]=0,h[a+140>>2]=0,h[a+144>>2]=0,h[a+148>>2]=0,h[a+152>>2]=0,h[a+156>>2]=0,m[a+60>>2]=f,m[a- -64>>2]=p,h[a+68>>2]=0,h[a+72>>2]=s,h[a+76>>2]=t,h[a+128>>2]=0,h[a+132>>2]=0,o[a+124|0]=0,h[a+120>>2]=0,h[a+100>>2]=0,h[a+92>>2]=0,h[a+96>>2]=0,m[a+88>>2]=i,m[a+56>>2]=b,t=h[n+12>>2],h[a+48>>2]=h[n+8>>2],h[a+52>>2]=t,t=h[n+4>>2],h[a+40>>2]=h[n>>2],h[a+44>>2]=t,s=function(e,t){var n=v(0),i=v(0),r=0,o=0,a=v(0),s=0,c=v(0),l=v(0),u=v(0);if((0|(s=h[e+748>>2]))<1)o=-1;else for(c=m[t+8>>2],l=m[t+4>>2],u=m[t>>2],i=m[e+752>>2],i=v(i*i),t=0,o=-1;r=g(t,184)+e|0,n=v(m[r+4>>2]-u),a=v(n*n),n=v(m[r+8>>2]-l),a=v(a+v(n*n)),n=v(m[r+12>>2]-c),i=(r=(n=v(a+v(n*n)))>2]+8>>2],n=h[h[e+12>>2]+8>>2],m[a+92>>2]=C(v(A(v(m[t+224>>2]*m[n+224>>2]),v(-10))),v(10)),m[a+100>>2]=m[t+228>>2]*m[n+228>>2],m[a+96>>2]=C(v(A(v(m[t+232>>2]*m[n+232>>2]),v(-10))),v(10)),i=m[a+80>>2],v(y(i))>v(.7071067690849304)?(f=m[a+76>>2],c=v(v(i*i)+v(f*f)),p=v(v(1)/v(S(c))),b=v(c*p),u=m[a+72>>2],c=v(p*v(-i)),l=v(u*c),i=v(f*p),p=v(i*v(-u)),f=v(0)):(b=m[a+72>>2],p=m[a+76>>2],f=v(v(b*b)+v(p*p)),c=v(v(1)/v(S(f))),l=v(f*c),f=v(c*v(-p)),p=v(i*f),c=v(b*c),b=v(c*v(-i)),i=v(0)),m[a+184>>2]=l,m[a+180>>2]=p,m[a+168>>2]=i,m[a+164>>2]=c,m[a+176>>2]=b,m[a+160>>2]=f,T?(n=e+24|0,x=e+16|0,T=e+28|0,t=e+20|0):(n=e+28|0,x=e+20|0,T=e+24|0,t=e+16|0),x=h[x>>2],t=h[t>>2],n=h[n>>2],h[a+116>>2]=h[T>>2],h[a+112>>2]=n,h[a+108>>2]=t,h[a+104>>2]=x,t=h[e+4>>2],(0|s)>=0?(t=t+g(s,184)|0,n=h[t+116>>2],x=h[t+124>>2],T=h[t+128>>2],H=h[t+132>>2],W=h[t+152>>2],Vn(t+4|0,a+8|0,184),h[t+152>>2]=W,h[t+132>>2]=H,h[t+124>>2]=x,h[t+128>>2]=T,h[t+116>>2]=n):s=ta(t,a+8|0),!(t=h[6989])|(8&d[h[h[e+12>>2]+8>>2]+204|0]?0:!(8&d[h[h[e+8>>2]+8>>2]+204|0]))||(n=(0|_)!=(0|P),r[t](4+(h[e+4>>2]+g(s,184)|0)|0,h[(n?12:8)+e>>2],h[a+104>>2],h[a+112>>2],h[(n?8:12)+e>>2],h[a+108>>2],h[a+116>>2]))),w=a+192|0},r[219]=Jh,r[220]=we,r[221]=Jh,r[222]=Vh,r[223]=Vh,r[224]=function(e,t,n,i){e|=0,t|=0,n|=0,i=v(i);var r=0;m[e+36>>2]>i&&(o[e+40|0]=1,r=h[t+4>>2],h[e+4>>2]=h[t>>2],h[e+8>>2]=r,r=h[t+12>>2],h[e+12>>2]=h[t+8>>2],h[e+16>>2]=r,t=h[n+4>>2],h[e+20>>2]=h[n>>2],h[e+24>>2]=t,t=h[n+12>>2],h[e+28>>2]=h[n+8>>2],h[e+32>>2]=t,m[e+36>>2]=i)},r[225]=Jh,r[226]=Oe,r[227]=$h,r[228]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0);w=o=w-32|0,g=m[t+24>>2],R=m[t+40>>2],y=m[t+36>>2],p=m[t+20>>2],d=m[t+8>>2],C=m[t+16>>2],_=m[t+4>>2],A=m[t+32>>2],b=m[t>>2],h[o+28>>2]=0,s=v(C-b),l=v(y-_),c=v(p-_),f=v(A-b),a=v(v(s*l)-v(c*f)),m[o+24>>2]=a,u=v(g-d),x=v(u*f),f=v(R-d),s=v(x-v(s*f)),m[o+20>>2]=s,l=v(v(c*f)-v(u*l)),m[o+16>>2]=l,T=m[e+4>>2],u=m[e+8>>2],E=m[e+12>>2],c=v(v(d*a)+v(v(b*l)+v(_*s))),f=v(v(v(v(l*T)+v(s*u))+v(a*E))-c),O=m[e+20>>2],P=m[e+24>>2],M=m[e+28>>2],c=v(v(v(v(l*O)+v(s*P))+v(a*M))-c),v(f*c)>=v(0)||1&(t=h[e+36>>2])&&f<=v(0)||(c=v(f/v(f-c)))>2]&&(x=u,u=v(v(1)-c),P=v(v(P*c)+v(x*u)),p=v(p-P),T=v(v(O*c)+v(T*u)),b=v(b-T),_=v(_-P),C=v(C-T),u=v(v(M*c)+v(E*u)),g=v(g-u),d=v(d-u),O=v(v(a*a)+v(v(l*l)+v(s*s))),E=v(O*v(-9999999747378752e-20)),v(v(a*v(v(p*b)-v(_*C)))+v(v(l*v(v(_*g)-v(d*p)))+v(s*v(v(d*C)-v(g*b)))))>=E&&(y=v(y-P),A=v(A-T),M=v(a*v(v(y*C)-v(p*A))),x=p,p=v(R-u),v(M+v(v(l*v(v(x*p)-v(g*y)))+v(s*v(v(g*A)-v(p*C)))))>=E^1|v(v(a*v(v(_*A)-v(y*b)))+v(v(l*v(v(y*d)-v(p*_)))+v(s*v(v(p*b)-v(d*A)))))>=E^1||(x=a,a=v(v(1)/v(S(O))),d=v(x*a),m[o+24>>2]=d,s=v(s*a),m[o+20>>2]=s,a=v(l*a),m[o+16>>2]=a,2&t|f<=v(0)^1?m[e+40>>2]=r[h[h[e>>2]+12>>2]](e,o+16|0,c,n,i):(h[o+12>>2]=0,m[o+8>>2]=-d,m[o+4>>2]=-s,m[o>>2]=-a,m[e+40>>2]=r[h[h[e>>2]+12>>2]](e,o,c,n,i))))),w=o+32|0},r[229]=$h,r[230]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var a,s,c=0,l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0);w=a=w-672|0,s=La(a+568|0),h[a+572>>2]=1,h[a+568>>2]=6500,c=h[t+12>>2],h[a+632>>2]=h[t+8>>2],h[a+636>>2]=c,c=h[t+4>>2],h[a+624>>2]=h[t>>2],h[a+628>>2]=c,c=h[t+28>>2],h[a+648>>2]=h[t+24>>2],h[a+652>>2]=c,c=h[t+20>>2],h[a+640>>2]=h[t+16>>2],h[a+644>>2]=c,c=h[t+44>>2],h[a+664>>2]=h[t+40>>2],h[a+668>>2]=c,c=h[t+36>>2],h[a+656>>2]=h[t+32>>2],h[a+660>>2]=c,h[a+612>>2]=h[e+204>>2],o[a+540|0]=0,h[a+516>>2]=953267991,h[a+200>>2]=4440,c=h[e+4>>2],h[20+(t=a+176|0)>>2]=0,h[t+16>>2]=a+568,h[t+12>>2]=c,h[t+8>>2]=a+200,h[t+4>>2]=a+208,h[t>>2]=7260,h[a>>2]=6896,h[a+164>>2]=1065353216,h[a+168>>2]=0,h[a+172>>2]=h[e+208>>2],Oe(c=t,e+8|0,e+72|0,t=e+136|0,t,a)&&(u=m[a+132>>2],p=m[a+136>>2],l=m[a+140>>2],(d=v(v(v(u*u)+v(p*p))+v(l*l)))>v(9999999747378752e-20)&&(f=m[a+164>>2])>2]&&(_=l,l=v(v(1)/v(S(d))),m[a+140>>2]=_*l,m[a+136>>2]=p*l,m[a+132>>2]=u*l,v(r[h[h[e>>2]+12>>2]](e,a+132|0,a+148|0,f,n,i)))),dc(s),w=a+672|0},r[231]=Ur,r[232]=function(e){Se(Ur(e|=0))},r[233]=function(e){e|=0;var t=0,n=0,i=0;if(Ir(7699),(0|(t=h[e+8>>2]))>=1)for(;;){i=h[h[e+16>>2]+(n<<2)>>2];e:{t:if(!d[e+76|0])switch(h[i+216>>2]+-2|0){case 0:case 3:break e;default:break t}Jt(e,i),t=h[e+8>>2]}if(!((0|(n=n+1|0))<(0|t)))break}Bo()},r[234]=function(e){var t;e|=0,Ir(7711),t=h[e+68>>2],r[h[h[t>>2]+32>>2]](t,h[e+24>>2]),Bo()},r[235]=Mh,r[236]=function(e){return h[72+(e|=0)>>2]},r[237]=He,r[238]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=0,s=v(0),c=v(0),l=0,u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=0,S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=0,L=0,N=v(0),F=v(0),B=0,k=0,V=0,z=0,j=0,U=v(0),G=v(0),H=v(0);w=o=w-144|0,a=0|r[h[h[e>>2]+20>>2]](e),r[h[h[a>>2]+56>>2]](a,t,v(1));e:{t:{n:{i:{r:{o:{a:{s:{c:{l:switch(0|(a=h[n+4>>2])){case 31:break l;case 28:break n;case 13:break i;case 11:break r;case 10:break o;case 9:break a;case 8:break s;case 0:break c;default:break t}if((0|(x=h[n+16>>2]))<1)break e;for(;a=x+-1|0,l=h[n+24>>2]+g(a,80)|0,D=h[l+64>>2],y=m[l+56>>2],C=m[l+48>>2],P=m[l+52>>2],S=m[l+32>>2],O=m[l>>2],M=m[l+16>>2],I=m[l+36>>2],p=m[l+4>>2],A=m[l+20>>2],R=m[l+40>>2],N=m[l+8>>2],F=m[l+24>>2],U=m[t+48>>2],G=m[t+52>>2],H=m[t+56>>2],s=m[t+8>>2],c=m[t>>2],u=m[t+4>>2],d=m[t+24>>2],f=m[t+16>>2],_=m[t+20>>2],T=m[t+40>>2],E=m[t+32>>2],b=m[t+36>>2],h[o+60>>2]=0,h[o+44>>2]=0,h[o+28>>2]=0,h[o+12>>2]=0,m[o+40>>2]=v(v(N*E)+v(F*b))+v(R*T),m[o+36>>2]=v(v(p*E)+v(A*b))+v(I*T),m[o+32>>2]=v(v(O*E)+v(M*b))+v(S*T),m[o+24>>2]=v(v(N*f)+v(F*_))+v(R*d),m[o+20>>2]=v(v(p*f)+v(A*_))+v(I*d),m[o+16>>2]=v(v(O*f)+v(M*_))+v(S*d),m[o+8>>2]=v(v(N*c)+v(F*u))+v(R*s),m[o+4>>2]=v(v(p*c)+v(A*u))+v(I*s),m[o>>2]=v(v(O*c)+v(M*u))+v(S*s),m[o+56>>2]=H+v(v(v(C*E)+v(P*b))+v(y*T)),m[o+52>>2]=G+v(v(v(C*f)+v(P*_))+v(y*d)),m[o+48>>2]=U+v(v(v(C*c)+v(P*u))+v(y*s)),r[h[h[e>>2]+28>>2]](e,o,D,i),l=(0|x)>1,x=a,l;);break e}a=h[n+40>>2],h[o+8>>2]=h[n+36>>2],h[o+12>>2]=a,a=h[n+32>>2],h[o>>2]=h[n+28>>2],h[o+4>>2]=a,s=v(r[h[h[n>>2]+48>>2]](n)),c=v(r[h[h[n>>2]+48>>2]](n)),u=v(v(r[h[h[n>>2]+48>>2]](n))+m[o+8>>2]),m[o+8>>2]=u,s=v(s+m[o>>2]),m[o>>2]=s,c=v(c+m[o+4>>2]),m[o+4>>2]=c,e=0|r[h[h[e>>2]+20>>2]](e),h[o+140>>2]=0,m[o+136>>2]=-u,m[o+132>>2]=-c,m[o+128>>2]=-s,r[h[h[e>>2]+72>>2]](e,o+128|0,o,t,i);break e}s=v(r[h[h[n>>2]+48>>2]](n)),e=0|r[h[h[e>>2]+20>>2]](e),r[h[h[e>>2]+16>>2]](e,s,t,i);break e}if((0|(a=h[n+92>>2]))<1)break e;for(;l=a+-1|0,x=h[n+100>>2]+(l<<4)|0,s=m[x+8>>2],c=m[x>>2],u=m[x+4>>2],x=0|r[h[h[e>>2]+20>>2]](e),S=m[h[n+120>>2]+(l<<2)>>2],O=m[t+48>>2],M=m[t+52>>2],I=m[t+56>>2],d=m[t+8>>2],f=m[t>>2],_=m[t+4>>2],T=m[t+24>>2],E=m[t+16>>2],b=m[t+20>>2],y=m[t+40>>2],C=m[t+32>>2],P=m[t+36>>2],h[o+60>>2]=0,h[o+44>>2]=0,h[o+28>>2]=0,h[o+12>>2]=0,p=v(C*v(0)),A=v(P*v(0)),m[o+40>>2]=y+v(p+A),R=v(p+P),p=v(y*v(0)),m[o+36>>2]=R+p,m[o+32>>2]=v(C+A)+p,p=v(E*v(0)),A=v(b*v(0)),m[o+24>>2]=T+v(p+A),R=v(p+b),p=v(T*v(0)),m[o+20>>2]=R+p,m[o+16>>2]=v(E+A)+p,p=v(f*v(0)),A=v(_*v(0)),m[o+8>>2]=d+v(p+A),R=v(p+_),p=v(d*v(0)),m[o+4>>2]=R+p,m[o>>2]=v(f+A)+p,m[o+56>>2]=I+v(v(v(c*C)+v(u*P))+v(s*y)),m[o+52>>2]=M+v(v(v(c*E)+v(u*b))+v(s*T)),m[o+48>>2]=O+v(v(v(c*f)+v(u*_))+v(s*d)),r[h[h[x>>2]+16>>2]](x,S,o,i),x=(0|a)>1,a=l,x;);break e}a=h[n+52>>2],s=m[(a<<2)+(n=n+28|0)>>2],c=m[n+((a+2|0)%3<<2)>>2],e=0|r[h[h[e>>2]+20>>2]](e),r[h[h[e>>2]+76>>2]](e,c,s,a,t,i);break e}a=h[n+68>>2],s=m[n+56>>2],c=m[n+60>>2],e=0|r[h[h[e>>2]+20>>2]](e),r[h[h[e>>2]+84>>2]](e,s,c,a,t,i);break e}a=h[n+52>>2],s=v(r[h[h[n>>2]+92>>2]](n)),l=h[n+40>>2],h[o+8>>2]=h[n+36>>2],h[o+12>>2]=l,l=h[n+32>>2],h[o>>2]=h[n+28>>2],h[o+4>>2]=l,c=v(r[h[h[n>>2]+48>>2]](n)),u=v(r[h[h[n>>2]+48>>2]](n)),m[o+8>>2]=v(r[h[h[n>>2]+48>>2]](n))+m[o+8>>2],m[o>>2]=c+m[o>>2],m[o+4>>2]=u+m[o+4>>2],c=m[(a<<2)+o>>2],e=0|r[h[h[e>>2]+20>>2]](e),r[h[h[e>>2]+80>>2]](e,s,c,a,t,i);break e}s=m[n- -64>>2],e=0|r[h[h[e>>2]+20>>2]](e),r[h[h[e>>2]+88>>2]](e,n+48|0,s,t,i);break e}t:if(!((0|a)>6))if(D=h[n+52>>2]){if(h[D+28>>2]<1)break t;for(;;){u=v(0);n:if(a=(V=g(k,36))+h[D+36>>2]|0,B=h[a+4>>2]){if(s=v(0),c=v(0),!((0|B)<1))for(L=h[a+12>>2],a=h[(L+(B<<2)|0)-4>>2],x=0;;){if(L=(z=(l=h[(x<<2)+L>>2])<<4)+h[D+16>>2]|0,R=m[L>>2],N=m[L+4>>2],F=m[L+8>>2],L=0|r[h[h[e>>2]+20>>2]](e),j=h[D+16>>2],d=m[8+(a=j+(a<<4)|0)>>2],f=m[a>>2],_=m[a+4>>2],T=m[t+48>>2],E=m[t+8>>2],b=m[t>>2],y=m[t+4>>2],C=m[t+52>>2],P=m[t+24>>2],S=m[t+16>>2],O=m[t+20>>2],M=m[t+56>>2],I=m[t+40>>2],p=m[t+32>>2],A=m[t+36>>2],h[o+12>>2]=0,m[o+8>>2]=M+v(v(v(f*p)+v(_*A))+v(d*I)),m[o+4>>2]=C+v(v(v(f*S)+v(_*O))+v(d*P)),m[o>>2]=T+v(v(v(f*b)+v(_*y))+v(d*E)),d=m[8+(a=z+j|0)>>2],f=m[a>>2],_=m[a+4>>2],h[o+140>>2]=0,m[o+136>>2]=M+v(v(v(p*f)+v(A*_))+v(I*d)),m[o+132>>2]=C+v(v(v(S*f)+v(O*_))+v(P*d)),m[o+128>>2]=T+v(v(v(b*f)+v(y*_))+v(E*d)),r[h[h[L>>2]+8>>2]](L,o,o+128|0,i),c=v(c+F),s=v(s+N),u=v(u+R),x=x+1|0,a=h[D+36>>2]+V|0,(0|x)>=h[a+4>>2])break n;L=h[a+12>>2],a=l}}else s=v(0),c=v(0);if(a=0|r[h[h[e>>2]+20>>2]](e),16384&r[h[h[a>>2]+48>>2]](a)&&(h[o+8>>2]=0,h[o+12>>2]=0,h[o>>2]=1065353216,h[o+4>>2]=1065353216,a=h[D+36>>2]+V|0,p=m[a+28>>2],A=m[a+20>>2],R=m[a+24>>2],a=0|r[h[h[e>>2]+20>>2]](e),d=m[t+48>>2],f=m[t+8>>2],_=m[t>>2],T=m[t+4>>2],E=m[t+52>>2],b=m[t+24>>2],y=m[t+16>>2],C=m[t+20>>2],P=m[t+56>>2],S=m[t+40>>2],O=m[t+32>>2],M=m[t+36>>2],h[o+140>>2]=0,I=v(v(1)/v(0|B)),u=v(I*u),s=v(I*s),c=v(I*c),m[o+136>>2]=P+v(v(v(O*u)+v(M*s))+v(S*c)),m[o+132>>2]=E+v(v(v(u*y)+v(s*C))+v(c*b)),m[o+128>>2]=d+v(v(v(u*_)+v(s*T))+v(c*f)),h[o+124>>2]=0,u=v(u+A),s=v(s+R),c=v(c+p),m[o+120>>2]=P+v(v(v(O*u)+v(M*s))+v(S*c)),m[o+116>>2]=E+v(v(v(u*y)+v(s*C))+v(c*b)),m[o+112>>2]=d+v(v(v(u*_)+v(s*T))+v(c*f)),r[h[h[a>>2]+8>>2]](a,o+128|0,o+112|0,o)),!((0|(k=k+1|0))>2]))break}}else if(!((0|r[h[h[n>>2]+100>>2]](n))<1))for(a=0;r[h[h[n>>2]+104>>2]](n,a,o,o+128|0),s=m[t+48>>2],c=m[t+8>>2],u=m[t>>2],d=m[t+4>>2],f=m[t+52>>2],_=m[t+24>>2],T=m[t+16>>2],E=m[t+20>>2],b=m[t+56>>2],y=m[t+40>>2],C=m[t+32>>2],P=m[t+36>>2],h[o+124>>2]=0,S=m[o>>2],O=m[o+4>>2],M=m[o+8>>2],m[o+120>>2]=b+v(v(v(C*S)+v(P*O))+v(y*M)),m[o+116>>2]=f+v(v(v(S*T)+v(O*E))+v(M*_)),m[o+112>>2]=s+v(v(v(S*u)+v(O*d))+v(M*c)),h[o+108>>2]=0,p=b,b=m[o+128>>2],S=v(C*b),C=m[o+132>>2],A=y,y=m[o+136>>2],m[o+104>>2]=p+v(v(S+v(P*C))+v(A*y)),m[o+100>>2]=f+v(v(v(T*b)+v(E*C))+v(_*y)),m[o+96>>2]=s+v(v(v(u*b)+v(d*C))+v(c*y)),l=0|r[h[h[e>>2]+20>>2]](e),r[h[h[l>>2]+8>>2]](l,o+112|0,o+96|0,i),(0|(a=a+1|0))<(0|r[h[h[n>>2]+100>>2]](n)););(a=h[n+4>>2])+-21>>>0<=8&&(h[o+136>>2]=1566444395,h[o+140>>2]=0,h[o+128>>2]=1566444395,h[o+132>>2]=1566444395,h[o+120>>2]=-581039253,h[o+124>>2]=0,h[o+112>>2]=-581039253,h[o+116>>2]=-581039253,h[o+8>>2]=r[h[h[e>>2]+20>>2]](e),h[o+4>>2]=9576,h[o>>2]=9552,a=h[i+12>>2],h[o+20>>2]=h[i+8>>2],h[o+24>>2]=a,a=h[i+4>>2],h[o+12>>2]=h[i>>2],h[o+16>>2]=a,a=h[t+12>>2],h[o+36>>2]=h[t+8>>2],h[o+40>>2]=a,a=h[t+4>>2],h[o+28>>2]=h[t>>2],h[o+32>>2]=a,a=h[t+20>>2],h[o+44>>2]=h[t+16>>2],h[o+48>>2]=a,a=h[t+28>>2],h[o+52>>2]=h[t+24>>2],h[o+56>>2]=a,a=h[t+44>>2],h[o+68>>2]=h[t+40>>2],h[o+72>>2]=a,a=h[t+36>>2],h[o+60>>2]=h[t+32>>2],h[o+64>>2]=a,a=h[t+52>>2],h[o+76>>2]=h[t+48>>2],h[o+80>>2]=a,a=h[t+60>>2],h[o+84>>2]=h[t+56>>2],h[o+88>>2]=a,r[h[h[n>>2]+64>>2]](n,o,o+112|0,o+128|0),a=h[n+4>>2]),3==(0|a)&&(h[o+136>>2]=1566444395,h[o+140>>2]=0,h[o+128>>2]=1566444395,h[o+132>>2]=1566444395,h[o+120>>2]=-581039253,h[o+124>>2]=0,h[o+112>>2]=-581039253,h[o+116>>2]=-581039253,h[o+8>>2]=r[h[h[e>>2]+20>>2]](e),h[o+4>>2]=9576,h[o>>2]=9552,e=h[i+12>>2],h[o+20>>2]=h[i+8>>2],h[o+24>>2]=e,e=h[i+4>>2],h[o+12>>2]=h[i>>2],h[o+16>>2]=e,e=h[t+12>>2],h[o+36>>2]=h[t+8>>2],h[o+40>>2]=e,e=h[t+4>>2],h[o+28>>2]=h[t>>2],h[o+32>>2]=e,e=h[t+20>>2],h[o+44>>2]=h[t+16>>2],h[o+48>>2]=e,e=h[t+28>>2],h[o+52>>2]=h[t+24>>2],h[o+56>>2]=e,e=h[t+44>>2],h[o+68>>2]=h[t+40>>2],h[o+72>>2]=e,e=h[t+36>>2],h[o+60>>2]=h[t+32>>2],h[o+64>>2]=e,e=h[t+52>>2],h[o+76>>2]=h[t+48>>2],h[o+80>>2]=e,e=h[t+60>>2],h[o+84>>2]=h[t+56>>2],h[o+88>>2]=e,e=h[n+92>>2],r[h[h[e>>2]+8>>2]](e,4|o,o+112|0,o+128|0))}w=o+144|0},r[239]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a,s=0,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0);w=o=w-256|0,h[o+32>>2]=9240,s=h[t+12>>2],h[o+76>>2]=h[t+8>>2],h[o+80>>2]=s,s=h[t+4>>2],h[o+68>>2]=h[t>>2],h[o+72>>2]=s,s=h[n+12>>2],h[o+92>>2]=h[n+8>>2],h[o+96>>2]=s,s=h[n>>2],a=h[n+4>>2],h[o+104>>2]=0,h[o+108>>2]=0,h[o+112>>2]=0,h[o+116>>2]=0,h[o+124>>2]=0,h[o+128>>2]=0,h[o+120>>2]=1065353216,h[o+132>>2]=0,h[o+136>>2]=0,h[o+140>>2]=1065353216,h[o+144>>2]=0,h[o+84>>2]=s,h[o+88>>2]=a,h[o+248>>2]=i,h[o+100>>2]=1065353216,h[o+244>>2]=e,i=h[o+72>>2],h[o+148>>2]=h[o+68>>2],h[o+152>>2]=i,i=h[o+80>>2],h[o+156>>2]=h[o+76>>2],h[o+160>>2]=i,h[o+164>>2]=1065353216,h[o+176>>2]=0,h[o+180>>2]=0,h[o+168>>2]=0,h[o+172>>2]=0,h[o+184>>2]=1065353216,h[o+196>>2]=0,h[o+200>>2]=0,h[o+188>>2]=0,h[o+192>>2]=0,h[o+204>>2]=1065353216,h[o+208>>2]=0,i=h[n+12>>2],h[o+220>>2]=h[n+8>>2],h[o+224>>2]=i,i=h[n+4>>2],h[o+212>>2]=h[n>>2],h[o+216>>2]=i,p=v(m[n>>2]-m[t>>2]),c=v(m[n+4>>2]-m[t+4>>2]),l=v(m[n+8>>2]-m[t+8>>2]),u=v(v(1)/v(S(v(v(v(p*p)+v(c*c))+v(l*l))))),d=(l=v(l*u))==v(0)?v(0xde0b6b000000000):v(v(1)/l),m[o+44>>2]=d,f=(c=v(c*u))==v(0)?v(0xde0b6b000000000):v(v(1)/c),m[o+40>>2]=f,h[o+60>>2]=d>2]=f>2]=p,h[o+52>>2]=p>2]=v(v(u*v(m[o+84>>2]-m[o+68>>2]))+v(c*v(m[o+88>>2]-m[o+72>>2])))+v(l*v(m[o+92>>2]-m[o+76>>2])),e=h[e+68>>2],h[o+24>>2]=0,h[o+28>>2]=0,h[o+16>>2]=0,h[o+20>>2]=0,h[o+8>>2]=0,h[o+12>>2]=0,h[o>>2]=0,h[o+4>>2]=0,r[h[h[e>>2]+24>>2]](e,t,n,o+32|0,o+16|0,o),w=o+256|0},r[240]=Xn,r[241]=Qr,r[242]=function(e){e|=0;var t,n=0,i=0,o=0,a=0,s=0,c=0;Ir(7737),r[h[h[e>>2]+8>>2]](e),r[h[h[e>>2]+12>>2]](e),t=h[e+24>>2],Ir(7771),t&&(n=h[e+68>>2],o=t,a=0|r[h[h[n>>2]+36>>2]](n),s=e+28|0,c=h[e+24>>2],i=h[h[t>>2]+32>>2],r[i](0|o,0|a,0|s,0|c)),Bo(),Bo()},r[243]=function(e,t){e|=0,r[h[h[(t|=0)>>2]+32>>2]](t),Qt(e,t),r[h[h[t>>2]+36>>2]](t)},r[244]=Jh,r[245]=hr,r[246]=Jh,r[247]=hr,r[248]=jh,r[249]=Jh,r[250]=Vh,r[251]=function(e,t){e|=0,t|=0;var n,i,r,o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0);w=n=w-128|0,i=h[t+36>>2],t=h[h[e+8>>2]+24>>2]+g(i,80)|0,r=h[t+64>>2],_=m[t+32>>2],b=m[t>>2],y=m[t+16>>2],C=m[t+56>>2],A=m[t+52>>2],x=m[t+48>>2],S=m[t+36>>2],T=m[t+20>>2],E=m[t+4>>2],P=m[t+40>>2],O=m[t+24>>2],M=m[t+8>>2],t=h[e+12>>2],R=m[t+52>>2],I=m[t+56>>2],o=m[t+24>>2],a=m[t+20>>2],s=m[t+40>>2],c=m[t+36>>2],D=m[t+48>>2],l=m[t+8>>2],u=m[t>>2],p=m[t+4>>2],d=m[t+16>>2],f=m[t+32>>2],h[n+124>>2]=0,h[n+108>>2]=0,h[n+92>>2]=0,m[n+104>>2]=v(v(M*f)+v(O*c))+v(P*s),m[n+100>>2]=v(v(E*f)+v(T*c))+v(S*s),m[n+88>>2]=v(v(M*d)+v(O*a))+v(P*o),m[n+84>>2]=v(v(E*d)+v(T*a))+v(S*o),m[n+120>>2]=I+v(v(v(f*x)+v(c*A))+v(s*C)),m[n+116>>2]=R+v(v(v(d*x)+v(a*A))+v(o*C)),h[n+76>>2]=0,m[n+72>>2]=v(v(u*M)+v(p*O))+v(l*P),m[n+68>>2]=v(v(u*E)+v(p*T))+v(l*S),m[n+64>>2]=v(v(b*u)+v(y*p))+v(_*l),m[n+112>>2]=D+v(v(v(u*x)+v(p*A))+v(l*C)),m[n+96>>2]=v(v(b*f)+v(y*c))+v(_*s),m[n+80>>2]=v(v(b*d)+v(y*a))+v(_*o),t=h[e+4>>2],h[n+60>>2]=i,h[n+56>>2]=-1,h[n+48>>2]=t,h[n+44>>2]=r,h[n+40>>2]=0,h[n+52>>2]=n- -64,t=h[e+24>>2],h[n+20>>2]=-65535,h[n+24>>2]=0,h[n+12>>2]=1065353216,h[n+16>>2]=0,h[n+32>>2]=i,h[n+28>>2]=t,h[n+8>>2]=8444,h[n+12>>2]=h[t+4>>2],h[n+24>>2]=h[t+16>>2],U(h[e+16>>2],h[e+20>>2],n+40|0,n+8|0),w=n+128|0},r[252]=function(e,t,n){e|=0,t|=0,n=v(n),r[h[h[e>>2]+12>>2]](e,t)},r[253]=Fh,r[254]=Fh,r[255]=Jh,r[256]=function(e,t){return t|=0,e=h[20+(e|=0)>>2],0|r[h[h[e>>2]+8>>2]](e,t)},r[257]=function(e,t,n){e|=0,t|=0,n|=0;var i,o,a=v(0);return w=i=w-16|0,h[i+8>>2]=-1,h[i+12>>2]=h[e+24>>2],h[t+4>>2]||(h[t+4>>2]=i+8),o=h[e+20>>2],a=v(r[h[h[o>>2]+12>>2]](o,t,n)),h[e+4>>2]=h[h[e+20>>2]+4>>2],w=i+16|0,v(a)},r[258]=Jh,r[259]=function(e,t,n,i,o,a){var s;return e|=0,t|=0,n|=0,i=v(i),o|=0,a|=0,w=s=w+-64|0,h[s+60>>2]=a,h[s+56>>2]=o,o=h[e+212>>2],m[o+4>>2]>=i&&(h[s+8>>2]=h[e+216>>2],h[s+12>>2]=s+56,e=h[t+12>>2],h[s+24>>2]=h[t+8>>2],h[s+28>>2]=e,e=h[t+4>>2],h[s+16>>2]=h[t>>2],h[s+20>>2]=e,e=h[n+12>>2],h[s+40>>2]=h[n+8>>2],h[s+44>>2]=e,e=h[n+4>>2],h[s+32>>2]=h[n>>2],h[s+36>>2]=e,m[s+48>>2]=i,i=v(r[h[h[o>>2]+12>>2]](o,s+8|0,1))),w=s- -64|0,v(i)},r[260]=Jh,r[261]=function(e,t,n,i,o,a){var s;return e|=0,t|=0,n|=0,i=v(i),o|=0,a|=0,w=s=w+-64|0,h[s+60>>2]=a,h[s+56>>2]=o,o=h[e+212>>2],m[o+4>>2]>=i&&(h[s+8>>2]=h[e+216>>2],h[s+12>>2]=s+56,e=h[t+12>>2],h[s+24>>2]=h[t+8>>2],h[s+28>>2]=e,e=h[t+4>>2],h[s+16>>2]=h[t>>2],h[s+20>>2]=e,e=h[n+12>>2],h[s+40>>2]=h[n+8>>2],h[s+44>>2]=e,e=h[n+4>>2],h[s+32>>2]=h[n>>2],h[s+36>>2]=e,m[s+48>>2]=i,i=v(r[h[h[o>>2]+12>>2]](o,s+8|0,0))),w=s- -64|0,v(i)},r[262]=Jh,r[263]=function(e,t){return t|=0,e=h[12+(e|=0)>>2],0|r[h[h[e>>2]+8>>2]](e,t)},r[264]=function(e,t,n){e|=0,t|=0,n|=0;var i,o,a=v(0);return w=i=w-16|0,h[i+8>>2]=-1,h[i+12>>2]=h[e+16>>2],h[t+4>>2]||(h[t+4>>2]=i+8),o=h[e+12>>2],a=v(r[h[h[o>>2]+12>>2]](o,t,n)),h[e+4>>2]=h[h[e+12>>2]+4>>2],w=i+16|0,v(a)},r[265]=jh,r[266]=Jh,r[267]=function(e,t){t|=0;var n,i=0,o=0,a=0;return w=n=w-32|0,i=h[216+(e|=0)>>2],m[i+4>>2]!=v(0)&&(o=1,t=h[t>>2],r[h[h[i>>2]+8>>2]](i,h[t+188>>2])&&(i=h[e+216>>2],a=h[t+192>>2],h[n+24>>2]=-1,h[n+28>>2]=-1,h[n+20>>2]=t+4,h[n+16>>2]=t,h[n+12>>2]=a,h[n+8>>2]=0,U(e+68|0,e+132|0,n+8|0,i))),w=n+32|0,0|o},r[268]=Jh,r[269]=function(e,t){e|=0,t|=0;var n,i=0,o=0,a=v(0),s=0,c=0;return w=n=w-32|0,i=h[e+184>>2],m[i+4>>2]!=v(0)&&(o=1,t=h[t>>2],r[h[h[i>>2]+8>>2]](i,h[t+188>>2])&&(a=m[e+188>>2],i=h[e+184>>2],s=h[e+192>>2],c=h[t+192>>2],h[n+24>>2]=-1,h[n+28>>2]=-1,h[n+20>>2]=t+4,h[n+16>>2]=t,h[n+12>>2]=c,h[n+8>>2]=0,H(s,e+36|0,e+100|0,n+8|0,i,a))),w=n+32|0,0|o},r[270]=Jh,r[271]=function(e,t){e|=0;var n,i=0,o=0;return w=n=w-96|0,(0|(t=h[(t|=0)>>2]))!=h[e+4>>2]&&(i=h[e+12>>2],r[h[h[i>>2]+8>>2]](i,h[t+188>>2])&&(i=h[e+4>>2],o=h[i+192>>2],h[n+88>>2]=-1,h[n+92>>2]=-1,h[n+84>>2]=i+4,h[n+80>>2]=i,h[n+76>>2]=o,h[n+72>>2]=0,i=h[t+192>>2],h[n+64>>2]=-1,h[n+68>>2]=-1,h[n+60>>2]=t+4,h[n+56>>2]=t,h[n+52>>2]=i,h[n+48>>2]=0,t=h[h[e+8>>2]+24>>2],(t=0|r[h[h[t>>2]+8>>2]](t,n+72|0,n+48|0,0))&&(o=h[e+12>>2],h[12+(i=n+8|0)>>2]=n+48,h[i+8>>2]=n+72,h[i+4>>2]=0,h[i>>2]=7088,h[n+40>>2]=o,h[n+8>>2]=9484,r[h[h[t>>2]+8>>2]](t,n+72|0,n+48|0,h[e+8>>2]+28|0,i),r[h[h[t>>2]>>2]](t),e=h[h[e+8>>2]+24>>2],r[h[h[e>>2]+60>>2]](e,t)))),w=n+96|0,1},r[272]=Jh,r[273]=function(e,t,n,i){e|=0,t|=0,n|=0,i=v(i);var a,s,c,l=0,u=v(0),p=v(0),d=v(0),f=0,_=v(0),b=0,g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0);w=a=w-192|0,_=m[n+8>>2],g=v(v(m[t+8>>2]*i)+_),A=m[n+4>>2],y=v(v(m[t+4>>2]*i)+A),x=m[n>>2],C=v(v(m[t>>2]*i)+x),(f=(0|(s=h[h[e+4>>2]+740>>2]))==(0|(b=h[h[e+8>>2]+8>>2])))?(d=v(C-m[s+52>>2]),u=v(y-m[s+56>>2]),p=v(g-m[s+60>>2]),S=v(v(v(d*m[s+12>>2])+v(u*m[s+28>>2]))+v(p*m[s+44>>2])),T=v(v(v(d*m[s+8>>2])+v(u*m[s+24>>2]))+v(p*m[s+40>>2])),d=v(v(v(d*m[s+4>>2])+v(u*m[s+20>>2]))+v(p*m[s+36>>2])),l=h[h[e+12>>2]+8>>2]):(l=h[h[e+12>>2]+8>>2],d=v(C-m[l+52>>2]),u=v(y-m[l+56>>2]),p=v(g-m[l+60>>2]),S=v(v(v(d*m[l+12>>2])+v(u*m[l+28>>2]))+v(p*m[l+44>>2])),T=v(v(v(d*m[l+8>>2])+v(u*m[l+24>>2]))+v(p*m[l+40>>2])),d=v(v(v(d*m[l+4>>2])+v(u*m[l+20>>2]))+v(p*m[l+36>>2])),l=b),E=m[l+20>>2],P=m[l+36>>2],O=m[l+40>>2],M=m[l+8>>2],R=m[l+24>>2],I=m[l+44>>2],D=m[l+60>>2],u=m[l+12>>2],p=m[l+52>>2],L=m[l+28>>2],N=m[l+56>>2],F=m[l+4>>2],h[a+36>>2]=0,B=u,u=v(x-p),p=v(A-N),_=v(_-D),m[a+32>>2]=v(v(B*u)+v(L*p))+v(I*_),m[a+28>>2]=v(v(u*M)+v(p*R))+v(_*O),h[a+20>>2]=0,m[a+16>>2]=S,m[a+12>>2]=T,m[a+8>>2]=d,m[a+24>>2]=v(v(u*F)+v(p*E))+v(_*P),l=h[t+12>>2],h[a+80>>2]=h[t+8>>2],h[a+84>>2]=l,l=h[t>>2],t=h[t+4>>2],h[a+136>>2]=0,h[a+140>>2]=0,h[a+144>>2]=0,h[a+148>>2]=0,h[a+152>>2]=0,h[a+156>>2]=0,m[a+60>>2]=y,m[a- -64>>2]=g,h[a+68>>2]=0,h[a+72>>2]=l,h[a+76>>2]=t,h[a+128>>2]=0,h[a+132>>2]=0,o[a+124|0]=0,h[a+120>>2]=0,h[a+100>>2]=0,h[a+92>>2]=0,h[a+96>>2]=0,m[a+88>>2]=i,m[a+56>>2]=C,t=h[n+12>>2],h[a+48>>2]=h[n+8>>2],h[a+52>>2]=t,t=h[n+4>>2],h[a+40>>2]=h[n>>2],h[a+44>>2]=t,f?(n=e+20|0,l=e+16|0,f=e+24|0,t=e+28|0):(n=e+16|0,l=e+20|0,f=e+28|0,t=e+24|0),l=h[l>>2],n=h[n>>2],f=h[f>>2],t=h[t>>2],h[a+116>>2]=t,h[a+112>>2]=f,h[a+108>>2]=n,h[a+104>>2]=l,c=h[e+32>>2],b=(0|s)!=(0|b),v(r[h[h[c>>2]+12>>2]](c,a+8|0,h[(b?12:8)+e>>2],l,f,h[(b?8:12)+e>>2],n,t)),w=a+192|0},r[274]=jh,r[275]=Jh,r[276]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0);w=n=w-96|0,o=m[e+76>>2],a=m[e+36>>2],u=m[e+32>>2],p=m[e+80>>2],_=m[e+52>>2],b=m[e+44>>2],g=m[e+48>>2],d=m[e+84>>2],f=m[e+68>>2],T=m[e+60>>2],E=m[e- -64>>2],P=m[e+28>>2],s=m[t+8>>2],c=m[t>>2],l=m[t+4>>2],h[n+92>>2]=0,C=v(d+v(v(v(c*T)+v(l*E))+v(s*f))),m[n+88>>2]=C,A=v(p+v(v(v(c*b)+v(l*g))+v(s*_))),m[n+84>>2]=A,x=v(o+v(v(v(c*P)+v(l*u))+v(s*a))),m[n+80>>2]=x,s=m[t+20>>2],c=m[t+24>>2],l=m[t+16>>2],h[n+76>>2]=0,O=v(d+v(v(v(T*l)+v(E*s))+v(f*c))),m[n+72>>2]=O,M=v(p+v(v(v(b*l)+v(g*s))+v(_*c))),m[n+68>>2]=M,y=v(o+v(v(v(P*l)+v(u*s))+v(a*c))),m[n+64>>2]=y,s=m[t+36>>2],c=m[t+40>>2],l=m[t+32>>2],h[n+60>>2]=0,d=v(d+v(v(v(T*l)+v(E*s))+v(f*c))),m[n+56>>2]=d,p=v(p+v(v(v(b*l)+v(g*s))+v(_*c))),m[n+52>>2]=p,o=v(o+v(v(v(P*l)+v(u*s))+v(a*c))),m[n+48>>2]=o,h[n+44>>2]=0,_=v(v(v(C+O)+d)*v(.3333333432674408)),m[n+40>>2]=_,b=v(v(v(A+M)+p)*v(.3333333432674408)),m[n+36>>2]=b,g=v(v(v(x+y)+o)*v(.3333333432674408)),m[n+32>>2]=g,t=h[e+8>>2],16384&r[h[h[t>>2]+48>>2]](t)&&(a=m[n+80>>2],h[n+24>>2]=0,h[n+28>>2]=0,h[n+16>>2]=1065353216,h[n+20>>2]=1065353216,t=h[e+8>>2],h[n+12>>2]=0,u=v(y-a),p=v(p-A),f=v(M-A),a=v(o-a),x=o=v(v(u*p)-v(f*a)),y=v(o*o),d=v(d-C),o=v(f*d),f=v(O-C),o=v(o-v(f*p)),a=v(v(f*a)-v(u*d)),u=v(v(1)/v(S(v(y+v(v(o*o)+v(a*a)))))),m[n+8>>2]=v(x*u)+_,m[n+4>>2]=b+v(a*u),m[n>>2]=g+v(o*u),r[h[h[t>>2]+8>>2]](t,n+32|0,n,n+16|0)),i=h[e+8>>2],t=e+12|0,r[h[h[i>>2]+8>>2]](i,n+80|0,n- -64|0,t),i=h[e+8>>2],r[h[h[i>>2]+8>>2]](i,n- -64|0,n+48|0,t),e=h[e+8>>2],r[h[h[e>>2]+8>>2]](e,n+48|0,n+80|0,t),w=n+96|0},r[277]=function(e,t,n,i){t|=0,n|=0,i|=0,r[h[h[(e|=0)>>2]+8>>2]](e,t,n,i)},r[278]=function(e){return(e|=0)-4|0},r[279]=function(e){Se((e|=0)-4|0)},r[280]=function(e,t,n,i){t|=0,n|=0,i|=0,r[h[h[(e=(e|=0)-4|0)>>2]+8>>2]](e,t,n,i)},r[281]=Jh,r[282]=Ke,r[283]=function(e){var t=0,n=0;return h[(e|=0)>>2]=9708,d[e+8|0]&&(t=h[e+12>>2])&&(n=h[e+4>>2],r[h[h[n>>2]+16>>2]](n,t)),0|e},r[284]=function(e){var t=0,n=0;h[(e|=0)>>2]=9708,d[e+8|0]&&(t=h[e+12>>2])&&(n=h[e+4>>2],r[h[h[n>>2]+16>>2]](n,t)),Se(e)},r[285]=function(e,t,n,i,r){t|=0,n|=0,i|=0,r|=0;var o,a=0,s=0,c=0,l=0;w=o=w-160|0,(a=h[12+(e|=0)>>2])&&(s=d[e+16|0],l=h[(c=s?t:n)+4>>2],s=h[(t=s?n:t)+4>>2],h[r+4>>2]=a,m[12+(n=o+144|0)>>2]=m[a+752>>2],h[n+8>>2]=l,h[n+4>>2]=s,h[n>>2]=9648,h[o+136>>2]=1566444395,t=h[t+12>>2],a=h[t+12>>2],h[o+16>>2]=h[t+8>>2],h[o+20>>2]=a,a=h[t+4>>2],h[o+8>>2]=h[t>>2],h[o+12>>2]=a,a=h[t+28>>2],h[o+32>>2]=h[t+24>>2],h[o+36>>2]=a,a=h[t+20>>2],h[o+24>>2]=h[t+16>>2],h[o+28>>2]=a,a=h[t+44>>2],h[o+48>>2]=h[t+40>>2],h[o+52>>2]=a,a=h[t+36>>2],h[o+40>>2]=h[t+32>>2],h[o+44>>2]=a,s=h[t+60>>2],h[(a=o- -64|0)>>2]=h[t+56>>2],h[a+4>>2]=s,a=h[t+52>>2],h[o+56>>2]=h[t+48>>2],h[o+60>>2]=a,t=h[c+12>>2],a=h[t+12>>2],h[o+80>>2]=h[t+8>>2],h[o+84>>2]=a,a=h[t+4>>2],h[o+72>>2]=h[t>>2],h[o+76>>2]=a,a=h[t+20>>2],h[o+88>>2]=h[t+16>>2],h[o+92>>2]=a,a=h[t+28>>2],h[o+96>>2]=h[t+24>>2],h[o+100>>2]=a,a=h[t+36>>2],h[o+104>>2]=h[t+32>>2],h[o+108>>2]=a,a=h[t+44>>2],h[o+112>>2]=h[t+40>>2],h[o+116>>2]=a,a=h[t+52>>2],h[o+120>>2]=h[t+48>>2],h[o+124>>2]=a,a=h[t+60>>2],h[o+128>>2]=h[t+56>>2],h[o+132>>2]=a,Ke(n,o+8|0,r,h[i+20>>2],d[e+16|0]),d[e+8|0]&&(e=h[r+4>>2],h[e+748>>2]&&((0|(t=h[e+740>>2]))==(0|(n=h[h[r+8>>2]+8>>2]))?ut(e,t+4|0,h[h[r+12>>2]+8>>2]+4|0):ut(e,h[h[r+12>>2]+8>>2]+4|0,n+4|0)))),w=o+160|0},r[286]=uh,r[287]=Mr,r[288]=jh,r[289]=Jh,r[290]=function(e,t,n,i){var a,s,c;return e|=0,n|=0,i|=0,n=h[(t|=0)>>2],n=0|r[h[h[n>>2]+56>>2]](n,36),i=h[e+12>>2],a=h[e+8>>2],s=h[t+4>>2],c=h[e+20>>2],e=h[e+16>>2],h[n>>2]=17764,h[n+4>>2]=h[t>>2],h[n>>2]=5076,h[n+28>>2]=e,h[n+32>>2]=c,o[n+24|0]=0,h[n+20>>2]=s,o[n+16|0]=0,h[n+12>>2]=a,h[n+8>>2]=i,h[n>>2]=9808,0|n},r[291]=function(e){var t=0,n=0;return h[(e|=0)>>2]=9808,d[e+16|0]&&(t=h[e+20>>2])&&(n=h[e+4>>2],r[h[h[n>>2]+16>>2]](n,t)),0|e},r[292]=function(e){var t=0,n=0;h[(e|=0)>>2]=9808,d[e+16|0]&&(t=h[e+20>>2])&&(n=h[e+4>>2],r[h[h[n>>2]+16>>2]](n,t)),Se(e)},r[293]=function(e,t,n,i,a){e|=0,t|=0,n|=0,i|=0,a|=0;var s,c=0,l=0,u=v(0),p=v(0),f=v(0),_=v(0),b=0,g=0,A=v(0),x=v(0),T=0,E=v(0),P=v(0),O=0,M=v(0),R=v(0),I=0,D=v(0),L=v(0),N=v(0),F=v(0),B=0,k=0,V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=0,X=v(0),Y=v(0),Q=v(0),K=0,Z=v(0),q=v(0),J=v(0),$=v(0),ee=v(0),te=0,ne=v(0),ie=v(0),re=v(0),oe=v(0),ae=v(0);w=s=w-544|0,(l=h[e+20>>2])||(c=h[e+4>>2],l=0|r[h[h[c>>2]+12>>2]](c,h[t+8>>2],h[n+8>>2]),o[e+16|0]=1,h[e+20>>2]=l),h[a+4>>2]=l,b=h[t+4>>2],g=h[n+4>>2];e:if(10!=h[b+4>>2]|10!=h[g+4>>2]){if(h[s+536>>2]=1566444395,H=Po(s+328|0,b,g,h[e+8>>2],h[e+12>>2]),h[H+32>>2]=g,h[H+28>>2]=b,u=v(v(v(r[h[h[b>>2]+48>>2]](b))+v(r[h[h[g>>2]+48>>2]](g)))+m[h[e+20>>2]+752>>2]),m[s+536>>2]=u*u,c=h[t+12>>2],l=h[c+12>>2],h[s+416>>2]=h[c+8>>2],h[s+420>>2]=l,l=h[c+4>>2],h[s+408>>2]=h[c>>2],h[s+412>>2]=l,l=h[c+28>>2],h[s+432>>2]=h[c+24>>2],h[s+436>>2]=l,l=h[c+20>>2],h[s+424>>2]=h[c+16>>2],h[s+428>>2]=l,l=h[c+44>>2],h[s+448>>2]=h[c+40>>2],h[s+452>>2]=l,l=h[c+36>>2],h[s+440>>2]=h[c+32>>2],h[s+444>>2]=l,l=h[c+60>>2],h[s+464>>2]=h[c+56>>2],h[s+468>>2]=l,l=h[c+52>>2],h[s+456>>2]=h[c+48>>2],h[s+460>>2]=l,c=h[n+12>>2],l=h[c+12>>2],h[s+480>>2]=h[c+8>>2],h[s+484>>2]=l,l=h[c+4>>2],h[s+472>>2]=h[c>>2],h[s+476>>2]=l,T=h[c+20>>2],h[(l=O=s+488|0)>>2]=h[c+16>>2],h[l+4>>2]=T,l=h[c+28>>2],h[s+496>>2]=h[c+24>>2],h[s+500>>2]=l,I=h[c+36>>2],h[(l=T=s+504|0)>>2]=h[c+32>>2],h[l+4>>2]=I,l=h[c+44>>2],h[s+512>>2]=h[c+40>>2],h[s+516>>2]=l,k=h[c+52>>2],h[(l=I=s+520|0)>>2]=h[c+48>>2],h[l+4>>2]=k,l=h[c+60>>2],h[s+528>>2]=h[c+56>>2],h[s+532>>2]=l,!((0|(l=h[b+4>>2]))>6)&&!((0|(c=h[g+4>>2]))>6)&&(h[s+320>>2]=9928,u=v(0),l&&(u=v(r[h[h[b>>2]+48>>2]](b)),c=h[g+4>>2]),c&&(p=v(r[h[h[g>>2]+48>>2]](g))),o[s+36|0]=0,m[s+28>>2]=p,m[s+24>>2]=u,h[s+4>>2]=a,h[s>>2]=10104,h[b+52>>2])){if(h[g+52>>2]){p=m[h[e+20>>2]+752>>2];t:{n:{if(d[i+24|0]){if(u=v(-1.0000000150474662e30),W(h[b+52>>2],h[g+52>>2],h[t+12>>2],h[n+12>>2],s+240|0,a))break n;break t}if(hh(H,s+408|0,s,h[i+20>>2]),i=h[s+20>>2],h[s+248>>2]=h[s+16>>2],h[s+252>>2]=i,i=h[s+12>>2],h[s+240>>2]=h[s+8>>2],h[s+244>>2]=i,u=m[s+32>>2],!d[s+36|0]|u>2],h[g+52>>2],h[t+12>>2],h[n+12>>2],v(u-p),p,a)}if(!d[e+16|0])break e;if(e=h[a+4>>2],!h[e+748>>2])break e;if((0|(t=h[e+740>>2]))!=(0|(n=h[h[a+8>>2]+8>>2]))){ut(e,h[h[a+12>>2]+8>>2]+4|0,n+4|0);break e}ut(e,t+4|0,h[h[a+12>>2]+8>>2]+4|0);break e}if(1==h[g+4>>2]){if(h[s+244>>2]=0,c=h[n+12>>2],_=m[c+52>>2],A=m[c+20>>2],P=m[c+24>>2],M=m[c+56>>2],D=m[c+36>>2],R=m[c+40>>2],u=m[g- -64>>2],p=m[g+56>>2],f=m[g+60>>2],G=m[c+16>>2],F=m[c+32>>2],E=m[c+48>>2],x=m[c+8>>2],N=m[c>>2],U=m[c+4>>2],h[7717]=h[7717]+1,c=0|r[h[6606]](16,16),h[s+252>>2]=c,o[s+256|0]=1,h[s+248>>2]=1,h[c+12>>2]=0,m[c>>2]=E+v(v(v(p*N)+v(f*U))+v(u*x)),m[c+8>>2]=M+v(v(v(p*F)+v(f*D))+v(u*R)),m[c+4>>2]=_+v(v(v(p*G)+v(f*A))+v(u*P)),c=h[s+244>>2]+1|0,h[s+244>>2]=c,u=m[g+72>>2],l=h[n+12>>2],p=m[g+76>>2],f=m[g+80>>2],_=v(v(v(v(u*m[l+32>>2])+v(p*m[l+36>>2]))+v(f*m[l+40>>2]))+m[l+56>>2]),A=v(v(v(v(u*m[l+16>>2])+v(p*m[l+20>>2]))+v(f*m[l+24>>2]))+m[l+52>>2]),u=v(v(v(v(u*m[l>>2])+v(p*m[l+4>>2]))+v(f*m[l+8>>2]))+m[l+48>>2]),h[s+248>>2]==(0|c)&&!((0|c)>=(0|(O=c?c<<1:1)))){if(l=0,O&&(h[7717]=h[7717]+1,B=0|r[h[6606]](O<<4,16),c=h[s+244>>2]),(0|c)>=1)for(;I=(T=l<<4)+B|0,T=T+h[s+252>>2]|0,K=h[T+4>>2],h[I>>2]=h[T>>2],h[I+4>>2]=K,k=h[T+12>>2],h[I+8>>2]=h[T+8>>2],h[I+12>>2]=k,(0|(l=l+1|0))!=(0|c););(c=h[s+252>>2])&&(d[s+256|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c)),h[s+252>>2]=0),h[s+252>>2]=B,o[s+256|0]=1,h[s+248>>2]=O,c=h[s+244>>2]}if(c=h[s+252>>2]+(c<<4)|0,h[c+12>>2]=0,m[c+8>>2]=_,m[c+4>>2]=A,m[c>>2]=u,c=h[s+244>>2]+1|0,h[s+244>>2]=c,u=m[g+88>>2],n=h[n+12>>2],p=m[g+92>>2],f=m[g+96>>2],_=v(v(v(v(u*m[n>>2])+v(p*m[n+4>>2]))+v(f*m[n+8>>2]))+m[n+48>>2]),A=v(v(v(v(u*m[n+32>>2])+v(p*m[n+36>>2]))+v(f*m[n+40>>2]))+m[n+56>>2]),u=v(v(v(v(u*m[n+16>>2])+v(p*m[n+20>>2]))+v(f*m[n+24>>2]))+m[n+52>>2]),h[s+248>>2]==(0|c)&&!((0|c)>=(0|(n=c?c<<1:1)))){if(l=0,B=0,n&&(h[7717]=h[7717]+1,B=0|r[h[6606]](n<<4,16),c=h[s+244>>2]),(0|c)>=1)for(;T=(O=l<<4)+B|0,O=O+h[s+252>>2]|0,k=h[O+4>>2],h[T>>2]=h[O>>2],h[T+4>>2]=k,I=h[O+12>>2],h[T+8>>2]=h[O+8>>2],h[T+12>>2]=I,(0|(l=l+1|0))!=(0|c););(c=h[s+252>>2])&&(d[s+256|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c)),h[s+252>>2]=0),h[s+252>>2]=B,o[s+256|0]=1,h[s+248>>2]=n,c=h[s+244>>2]}if(n=h[s+252>>2]+(c<<4)|0,h[n+12>>2]=0,m[n+8>>2]=A,m[n+4>>2]=u,m[n>>2]=_,h[s+244>>2]=h[s+244>>2]+1,u=m[h[e+20>>2]+752>>2],hh(H,s+408|0,s+320|0,h[i+20>>2]),p=m[H+4>>2],f=m[H+8>>2],_=m[H+12>>2],(A=v(v(v(p*p)+v(f*f))+v(_*_)))>v(1.1920928955078125e-7)&&(h[s+316>>2]=0,x=_,_=v(v(1)/A),m[s+312>>2]=x*_,m[s+308>>2]=f*_,m[s+304>>2]=p*_,p=m[H+56>>2],f=v(r[h[h[b>>2]+48>>2]](b)),_=v(r[h[h[g>>2]+48>>2]](g)),Ce(s+304|0,h[b+52>>2],h[t+12>>2],s+240|0,v(v(v(p-f)-_)-u),u,a)),d[e+16|0]&&(e=h[a+4>>2],h[e+748>>2]&&((0|(t=h[e+740>>2]))==(0|(n=h[h[a+8>>2]+8>>2]))?ut(e,t+4|0,h[h[a+12>>2]+8>>2]+4|0):ut(e,h[h[a+12>>2]+8>>2]+4|0,n+4|0))),!(e=h[s+252>>2]))break e;d[s+256|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[s+252>>2]=0;break e}}if(hh(H,s+408|0,a,h[i+20>>2]),!(!h[e+28>>2]|h[h[a+4>>2]+748>>2]>=h[e+32>>2])&&(u=m[H+4>>2],p=m[H+8>>2],_=m[H+12>>2],(A=v(v(v(u*u)+v(p*p))+v(_*_)))>v(1.1920928955078125e-7)&&(B=s+472|0,k=s+456|0,K=s+440|0,te=s+424|0,x=p,p=v(v(1)/A),A=v(x*p),G=v(u*p),F=v(_*p),v(y(F))>v(.7071067690849304)?(u=v(v(1)/v(S(v(v(F*F)+v(A*A))))),p=v(A*u),u=v(u*v(-F))):(p=v(v(1)/v(S(v(v(G*G)+v(A*A))))),u=v(G*p),f=v(p*v(-A)),p=v(0)),_=v(r[h[h[b>>2]+16>>2]](b)),P=v(r[h[h[g>>2]+16>>2]](g)),M=m[6601],b=h[(c=(g=_>2],h[s+248>>2]=h[c+8>>2],h[s+252>>2]=b,b=h[c+4>>2],h[s+240>>2]=h[c>>2],h[s+244>>2]=b,b=h[(c=g?te:O)+12>>2],h[s+264>>2]=h[c+8>>2],h[s+268>>2]=b,b=h[c+4>>2],h[s+256>>2]=h[c>>2],h[s+260>>2]=b,b=h[(c=g?K:T)+12>>2],h[s+280>>2]=h[c+8>>2],h[s+284>>2]=b,b=h[c+4>>2],h[s+272>>2]=h[c>>2],h[s+276>>2]=b,b=h[(c=g?k:I)+12>>2],h[s+296>>2]=h[c+8>>2],h[s+300>>2]=b,b=h[c+4>>2],h[s+288>>2]=h[c>>2],h[s+292>>2]=b,!((0|(l=h[e+28>>2]))<1))))for(x=p,_=v(v(C(v(M/(g?_:P)),v(.39269909262657166)))*v(.5)),oe=v(v(v(f*f)+v(u*u))+v(p*p)),p=v(wi(_)/v(S(oe))),P=v(x*p),M=v(u*p),D=v(f*p),ae=v(S(v(v(F*F)+v(v(G*G)+v(A*A))))),R=Ri(_),b=0;oe>v(1.1920928955078125e-7)&&(_=v(v(v(v(6.2831854820251465)/v(0|l))*v(0|b))*v(.5)),f=v(wi(_)/ae),u=v(F*f),p=v(A*f),f=v(G*f),_=Ri(_),g?(c=h[t+12>>2],N=m[c+36>>2],U=m[c+20>>2],X=m[c+40>>2],Y=m[c+24>>2],Q=m[c+32>>2],q=m[c>>2],J=m[c+16>>2],$=m[c+4>>2],ee=m[c+8>>2],h[s+452>>2]=0,h[s+436>>2]=0,h[s+420>>2]=0,L=v(v(P*f)+v(v(v(M*_)-v(R*p))-v(D*u))),V=v(v(P*u)+v(v(M*p)+v(v(R*_)+v(D*f)))),z=v(v(M*u)+v(v(v(D*_)-v(R*f))-v(P*p))),j=v(v(D*p)+v(v(v(P*_)-v(R*u))-v(M*f))),E=v(v(v(u*L)+v(v(f*V)+v(_*z)))-v(p*j)),x=v(v(v(v(_*V)-v(f*z))-v(p*L))-v(u*j)),ne=v(v(v(p*z)+v(v(u*V)+v(_*j)))-v(f*L)),u=v(v(v(f*j)+v(v(_*L)+v(p*V)))-v(u*z)),p=v(v(2)/v(v(x*x)+v(v(ne*ne)+v(v(E*E)+v(u*u))))),f=v(ne*p),V=v(E*f),_=v(u*p),z=v(x*_),L=v(V-z),j=v(u*f),Z=v(E*p),ie=v(x*Z),p=v(j+ie),Z=v(E*Z),re=v(u*_),u=v(v(1)-v(Z+re)),m[s+448>>2]=v(v(ee*L)+v(Y*p))+v(X*u),m[s+444>>2]=v(v(L*$)+v(p*U))+v(u*N),m[s+440>>2]=v(v(L*q)+v(p*J))+v(u*Q),_=v(E*_),E=v(x*f),u=v(_+E),x=v(ne*f),p=v(v(1)-v(Z+x)),f=v(j-ie),m[s+432>>2]=v(v(ee*u)+v(Y*p))+v(X*f),m[s+428>>2]=v(v(u*$)+v(p*U))+v(f*N),m[s+424>>2]=v(v(u*q)+v(p*J))+v(f*Q),u=v(v(1)-v(re+x)),p=v(_-E),f=v(V+z),m[s+416>>2]=v(v(ee*u)+v(Y*p))+v(X*f),m[s+412>>2]=v(v(u*$)+v(p*U))+v(f*N),m[s+408>>2]=v(v(u*q)+v(p*J))+v(f*Q),c=h[n+12>>2],l=h[c+4>>2],h[B>>2]=h[c>>2],h[B+4>>2]=l,l=h[c+12>>2],h[B+8>>2]=h[c+8>>2],h[B+12>>2]=l,l=h[c+28>>2],h[O+8>>2]=h[c+24>>2],h[O+12>>2]=l,l=h[c+20>>2],h[O>>2]=h[c+16>>2],h[O+4>>2]=l,l=h[c+44>>2],h[T+8>>2]=h[c+40>>2],h[T+12>>2]=l,l=h[c+36>>2],h[T>>2]=h[c+32>>2],h[T+4>>2]=l,l=h[c+60>>2],h[I+8>>2]=h[c+56>>2],h[I+12>>2]=l,l=h[c+52>>2],h[I>>2]=h[c+48>>2],h[I+4>>2]=l):(c=h[t+12>>2],l=h[c+12>>2],h[s+416>>2]=h[c+8>>2],h[s+420>>2]=l,l=h[c+4>>2],h[s+408>>2]=h[c>>2],h[s+412>>2]=l,l=h[c+28>>2],h[te+8>>2]=h[c+24>>2],h[te+12>>2]=l,l=h[c+20>>2],h[te>>2]=h[c+16>>2],h[te+4>>2]=l,l=h[c+44>>2],h[K+8>>2]=h[c+40>>2],h[K+12>>2]=l,l=h[c+36>>2],h[K>>2]=h[c+32>>2],h[K+4>>2]=l,l=h[c+60>>2],h[k+8>>2]=h[c+56>>2],h[k+12>>2]=l,l=h[c+52>>2],h[k>>2]=h[c+48>>2],h[k+4>>2]=l,c=h[n+12>>2],N=m[c+36>>2],U=m[c+20>>2],X=m[c+40>>2],Y=m[c+24>>2],Q=m[c+32>>2],q=m[c>>2],J=m[c+16>>2],$=m[c+4>>2],ee=m[c+8>>2],h[s+516>>2]=0,h[s+500>>2]=0,h[s+484>>2]=0,L=v(v(P*f)+v(v(v(M*_)-v(R*p))-v(D*u))),V=v(v(P*u)+v(v(M*p)+v(v(R*_)+v(D*f)))),z=v(v(M*u)+v(v(v(D*_)-v(R*f))-v(P*p))),j=v(v(D*p)+v(v(v(P*_)-v(R*u))-v(M*f))),E=v(v(v(u*L)+v(v(f*V)+v(_*z)))-v(p*j)),x=v(v(v(v(_*V)-v(f*z))-v(p*L))-v(u*j)),ne=v(v(v(p*z)+v(v(u*V)+v(_*j)))-v(f*L)),u=v(v(v(f*j)+v(v(_*L)+v(p*V)))-v(u*z)),p=v(v(2)/v(v(x*x)+v(v(ne*ne)+v(v(E*E)+v(u*u))))),f=v(ne*p),V=v(E*f),_=v(u*p),z=v(x*_),L=v(V-z),j=v(u*f),Z=v(E*p),ie=v(x*Z),p=v(j+ie),Z=v(E*Z),re=v(u*_),u=v(v(1)-v(Z+re)),m[s+512>>2]=v(v(ee*L)+v(Y*p))+v(X*u),m[s+508>>2]=v(v(L*$)+v(p*U))+v(u*N),m[s+504>>2]=v(v(L*q)+v(p*J))+v(u*Q),_=v(E*_),E=v(x*f),u=v(_+E),x=v(ne*f),p=v(v(1)-v(Z+x)),f=v(j-ie),m[s+496>>2]=v(v(ee*u)+v(Y*p))+v(X*f),m[s+492>>2]=v(v(u*$)+v(p*U))+v(f*N),m[s+488>>2]=v(v(u*q)+v(p*J))+v(f*Q),u=v(v(1)-v(re+x)),p=v(_-E),f=v(V+z),m[s+480>>2]=v(v(ee*u)+v(Y*p))+v(X*f),m[s+476>>2]=v(v(u*$)+v(p*U))+v(f*N),m[s+472>>2]=v(v(u*q)+v(p*J))+v(f*Q)),c=h[i+20>>2],h[s+32>>2]=a,h[s>>2]=10288,l=h[s+420>>2],h[s+44>>2]=h[s+416>>2],h[s+48>>2]=l,l=h[s+412>>2],h[s+36>>2]=h[s+408>>2],h[s+40>>2]=l,l=h[te+12>>2],h[s+60>>2]=h[te+8>>2],h[s+64>>2]=l,l=h[te+4>>2],h[s+52>>2]=h[te>>2],h[s+56>>2]=l,l=h[K+12>>2],h[s+76>>2]=h[K+8>>2],h[s+80>>2]=l,l=h[K+4>>2],h[s+68>>2]=h[K>>2],h[s+72>>2]=l,l=h[k+12>>2],h[s+92>>2]=h[k+8>>2],h[s+96>>2]=l,l=h[k+4>>2],h[s+84>>2]=h[k>>2],h[s+88>>2]=l,l=h[B+12>>2],h[s+108>>2]=h[B+8>>2],h[s+112>>2]=l,l=h[B+4>>2],h[s+100>>2]=h[B>>2],h[s+104>>2]=l,l=h[O+12>>2],h[s+124>>2]=h[O+8>>2],h[s+128>>2]=l,l=h[O+4>>2],h[s+116>>2]=h[O>>2],h[s+120>>2]=l,l=h[T+12>>2],h[s+140>>2]=h[T+8>>2],h[s+144>>2]=l,l=h[T+4>>2],h[s+132>>2]=h[T>>2],h[s+136>>2]=l,l=h[I+12>>2],h[s+156>>2]=h[I+8>>2],h[s+160>>2]=l,l=h[I+4>>2],h[s+148>>2]=h[I>>2],h[s+152>>2]=l,l=h[s+252>>2],h[s+172>>2]=h[s+248>>2],h[s+176>>2]=l,l=h[s+244>>2],h[s+164>>2]=h[s+240>>2],h[s+168>>2]=l,l=h[s+268>>2],h[s+188>>2]=h[s+264>>2],h[s+192>>2]=l,l=h[s+260>>2],h[s+180>>2]=h[s+256>>2],h[s+184>>2]=l,l=h[s+284>>2],h[s+204>>2]=h[s+280>>2],h[s+208>>2]=l,l=h[s+276>>2],h[s+196>>2]=h[s+272>>2],h[s+200>>2]=l,l=h[s+292>>2],h[s+212>>2]=h[s+288>>2],h[s+216>>2]=l,l=h[s+300>>2],h[s+220>>2]=h[s+296>>2],h[s+224>>2]=l,h[s+232>>2]=c,o[s+228|0]=g,hh(H,s+408|0,s,c),l=h[e+28>>2]),(0|(b=b+1|0))<(0|l););d[e+16|0]&&(e=h[a+4>>2],h[e+748>>2]&&((0|(t=h[e+740>>2]))==(0|(n=h[h[a+8>>2]+8>>2]))?ut(e,t+4|0,h[h[a+12>>2]+8>>2]+4|0):ut(e,h[h[a+12>>2]+8>>2]+4|0,n+4|0)))}else{E=m[l+752>>2],e=h[n+12>>2],i=h[g+52>>2],x=m[(n=e+(c=i<<2)|0)>>2],q=m[e+48>>2],t=h[t+12>>2],N=v(q-m[t+48>>2]),U=m[n+16>>2],J=m[e+52>>2],X=v(J-m[t+52>>2]),Y=m[n+32>>2],$=m[e+56>>2],Q=v($-m[t+56>>2]),_=v(v(v(x*N)+v(U*X))+v(Y*Q)),e=t,t=h[b+52>>2],D=m[(e=e+(n=t<<2)|0)>>2],P=m[e+16>>2],M=m[e+32>>2],F=v(v(v(D*N)+v(P*X))+v(M*Q)),f=m[(e=g+28|0)+c>>2],A=m[(l=n)+(n=b+28|0)>>2],G=m[e+((i+2|0)%3<<2)>>2],ee=m[n+((t+2|0)%3<<2)>>2],R=v(v(v(D*x)+v(P*U))+v(M*Y)),(u=v(v(1)-v(R*R)))!=v(0)&&((u=v(v(F-v(R*_))/u))<(p=v(-A))||(p=u,u>A&&(p=A)));t:{if((u=v(v(R*p)-_))<(_=v(-f))){if((f=v(F-v(f*R)))<(p=v(-A))){u=_;break t}if(!(f>A)){u=_,p=f;break t}u=_}else{if(!(u>f))break t;if((_=v(v(f*R)+F))<(p=v(-A))){u=f;break t}if(!(_>A)){u=f,p=_;break t}u=f}p=A}if(R=v(Y*u),f=v(R+v(Q-v(M*p))),F=v(x*u),_=v(F+v(N-v(D*p))),x=v(U*u),u=v(x+v(X-v(P*p))),p=v(v(f*f)+v(v(_*_)+v(u*u))),N=v(S(p)),!((A=v(v(N-ee)-G))>E)){t:if(p<=v(14210854715202004e-30)){if(v(y(M))>v(.7071067690849304)){h[s>>2]=0,u=v(v(1)/v(S(v(v(P*P)+v(M*M))))),f=v(P*u),m[s+8>>2]=f,u=v(u*v(-M)),m[s+4>>2]=u,p=v(0);break t}h[s+8>>2]=0,p=v(v(1)/v(S(v(v(D*D)+v(P*P))))),u=v(D*p),m[s+4>>2]=u,p=v(p*v(-P)),m[s>>2]=p,f=v(0)}else h[s+12>>2]=0,p=v(v(-1)/N),f=v(f*p),m[s+8>>2]=f,u=v(u*p),m[s+4>>2]=u,p=v(_*p),m[s>>2]=p;h[s+420>>2]=0,m[s+416>>2]=v($+R)+v(G*f),m[s+412>>2]=v(J+x)+v(G*u),m[s+408>>2]=v(q+F)+v(G*p)}if(A>2]+16>>2]](a,s,s+408|0,A),e=h[a+4>>2],!h[e+748>>2])break e;if((0|(t=h[e+740>>2]))!=(0|(n=h[h[a+8>>2]+8>>2]))){ut(e,h[h[a+12>>2]+8>>2]+4|0,n+4|0);break e}ut(e,t+4|0,h[h[a+12>>2]+8>>2]+4|0)}w=s+544|0},r[294]=function(e,t,n,i,r){e|=0,t|=0,n|=0,i|=0,r|=0;var a=v(0),s=v(0),c=v(0),l=0,u=0,p=0,f=0,_=0;return w=e=w-608|0,s=v(m[t+116>>2]-m[t+52>>2]),a=v(s*s),s=v(m[t+120>>2]-m[t+56>>2]),a=v(a+v(s*s)),s=v(m[t+124>>2]-m[t+60>>2]),a=v(a+v(s*s)),s=m[t+252>>2],a>2]-m[n+52>>2]),c=v(a*a),a=v(m[n+120>>2]-m[n+56>>2]),c=v(c+v(a*a)),a=v(m[n+124>>2]-m[n+60>>2]),c=v(c+v(a*a)),a=m[n+252>>2],c>2],r=h[n+248>>2],h[4+(i=e+552|0)>>2]=35,h[i+8>>2]=0,h[i>>2]=13316,h[i+44>>2]=1025758986,h[i+20>>2]=1065353216,h[i+24>>2]=0,h[i+12>>2]=1065353216,h[i+16>>2]=1065353216,h[i>>2]=13444,h[e+596>>2]=r,h[e+580>>2]=r,h[e+556>>2]=8,h[e+552>>2]=11556,h[e+548>>2]=0,h[e+540>>2]=1566444395,h[e+544>>2]=0,h[e+376>>2]=6896,o[e+348|0]=0,h[e+324>>2]=953267991,h[e+12>>2]=e+552,h[e+8>>2]=l,h[e+4>>2]=e+16,h[e>>2]=7148,l=t+4|0,u=t+68|0,p=n+4|0,f=n+68|0,s=v(1),we(e,l,u,p,f,e+376|0)&&(a=m[e+540>>2],m[t+244>>2]>a&&(m[t+244>>2]=a),m[n+244>>2]>a&&(m[n+244>>2]=a),s=v(1),a>2],r=h[t+248>>2],h[4+(i=e+552|0)>>2]=35,h[i+8>>2]=0,h[i>>2]=13316,h[i+44>>2]=1025758986,h[i+20>>2]=1065353216,h[i+24>>2]=0,h[i+12>>2]=1065353216,h[i+16>>2]=1065353216,h[i>>2]=13444,h[e+596>>2]=r,h[e+580>>2]=r,h[e+556>>2]=8,h[e+552>>2]=11556,h[e+548>>2]=0,h[e+540>>2]=1566444395,h[e+544>>2]=0,h[e+376>>2]=6896,o[e+348|0]=0,h[e+324>>2]=953267991,h[e+12>>2]=_,h[e+8>>2]=e+552,h[e+4>>2]=e+16,h[e>>2]=7148,we(e,l,u,p,f,e+376|0)&&(a=m[e+540>>2],m[t+244>>2]>a&&(m[t+244>>2]=a),m[n+244>>2]>a&&(m[n+244>>2]=a),s>a&&(s=a)))),w=e+608|0,v(s)},r[295]=function(e,t){t|=0;var n=0,i=0,a=0,s=0,c=0;if(!(!(n=h[20+(e|=0)>>2])|!d[e+16|0])){if((0|(i=h[t+4>>2]))==h[t+8>>2]&&!((0|i)>=(0|(a=i?i<<1:1)))){if(a&&(h[7717]=h[7717]+1,s=0|r[h[6606]](a<<2,16),i=h[t+4>>2]),(0|i)>=1)for(n=0;h[(c=n<<2)+s>>2]=h[h[t+12>>2]+c>>2],(0|(n=n+1|0))!=(0|i););(n=h[t+12>>2])&&(d[t+16|0]&&(n&&(h[7718]=h[7718]+1,r[h[6607]](n)),i=h[t+4>>2]),h[t+12>>2]=0),h[t+12>>2]=s,o[t+16|0]=1,h[t+8>>2]=a,n=h[e+20>>2]}h[h[t+12>>2]+(i<<2)>>2]=n,h[t+4>>2]=i+1}},r[296]=Jh,r[297]=Vh,r[298]=Vh,r[299]=xh,r[300]=Jh,r[301]=Vh,r[302]=Vh,r[303]=function(e,t,n,i){e|=0,t|=0,n|=0,i=v(i);var a,s=v(0),c=0,l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0);w=a=w-16|0,m[e+32>>2]=i,c=h[t+4>>2],h[e+8>>2]=h[t>>2],h[e+12>>2]=c,c=h[t+12>>2],h[e+16>>2]=h[t+8>>2],h[e+20>>2]=c,l=m[t+8>>2],u=m[n>>2],p=m[t>>2],d=m[n+4>>2],f=m[t+4>>2],_=m[n+8>>2],s=m[e+28>>2],h[a+12>>2]=0,m[a+8>>2]=_-v(s*l),m[a+4>>2]=d-v(s*f),m[a>>2]=u-v(p*s),i=v(v(s+m[e+24>>2])+i),m[e+32>>2]=i,i>2],r[h[h[e>>2]+16>>2]](e,t,a,i),w=a+16|0},r[304]=Jh,r[305]=function(e,t,n,i){e|=0,t|=0,n|=0,i=v(i);var o,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0);w=o=w-16|0,D=m[t+8>>2],R=m[n+8>>2],f=v(v(D*i)+R),L=m[t+4>>2],I=m[n+4>>2],N=v(v(L*i)+I),F=m[t>>2],a=v(F*i),i=m[n>>2],B=v(a+i),d[e+228|0]?(y=m[e+52>>2],_=v(-m[e+88>>2]),C=m[e+36>>2],p=m[e+84>>2],u=m[e+68>>2],a=m[e+92>>2],T=v(v(v(y*_)-v(C*p))-v(u*a)),s=m[e+196>>2],A=m[e+56>>2],x=m[e+40>>2],b=m[e+72>>2],O=v(v(v(A*_)-v(x*p))-v(b*a)),c=m[e+200>>2],S=m[e+60>>2],l=v(S*_),_=m[e+44>>2],l=v(l-v(_*p)),p=m[e+76>>2],E=v(l-v(p*a)),a=m[e+204>>2],l=v(v(v(v(v(T*s)+v(O*c))+v(E*a))+m[e+220>>2])+v(v(f*v(v(v(u*s)+v(b*c))+v(p*a)))+v(v(B*v(v(v(C*s)+v(x*c))+v(_*a)))+v(N*v(v(v(y*s)+v(A*c))+v(S*a)))))),s=m[e+164>>2],c=m[e+168>>2],a=m[e+172>>2],s=v(v(v(f*v(v(v(u*s)+v(b*c))+v(p*a)))+v(v(B*v(v(v(C*s)+v(x*c))+v(_*a)))+v(N*v(v(v(y*s)+v(A*c))+v(S*a)))))+v(v(v(v(s*T)+v(O*c))+v(E*a))+m[e+212>>2])),c=v(F*v(s-i)),a=f,i=m[e+180>>2],f=m[e+184>>2],b=v(v(u*i)+v(b*f)),u=m[e+188>>2],f=v(v(v(a*v(b+v(p*u)))+v(v(B*v(v(v(C*i)+v(x*f))+v(_*u)))+v(N*v(v(v(y*i)+v(A*f))+v(S*u)))))+v(v(v(v(T*i)+v(O*f))+v(E*u))+m[e+216>>2])),i=v(v(c+v(L*v(f-I)))+v(D*v(l-R))),m[o+8>>2]=l+v(D*i),m[o+4>>2]=f+v(L*i),m[o>>2]=s+v(F*i)):(z=m[e+220>>2],y=m[e+204>>2],C=m[e+196>>2],u=m[e+200>>2],j=m[e+212>>2],s=m[e+168>>2],A=m[e+172>>2],x=m[e+164>>2],b=m[e+116>>2],l=v(-m[e+152>>2]),c=m[e+100>>2],P=m[e+148>>2],S=m[e+132>>2],M=m[e+156>>2],_=v(v(v(b*l)-v(c*P))-v(S*M)),p=m[e+120>>2],a=m[e+104>>2],T=m[e+136>>2],O=v(v(v(p*l)-v(a*P))-v(T*M)),E=m[e+124>>2],g=v(E*l),l=m[e+108>>2],g=v(g-v(l*P)),P=m[e+140>>2],M=v(g-v(P*M)),g=m[e+180>>2],k=m[e+184>>2],V=m[e+188>>2],g=v(v(v(R*v(v(v(S*g)+v(T*k))+v(P*V)))+v(v(i*v(v(v(c*g)+v(a*k))+v(l*V)))+v(I*v(v(v(b*g)+v(p*k))+v(E*V)))))+v(v(v(v(_*g)+v(O*k))+v(M*V))+m[e+216>>2])),m[o+4>>2]=g,s=v(v(v(R*v(v(v(S*x)+v(T*s))+v(P*A)))+v(v(i*v(v(v(c*x)+v(a*s))+v(l*A)))+v(I*v(v(v(b*x)+v(p*s))+v(E*A)))))+v(j+v(v(v(x*_)+v(O*s))+v(M*A)))),m[o>>2]=s,i=v(v(z+v(v(v(_*C)+v(O*u))+v(M*y)))+v(v(R*v(v(v(S*C)+v(T*u))+v(P*y)))+v(v(i*v(v(v(c*C)+v(a*u))+v(l*y)))+v(I*v(v(v(b*C)+v(p*u))+v(E*y)))))),m[o+8>>2]=i,i=v(v(v(F*v(B-s))+v(L*v(N-g)))+v(D*v(f-i)))),h[o+12>>2]=0,e=h[e+32>>2],r[h[h[e>>2]+16>>2]](e,t,o,i),w=o+16|0},r[306]=function(e){var t,n=0,i=0,a=0;if(h[(e|=0)>>2]=10356,(0|(t=h[e+12>>2]))>=1)for(;(i=h[(a=n<<2)+h[e+20>>2]>>2])&&(r[h[h[i>>2]>>2]](i),i=h[e+4>>2],r[h[h[i>>2]+60>>2]](i,h[h[e+20>>2]+a>>2])),(0|t)!=(0|(n=n+1|0)););return(n=h[e+20>>2])&&(d[e+24|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+20>>2]=0),h[e+20>>2]=0,h[e+12>>2]=0,h[e+16>>2]=0,o[e+24|0]=1,0|e},r[307]=function(e){var t,n=0,i=0,a=0;if(h[(e|=0)>>2]=10356,(0|(t=h[e+12>>2]))>=1)for(;(i=h[(a=n<<2)+h[e+20>>2]>>2])&&(r[h[h[i>>2]>>2]](i),i=h[e+4>>2],r[h[h[i>>2]+60>>2]](i,h[h[e+20>>2]+a>>2])),(0|t)!=(0|(n=n+1|0)););(n=h[e+20>>2])&&(d[e+24|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+20>>2]=0),h[e+20>>2]=0,h[e+12>>2]=0,h[e+16>>2]=0,o[e+24|0]=1,Se(e)},r[308]=function(e,t,n,i,a){e|=0,t|=0,n|=0,i|=0,a|=0;var s,c,l,u,p=0,f=0,_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=0,U=0,G=v(0),H=v(0),W=0;if(w=s=w-176|0,c=(p=d[e+28|0])?t:n,u=h[(l=p?n:t)+4>>2],h[u+68>>2]!=h[e+40>>2]){if((0|(j=h[e+12>>2]))>=1)for(p=0;(f=h[(U=p<<2)+h[e+20>>2]>>2])&&(r[h[h[f>>2]>>2]](f),f=h[e+4>>2],r[h[h[f>>2]+60>>2]](f,h[h[e+20>>2]+U>>2])),(0|j)!=(0|(p=p+1|0)););li(e,t,n)}if(f=h[u+64>>2],p=h[e+20>>2],t=h[e+4>>2],h[s+172>>2]=h[e+32>>2],h[s+168>>2]=p,h[s+164>>2]=a,h[s+160>>2]=i,h[s+156>>2]=t,h[s+152>>2]=c,h[s+148>>2]=l,h[s+144>>2]=10428,h[s+60>>2]=0,h[s+52>>2]=0,h[s+56>>2]=0,o[s+64|0]=1,!((0|(i=h[e+12>>2]))<1)){for(n=0;;){if(t=h[(n<<2)+p>>2]){if(r[h[h[t>>2]+16>>2]](t,s+48|0),i=0,(0|(p=h[s+52>>2]))>0)for(;t=h[h[s+60>>2]+(i<<2)>>2],h[t+748>>2]&&(h[a+4>>2]=t,p=(0|(j=h[t+740>>2]))==(0|(U=h[h[a+8>>2]+8>>2])),W=t,t=h[h[a+12>>2]+8>>2],ut(W,(p?j:t)+4|0,(p?t:U)+4|0),h[a+4>>2]=0,p=h[s+52>>2]),(0|(i=i+1|0))<(0|p););if((0|p)<=-1)for(h[s+56>>2]<=-1&&((t=h[s+60>>2])&&(d[s+64|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[s+60>>2]=0),o[s+64|0]=1,h[s+56>>2]=0,h[s+60>>2]=0);h[h[s+60>>2]+(p<<2)>>2]=0,i=(t=p+1|0)>>>0>=p>>>0,p=t,i;);h[s+52>>2]=0,i=h[e+12>>2]}if(!((0|(n=n+1|0))<(0|i)))break;p=h[e+20>>2]}(t=h[s+60>>2])&&(d[s+64|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[s+60>>2]=0)}e:{if(f)t=h[l+12>>2],P=m[t+52>>2],O=m[t+56>>2],n=h[c+12>>2],M=m[n+52>>2],R=m[n+56>>2],_=m[t+20>>2],b=m[t+36>>2],I=m[n+20>>2],D=m[n+36>>2],L=m[n+24>>2],y=m[t+24>>2],N=m[n+40>>2],C=m[t+40>>2],F=m[n+32>>2],A=m[t+32>>2],B=m[n>>2],x=m[t>>2],k=m[n+16>>2],S=m[t+16>>2],V=m[t+48>>2],z=m[n+48>>2],T=m[t+4>>2],G=m[n+4>>2],H=m[n+8>>2],E=m[t+8>>2],h[s+108>>2]=0,h[s+92>>2]=0,h[s+76>>2]=0,m[s+88>>2]=v(v(E*H)+v(y*L))+v(C*N),m[s+84>>2]=v(v(E*G)+v(y*I))+v(C*D),m[s+72>>2]=v(v(T*H)+v(_*L))+v(b*N),m[s+68>>2]=v(v(T*G)+v(_*I))+v(b*D),P=v(-P),m[s+104>>2]=v(v(v(y*P)-v(E*V))-v(C*O))+v(v(v(E*z)+v(y*M))+v(C*R)),m[s+100>>2]=v(v(v(_*P)-v(T*V))-v(b*O))+v(v(v(T*z)+v(_*M))+v(b*R)),h[s+60>>2]=0,m[s+48>>2]=v(v(x*B)+v(S*k))+v(A*F),m[s+80>>2]=v(v(E*B)+v(y*k))+v(C*F),m[s+64>>2]=v(v(T*B)+v(_*k))+v(b*F),m[s+56>>2]=v(v(x*H)+v(S*L))+v(A*N),m[s+52>>2]=v(v(x*G)+v(S*I))+v(A*D),m[s+96>>2]=v(v(v(S*P)-v(x*V))-v(A*O))+v(v(v(x*z)+v(S*M))+v(A*R)),t=h[c+4>>2],r[h[h[t>>2]+8>>2]](t,s+48|0,s+128|0,s+112|0),t=h[s+140>>2],h[s+24>>2]=h[s+136>>2],h[s+28>>2]=t,t=h[s+124>>2],h[s+40>>2]=h[s+120>>2],h[s+44>>2]=t,t=h[s+116>>2],h[s+32>>2]=h[s+112>>2],h[s+36>>2]=t,t=h[s+132>>2],h[s+16>>2]=h[s+128>>2],h[s+20>>2]=t,In(f,h[f>>2],s+16|0,s+144|0);else{if((0|(t=h[e+12>>2]))<1)break e;for(p=0;mt(s+144|0,h[64+(h[u+24>>2]+g(p,80)|0)>>2],p),(0|(p=p+1|0))!=(0|t););}t=h[e+12>>2]}if((0|t)>=1)for(a=0;h[(p=a<<2)+h[e+20>>2]>>2]&&(n=h[u+24>>2]+g(a,80)|0,f=h[n+64>>2],i=h[l+12>>2],G=m[i+52>>2],H=m[i+56>>2],O=m[n+48>>2],M=m[n+52>>2],R=m[n+56>>2],I=m[n+4>>2],D=m[n+20>>2],L=m[n+36>>2],N=m[n+8>>2],F=m[n+24>>2],B=m[n+40>>2],_=m[i+20>>2],b=m[i+24>>2],k=m[n>>2],V=m[n+16>>2],y=m[i+36>>2],z=m[n+32>>2],C=m[i+40>>2],P=m[i+48>>2],A=m[i+8>>2],x=m[i>>2],S=m[i+4>>2],T=m[i+16>>2],E=m[i+32>>2],i=0,h[s+108>>2]=0,h[s+92>>2]=0,h[s+76>>2]=0,h[s+60>>2]=0,m[s+80>>2]=v(v(E*k)+v(y*V))+v(C*z),m[s+64>>2]=v(v(T*k)+v(_*V))+v(b*z),m[s+48>>2]=v(v(x*k)+v(S*V))+v(A*z),m[s+88>>2]=v(v(E*N)+v(y*F))+v(C*B),m[s+84>>2]=v(v(E*I)+v(y*D))+v(C*L),m[s+72>>2]=v(v(T*N)+v(_*F))+v(b*B),m[s+68>>2]=v(v(T*I)+v(_*D))+v(b*L),m[s+56>>2]=v(v(x*N)+v(S*F))+v(A*B),m[s+52>>2]=v(v(x*I)+v(S*D))+v(A*L),m[s+104>>2]=H+v(v(v(E*O)+v(y*M))+v(C*R)),m[s+100>>2]=G+v(v(v(T*O)+v(_*M))+v(b*R)),m[s+96>>2]=P+v(v(v(x*O)+v(S*M))+v(A*R)),r[h[h[f>>2]+8>>2]](f,s+48|0,s+16|0,s+128|0),n=h[c+4>>2],r[h[h[n>>2]+8>>2]](n,h[c+12>>2],s+112|0,s),n=0,m[s+16>>2]>m[s>>2]||(n=0,m[s+128>>2]>2]||(n=1)),(1^(i=m[s+136>>2]>2]|m[s+24>>2]>m[s+8>>2]?i:n)||m[s+132>>2]>2]|m[s+20>>2]>m[s+4>>2])&&(n=h[p+h[e+20>>2]>>2],r[h[h[n>>2]>>2]](n),n=h[e+4>>2],r[h[h[n>>2]+60>>2]](n,h[p+h[e+20>>2]>>2]),h[p+h[e+20>>2]>>2]=0)),(0|(a=a+1|0))!=(0|t););w=s+176|0},r[309]=function(e,t,n,i,o){e|=0,t|=0,n|=0,i|=0,o|=0;var a,s,c,l,u,p,f,_=0,b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=0,I=v(0),w=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0);if((0|(a=h[e+12>>2]))<1)return v(v(1));for(s=(_=d[e+28|0])?t:n,c=h[(t=_?n:t)- -64>>2],U=m[t+60>>2],G=m[t+56>>2],H=m[t+52>>2],l=h[t+48>>2],y=m[t+44>>2],C=m[t+40>>2],A=m[t+36>>2],u=h[t+32>>2],x=m[t+28>>2],S=m[t+24>>2],T=m[t+20>>2],p=h[t+16>>2],E=m[t+12>>2],P=m[t+8>>2],R=h[t+260>>2],O=m[t+4>>2],f=h[t+192>>2],M=v(1),_=0;n=h[f+24>>2]+g(_,80)|0,b=m[n+56>>2],I=m[n+52>>2],w=m[n+48>>2],D=m[n+36>>2],L=m[n+20>>2],N=m[n+4>>2],F=m[n+40>>2],B=m[n+24>>2],k=m[n+8>>2],V=m[n+32>>2],z=m[n>>2],j=m[n+16>>2],h[t+64>>2]=0,h[t+48>>2]=0,h[t+32>>2]=0,h[t+16>>2]=0,h[t+260>>2]=R+1,m[t+36>>2]=v(v(A*z)+v(C*j))+v(y*V),m[t+20>>2]=v(v(T*z)+v(S*j))+v(x*V),m[t+4>>2]=v(v(O*z)+v(P*j))+v(E*V),m[t+44>>2]=v(v(A*k)+v(C*B))+v(y*F),m[t+40>>2]=v(v(A*N)+v(C*L))+v(y*D),m[t+28>>2]=v(v(T*k)+v(S*B))+v(x*F),m[t+24>>2]=v(v(T*N)+v(S*L))+v(x*D),m[t+12>>2]=v(v(O*k)+v(P*B))+v(E*F),m[t+8>>2]=v(v(O*N)+v(P*L))+v(E*D),m[t+60>>2]=U+v(v(v(A*w)+v(C*I))+v(y*b)),m[t+56>>2]=G+v(v(v(T*w)+v(S*I))+v(x*b)),m[t+52>>2]=H+v(v(v(O*w)+v(P*I))+v(E*b)),n=h[h[e+20>>2]+(_<<2)>>2],b=v(r[h[h[n>>2]+12>>2]](n,t,s,i,o)),h[t+64>>2]=c,m[t+60>>2]=U,m[t+56>>2]=G,m[t+52>>2]=H,h[t+48>>2]=l,m[t+44>>2]=y,m[t+40>>2]=C,m[t+36>>2]=A,h[t+32>>2]=u,m[t+28>>2]=x,m[t+24>>2]=S,m[t+20>>2]=T,h[t+16>>2]=p,m[t+12>>2]=E,m[t+8>>2]=P,m[t+4>>2]=O,R=h[t+260>>2]+1|0,h[t+260>>2]=R,M=b>2]))>=1)for(;(o=h[h[e+20>>2]+(i<<2)>>2])&&(r[h[h[o>>2]+16>>2]](o,t),n=h[e+12>>2]),(0|(i=i+1|0))<(0|n););},r[311]=Jh,r[312]=function(e,t){var n,i;t|=0,n=e|=0,i=h[h[h[e+4>>2]+4>>2]+24>>2],e=h[t+36>>2],mt(n,h[64+(i+g(e,80)|0)>>2],e)},r[313]=Gr,r[314]=function(e){Se(Gr(e|=0))},r[315]=function(e,t,n){e|=0,t|=0,n|=0;var i=0,r=0,o=0,a=0,s=0,c=0,l=0,u=0;h[6996]=h[6996]+1,s=h[e+40>>2],i=g((i=((i=n<<16|t)<<15^-1)+i|0)>>10^i,9),i=((i^=i>>6)<<11^-1)+i|0,o=s+((h[e+12>>2]+-1&(i>>16^i))<<2)|0;e:if(-1!=(0|(i=h[o>>2]))){for(a=h[e+16>>2],r=i;;){if(c=a+g(r,12)|0,h[c+4>>2]!=(0|n)||h[c>>2]!=(0|t)){if(-1!=(0|(r=h[h[e+60>>2]+(r<<2)>>2])))continue;break e}break}u=h[8+(a+g(r,12)|0)>>2],n=h[e+60>>2];t:{n:{if((0|i)!=(0|r)){for(;(0|r)!=(0|(i=h[n+((t=i)<<2)>>2])););if(i=l=h[n+(r<<2)>>2],-1==(0|t))break n;h[n+(t<<2)>>2]=l;break t}i=h[n+(r<<2)>>2]}h[o>>2]=i}if((0|(o=h[e+8>>2]+-1|0))==(0|r))return h[e+8>>2]=r,0|u;t:{if(a=a+g(o,12)|0,t=h[a+4>>2]<<16|h[a>>2],t=g((t=(t<<15^-1)+t|0)>>10^t,9),t=((t^=t>>6)<<11^-1)+t|0,l=h[e+12>>2]+-1&(t>>16^t),(0|o)!=(0|(i=h[(s=s+(l<<2)|0)>>2]))){for(;(0|o)!=(0|(i=h[n+((t=i)<<2)>>2])););if(i=h[n+(o<<2)>>2],-1!=(0|t)){h[n+(t<<2)>>2]=i;break t}}else i=h[n+(o<<2)>>2];h[s>>2]=i}t=h[a+4>>2],h[c>>2]=h[a>>2],h[c+4>>2]=t,h[c+8>>2]=h[a+8>>2],t=h[e+40>>2]+(l<<2)|0,h[h[e+60>>2]+(r<<2)>>2]=h[t>>2],h[t>>2]=r,h[e+8>>2]=h[e+8>>2]+-1}return 0|u},r[316]=function(e,t,n){return e|=0,t|=0,n|=0,h[6997]=h[6997]+1,0|function(e,t,n){var i,a=0,s=0,c=0,l=0,u=0,p=0,f=0,_=0,m=0,b=0;a=g((a=((a=n<<16|t)<<15^-1)+a|0)>>10^a,9),f=(i=(a=((a^=a>>6)<<11^-1)+a|0)>>16^a)&(a=h[e+12>>2])+-1;e:{if(-1!=(0|(c=h[h[e+40>>2]+(f<<2)>>2])))for(l=h[e+16>>2];;){if(s=l+g(c,12)|0,h[s+4>>2]==(0|n)&&h[s>>2]==(0|t))break e;if(-1==(0|(c=h[h[e+60>>2]+(c<<2)>>2])))break}c=e;t:{n:{if((0|(s=l=h[e+8>>2]))==(0|a)){if(!(m=(0|a)>=(0|(s=a?a<<1:1))))break n}else a=s;h[c+8>>2]=a+1,s=(u=h[e+16>>2])+g(l,12)|0;break t}if(s&&(h[7717]=h[7717]+1,u=0|r[h[6606]](g(s,12),16),a=h[e+8>>2]),(0|a)>=1)for(c=0;_=(p=g(c,12))+h[e+16>>2]|0,b=h[_+4>>2],h[(p=u+p|0)>>2]=h[_>>2],h[p+4>>2]=b,h[p+8>>2]=h[_+8>>2],(0|(c=c+1|0))!=(0|a););(a=h[e+16>>2])&&(d[e+20|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+16>>2]=0),h[e+16>>2]=u,h[e+12>>2]=s,o[e+20|0]=1,h[e+8>>2]=h[e+8>>2]+1,s=g(l,12)+u|0,m||(dn(e),f=h[e+12>>2]+-1&i)}h[s>>2]=t,t=g(l,12)+u|0,h[t+8>>2]=0,h[t+4>>2]=n,t=h[e+60>>2]+(l<<2)|0,e=h[e+40>>2]+(f<<2)|0,h[t>>2]=h[e>>2],h[e>>2]=l}return s}(e,t,n)},r[317]=wh,r[318]=Lr,r[319]=function(e){Se(Lr(e|=0))},r[320]=function(e,t,n,i,a){e|=0,t|=0,n|=0,i|=0,a|=0;var s,c,l,u=0,p=0,f=0,_=0,b=v(0),C=v(0),A=v(0),x=v(0),S=0,T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=0,I=v(0),D=v(0),L=v(0),N=0,F=v(0),B=0,k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=0,W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=0,q=v(0),J=0,$=v(0),ee=v(0),te=v(0),ne=v(0),ie=v(0),re=v(0);if(w=s=w-176|0,c=h[t+4>>2],l=h[n+4>>2],h[l+68>>2]!=h[e+44>>2]||h[c+68>>2]!=h[e+40>>2]){if(u=h[e+8>>2],(0|(_=h[u+8>>2]))>=1){for(;(R=h[8+(h[u+16>>2]+g(p,12)|0)>>2])&&(r[h[h[R>>2]>>2]](R),f=h[e+4>>2],r[h[h[f>>2]+60>>2]](f,R)),(0|_)!=(0|(p=p+1|0)););u=h[e+8>>2]}Si(u)}if(h[s+20>>2]=0,h[s+12>>2]=0,h[s+16>>2]=0,o[s+24|0]=1,R=h[e+8>>2],!((0|(_=h[R+8>>2]))<1)){for(;;){if(u=h[8+(h[R+16>>2]+g(N,12)|0)>>2]){if(r[h[h[u>>2]+16>>2]](u,s+8|0),_=0,(0|(p=h[s+12>>2]))>0)for(;H=h[h[s+20>>2]+(_<<2)>>2],h[H+748>>2]&&(h[a+4>>2]=H,p=(0|(u=h[H+740>>2]))==(0|(f=h[h[a+8>>2]+8>>2])),S=u,u=h[h[a+12>>2]+8>>2],ut(H,(p?S:u)+4|0,(p?u:f)+4|0),h[a+4>>2]=0,p=h[s+12>>2]),(0|(_=_+1|0))<(0|p););if((0|p)<=-1)for(h[s+16>>2]<=-1&&((u=h[s+20>>2])&&(d[s+24|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u)),h[s+20>>2]=0),o[s+24|0]=1,h[s+16>>2]=0,h[s+20>>2]=0);h[h[s+20>>2]+(p<<2)>>2]=0,f=(u=p+1|0)>>>0>=p>>>0,p=u,f;);h[s+12>>2]=0,_=h[R+8>>2]}if(!((0|(N=N+1|0))<(0|_)))break}(u=h[s+20>>2])&&(d[s+24|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u)),h[s+20>>2]=0)}if(_=h[c+64>>2],p=h[l+64>>2],f=h[e+4>>2],u=h[e+8>>2],h[s+168>>2]=h[e+32>>2],h[s+164>>2]=u,h[s+160>>2]=a,h[s+156>>2]=i,h[s+152>>2]=f,h[s+140>>2]=0,h[s+136>>2]=10648,h[s+144>>2]=t,h[s+148>>2]=n,(a=h[_>>2])&&(i=h[p>>2])){for(f=h[t+12>>2],O=m[f+24>>2],b=v(-m[f+52>>2]),T=m[f+8>>2],A=m[f+48>>2],M=m[f+40>>2],E=m[f+56>>2],u=h[n+12>>2],P=m[u+48>>2],x=m[u+52>>2],C=m[u+56>>2],ne=v(v(v(v(O*b)-v(T*A))-v(M*E))+v(v(v(T*P)+v(O*x))+v(M*C))),I=m[f+20>>2],F=m[f+4>>2],D=m[f+36>>2],ie=v(v(v(v(I*b)-v(F*A))-v(D*E))+v(v(v(F*P)+v(I*x))+v(D*C))),j=m[u+40>>2],k=m[u+24>>2],U=m[u+8>>2],V=m[u+36>>2],G=m[u+20>>2],z=m[u+4>>2],q=m[f+16>>2],L=v(q*b),b=m[f>>2],L=v(L-v(b*A)),A=m[f+32>>2],re=v(v(L-v(A*E))+v(v(v(b*P)+v(q*x))+v(A*C))),P=m[u+16>>2],x=m[u>>2],C=m[u+32>>2],h[7717]=h[7717]+1,u=0|r[h[6606]](1024,16),h[u+4>>2]=i,h[u>>2]=a,te=v(v(v(T*U)+v(O*k))+v(M*j)),Y=v(y(te)),L=v(v(v(T*z)+v(O*G))+v(M*V)),Q=v(y(L)),W=v(v(v(T*x)+v(O*P))+v(M*C)),K=v(y(W)),X=v(v(v(F*U)+v(I*k))+v(D*j)),O=v(y(X)),T=v(v(v(F*z)+v(I*G))+v(D*V)),M=v(y(T)),I=v(v(v(F*x)+v(I*P))+v(D*C)),F=v(y(I)),D=v(v(v(b*U)+v(q*k))+v(A*j)),j=v(y(D)),k=v(v(v(b*z)+v(q*G))+v(A*V)),U=v(y(k)),V=v(v(v(b*x)+v(q*P))+v(A*C)),G=v(y(V)),N=124,f=128,p=128,_=1;;){e:{t:{n:{if(B=h[(i=(Z=(R=_+-1|0)<<3)+u|0)>>2],S=h[i+4>>2],z=m[S+16>>2],b=m[S>>2],$=v(v(v(z-b)*v(.5))+v(0)),A=m[S+20>>2],E=m[S+4>>2],ee=v(v(v(A-E)*v(.5))+v(0)),P=m[S+24>>2],C=m[S+8>>2],q=v(v(v(P-C)*v(.5))+v(0)),x=v(v(v(G*$)+v(U*ee))+v(j*q)),b=v(v(z+b)*v(.5)),E=v(v(A+E)*v(.5)),P=v(v(P+C)*v(.5)),C=v(re+v(v(v(V*b)+v(k*E))+v(D*P))),!(m[B>>2]<=v(x+C)^1|m[B+16>>2]>=v(C-x)^1||(x=v(v(v(F*$)+v(M*ee))+v(O*q)),C=v(ie+v(v(v(I*b)+v(T*E))+v(X*P))),m[B+4>>2]<=v(x+C)^1|m[B+20>>2]>=v(C-x)^1||(x=v(v(v(K*$)+v(Q*ee))+v(Y*q)),C=v(ne+v(v(v(W*b)+v(L*E))+v(te*P))),m[B+8>>2]<=v(x+C)^1|m[B+24>>2]>=v(C-x)^1)))){if((0|R)<=(0|N))a=f,i=u;else{i:if((0|f)>=(0|(a=f<<1)))i=u;else if((0|p)>=(0|a))i=u;else{r:{if(f){if(N=0,h[7717]=h[7717]+1,i=0|r[h[6606]](f<<4,16),!((0|f)<1)){for(;J=(p=N<<3)+i|0,p=h[4+(H=u+p|0)>>2],h[J>>2]=h[H>>2],h[J+4>>2]=p,(0|(N=N+1|0))!=(0|f););break r}}else i=0;if(p=a,!u)break i}u&&(h[7718]=h[7718]+1,r[h[6607]](u)),p=a}N=a+-4|0}if(u=h[S+40>>2],h[B+40>>2]){if(f=h[B+36>>2],u){h[4+(u=i+Z|0)>>2]=h[S+36>>2],h[u>>2]=f,u=h[B+40>>2],h[4+(f=(_<<3)+i|0)>>2]=h[S+36>>2],h[f>>2]=u,u=h[B+36>>2],h[f+12>>2]=h[S+40>>2],h[f+8>>2]=u,u=h[B+40>>2],h[f+20>>2]=h[S+40>>2],h[f+16>>2]=u,_=_+3|0;break t}h[4+(u=i+Z|0)>>2]=S,h[u>>2]=f,f=h[B+40>>2],h[4+(u=(_<<3)+i|0)>>2]=S,h[u>>2]=f;break n}if(u){h[4+(u=i+Z|0)>>2]=h[S+36>>2],h[u>>2]=B,h[4+(u=(_<<3)+i|0)>>2]=h[S+40>>2],h[u>>2]=B;break n}r[h[h[s+136>>2]+8>>2]](s+136|0,B,S),f=a,u=i}_=R;break e}_=_+1|0}f=a,u=i}if(!_)break}u&&u&&(h[7718]=h[7718]+1,r[h[6607]](u))}if(Z=h[e+8>>2],h[Z+8>>2]>=1)for(J=0;;){if(i=(a=g(J,12))+h[Z+16>>2]|0,(u=h[i+8>>2])&&(p=h[c+24>>2]+g(h[i>>2],80)|0,i=h[p+64>>2],f=h[t+12>>2],P=m[f+52>>2],x=m[f+56>>2],I=m[p+48>>2],F=m[p+52>>2],D=m[p+56>>2],j=m[p+4>>2],k=m[p+20>>2],U=m[p+36>>2],V=m[p+8>>2],G=m[p+24>>2],z=m[p+40>>2],Y=m[f+20>>2],L=m[f+24>>2],b=m[p>>2],Q=m[f+36>>2],A=m[p+16>>2],W=m[f+40>>2],E=m[p+32>>2],C=m[f+48>>2],K=m[f+8>>2],X=m[f>>2],O=m[f+4>>2],T=m[f+16>>2],M=m[f+32>>2],f=0,h[s+68>>2]=0,h[s+52>>2]=0,h[s+36>>2]=0,h[s+20>>2]=0,m[s+40>>2]=v(v(M*b)+v(Q*A))+v(W*E),m[s+24>>2]=v(v(T*b)+v(Y*A))+v(L*E),m[s+8>>2]=v(v(X*b)+v(O*A))+v(K*E),m[s+48>>2]=v(v(M*V)+v(Q*G))+v(W*z),m[s+44>>2]=v(v(M*j)+v(Q*k))+v(W*U),m[s+32>>2]=v(v(T*V)+v(Y*G))+v(L*z),m[s+28>>2]=v(v(T*j)+v(Y*k))+v(L*U),m[s+16>>2]=v(v(X*V)+v(O*G))+v(K*z),m[s+12>>2]=v(v(X*j)+v(O*k))+v(K*U),m[s+64>>2]=x+v(v(v(M*I)+v(Q*F))+v(W*D)),m[s+60>>2]=P+v(v(v(T*I)+v(Y*F))+v(L*D)),m[s+56>>2]=C+v(v(v(X*I)+v(O*F))+v(K*D)),r[h[h[i>>2]+8>>2]](i,s+8|0,s+120|0,s+104|0),_=h[l+24>>2]+g(h[4+(a+h[Z+16>>2]|0)>>2],80)|0,i=h[_+64>>2],p=h[n+12>>2],P=m[p+52>>2],x=m[p+56>>2],I=m[_+48>>2],F=m[_+52>>2],D=m[_+56>>2],j=m[_+4>>2],k=m[_+20>>2],U=m[_+36>>2],V=m[_+8>>2],G=m[_+24>>2],z=m[_+40>>2],Y=m[p+20>>2],L=m[p+24>>2],b=m[_>>2],Q=m[p+36>>2],A=m[_+16>>2],W=m[p+40>>2],E=m[_+32>>2],C=m[p+48>>2],K=m[p+8>>2],X=m[p>>2],O=m[p+4>>2],T=m[p+16>>2],M=m[p+32>>2],h[s+68>>2]=0,h[s+52>>2]=0,h[s+36>>2]=0,h[s+20>>2]=0,m[s+40>>2]=v(v(M*b)+v(Q*A))+v(W*E),m[s+24>>2]=v(v(T*b)+v(Y*A))+v(L*E),m[s+8>>2]=v(v(X*b)+v(O*A))+v(K*E),m[s+48>>2]=v(v(M*V)+v(Q*G))+v(W*z),m[s+44>>2]=v(v(M*j)+v(Q*k))+v(W*U),m[s+32>>2]=v(v(T*V)+v(Y*G))+v(L*z),m[s+28>>2]=v(v(T*j)+v(Y*k))+v(L*U),m[s+16>>2]=v(v(X*V)+v(O*G))+v(K*z),m[s+12>>2]=v(v(X*j)+v(O*k))+v(K*U),m[s+64>>2]=x+v(v(v(M*I)+v(Q*F))+v(W*D)),m[s+60>>2]=P+v(v(v(T*I)+v(Y*F))+v(L*D)),m[s+56>>2]=C+v(v(v(X*I)+v(O*F))+v(K*D)),r[h[h[i>>2]+8>>2]](i,s+8|0,s+88|0,s+72|0),i=0,m[s+120>>2]>m[s+72>>2]||(i=0,m[s+104>>2]>2]||(i=1)),1^(f=m[s+112>>2]>2]|m[s+128>>2]>m[s+80>>2]?f:i)||m[s+108>>2]>2]|m[s+124>>2]>m[s+76>>2])){if(r[h[h[u>>2]>>2]](u),i=h[e+4>>2],r[h[h[i>>2]+60>>2]](i,u),i=a+h[Z+16>>2]|0,f=h[i+4>>2],u=h[i>>2],(0|(a=h[e+16>>2]))==h[e+20>>2]&&!((0|a)>=(0|(H=a?a<<1:1)))){if(p=0,N=0,H&&(h[7717]=h[7717]+1,N=0|r[h[6606]](g(H,12),16),a=h[e+16>>2]),(0|a)>=1)for(;R=(i=g(p,12))+N|0,_=i+h[e+24>>2]|0,i=h[_+4>>2],h[R>>2]=h[_>>2],h[R+4>>2]=i,h[R+8>>2]=h[_+8>>2],(0|(p=p+1|0))!=(0|a););(i=h[e+24>>2])&&(d[e+28|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+24>>2]=0),h[e+24>>2]=N,o[e+28|0]=1,h[e+20>>2]=H,a=h[e+16>>2]}i=h[e+24>>2]+g(a,12)|0,h[i+8>>2]=0,h[i+4>>2]=f,h[i>>2]=u,h[e+16>>2]=h[e+16>>2]+1}if(!((0|(J=J+1|0))>2]))break}if(h[e+16>>2]>=1)for(p=0;n=h[e+8>>2],t=h[e+24>>2]+g(p,12)|0,r[h[h[n>>2]+8>>2]](n,h[t>>2],h[t+4>>2]),(0|(p=p+1|0))>2];);(t=h[e+24>>2])&&(d[e+28|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+24>>2]=0),h[e+24>>2]=0,h[e+16>>2]=0,h[e+20>>2]=0,o[e+28|0]=1,w=s+176|0},r[321]=function(e,t,n,i,r){return v(v(0))},r[322]=function(e,t){t|=0;var n,i=0,o=0;if(n=h[8+(e|=0)>>2],(0|(i=h[n+8>>2]))>=1)for(e=0;(o=h[8+(h[n+16>>2]+g(e,12)|0)>>2])&&(r[h[h[o>>2]+16>>2]](o,t),i=h[n+8>>2]),(0|(e=e+1|0))<(0|i););},r[323]=Jh,r[324]=function(e,t,n){e|=0,t|=0,n|=0;var i,o,a,s,c,l,u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=0,B=0,k=v(0),V=v(0),z=v(0);w=i=w-240|0,h[e+4>>2]=h[e+4>>2]+1,o=h[n+36>>2],s=g(o,80),c=h[e+12>>2],l=h[c+4>>2],F=h[64+(s+h[l+24>>2]|0)>>2],n=h[e+8>>2],a=h[t+36>>2],t=h[h[n+4>>2]+24>>2]+g(a,80)|0,B=h[t+64>>2],n=h[n+12>>2],k=m[n+52>>2],V=m[n+56>>2],u=m[n+24>>2],p=m[n+20>>2],d=m[n+40>>2],f=m[n+36>>2],z=m[n+48>>2],_=m[n+8>>2],b=m[n>>2],y=m[n+4>>2],C=m[n+16>>2],A=m[n+32>>2],x=m[t+32>>2],S=m[t>>2],T=m[t+16>>2],E=m[t+56>>2],P=m[t+48>>2],O=m[t+52>>2],M=m[t+36>>2],R=m[t+4>>2],I=m[t+20>>2],D=m[t+40>>2],L=m[t+8>>2],N=m[t+24>>2],n=0,h[i+236>>2]=0,h[i+220>>2]=0,h[i+204>>2]=0,m[i+216>>2]=v(v(A*L)+v(f*N))+v(d*D),m[i+212>>2]=v(v(A*R)+v(f*I))+v(d*M),m[i+200>>2]=v(v(C*L)+v(p*N))+v(u*D),m[i+196>>2]=v(v(C*R)+v(p*I))+v(u*M),m[i+232>>2]=V+v(v(v(A*P)+v(f*O))+v(d*E)),m[i+228>>2]=k+v(v(v(C*P)+v(p*O))+v(u*E)),h[i+188>>2]=0,m[i+208>>2]=v(v(A*S)+v(f*T))+v(d*x),m[i+192>>2]=v(v(C*S)+v(p*T))+v(u*x),m[i+184>>2]=v(v(b*L)+v(y*N))+v(_*D),m[i+180>>2]=v(v(b*R)+v(y*I))+v(_*M),m[i+176>>2]=v(v(b*S)+v(y*T))+v(_*x),m[i+224>>2]=z+v(v(v(b*P)+v(y*O))+v(_*E)),t=h[c+12>>2],k=m[t+52>>2],V=m[t+56>>2],u=m[t+24>>2],p=m[t+20>>2],d=m[t+40>>2],f=m[t+36>>2],z=m[t+48>>2],_=m[t+8>>2],b=m[t>>2],y=m[t+4>>2],C=m[t+16>>2],A=m[t+32>>2],t=h[l+24>>2]+s|0,x=m[t+32>>2],S=m[t>>2],T=m[t+16>>2],E=m[t+56>>2],P=m[t+48>>2],O=m[t+52>>2],M=m[t+36>>2],R=m[t+4>>2],I=m[t+20>>2],D=m[t+40>>2],L=m[t+8>>2],N=m[t+24>>2],h[i+172>>2]=0,h[i+156>>2]=0,h[i+140>>2]=0,m[i+152>>2]=v(v(A*L)+v(f*N))+v(d*D),m[i+148>>2]=v(v(A*R)+v(f*I))+v(d*M),m[i+136>>2]=v(v(C*L)+v(p*N))+v(u*D),m[i+132>>2]=v(v(C*R)+v(p*I))+v(u*M),m[i+168>>2]=V+v(v(v(A*P)+v(f*O))+v(d*E)),m[i+164>>2]=k+v(v(v(C*P)+v(p*O))+v(u*E)),h[i+124>>2]=0,m[i+144>>2]=v(v(A*S)+v(f*T))+v(d*x),m[i+128>>2]=v(v(C*S)+v(p*T))+v(u*x),m[i+120>>2]=v(v(b*L)+v(y*N))+v(_*D),m[i+116>>2]=v(v(b*R)+v(y*I))+v(_*M),m[i+112>>2]=v(v(b*S)+v(y*T))+v(_*x),m[i+160>>2]=z+v(v(v(b*P)+v(y*O))+v(_*E)),r[h[h[B>>2]+8>>2]](B,i+176|0,i+96|0,i+80|0),r[h[h[F>>2]+8>>2]](F,i+112|0,i- -64|0,i+48|0),(t=h[6999])&&!r[t](B,F)||(n=m[i+80>>2]>2]|m[i+96>>2]>m[i+48>>2]?n:1,t=0,t=m[i+88>>2]>2]|m[i+104>>2]>m[i+56>>2]?t:n,m[i+84>>2]>2]|m[i+100>>2]>m[i+52>>2]|1^t||(t=h[e+8>>2],n=h[t+8>>2],h[i+44>>2]=a,h[i+40>>2]=-1,h[i+32>>2]=n,h[i+28>>2]=B,h[i+24>>2]=t,h[i+36>>2]=i+176,t=h[e+12>>2],n=h[t+8>>2],h[i+20>>2]=o,h[i+16>>2]=-1,h[i+8>>2]=n,h[i+4>>2]=F,h[i>>2]=t,h[i+12>>2]=i+112,(t=function(e,t,n){var i=0,r=0,o=0;h[6998]=h[6998]+1,i=((i=(i=g((i=((i=n<<16|t)<<15^-1)+i|0)>>10^i,9))>>6^i)<<11^-1)+i|0;e:{if(!((0|(i=h[e+12>>2]+-1&(i>>16^i)))>=h[e+32>>2])&&-1!=(0|(i=h[h[e+40>>2]+(i<<2)>>2])))for(o=h[e+16>>2];;){if(r=g(i,12)+o|0,h[r+4>>2]==(0|n)&&h[r>>2]==(0|t))break e;if(-1==(0|(i=h[h[e+60>>2]+(i<<2)>>2])))break}r=0}return r}(h[e+28>>2],a,o))?n=h[t+8>>2]:(t=h[e+16>>2],n=0|r[h[h[t>>2]+8>>2]](t,i+24|0,i,h[e+32>>2]),t=h[e+28>>2],h[8+(0|r[h[h[t>>2]+12>>2]](t,a,o))>>2]=n),t=h[e+24>>2],F=h[t+12>>2],B=h[t+8>>2],h[t+12>>2]=i,h[t+8>>2]=i+24,r[h[h[t>>2]+8>>2]](t,-1,a),t=h[e+24>>2],r[h[h[t>>2]+12>>2]](t,-1,o),r[h[h[n>>2]+8>>2]](n,i+24|0,i,h[e+20>>2],h[e+24>>2]),e=h[e+24>>2],h[e+8>>2]=B,h[e+12>>2]=F)),w=i+240|0},r[325]=qh,r[326]=function(e){var t=0;return h[(e|=0)>>2]=10732,(t=h[e+64>>2])&&(gr(t),(t=h[e+64>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),(t=h[e+24>>2])&&(d[e+28|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+24>>2]=0),h[e+24>>2]=0,o[e+28|0]=1,h[e+16>>2]=0,h[e+20>>2]=0,0|e},r[327]=function(e){var t=0;h[(e|=0)>>2]=10732,(t=h[e+64>>2])&&(gr(t),(t=h[e+64>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),(t=h[e+24>>2])&&(d[e+28|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+24>>2]=0),h[e+24>>2]=0,o[e+28|0]=1,h[e+16>>2]=0,h[e+20>>2]=0,e&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[328]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0);a=m[e+40>>2],l=m[e+56>>2],o=h[e+16>>2],s=m[e+36>>2],u=m[e+52>>2],c=m[e+32>>2],p=m[e+48>>2],M=v(r[h[h[e>>2]+48>>2]](e)),R=v(r[h[h[e>>2]+48>>2]](e)),I=v(r[h[h[e>>2]+48>>2]](e)),w=m[t+52>>2],d=m[t+24>>2],C=m[t+20>>2],f=m[t+56>>2],A=m[t+40>>2],x=m[t+36>>2],D=m[t+48>>2],S=m[t+8>>2],T=m[t>>2],E=m[t+4>>2],P=m[t+16>>2],O=m[t+32>>2],h[n+12>>2]=0,_=f,f=v(o?v(p+c)*v(.5):0),b=v(o?v(u+s)*v(.5):0),g=v(o?v(l+a)*v(.5):0),_=v(_+v(v(v(O*f)+v(x*b))+v(A*g))),c=v(M+v(o?v(p-c)*v(.5):0)),s=v(R+v(o?v(u-s)*v(.5):0)),a=v(I+v(o?v(l-a)*v(.5):0)),l=v(v(v(c*v(y(O)))+v(s*v(y(x))))+v(a*v(y(A)))),m[n+8>>2]=_-l,u=v(w+v(v(v(f*P)+v(b*C))+v(g*d))),p=v(v(v(c*v(y(P)))+v(s*v(y(C))))+v(a*v(y(d)))),m[n+4>>2]=u-p,d=v(D+v(v(v(f*T)+v(b*E))+v(g*S))),a=v(v(v(c*v(y(T)))+v(s*v(y(E))))+v(a*v(y(S)))),m[n>>2]=d-a,h[i+12>>2]=0,m[i+8>>2]=l+_,m[i+4>>2]=p+u,m[i>>2]=a+d},r[329]=function(e,t){e|=0,t|=0;var n,i=0,o=0,a=0,s=0,c=0,l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0);if(w=n=w-144|0,h[e+16>>2]>=1)for(a=n- -64|0;i=(s=g(c,80))+h[e+24>>2]|0,o=h[i+12>>2],h[n+24>>2]=h[i+8>>2],h[n+28>>2]=o,o=h[i+4>>2],h[n+16>>2]=h[i>>2],h[n+20>>2]=o,o=h[i+28>>2],h[n+40>>2]=h[i+24>>2],h[n+44>>2]=o,o=h[i+20>>2],h[n+32>>2]=h[i+16>>2],h[n+36>>2]=o,o=h[i+44>>2],h[n+56>>2]=h[i+40>>2],h[n+60>>2]=o,o=h[i+36>>2],h[n+48>>2]=h[i+32>>2],h[n+52>>2]=o,o=h[i+60>>2],h[a+8>>2]=h[i+56>>2],h[a+12>>2]=o,o=h[i+52>>2],h[a>>2]=h[i+48>>2],h[a+4>>2]=o,i=h[i+64>>2],i=0|r[h[h[i>>2]+28>>2]](i),h[n+8>>2]=h[i+8>>2],o=h[i+4>>2],h[n>>2]=h[i>>2],h[n+4>>2]=o,l=m[e+80>>2],u=m[t+4>>2],p=m[e+76>>2],d=m[t>>2],m[n+8>>2]=v(m[n+8>>2]*m[t+8>>2])/m[e+84>>2],h[n+12>>2]=0,m[n>>2]=v(d*m[n>>2])/p,m[n+4>>2]=v(u*m[n+4>>2])/l,i=h[64+(h[e+24>>2]+s|0)>>2],r[h[h[i>>2]+24>>2]](i,n),l=m[e+76>>2],u=m[t>>2],p=m[e+80>>2],d=m[t+4>>2],f=m[e+84>>2],_=m[t+8>>2],h[n+76>>2]=0,m[n+72>>2]=v(_*m[n+72>>2])/f,m[n+68>>2]=v(d*m[n+68>>2])/p,m[n+64>>2]=v(u*m[n+64>>2])/l,o=h[n+20>>2],i=h[e+24>>2]+s|0,h[i>>2]=h[n+16>>2],h[i+4>>2]=o,o=h[n+28>>2],h[i+8>>2]=h[n+24>>2],h[i+12>>2]=o,o=h[n+44>>2],h[i+24>>2]=h[n+40>>2],h[i+28>>2]=o,o=h[n+36>>2],h[i+16>>2]=h[n+32>>2],h[i+20>>2]=o,o=h[n+60>>2],h[i+40>>2]=h[n+56>>2],h[i+44>>2]=o,o=h[n+52>>2],h[i+32>>2]=h[n+48>>2],h[i+36>>2]=o,o=h[a+12>>2],h[i+56>>2]=h[a+8>>2],h[i+60>>2]=o,o=h[a+4>>2],h[i+48>>2]=h[a>>2],h[i+52>>2]=o,h[e+64>>2]&&(i=h[64+(h[e+24>>2]+s|0)>>2],r[h[h[i>>2]+8>>2]](i,n+16|0,n+128|0,n+112|0),i=h[n+140>>2],h[n+88>>2]=h[n+136>>2],h[n+92>>2]=i,i=h[n+132>>2],h[n+80>>2]=h[n+128>>2],h[n+84>>2]=i,i=h[n+124>>2],h[n+104>>2]=h[n+120>>2],h[n+108>>2]=i,i=h[n+116>>2],h[n+96>>2]=h[n+112>>2],h[n+100>>2]=i,ao(h[e+64>>2],h[76+(h[e+24>>2]+s|0)>>2],n+80|0)),(0|(c=c+1|0))>2];);i=h[t+4>>2],h[e+76>>2]=h[t>>2],h[e+80>>2]=i,i=h[t+12>>2],h[e+84>>2]=h[t+8>>2],h[e+88>>2]=i,r[h[h[e>>2]+68>>2]](e),w=n+144|0},r[330]=function(e){return 76+(e|=0)|0},r[331]=function(e,t,n){e|=0,t=v(t),n|=0;var i,o=v(0),a=v(0),s=v(0),c=v(0);w=i=w-96|0,h[i+44>>2]=0,h[i+48>>2]=0,h[i+56>>2]=0,h[i+60>>2]=0,h[i+52>>2]=1065353216,h[i+76>>2]=0,h[i+80>>2]=0,h[i+72>>2]=1065353216,h[i+84>>2]=0,h[i+88>>2]=0,h[i+92>>2]=0,h[i+36>>2]=0,h[i+40>>2]=0,h[i+32>>2]=1065353216,h[i+64>>2]=0,h[i+68>>2]=0,r[h[h[e>>2]+8>>2]](e,i+32|0,i+16|0,i),o=m[i+24>>2],c=m[i+8>>2],t=v(t/v(12)),a=v(v(m[i>>2]-m[i+16>>2])*v(.5)),a=v(a+a),a=v(a*a),s=v(v(m[i+4>>2]-m[i+20>>2])*v(.5)),s=v(s+s),s=v(s*s),m[n+8>>2]=t*v(a+s),o=v(v(c-o)*v(.5)),o=v(o+o),o=v(o*o),m[n+4>>2]=t*v(a+o),m[n>>2]=t*v(s+o),w=i+96|0},r[332]=function(e){return 10880},r[333]=function(e,t){e|=0,t=v(t),m[e+72>>2]=t},r[334]=function(e){return v(m[72+(e|=0)>>2])},r[335]=function(e){return 24},r[336]=function(e,t,n){var i=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0,d=0,f=0,_=0,m=0;if(vs(e|=0,t|=0,n|=0),h[t+20>>2]=h[e+72>>2],i=h[e+16>>2],h[t+12>>2]=0,h[t+16>>2]=i,i){if(s=0|r[h[h[n>>2]+16>>2]](n,76,i),i=h[s+8>>2],h[t+12>>2]=r[h[h[n>>2]+28>>2]](n,i),h[t+16>>2]>0)for(;a=(o=g(c,80))+h[e+24>>2]|0,h[i+72>>2]=h[a+72>>2],h[i+64>>2]=r[h[h[n>>2]+28>>2]](n,h[a+64>>2]),r[h[h[n>>2]+24>>2]](n,h[64+(o+h[e+24>>2]|0)>>2])||(a=h[64+(o+h[e+24>>2]|0)>>2],p=n,d=0|r[h[h[a>>2]+52>>2]](a),f=1,u=h[h[n>>2]+16>>2],a=0|r[u](0|p,0|d,0|f),l=h[64+(o+h[e+24>>2]|0)>>2],f=n,d=a,p=0|r[h[h[l>>2]+56>>2]](l,h[a+8>>2],n),_=1346455635,m=h[64+(o+h[e+24>>2]|0)>>2],u=h[h[n>>2]+20>>2],r[u](0|f,0|d,0|p,0|_,0|m)),o=o+h[e+24>>2]|0,h[i+68>>2]=h[o+68>>2],h[i>>2]=h[o>>2],h[i+4>>2]=h[o+4>>2],h[i+8>>2]=h[o+8>>2],h[i+12>>2]=h[o+12>>2],h[i+16>>2]=h[o+16>>2],h[i+20>>2]=h[o+20>>2],h[i+24>>2]=h[o+24>>2],h[i+28>>2]=h[o+28>>2],h[i+32>>2]=h[o+32>>2],h[i+36>>2]=h[o+36>>2],h[i+40>>2]=h[o+40>>2],h[i+44>>2]=h[o+44>>2],h[i+48>>2]=h[o+48>>2],h[i+52>>2]=h[o+52>>2],h[i+56>>2]=h[o+56>>2],h[i+60>>2]=h[o+60>>2],i=i+76|0,(0|(c=c+1|0))>2];);r[h[h[n>>2]+20>>2]](n,s,10804,1497453121,h[s+8>>2])}return 10829},r[337]=function(e,t){t|=0;var n=0,i=0,o=0;if(h[68+(e|=0)>>2]=h[e+68>>2]+1,(0|(n=h[e+16>>2]))>=1)for(;i=n+-1|0,h[64+(h[e+24>>2]+g(i,80)|0)>>2]==(0|t)&&Ot(e,i),o=(0|n)>1,n=i,o;);r[h[h[e>>2]+68>>2]](e)},r[338]=function(e){e|=0;var t,n=v(0),i=0,o=0,a=0;if(w=t=w-32|0,h[e+48>>2]=-581039253,h[e+52>>2]=-581039253,h[e+32>>2]=1566444395,h[e+36>>2]=1566444395,h[e+56>>2]=-581039253,h[e+60>>2]=0,h[e+40>>2]=1566444395,h[e+44>>2]=0,h[e+16>>2]>=1)for(;o=h[e+24>>2]+g(i,80)|0,a=h[o+64>>2],r[h[h[a>>2]+8>>2]](a,o,t+16|0,t),n=m[t+16>>2],m[e+32>>2]>n&&(m[e+32>>2]=n),n=m[t>>2],m[e+48>>2]>2]=n),n=m[t+20>>2],m[e+36>>2]>n&&(m[e+36>>2]=n),n=m[t+4>>2],m[e+52>>2]>2]=n),n=m[t+24>>2],m[e+40>>2]>n&&(m[e+40>>2]=n),n=m[t+8>>2],m[e+56>>2]>2]=n),(0|(i=i+1|0))>2];);w=t+32|0},r[339]=jh,r[340]=fh,r[341]=ih,r[342]=function(e,t){e|=0,t|=0;var n=v(0),i=0,r=0,o=v(0);r=h[e+68>>2]<<2,n=m[r+t>>2],i=r,r=e+12|0,o=v(m[e+60>>2]*v(n/m[i+r>>2])),m[e+60>>2]=o,i=h[e+64>>2]<<2,n=v(m[i+t>>2]/m[r+i>>2]),i=h[e+72>>2]<<2,n=v(m[e+56>>2]*v(v(n+v(m[i+t>>2]/m[r+i>>2]))*v(.5))),m[e+56>>2]=n,m[e+52>>2]=n/v(S(v(v(o*o)+v(n*n)))),pc(e,t)},r[343]=function(e,t,n){e|=0,t=v(t),n|=0;var i,o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0);w=i=w-96|0,h[i+44>>2]=0,h[i+48>>2]=0,h[i+56>>2]=0,h[i+60>>2]=0,h[i+52>>2]=1065353216,h[i+76>>2]=0,h[i+80>>2]=0,h[i+72>>2]=1065353216,h[i+84>>2]=0,h[i+88>>2]=0,h[i+92>>2]=0,h[i+36>>2]=0,h[i+40>>2]=0,h[i+32>>2]=1065353216,h[i+64>>2]=0,h[i+68>>2]=0,r[h[h[e>>2]+8>>2]](e,i+32|0,i+16|0,i),c=m[i+24>>2],l=m[i+8>>2],a=m[i+16>>2],s=m[i>>2],u=m[i+20>>2],p=m[i+4>>2],o=v(r[h[h[e>>2]+48>>2]](e)),h[n+12>>2]=0,t=v(t*v(.0833333283662796)),a=v(o+v(v(s-a)*v(.5))),a=v(a+a),a=v(a*a),s=v(o+v(v(p-u)*v(.5))),s=v(s+s),s=v(s*s),m[n+8>>2]=t*v(a+s),o=v(o+v(v(l-c)*v(.5))),o=v(o+o),o=v(o*o),m[n+4>>2]=t*v(a+o),m[n>>2]=t*v(s+o),w=i+96|0},r[344]=function(e){return 11276},r[345]=function(e,t){h[8+(e|=0)>>2]=0,h[e+12>>2]=0,h[e>>2]=0,h[e+4>>2]=1065353216},r[346]=Hh,r[347]=function(e,t,n){return vs(e|=0,t|=0,n|=0),h[t+28>>2]=h[e+28>>2],h[t+32>>2]=h[e+32>>2],h[t+36>>2]=h[e+36>>2],h[t+40>>2]=h[e+40>>2],h[t+12>>2]=h[e+12>>2],h[t+16>>2]=h[e+16>>2],h[t+20>>2]=h[e+20>>2],h[t+24>>2]=h[e+24>>2],h[t+44>>2]=h[e+44>>2],h[t+52>>2]=h[e+68>>2],11281},r[348]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0),o=v(0),a=v(0),s=v(0),c=v(0);xr(e,t,n),v(r[h[h[t>>2]+48>>2]](t))!=v(0)&&(o=m[n+4>>2],i=m[n>>2],a=m[n+8>>2],s=v(r[h[h[t>>2]+48>>2]](t)),c=i=(t=v(v(v(i*i)+v(o*o))+v(a*a))>2]=m[e>>2]+v(s*v(c*i)),m[e+4>>2]=m[e+4>>2]+v(s*v(o*i)),m[e+8>>2]=m[e+8>>2]+v(s*v(a*i)))},r[349]=function(e,t,n){xr(e|=0,t|=0,n|=0)},r[350]=function(e,t,n,i){e|=0,t|=0,n|=0;var r,o=0,a=0,s=0;if(w=r=w-16|0,(0|(i|=0))>=1)for(;xr(r,e,(o=a<<4)+t|0),s=h[r+12>>2],h[8+(o=n+o|0)>>2]=h[r+8>>2],h[o+12>>2]=s,s=h[r+4>>2],h[o>>2]=h[r>>2],h[o+4>>2]=s,(0|(a=a+1|0))!=(0|i););w=r+16|0},r[351]=Xh,r[352]=Vh,r[353]=fh,r[354]=function(e){return 11297},r[355]=function(e,t){h[8+(e|=0)>>2]=1065353216,h[e+12>>2]=0,h[e>>2]=0,h[e+4>>2]=0},r[356]=fh,r[357]=function(e){return 11303},r[358]=function(e,t){h[8+(e|=0)>>2]=0,h[e+12>>2]=0,h[e>>2]=1065353216,h[e+4>>2]=0},r[359]=Ui,r[360]=function(e){(e=Ui(e|=0))&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[361]=function(e){var t=0;return h[(e|=0)>>2]=11368,(t=h[e+120>>2])&&(d[e+124|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+120>>2]=0),h[e+120>>2]=0,o[e+124|0]=1,h[e+112>>2]=0,h[e+116>>2]=0,(t=h[e+100>>2])&&(d[e+104|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+100>>2]=0),h[e+100>>2]=0,o[e+104|0]=1,h[e+92>>2]=0,h[e+96>>2]=0,0|e},r[362]=function(e){var t=0;h[(e|=0)>>2]=11368,(t=h[e+120>>2])&&(d[e+124|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+120>>2]=0),h[e+120>>2]=0,o[e+124|0]=1,h[e+112>>2]=0,h[e+116>>2]=0,(t=h[e+100>>2])&&(d[e+104|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+100>>2]=0),h[e+100>>2]=0,o[e+104|0]=1,h[e+92>>2]=0,h[e+96>>2]=0,e&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[363]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0);o=v(r[h[h[e>>2]+48>>2]](e)),M=m[t+52>>2],c=m[t+24>>2],l=m[t+20>>2],u=m[t+56>>2],p=m[t+40>>2],d=m[e+60>>2],g=m[e+76>>2],C=m[t+36>>2],a=m[e+56>>2],A=m[e+72>>2],R=m[t+48>>2],x=m[t+8>>2],S=m[t>>2],T=m[t+4>>2],E=m[t+16>>2],P=m[t+32>>2],s=m[e+52>>2],O=m[e+68>>2],h[n+12>>2]=0,f=u,u=v(v(O+s)*v(.5)),_=v(v(A+a)*v(.5)),b=v(v(g+d)*v(.5)),f=v(f+v(v(v(P*u)+v(C*_))+v(p*b))),s=v(o+v(v(O-s)*v(.5))),a=v(o+v(v(A-a)*v(.5))),o=v(o+v(v(g-d)*v(.5))),p=v(v(v(s*v(y(P)))+v(a*v(y(C))))+v(o*v(y(p)))),m[n+8>>2]=f-p,d=v(M+v(v(v(u*E)+v(_*l))+v(b*c))),c=v(v(v(s*v(y(E)))+v(a*v(y(l))))+v(o*v(y(c)))),m[n+4>>2]=d-c,l=v(R+v(v(v(u*S)+v(_*T))+v(b*x))),o=v(v(v(s*v(y(S)))+v(a*v(y(T))))+v(o*v(y(x)))),m[n>>2]=l-o,h[i+12>>2]=0,m[i+8>>2]=p+f,m[i+4>>2]=c+d,m[i>>2]=o+l},r[364]=function(e,t){e|=0,t|=0;var n=v(0),i=v(0),r=v(0);n=m[t>>2],i=m[t+4>>2],r=m[t+8>>2],h[e+24>>2]=0,m[e+20>>2]=y(r),m[e+16>>2]=y(i),m[e+12>>2]=y(n),ar(e)},r[365]=function(e,t,n){e|=0,t=v(t),n|=0;var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0);i=m[e+76>>2],a=m[e+60>>2],r=m[e+72>>2],s=m[e+56>>2],o=m[e+68>>2],c=m[e+52>>2],h[n+12>>2]=0,t=v(t/v(12)),o=v(v(o-c)*v(.5)),o=v(o+o),o=v(o*o),r=v(v(r-s)*v(.5)),r=v(r+r),r=v(r*r),m[n+8>>2]=t*v(o+r),i=v(v(i-a)*v(.5)),i=v(i+i),i=v(i*i),m[n+4>>2]=t*v(o+i),m[n>>2]=t*v(r+i)},r[366]=function(e){return 11536},r[367]=function(e){return 64},r[368]=function(e,t,n){var i,o=0,a=0,s=0,c=0;if(vs(e|=0,t|=0,n|=0),h[t+28>>2]=h[e+28>>2],h[t+32>>2]=h[e+32>>2],h[t+36>>2]=h[e+36>>2],h[t+40>>2]=h[e+40>>2],h[t+12>>2]=h[e+12>>2],h[t+16>>2]=h[e+16>>2],h[t+20>>2]=h[e+20>>2],h[t+24>>2]=h[e+24>>2],h[t+44>>2]=h[e+44>>2],i=h[e+92>>2]){if(o=0|r[h[h[n>>2]+28>>2]](n,h[e+100>>2]),h[t+56>>2]=i,h[t+52>>2]=o,a=0|r[h[h[n>>2]+16>>2]](n,20,i),s=h[e+100>>2],(0|i)>=1)for(c=h[e+120>>2],e=h[a+8>>2],t=0;o=(t<<4)+s|0,h[e>>2]=h[o>>2],h[e+4>>2]=h[o+4>>2],h[e+8>>2]=h[o+8>>2],h[e+12>>2]=h[o+12>>2],h[e+16>>2]=h[(t<<2)+c>>2],e=e+20|0,(0|i)!=(0|(t=t+1|0)););return r[h[h[n>>2]+20>>2]](n,a,11460,1497453121,s),11480}return h[t+52>>2]=0,h[t+56>>2]=0,11480},r[369]=function(e,t,n){e|=0,t|=0,n|=0;var i,o,a=0,s=v(0),c=0,l=0,u=v(0),p=v(0),d=v(0),f=v(0),_=0,b=v(0),g=v(0),y=0,C=0,A=0,x=v(0),T=v(0),E=v(0),P=v(0),O=v(0);if(w=i=w-2048|0,h[e>>2]=0,h[e+4>>2]=0,h[e+8>>2]=0,h[e+12>>2]=0,s=m[n>>2],d=m[n+4>>2],u=m[n+8>>2],p=v(v(v(s*s)+v(d*d))+v(u*u)),f=v(1),p>2]))>=1)for(n=h[t+100>>2],y=h[t+120>>2],u=v(-0xde0b6b000000000),_=o;;){e:if((0|(l=o-C|0))>0){for(A=(0|(a=(0|_)<128?_:128))>1?a:1,a=0;f=m[n>>2],x=m[t+12>>2],T=m[n+4>>2],E=m[t+16>>2],P=m[n+8>>2],s=m[y>>2],O=m[t+20>>2],p=v(r[h[h[t>>2]+48>>2]](t)),h[12+(c=(a<<4)+i|0)>>2]=0,m[c+8>>2]=v(P+v(s*v(b*O)))-v(b*p),m[c+4>>2]=v(T+v(s*v(g*E)))-v(g*p),m[c>>2]=v(f+v(s*v(d*x)))-v(d*p),y=y+4|0,n=n+16|0,(0|A)!=(0|(a=a+1|0)););if(c=0,a=-1,s=v(-34028234663852886e22),(0|l)<1)break e;for(A=(0|l)<128?l:128;s=(l=(p=v(v(v(d*m[(l=(c<<4)+i|0)>>2])+v(g*m[l+4>>2]))+v(b*m[l+8>>2])))>s)?p:s,a=l?c:a,(0|A)!=(0|(c=c+1|0)););}else s=v(-34028234663852886e22),a=-1;if(s>u&&(c=h[12+(a=(a<<4)+i|0)>>2],h[e+8>>2]=h[a+8>>2],h[e+12>>2]=c,c=h[a+4>>2],h[e>>2]=h[a>>2],h[e+4>>2]=c,u=s),_=_+-128|0,!((0|o)>(0|(C=C+128|0))))break}w=i+2048|0},r[370]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=0,s=0,c=0,l=0,u=0,p=0,d=v(0),f=0,_=v(0),b=0,g=0,y=0,C=v(0),A=v(0),x=v(0),S=0,T=0,E=0,P=v(0),O=v(0),M=v(0),R=0,I=v(0),D=v(0),L=0,N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0);if(w=o=w-2048|0,(0|i)>=1)for(;;){if((0|(b=h[e+92>>2]))>=1)for(g=(c=S<<4)+n|0,T=l=t+c|0,p=h[e+100>>2],E=h[e+120>>2],M=v(-0xde0b6b000000000),y=0,c=b;;){if(d=v(-34028234663852886e22),u=-1,!(R=(0|(f=b-y|0))<1)){for(L=(0|(a=(0|c)<128?c:128))>1?a:1,C=m[T+8>>2],A=m[l+4>>2],x=m[l>>2],a=0;N=m[p>>2],F=m[e+12>>2],B=m[p+4>>2],k=m[e+16>>2],V=m[p+8>>2],P=m[E>>2],z=m[e+20>>2],O=v(r[h[h[e>>2]+48>>2]](e)),_=m[l>>2],I=m[l+4>>2],D=m[T+8>>2],h[12+(s=(a<<4)+o|0)>>2]=0,m[s+8>>2]=v(V+v(P*v(C*z)))-v(O*D),m[s+4>>2]=v(B+v(P*v(A*k)))-v(O*I),m[s>>2]=v(N+v(P*v(x*F)))-v(O*_),E=E+4|0,p=p+16|0,C=D,A=I,x=_,(0|L)!=(0|(a=a+1|0)););if(!R)for(f=(0|f)<128?f:128,C=m[T+8>>2],A=m[l+4>>2],x=m[l>>2],a=0;d=(s=(_=v(v(v(x*m[(s=(a<<4)+o|0)>>2])+v(A*m[s+4>>2]))+v(C*m[s+8>>2])))>d)?_:d,u=s?a:u,(0|f)!=(0|(a=a+1|0)););}if(d>M&&(u=h[12+(a=(u<<4)+o|0)>>2],h[g+8>>2]=h[a+8>>2],h[g+12>>2]=u,u=h[a+4>>2],h[g>>2]=h[a>>2],h[g+4>>2]=u,M=d),c=c+-128|0,!((0|b)>(0|(y=y+128|0))))break}if((0|(S=S+1|0))==(0|i))break}w=o+2048|0},r[371]=fh,r[372]=bo,r[373]=function(e,t,n){e|=0,t=v(t),n|=0;var i=v(0),o=v(0);i=v(r[h[h[e>>2]+48>>2]](e)),o=v(r[h[h[e>>2]+48>>2]](e)),h[n+12>>2]=0,t=v(o*v(i*v(t*v(.4000000059604645)))),m[n+8>>2]=t,m[n+4>>2]=t,m[n>>2]=t},r[374]=function(e){return 11676},r[375]=Oh,r[376]=function(e){return v(v(m[28+(e|=0)>>2]*m[e+12>>2]))},r[377]=function(e,t,n){e|=0,t|=0,n|=0;var i,o=v(0),a=v(0),s=v(0),c=0,l=v(0),u=v(0);w=i=w-16|0,r[h[h[t>>2]+68>>2]](i,t,n),c=h[i+12>>2],h[e+8>>2]=h[i+8>>2],h[e+12>>2]=c,c=h[i+4>>2],h[e>>2]=h[i>>2],h[e+4>>2]=c,a=m[n+4>>2],o=m[n>>2],s=m[n+8>>2],l=v(r[h[h[t>>2]+48>>2]](t)),u=o=(t=v(v(v(o*o)+v(a*a))+v(s*s))>2]=m[e>>2]+v(l*v(u*o)),m[e+4>>2]=m[e+4>>2]+v(l*v(a*o)),m[e+8>>2]=m[e+8>>2]+v(l*v(s*o)),w=i+16|0},r[378]=function(e,t,n){h[(e|=0)>>2]=0,h[e+4>>2]=0,h[e+8>>2]=0,h[e+12>>2]=0},r[379]=function(e,t,n,i){n|=0,(0|(i|=0))>=1&&ji(n,0,i<<4)},r[380]=function(e){var t=0;return h[(e|=0)>>2]=11692,d[e+61|0]&&(t=h[e+52>>2],r[h[h[t>>2]>>2]](t),(t=h[e+52>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),0|e},r[381]=function(e){var t=0;h[(e|=0)>>2]=11692,d[e+61|0]&&(t=h[e+52>>2],r[h[h[t>>2]>>2]](t),(t=h[e+52>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),e&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[382]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=v(0),N=v(0),F=v(0);b=m[e+24>>2],T=m[e+40>>2],E=m[e+20>>2],P=m[e+36>>2],s=m[e+16>>2],O=m[e+32>>2],M=v(r[h[h[e>>2]+48>>2]](e)),R=v(r[h[h[e>>2]+48>>2]](e)),I=v(r[h[h[e>>2]+48>>2]](e)),w=m[t+52>>2],c=m[t+24>>2],l=m[t+20>>2],u=m[t+56>>2],p=m[e+20>>2],d=m[e+36>>2],g=m[e+24>>2],D=m[e+40>>2],f=m[t+40>>2],o=m[t+36>>2],L=m[t+48>>2],C=m[t+8>>2],A=m[t>>2],x=m[t+4>>2],S=m[t+16>>2],N=m[e+16>>2],F=m[e+32>>2],a=m[t+32>>2],h[n+12>>2]=0,_=u,u=v(v(F+N)*v(.5)),p=v(v(d+p)*v(.5)),d=v(v(D+g)*v(.5)),g=v(_+v(v(v(a*u)+v(o*p))+v(f*d))),s=v(M+v(v(O-s)*v(.5))),_=v(s*v(y(a))),a=v(R+v(v(P-E)*v(.5))),_=v(_+v(a*v(y(o)))),o=v(I+v(v(T-b)*v(.5))),f=v(_+v(o*v(y(f)))),m[n+8>>2]=g-f,b=v(w+v(v(v(u*S)+v(p*l))+v(d*c))),c=v(v(v(s*v(y(S)))+v(a*v(y(l))))+v(o*v(y(c)))),m[n+4>>2]=b-c,l=v(L+v(v(v(u*A)+v(p*x))+v(d*C))),o=v(v(v(s*v(y(A)))+v(a*v(y(x))))+v(o*v(y(C)))),m[n>>2]=l-o,h[i+12>>2]=0,m[i+8>>2]=f+g,m[i+4>>2]=c+b,m[i>>2]=o+l},r[383]=function(e,t){e|=0,t|=0;var n=v(0),i=0,a=v(0);i=0|r[h[h[e>>2]+28>>2]](e),n=v(m[i>>2]-m[t>>2]),a=v(n*n),n=v(m[i+4>>2]-m[t+4>>2]),a=v(a+v(n*n)),n=v(m[i+8>>2]-m[t+8>>2]),v(a+v(n*n))>v(1.1920928955078125e-7)&&(hc(e,t),d[e+61|0]&&(t=h[e+52>>2],r[h[h[t>>2]>>2]](t),(t=h[e+52>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),h[7717]=h[7717]+1,i=Ph(t=0|r[h[6606]](172,16)),h[e+52>>2]=t,ue(i,h[e+48>>2],d[e+60|0],e+16|0,e+32|0),o[e+61|0]=1)},r[384]=function(e){return h[48+(e|=0)>>2]+4|0},r[385]=cp,r[386]=function(e){return 12300},r[387]=function(e,t){e|=0,t=v(t),m[e+12>>2]=t},r[388]=function(e){return v(m[12+(e|=0)>>2])},r[389]=Hh,r[390]=function(e,t,n){var i=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0;vs(e|=0,t|=0,n|=0),i=h[e+48>>2],r[h[h[i>>2]+56>>2]](i,t+12|0,n),h[t+52>>2]=h[e+12>>2];e:if(!h[e+52>>2]||1&r[h[h[n>>2]+52>>2]](n))h[t+40>>2]=0,h[t+44>>2]=0;else{if(i=0|r[h[h[n>>2]+24>>2]](n,h[e+52>>2])){h[t+44>>2]=0,h[t+40>>2]=i;break e}i=0|r[h[h[n>>2]+28>>2]](n,h[e+52>>2]),h[t+44>>2]=0,h[t+40>>2]=i,i=h[e+52>>2],s=n,c=0|r[h[h[i>>2]+12>>2]](i),l=1,a=h[h[n>>2]+16>>2],i=0|r[a](0|s,0|c,0|l),o=h[e+52>>2],l=n,c=i,s=0|r[h[h[o>>2]+16>>2]](o,h[i+8>>2],n),u=1213612625,p=h[e+52>>2],a=h[h[n>>2]+20>>2],r[a](0|l,0|c,0|s,0|u,0|p)}return!h[e+56>>2]||2&r[h[h[n>>2]+52>>2]](n)?(h[t+48>>2]=0,11776):(i=0|r[h[h[n>>2]+24>>2]](n,h[e+56>>2]))?(h[t+48>>2]=i,11776):(h[t+48>>2]=r[h[h[n>>2]+28>>2]](n,h[e+56>>2]),t=h[e+56>>2],p=n,u=0|r[h[h[t>>2]+8>>2]](t),s=1,a=h[h[n>>2]+16>>2],t=0|r[a](0|p,0|u,0|s),i=h[e+56>>2],s=n,u=t,p=0|r[h[h[i>>2]+12>>2]](i,h[t+8>>2],n),c=1346456916,l=h[e+56>>2],a=h[h[n>>2]+20>>2],r[a](0|s,0|u,0|p,0|c,0|l),11776)},r[391]=function(e,t,n,i){var r,o;t|=0,n|=0,i|=0,w=r=w+-64|0,o=h[48+(e|=0)>>2],h[r+8>>2]=t,h[r+4>>2]=o,h[r>>2]=12164,kt(h[e+52>>2],r,n,i),w=r- -64|0},r[392]=function(e,t,n){e|=0,t|=0,n|=0;var i,o=0,a=v(0),s=v(0),c=v(0),l=v(0);w=i=w-160|0,h[i+152>>2]=0,h[i+144>>2]=0,h[i+148>>2]=0,h[i+136>>2]=0,h[i+140>>2]=0,h[i+44>>2]=0,h[i+48>>2]=0,h[i+56>>2]=0,h[i+60>>2]=0,h[(o=i- -64|0)>>2]=0,h[o+4>>2]=0,h[i+76>>2]=0,h[i+80>>2]=0,h[i+72>>2]=1065353216,h[i+84>>2]=0,h[i+88>>2]=0,h[i+92>>2]=1065353216,h[i+96>>2]=0,o=h[i+144>>2],h[i+100>>2]=h[i+140>>2],h[i+104>>2]=o,o=h[i+152>>2],h[i+108>>2]=h[i+148>>2],h[i+112>>2]=o,h[i+36>>2]=0,h[i+40>>2]=0,h[i+32>>2]=12580,h[i+52>>2]=1065353216,h[i+116>>2]=-581039253,a=m[n+4>>2],s=m[n>>2],c=m[n+8>>2],h[i+132>>2]=0,l=v(c*v(0)),m[i+124>>2]=v(a+v(s*m[i+56>>2]))+l,a=v(a*v(0)),m[i+128>>2]=c+v(v(s*m[i+60>>2])+a),m[i+120>>2]=v(s+a)+l,h[i+24>>2]=1566444395,h[i+28>>2]=0,h[i+16>>2]=1566444395,h[i+20>>2]=1566444395,h[i+8>>2]=-581039253,h[i+12>>2]=0,h[i>>2]=-581039253,h[i+4>>2]=-581039253,r[h[h[t>>2]+64>>2]](t,i+32|0,i,i+16|0),t=h[i+48>>2],h[e+8>>2]=h[i+44>>2],h[e+12>>2]=t,t=h[i+40>>2],h[e>>2]=h[i+36>>2],h[e+4>>2]=t,w=i+160|0},r[393]=function(e,t,n){e|=0,n|=0,r[h[h[(t|=0)>>2]+68>>2]](e,t,n)},r[394]=function(e,t){t|=0;var n=0,i=0,o=0,a=0,s=0,c=0,l=0,u=0;(n=h[52+(e|=0)>>2])&&(a=t,s=0|r[h[h[n>>2]+12>>2]](n),c=1,o=h[h[t>>2]+16>>2],n=0|r[o](0|a,0|s,0|c),i=h[e+52>>2],c=t,s=n,a=0|r[h[h[i>>2]+16>>2]](i,h[n+8>>2],t),l=1213612625,u=h[e+52>>2],o=h[h[t>>2]+20>>2],r[o](0|c,0|s,0|a,0|l,0|u))},r[395]=function(e,t){t|=0;var n=0,i=0,o=0,a=0,s=0,c=0,l=0,u=0;(n=h[56+(e|=0)>>2])&&(a=t,s=0|r[h[h[n>>2]+8>>2]](n),c=1,o=h[h[t>>2]+16>>2],n=0|r[o](0|a,0|s,0|c),i=h[e+56>>2],c=t,s=n,a=0|r[h[h[i>>2]+12>>2]](i,h[n+8>>2],t),l=1346456916,u=h[e+56>>2],o=h[h[t>>2]+20>>2],r[o](0|c,0|s,0|a,0|l,0|u))},r[396]=jh,r[397]=Jh,r[398]=An,r[399]=Jh,r[400]=An,r[401]=Jh,r[402]=function(e,t,n){e|=0,t|=0,n|=0;var i,o,a,s,c,l=0,u=0,p=0,_=v(0),y=v(0),C=v(0),A=v(0),x=0,S=0;w=i=w-32|0,u=h[e+4>>2],r[h[h[u>>2]+16>>2]](u,i+28|0,i+24|0,i+20|0,i+16|0,i+12|0,i+8|0,i+4|0,i,t),a=h[i+12>>2]+g(h[i+8>>2],n)|0,s=h[i+20>>2],u=(o=h[e+4>>2])+12|0,l=p=h[i+28>>2];e:{t:{n:{i:switch((x=h[i>>2])+-2|0){case 0:break n;case 1:break i;default:break t}S=f[a+4>>1];break e}S=h[a+8>>2];break e}S=d[a+2|0]}c=h[i+16>>2],l=l+g(S,c)|0,s?(_=v(m[o+8>>2]*v(b[l+8>>3])),y=v(m[o+4>>2]*v(b[l>>3])),C=v(b[l+16>>3]),l=u):(_=v(m[l+4>>2]*m[o+8>>2]),y=v(m[l>>2]*m[o+4>>2]),C=m[o+12>>2],l=l+8|0),A=m[l>>2],h[e+56>>2]=0,m[e+48>>2]=_,m[e+44>>2]=y,m[e+52>>2]=A*C;e:{t:switch(x+-2|0){case 0:l=h[a+4>>2];break e;case 1:l=f[a+2>>1];break e}l=d[a+1|0]}l=g(l,c)+p|0,s?(_=v(m[o+8>>2]*v(b[l+8>>3])),y=v(m[o+4>>2]*v(b[l>>3])),C=v(b[l+16>>3]),l=u):(_=v(m[l+4>>2]*m[o+8>>2]),y=v(m[l>>2]*m[o+4>>2]),C=m[o+12>>2],l=l+8|0),A=m[l>>2],h[e+40>>2]=0,m[e+32>>2]=_,m[e+28>>2]=y,m[e+36>>2]=A*C;e:{t:switch(x+-2|0){case 0:l=h[a>>2];break e;case 1:l=f[a>>1];break e}l=d[0|a]}p=g(l,c)+p|0,s?(C=v(b[p+16>>3]),_=v(m[o+8>>2]*v(b[p+8>>3])),y=v(m[o+4>>2]*v(b[p>>3]))):(u=p+8|0,C=m[o+12>>2],_=v(m[p+4>>2]*m[o+8>>2]),y=v(m[p>>2]*m[o+4>>2])),A=m[u>>2],h[e+24>>2]=0,m[e+16>>2]=_,m[e+12>>2]=y,m[e+20>>2]=A*C,u=h[e+8>>2],r[h[h[u>>2]+8>>2]](u,e+12|0,t,n),e=h[e+4>>2],r[h[h[e>>2]+24>>2]](e,t),w=i+32|0},r[403]=jh,r[404]=fh,r[405]=hc,r[406]=function(e){return 12628},r[407]=Wh,r[408]=vs,r[409]=function(e,t,n,i){var o;e|=0,t|=0,n|=0,i|=0,w=o=w-48|0,h[o+12>>2]=t,h[o+8>>2]=12444,t=h[n+12>>2],h[o+24>>2]=h[n+8>>2],h[o+28>>2]=t,t=h[n+4>>2],h[o+16>>2]=h[n>>2],h[o+20>>2]=t,t=h[i+12>>2],h[o+40>>2]=h[i+8>>2],h[o+44>>2]=t,t=h[i+4>>2],h[o+32>>2]=h[i>>2],h[o+36>>2]=t,e=h[e+48>>2],r[h[h[e>>2]+8>>2]](e,o+8|0,n,i),w=o+48|0},r[410]=jh,r[411]=Jh,r[412]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o=0,a=v(0),s=v(0),c=v(0),l=v(0),u=0;((l=(a=m[t>>2])<(s=m[t+16>>2])?a:s)<(c=m[t+32>>2])?l:c)>m[e+24>>2]||m[(m[t+(o=(a>s^1)<<4)>>2]>c?o:32)+t>>2]>2]||((l=(a=m[t+8>>2])<(s=m[(o=t+24|0)>>2])?a:s)<(c=m[(u=t+40|0)>>2])?l:c)>m[e+32>>2]||m[(m[(o=a>s?t+8|0:o)>>2]>c?o:u)>>2]>2]||((l=(a=m[t+4>>2])<(s=m[(o=t+20|0)>>2])?a:s)<(c=m[(u=t+36|0)>>2])?l:c)>m[e+28>>2]||m[(m[(o=a>s?t+4|0:o)>>2]>c?o:u)>>2]>2]||(e=h[e+4>>2],r[h[h[e>>2]+8>>2]](e,t,n,i))},r[413]=Jh,r[414]=function(e,t,n,i){e|=0,t|=0,n|=0;var r=v(0),o=v(0),a=v(0),s=v(0),c=v(0);a=m[e+88>>2],s=m[e+92>>2],c=m[e+96>>2],(r=v(v(v(a*m[t>>2])+v(s*m[t+4>>2]))+v(c*m[t+8>>2])))>(o=m[e+84>>2])&&(m[e+84>>2]=r,n=h[t+12>>2],h[e+12>>2]=h[t+8>>2],h[e+16>>2]=n,n=h[t+4>>2],h[e+4>>2]=h[t>>2],h[e+8>>2]=n,o=r),(r=v(v(v(a*m[t+16>>2])+v(s*m[t+20>>2]))+v(c*m[t+24>>2])))>o&&(m[e+84>>2]=r,n=h[t+28>>2],h[e+12>>2]=h[t+24>>2],h[e+16>>2]=n,n=h[t+20>>2],h[e+4>>2]=h[t+16>>2],h[e+8>>2]=n,o=r),(r=v(v(v(a*m[t+32>>2])+v(s*m[t+36>>2]))+v(c*m[t+40>>2])))>o&&(m[e+84>>2]=r,n=h[t+44>>2],h[e+12>>2]=h[t+40>>2],h[e+16>>2]=n,n=h[t+36>>2],h[e+4>>2]=h[t+32>>2],h[e+8>>2]=n)},r[415]=jh,r[416]=fh,r[417]=function(e,t,n,i){i|=0,h[8+(n|=0)>>2]=-581039253,h[n+12>>2]=0,h[n>>2]=-581039253,h[n+4>>2]=-581039253,h[i+8>>2]=1566444395,h[i+12>>2]=0,h[i>>2]=1566444395,h[i+4>>2]=1566444395},r[418]=function(e,t){e|=0;var n=0;n=h[4+(t|=0)>>2],h[e+68>>2]=h[t>>2],h[e+72>>2]=n,n=h[t+12>>2],h[e+76>>2]=h[t+8>>2],h[e+80>>2]=n},r[419]=function(e){return 68+(e|=0)|0},r[420]=cp,r[421]=function(e){return 12756},r[422]=Gh,r[423]=function(e,t,n){return vs(e|=0,t|=0,n|=0),h[t+12>>2]=h[e+68>>2],h[t+16>>2]=h[e+72>>2],h[t+20>>2]=h[e+76>>2],h[t+24>>2]=h[e+80>>2],h[t+28>>2]=h[e+48>>2],h[t+32>>2]=h[e+52>>2],h[t+36>>2]=h[e+56>>2],h[t+40>>2]=h[e+60>>2],h[t+44>>2]=h[e+64>>2],12768},r[424]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0);w=o=w-48|0,p=m[i>>2],l=m[n>>2],c=v(v(p-l)*v(.5)),u=v(c*c),s=m[i+4>>2],a=m[n+4>>2],c=v(v(s-a)*v(.5)),_=v(u+v(c*c)),u=m[i+8>>2],d=m[n+8>>2],c=v(v(u-d)*v(.5)),c=v(S(v(_+v(c*c)))),u=v(v(u+d)*v(.5)),d=v(v(s+a)*v(.5)),b=v(v(p+l)*v(.5)),p=m[e+56>>2],v(y(p))>v(.7071067690849304)?(l=m[e+52>>2],s=v(v(p*p)+v(l*l)),a=v(v(1)/v(S(s))),g=v(s*a),f=v(l*a),s=m[e+48>>2],C=v(f*v(-s)),a=v(a*v(-p)),A=v(s*a)):(s=m[e+48>>2],l=m[e+52>>2],g=v(v(s*s)+v(l*l)),a=v(v(1)/v(S(g))),A=v(g*a),T=v(a*v(-l)),C=v(p*T),a=v(s*a),g=v(a*v(-p))),x=m[e+64>>2],h[o+44>>2]=0,h[o+28>>2]=0,_=u,u=v(v(v(p*u)+v(v(b*s)+v(d*l)))-x),x=v(_-v(p*u)),f=v(c*f),_=v(x-f),p=v(c*A),A=v(_-p),m[o+40>>2]=A,d=v(d-v(l*u)),a=v(c*a),E=v(d-a),l=v(c*C),C=v(E-l),m[o+36>>2]=C,f=v(f+x),m[o+24>>2]=f-p,a=v(a+d),m[o+20>>2]=a-l,h[o+12>>2]=0,s=v(b-v(s*u)),u=v(c*T),d=v(s-u),c=v(c*g),b=v(d-c),m[o+32>>2]=b,s=v(u+s),m[o+16>>2]=s-c,u=v(p+f),m[o+8>>2]=u,a=v(l+a),m[o+4>>2]=a,s=v(c+s),m[o>>2]=s,r[h[h[t>>2]+8>>2]](t,o,0,0),h[o+44>>2]=0,m[o+40>>2]=u,m[o+36>>2]=a,h[o+28>>2]=0,m[o+24>>2]=p+_,m[o+20>>2]=l+E,m[o+32>>2]=s,m[o+16>>2]=c+d,h[o+12>>2]=0,m[o+8>>2]=A,m[o+4>>2]=C,m[o>>2]=b,r[h[h[t>>2]+8>>2]](t,o,0,1),w=o+48|0},r[425]=$h,r[426]=function(e,t,n){e|=0,t=v(t),n|=0;var i,o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0);w=i=w-96|0,o=v(r[h[h[e>>2]+48>>2]](e)),h[i+44>>2]=0,h[i+48>>2]=0,h[i+56>>2]=0,h[i+60>>2]=0,h[i+52>>2]=1065353216,h[i+76>>2]=0,h[i+80>>2]=0,h[i+72>>2]=1065353216,h[i+84>>2]=0,h[i+88>>2]=0,h[i+92>>2]=0,h[i+36>>2]=0,h[i+40>>2]=0,h[i+32>>2]=1065353216,h[i+64>>2]=0,h[i+68>>2]=0,r[h[h[e>>2]+8>>2]](e,i+32|0,i+16|0,i),c=m[i+24>>2],l=m[i+8>>2],a=m[i+16>>2],s=m[i>>2],u=m[i+20>>2],p=m[i+4>>2],h[n+12>>2]=0,t=v(t*v(.0833333283662796)),a=v(o+v(v(s-a)*v(.5))),a=v(a+a),a=v(a*a),s=v(o+v(v(p-u)*v(.5))),s=v(s+s),s=v(s*s),m[n+8>>2]=t*v(a+s),o=v(o+v(v(l-c)*v(.5))),o=v(o+o),o=v(o*o),m[n+4>>2]=t*v(a+o),m[n>>2]=t*v(s+o),w=i+96|0},r[427]=function(e,t,n){e|=0,t|=0,n|=0;var i,o=0,a=v(0),s=v(0),c=v(0),l=v(0),u=0,p=0,d=0,f=v(0),_=v(0),b=v(0);if(w=i=w-2048|0,h[e>>2]=0,h[e+4>>2]=0,h[e+8>>2]=0,h[e+12>>2]=0,c=m[n>>2],a=m[n+4>>2],l=m[n+8>>2],s=v(v(v(c*c)+v(a*a))+v(l*l)),f=v(1),s>2]+96>>2]](t))>=1)for(l=v(-0xde0b6b000000000);;){if(u=128,((0|r[h[h[t>>2]+96>>2]](t))-p|0)>127||(0|(u=(0|r[h[h[t>>2]+96>>2]](t))-p|0))>=1){for(n=0,o=0;r[h[h[t>>2]+108>>2]](t,o,(o<<4)+i|0),(0|u)!=(0|(o=o+1|0)););for(d=-1,a=v(-34028234663852886e22);a=(o=(c=v(v(v(s*m[(o=(n<<4)+i|0)>>2])+v(b*m[o+4>>2]))+v(_*m[o+8>>2])))>a)?c:a,d=o?n:d,(0|u)!=(0|(n=n+1|0)););}else a=v(-34028234663852886e22),d=-1;if(a>l&&(n=h[12+(o=(d<<4)+i|0)>>2],h[e+8>>2]=h[o+8>>2],h[e+12>>2]=n,n=h[o+4>>2],h[e>>2]=h[o>>2],h[e+4>>2]=n,l=a),!((0|(p=p+128|0))<(0|r[h[h[t>>2]+96>>2]](t))))break}w=i+2048|0},r[428]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=0,s=0,c=v(0),l=0,u=0,p=0,d=0,f=0,_=0,b=0,g=v(0),y=0,C=v(0),A=v(0),x=v(0);if(w=o=w-2048|0,!((0|i)<=0)){for(;h[12+((a<<4)+n|0)>>2]=-581039253,(0|(a=a+1|0))!=(0|i););if(!((0|i)<1))for(;;){if((0|r[h[h[e>>2]+96>>2]](e))>=1)for(b=u=(a=f<<4)+n|0,y=_=t+a|0,p=0;;){if(d=128,((0|r[h[h[e>>2]+96>>2]](e))-p|0)>127||(0|(d=(0|r[h[h[e>>2]+96>>2]](e))-p|0))>=1){for(a=0;r[h[h[e>>2]+108>>2]](e,a,(a<<4)+o|0),(0|d)!=(0|(a=a+1|0)););for(C=m[y+8>>2],A=m[_+4>>2],x=m[_>>2],a=0,s=-1,c=v(-34028234663852886e22);c=(l=(g=v(v(v(x*m[(l=(a<<4)+o|0)>>2])+v(A*m[l+4>>2]))+v(C*m[l+8>>2])))>c)?g:c,s=l?a:s,(0|d)!=(0|(a=a+1|0)););}else c=v(-34028234663852886e22),s=-1;if(c>m[b+12>>2]&&(s=h[12+(a=(s<<4)+o|0)>>2],h[u+8>>2]=h[a+8>>2],h[u+12>>2]=s,s=h[a+4>>2],h[u>>2]=h[a>>2],h[u+4>>2]=s,m[b+12>>2]=c),!((0|(p=p+128|0))<(0|r[h[h[e>>2]+96>>2]](e))))break}if((0|(f=f+1|0))==(0|i))break}}w=o+2048|0},r[429]=$h,r[430]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0);o=v(r[h[h[e>>2]+48>>2]](e)),M=m[t+52>>2],c=m[t+24>>2],l=m[t+20>>2],u=m[t+56>>2],p=m[t+40>>2],d=m[e- -64>>2],g=m[e+80>>2],C=m[t+36>>2],a=m[e+60>>2],A=m[e+76>>2],R=m[t+48>>2],x=m[t+8>>2],S=m[t>>2],T=m[t+4>>2],E=m[t+16>>2],P=m[t+32>>2],s=m[e+56>>2],O=m[e+72>>2],h[n+12>>2]=0,f=u,u=v(v(O+s)*v(.5)),_=v(v(A+a)*v(.5)),b=v(v(g+d)*v(.5)),f=v(f+v(v(v(P*u)+v(C*_))+v(p*b))),s=v(o+v(v(O-s)*v(.5))),a=v(o+v(v(A-a)*v(.5))),o=v(o+v(v(g-d)*v(.5))),p=v(v(v(s*v(y(P)))+v(a*v(y(C))))+v(o*v(y(p)))),m[n+8>>2]=f-p,d=v(M+v(v(v(u*E)+v(_*l))+v(b*c))),c=v(v(v(s*v(y(E)))+v(a*v(y(l))))+v(o*v(y(c)))),m[n+4>>2]=d-c,l=v(R+v(v(v(u*S)+v(_*T))+v(b*x))),o=v(v(v(s*v(y(S)))+v(a*v(y(T))))+v(o*v(y(x)))),m[n>>2]=l-o,h[i+12>>2]=0,m[i+8>>2]=p+f,m[i+4>>2]=c+d,m[i>>2]=o+l},r[431]=function(e,t){pc(e|=0,t|=0),or(e)},r[432]=jh,r[433]=fh,r[434]=bo,r[435]=function(e,t){e|=0;var n=0;n=h[4+(t|=0)>>2],h[e+16>>2]=h[t>>2],h[e+20>>2]=n,n=h[t+12>>2],h[e+24>>2]=h[t+8>>2],h[e+28>>2]=n},r[436]=function(e){return 16+(e|=0)|0},r[437]=kh,r[438]=function(e){return 13252},r[439]=Th,r[440]=$h,r[441]=$h,r[442]=$h,r[443]=function(e){var t;return h[(e|=0)>>2]=13728,(t=h[e+104>>2])&&(d[e+108|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+104>>2]=0),h[e+104>>2]=0,o[e+108|0]=1,h[e+96>>2]=0,h[e+100>>2]=0,dc(e),0|e},r[444]=function(e){var t;h[(e|=0)>>2]=13728,(t=h[e+104>>2])&&(d[e+108|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+104>>2]=0),h[e+104>>2]=0,o[e+108|0]=1,h[e+96>>2]=0,h[e+100>>2]=0,dc(e),e&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[445]=function(e,t){e|=0;var n=0;n=h[4+(t|=0)>>2],h[e+12>>2]=h[t>>2],h[e+16>>2]=n,n=h[t+12>>2],h[e+20>>2]=h[t+8>>2],h[e+24>>2]=n,or(e)},r[446]=function(e){return 13932},r[447]=function(e){return 68},r[448]=function(e,t,n){var i,o=0,a=0,s=0;if(vs(e|=0,t|=0,n|=0),h[t+28>>2]=h[e+28>>2],h[t+32>>2]=h[e+32>>2],h[t+36>>2]=h[e+36>>2],h[t+40>>2]=h[e+40>>2],h[t+12>>2]=h[e+12>>2],h[t+16>>2]=h[e+16>>2],h[t+20>>2]=h[e+20>>2],h[t+24>>2]=h[e+24>>2],h[t+44>>2]=h[e+44>>2],i=h[e+96>>2],h[t+60>>2]=i,i){if(o=0|r[h[h[n>>2]+28>>2]](n,h[e+104>>2]),h[t+56>>2]=0,h[t+52>>2]=o,o=0|r[h[h[n>>2]+16>>2]](n,16,i),s=h[e+104>>2],(0|i)>=1)for(t=h[o+8>>2];e=(a<<4)+s|0,h[t>>2]=h[e>>2],h[t+4>>2]=h[e+4>>2],h[t+8>>2]=h[e+8>>2],h[t+12>>2]=h[e+12>>2],t=t+16|0,(0|(a=a+1|0))!=(0|i););return r[h[h[n>>2]+20>>2]](n,o,13856,1497453121,s),13875}return h[t+52>>2]=0,h[t+56>>2]=0,13875},r[449]=Zr,r[450]=function(e,t,n){e|=0,t|=0,n|=0;var i,r=0,o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=0,d=v(0),f=v(0);if((0|(i=h[t+96>>2]))>=1){for(c=m[t+12>>2],a=v(m[n>>2]*c),l=m[t+20>>2],s=v(m[n+8>>2]*l),u=m[t+16>>2],f=v(m[n+4>>2]*u),p=h[t+104>>2],t=0,n=-1,o=v(-34028234663852886e22);o=(r=(d=v(v(v(a*m[(r=(t<<4)+p|0)>>2])+v(f*m[r+4>>2]))+v(s*m[r+8>>2])))>o)?d:o,n=r?t:n,(0|i)!=(0|(t=t+1|0)););return o=m[(t=(n<<4)+p|0)>>2],a=m[t+4>>2],s=m[t+8>>2],h[e+12>>2]=0,m[e+8>>2]=l*s,m[e+4>>2]=u*a,void(m[e>>2]=c*o)}h[e>>2]=0,h[e+4>>2]=0,h[e+8>>2]=0,h[e+12>>2]=0},r[451]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var r=0,o=0,a=0,s=v(0),c=0,l=0,u=v(0),p=v(0),d=0,f=v(0),_=v(0),b=v(0),g=0,y=v(0),C=v(0);if(!((0|i)<=0)){for(;h[12+((r<<4)+n|0)>>2]=-581039253,(0|(r=r+1|0))!=(0|i););if(!((0|i)<1))for(;;){if(l=c<<4,(0|(d=h[e+96>>2]))<1)s=v(-0xde0b6b000000000);else{for(r=t+l|0,f=m[e+20>>2],u=v(m[r+8>>2]*f),_=m[e+16>>2],p=v(m[r+4>>2]*_),b=m[e+12>>2],C=v(m[r>>2]*b),g=h[e+104>>2],r=0,o=-1,s=v(-34028234663852886e22);s=(a=(y=v(v(v(C*m[(a=(r<<4)+g|0)>>2])+v(p*m[a+4>>2]))+v(u*m[a+8>>2])))>s)?y:s,o=a?r:o,(0|d)!=(0|(r=r+1|0)););u=m[(r=(o<<4)+g|0)>>2],p=m[r+4>>2],m[8+(o=n+l|0)>>2]=m[r+8>>2]*f,m[o+4>>2]=p*_,m[o>>2]=u*b}if(m[12+(n+l|0)>>2]=s,(0|(c=c+1|0))==(0|i))break}}},r[452]=Dh,r[453]=Dh,r[454]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var r,o,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0);o=h[e+96>>2],r=h[e+104>>2]+((0|t)%(0|o)<<4)|0,a=m[r>>2],s=m[r+4>>2],c=m[r+8>>2],l=m[e+16>>2],u=m[e+20>>2],p=m[e+12>>2],h[n+12>>2]=0,m[n+8>>2]=c*u,m[n+4>>2]=s*l,m[n>>2]=a*p,t=h[e+104>>2]+((t+1|0)%(0|o)<<4)|0,a=m[t>>2],s=m[t+4>>2],c=m[t+8>>2],l=m[e+16>>2],u=m[e+20>>2],p=m[e+12>>2],h[i+12>>2]=0,m[i+8>>2]=c*u,m[i+4>>2]=s*l,m[i>>2]=a*p},r[455]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0);t=h[e+104>>2]+(t<<4)|0,i=m[t>>2],r=m[t+4>>2],o=m[t+8>>2],a=m[e+16>>2],s=m[e+20>>2],c=m[e+12>>2],h[n+12>>2]=0,m[n+8>>2]=o*s,m[n+4>>2]=r*a,m[n>>2]=i*c},r[456]=Xh,r[457]=Th,r[458]=yh,r[459]=function(e,t,n,i,r,o,a){e|=0,t|=0,n|=0,i|=0,r|=0,o|=0,a|=0;var s,c,l=v(0),u=v(0),p=0,d=0,f=v(0),_=v(0),b=v(0);if(s=w-16|0,h[i>>2]=2139095039,p=-8388609,h[r>>2]=-8388609,c=h[e+96>>2],l=v(-34028234663852886e22),!((0|c)<1)){for(p=0;d=h[e+104>>2]+(p<<4)|0,l=v(m[d>>2]*m[e+12>>2]),u=v(m[d+4>>2]*m[e+16>>2]),f=v(m[d+8>>2]*m[e+20>>2]),_=v(v(v(v(l*m[t>>2])+v(u*m[t+4>>2]))+v(f*m[t+8>>2]))+m[t+48>>2]),b=v(v(v(v(l*m[t+16>>2])+v(u*m[t+20>>2]))+v(f*m[t+24>>2]))+m[t+52>>2]),u=v(v(v(v(l*m[t+32>>2])+v(u*m[t+36>>2]))+v(f*m[t+40>>2]))+m[t+56>>2]),(l=v(v(v(_*m[n>>2])+v(b*m[n+4>>2]))+v(u*m[n+8>>2])))>2]&&(m[i>>2]=l,h[o+12>>2]=0,m[o+8>>2]=u,m[o+4>>2]=b,m[o>>2]=_),l>m[r>>2]&&(m[r>>2]=l,h[a+12>>2]=0,m[a+8>>2]=u,m[a+4>>2]=b,m[a>>2]=_),(0|c)!=(0|(p=p+1|0)););p=h[r>>2],l=m[r>>2]}(u=m[i>>2])>l&&(h[i>>2]=p,m[r>>2]=u,e=h[o+12>>2],h[s+8>>2]=h[o+8>>2],h[s+12>>2]=e,e=h[o+4>>2],h[s>>2]=h[o>>2],h[s+4>>2]=e,e=h[a+12>>2],h[o+8>>2]=h[a+8>>2],h[o+12>>2]=e,e=h[a+4>>2],h[o>>2]=h[a>>2],h[o+4>>2]=e,e=h[s+12>>2],h[a+8>>2]=h[s+8>>2],h[a+12>>2]=e,e=h[s+4>>2],h[a>>2]=h[s>>2],h[a+4>>2]=e)},r[460]=fh,r[461]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a,s=v(0),c=v(0),l=0,u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0);w=o=w-16|0,a=e+28|0,l=h[e+52>>2],s=m[a+((l+2|0)%3<<2)>>2],h[o+12>>2]=0,m[o+8>>2]=s,m[o+4>>2]=s,m[o>>2]=s,m[(l<<=2)+o>>2]=s+m[l+a>>2],s=v(r[h[h[e>>2]+48>>2]](e)),c=v(r[h[h[e>>2]+48>>2]](e)),u=v(r[h[h[e>>2]+48>>2]](e)),s=v(s+m[o>>2]),m[o>>2]=s,c=v(c+m[o+4>>2]),m[o+4>>2]=c,f=m[t+52>>2],p=m[t+20>>2],g=m[t+24>>2],_=m[t+56>>2],d=m[t+36>>2],C=m[t+40>>2],b=m[t+48>>2],A=m[t+8>>2],x=m[t>>2],S=m[t+4>>2],T=m[t+16>>2],E=m[t+32>>2],P=m[o+8>>2],h[n+12>>2]=0,u=v(u+P),d=v(v(v(s*v(y(E)))+v(c*v(y(d))))+v(u*v(y(C)))),m[n+8>>2]=_-d,p=v(v(v(s*v(y(T)))+v(c*v(y(p))))+v(u*v(y(g)))),m[n+4>>2]=f-p,s=v(v(v(s*v(y(x)))+v(c*v(y(S))))+v(u*v(y(A)))),m[n>>2]=b-s,h[i+12>>2]=0,m[i+8>>2]=_+d,m[i+4>>2]=p+f,m[i>>2]=s+b,w=o+16|0},r[462]=so,r[463]=function(e,t,n){e|=0,t=v(t),n|=0;var i,r=v(0),o=v(0),a=v(0),s=0,c=0;i=e+28|0,c=h[e+52>>2],s=h[i+((c+2|0)%3<<2)>>2],h[12+(e=w-16|0)>>2]=0,h[e+8>>2]=s,h[e+4>>2]=s,h[e>>2]=s,m[(c=(s=c<<2)+e|0)>>2]=m[s+i>>2]+m[c>>2],r=m[e+8>>2],t=v(t*v(.0833333283662796)),o=v(m[e>>2]+v(.03999999910593033)),o=v(o+o),o=v(o*o),a=v(m[e+4>>2]+v(.03999999910593033)),a=v(a+a),a=v(a*a),m[n+8>>2]=t*v(o+a),r=v(r+v(.03999999910593033)),r=v(r+r),r=v(r*r),m[n+4>>2]=t*v(o+r),m[n>>2]=t*v(a+r)},r[464]=function(e){return 14408},r[465]=zl,r[466]=fo,r[467]=Hh,r[468]=function(e,t,n){return vs(e|=0,t|=0,n|=0),h[t+28>>2]=h[e+28>>2],h[t+32>>2]=h[e+32>>2],h[t+36>>2]=h[e+36>>2],h[t+40>>2]=h[e+40>>2],h[t+12>>2]=h[e+12>>2],h[t+16>>2]=h[e+16>>2],h[t+20>>2]=h[e+20>>2],h[t+24>>2]=h[e+24>>2],h[t+44>>2]=h[e+44>>2],h[t+52>>2]=h[e+52>>2],14421},r[469]=function(e,t,n){e|=0,t|=0,n|=0;var i,o,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0);w=i=w-16|0,h[e>>2]=0,h[e+4>>2]=0,h[e+8>>2]=0,h[e+12>>2]=0,s=m[n>>2],d=m[n+4>>2],a=m[n+8>>2],(c=v(v(v(s*s)+v(d*d))+v(a*a)))>2],a=m[o+((n+2|0)%3<<2)>>2],h[i+8>>2]=0,h[i+12>>2]=0,h[i>>2]=0,h[i+4>>2]=0,h[(n<<=2)+i>>2]=h[n+o>>2],_=m[i+4>>2],f=m[i>>2],d=v(-0xde0b6b000000000),g=v(u*a),l=v(g+m[i+8>>2]),p=v(r[h[h[t>>2]+48>>2]](t)),b=v(l-v(u*p)),y=v(s*a),f=v(v(f+y)-v(s*p)),l=_,_=v(c*a),p=v(v(l+_)-v(c*p)),(a=v(v(u*b)+v(v(s*f)+v(c*p))))>v(-0xde0b6b000000000)&&(h[e+12>>2]=0,m[e+8>>2]=b,m[e+4>>2]=p,m[e>>2]=f,d=a),h[i+8>>2]=0,h[i+12>>2]=0,h[i>>2]=0,h[i+4>>2]=0,n=h[t+52>>2]<<2,m[n+i>>2]=-m[28+(t+n|0)>>2],p=m[i+4>>2],b=m[i>>2],f=u,l=v(g+m[i+8>>2]),a=v(r[h[h[t>>2]+48>>2]](t)),u=v(l-v(u*a)),l=s,s=v(v(y+b)-v(s*a)),a=v(v(_+p)-v(c*a)),v(v(f*u)+v(v(l*s)+v(c*a)))>d&&(h[e+12>>2]=0,m[e+8>>2]=u,m[e+4>>2]=a,m[e>>2]=s),w=i+16|0},r[470]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=0,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=0,b=0,g=v(0),y=0,C=v(0);w=o=w-16|0,b=((a=h[e+52>>2])+2|0)%3|0;e:if(!((0|i)<1))for(g=m[28+((b<<2)+e|0)>>2],b=0;;){if(h[o+8>>2]=0,h[o+12>>2]=0,h[o>>2]=0,h[o+4>>2]=0,h[(a<<=2)+o>>2]=h[28+(e+a|0)>>2],u=m[8+(a=(y=b<<4)+t|0)>>2],c=m[a+4>>2],p=m[o+8>>2],l=m[o+4>>2],C=v(-0xde0b6b000000000),d=v(m[o>>2]+v(g*m[a>>2])),s=v(r[h[h[e>>2]+48>>2]](e)),f=m[a>>2],d=v(d-v(s*f)),l=v(l+v(g*c)),c=m[a+4>>2],l=v(l-v(s*c)),p=v(p+v(g*u)),u=m[a+8>>2],p=v(p-v(s*u)),(s=v(v(v(f*d)+v(c*l))+v(u*p)))>v(-0xde0b6b000000000)&&(h[12+(_=n+y|0)>>2]=0,m[_+8>>2]=p,m[_+4>>2]=l,m[_>>2]=d,u=m[a+8>>2],c=m[a+4>>2],f=m[a>>2],C=s),h[o+8>>2]=0,h[o+12>>2]=0,h[o>>2]=0,h[o+4>>2]=0,_=h[e+52>>2]<<2,m[_+o>>2]=-m[28+(e+_|0)>>2],d=m[o+4>>2],l=m[o+8>>2],f=v(m[o>>2]+v(g*f)),s=v(r[h[h[e>>2]+48>>2]](e)),p=m[a>>2],f=v(f-v(s*p)),c=v(d+v(g*c)),d=m[a+4>>2],c=v(c-v(s*d)),l=v(l+v(g*u)),u=m[a+8>>2],s=v(l-v(s*u)),v(v(v(p*f)+v(d*c))+v(u*s))>C&&(h[12+(a=n+y|0)>>2]=0,m[a+8>>2]=s,m[a+4>>2]=c,m[a>>2]=f),(0|(b=b+1|0))==(0|i))break e;a=h[e+52>>2]}w=o+16|0},r[471]=fh,r[472]=function(e){return 14440},r[473]=fh,r[474]=function(e){return 14449},r[475]=ph,r[476]=function(e,t){e|=0;var n,i=0;i=h[4+(t|=0)>>2],n=h[e+92>>2],h[n+4>>2]=h[t>>2],h[n+8>>2]=i,i=h[t+12>>2],h[n+12>>2]=h[t+8>>2],h[n+16>>2]=i,or(e)},r[477]=function(e){return h[92+(e|=0)>>2]+4|0},r[478]=function(e){return 14696},r[479]=Zr,r[480]=function(e,t,n){e|=0,t|=0,n|=0;var i,o=v(0),a=v(0),s=v(0),u=v(0),p=0,d=0,f=0;w=i=w-80|0,h[e>>2]=0,h[e+4>>2]=0,h[e+8>>2]=0,h[e+12>>2]=0,a=m[n>>2],s=m[n+4>>2],u=m[n+8>>2],(o=v(v(v(a*a)+v(s*s))+v(u*u)))>2]),h[i+52>>2]=0,h[i+56>>2]=0,m[i+76>>2]=o,h[i+72>>2]=d,h[i+68>>2]=f,h[i+44>>2]=0,h[i+48>>2]=0,h[i+40>>2]=14640,h[i+64>>2]=p,h[i+60>>2]=-581039253,h[i+32>>2]=1566444395,h[i+36>>2]=0,h[i+24>>2]=1566444395,h[i+28>>2]=1566444395,t=h[t+92>>2],h[i+16>>2]=-581039253,h[i+20>>2]=0,h[i+8>>2]=-581039253,h[i+12>>2]=-581039253,r[h[h[t>>2]+8>>2]](t,i+40|0,i+8|0,i+24|0),t=h[i+56>>2],h[e+8>>2]=h[i+52>>2],h[e+12>>2]=t,t=h[i+48>>2],h[e>>2]=h[i+44>>2],h[e+4>>2]=t,w=i+80|0},r[481]=function(e,t,n,i){e|=0,t|=0,n|=0;var o,a=0,s=0,c=0,l=0,u=0,p=0,d=0;if(w=o=w-80|0,!((0|(i|=0))<=0)){for(;h[12+((a<<4)+n|0)>>2]=-581039253,(0|(a=a+1|0))!=(0|i););if(!((0|i)<1))for(l=o- -64|0,d=o+40|4;h[o+40>>2]=14640,h[(s=d)+8>>2]=0,h[s+12>>2]=0,h[s>>2]=0,h[s+4>>2]=0,h[o+60>>2]=-581039253,c=h[12+(a=(u=p<<4)+t|0)>>2],h[l+8>>2]=h[a+8>>2],h[l+12>>2]=c,c=h[a+4>>2],h[l>>2]=h[a>>2],h[l+4>>2]=c,h[(a=o)+32>>2]=1566444395,h[a+36>>2]=0,h[a+24>>2]=1566444395,h[a+28>>2]=1566444395,c=h[e+92>>2],h[a+16>>2]=-581039253,h[a+20>>2]=0,h[a+8>>2]=-581039253,h[a+12>>2]=-581039253,r[h[h[c>>2]+8>>2]](c,a+40|0,a+8|0,a+24|0),a=n+u|0,u=h[s+12>>2],h[a+8>>2]=h[s+8>>2],h[a+12>>2]=u,c=h[s+4>>2],h[a>>2]=h[s>>2],h[a+4>>2]=c,(0|(p=p+1|0))!=(0|i););}w=o+80|0},r[482]=Xh,r[483]=Xh,r[484]=Th,r[485]=Vh,r[486]=Xh,r[487]=Th,r[488]=yh,r[489]=Jh,r[490]=function(e,t,n,i){e|=0,t|=0,n|=0;var r=v(0),o=v(0),a=v(0),s=v(0),c=v(0);a=m[e+24>>2],s=m[e+28>>2],c=m[e+32>>2],(r=v(v(v(a*m[t>>2])+v(s*m[t+4>>2]))+v(c*m[t+8>>2])))>(o=m[e+20>>2])&&(m[e+20>>2]=r,n=h[t+12>>2],h[e+12>>2]=h[t+8>>2],h[e+16>>2]=n,n=h[t+4>>2],h[e+4>>2]=h[t>>2],h[e+8>>2]=n,o=r),(r=v(v(v(a*m[t+16>>2])+v(s*m[t+20>>2]))+v(c*m[t+24>>2])))>o&&(m[e+20>>2]=r,n=h[t+28>>2],h[e+12>>2]=h[t+24>>2],h[e+16>>2]=n,n=h[t+20>>2],h[e+4>>2]=h[t+16>>2],h[e+8>>2]=n,o=r),(r=v(v(v(a*m[t+32>>2])+v(s*m[t+36>>2]))+v(c*m[t+40>>2])))>o&&(m[e+20>>2]=r,n=h[t+44>>2],h[e+12>>2]=h[t+40>>2],h[e+16>>2]=n,n=h[t+36>>2],h[e+4>>2]=h[t+32>>2],h[e+8>>2]=n)},r[491]=jh,r[492]=$h,r[493]=ph,r[494]=$i,r[495]=so,r[496]=function(e,t,n){e|=0,t=v(t),n|=0;var i=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0);i=m[e+36>>2],o=m[e+32>>2],a=m[e+28>>2],s=v(r[h[h[e>>2]+48>>2]](e)),c=v(r[h[h[e>>2]+48>>2]](e)),l=v(r[h[h[e>>2]+48>>2]](e)),h[n+12>>2]=0,t=v(t/v(12)),a=v(a+s),a=v(a+a),a=v(a*a),o=v(o+c),o=v(o+o),o=v(o*o),m[n+8>>2]=t*v(a+o),i=v(i+l),i=v(i+i),i=v(i*i),m[n+4>>2]=t*v(a+i),m[n>>2]=t*v(o+i)},r[497]=function(e){return 14984},r[498]=fo,r[499]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0);i=m[t+32>>2],o=m[t+36>>2],a=m[t+28>>2],s=v(r[h[h[t>>2]+48>>2]](t)),c=v(r[h[h[t>>2]+48>>2]](t)),l=v(r[h[h[t>>2]+48>>2]](t)),u=m[n>>2],p=m[n+4>>2],d=m[n+8>>2],h[e+12>>2]=0,o=v(o+l),m[e+8>>2]=d>=v(0)?o:v(-o),i=v(i+c),m[e+4>>2]=p>=v(0)?i:v(-i),i=v(a+s),m[e>>2]=u>=v(0)?i:v(-i)},r[500]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0);i=m[t+32>>2],r=m[t+36>>2],a=m[n+4>>2],s=m[n+8>>2],o=m[t+28>>2],c=m[n>>2],h[e+12>>2]=0,m[e>>2]=c>=v(0)?o:v(-o),m[e+8>>2]=s>=v(0)?r:v(-r),m[e+4>>2]=a>=v(0)?i:v(-i)},r[501]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var r=0,o=0,a=0,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0);if((0|i)>=1)for(;u=m[(r=(a=o<<4)+t|0)>>2],p=m[r+4>>2],d=m[r+8>>2],s=m[e+28>>2],c=m[e+32>>2],l=m[e+36>>2],h[12+(r=n+a|0)>>2]=0,m[r+8>>2]=d>=v(0)?l:v(-l),m[r+4>>2]=p>=v(0)?c:v(-c),m[r>>2]=u>=v(0)?s:v(-s),(0|(o=o+1|0))!=(0|i););},r[502]=Kh,r[503]=function(e,t,n){e|=0,n|=0,(t|=0)>>>0<=5&&(h[n+12>>2]=0,e=t<<2,h[n+8>>2]=h[e+15036>>2],h[n+4>>2]=h[e+15012>>2],h[n>>2]=h[e+14988>>2])},r[504]=function(e){return 8},r[505]=Wh,r[506]=function(e,t,n,i){n|=0,i|=0;var o,a=0;o=e|=0,(t|=0)>>>0<=11?(a=h[15108+(t<<=2)>>2],t=h[t+15060>>2]):t=0,r[h[h[e>>2]+108>>2]](o,t,n),r[h[h[e>>2]+108>>2]](e,a,i)},r[507]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0);o=m[e+36>>2],i=m[e+32>>2],a=m[e+28>>2],s=v(r[h[h[e>>2]+48>>2]](e)),c=v(r[h[h[e>>2]+48>>2]](e)),l=v(r[h[h[e>>2]+48>>2]](e)),h[n+12>>2]=0,i=v(i+c),e=t>>>1&1,m[n+4>>2]=v(i*v(1^e))-v(i*v(0|e)),i=v(a+s),e=1&t,m[n>>2]=v(i*v(1^e))-v(i*v(0|e)),o=v(o+l),e=t>>>2&1,m[n+8>>2]=v(o*v(1^e))-v(o*v(0|e))},r[508]=Kh,r[509]=function(e,t,n,i){var o,a,s;t|=0,n|=0,i|=0,w=o=w-48|0,r[h[h[(e|=0)>>2]+124>>2]](e,o+32|0,i),i=h[o+32>>2],a=h[o+36>>2],s=h[o+40>>2],h[t+12>>2]=0,h[t+8>>2]=s,h[t+4>>2]=a,h[t>>2]=i,h[o+12>>2]=0,h[o+8>>2]=-2147483648^s,h[o+4>>2]=-2147483648^a,h[o>>2]=-2147483648^i,r[h[h[e>>2]+64>>2]](o+16|0,e,o),e=h[o+28>>2],h[n+8>>2]=h[o+24>>2],h[n+12>>2]=e,e=h[o+20>>2],h[n>>2]=h[o+16>>2],h[n+4>>2]=e,w=o+48|0},r[510]=function(e,t,n){e|=0,t|=0,n=v(n);var i=v(0),r=v(0),o=0;return i=m[t>>2],r=m[e+28>>2],i<=v(r+n)^1|i>=v(v(-r)-n)^1||(i=m[t+4>>2],r=m[e+32>>2],i<=v(r+n)^1|i>=v(v(-r)-n)^1||(i=m[t+8>>2],r=m[e+36>>2],i<=v(r+n)&&(o=i>=v(v(-r)-n)))),0|o},r[511]=function(e,t,n){e|=0,t|=0,n|=0;var i=0,r=v(0),o=v(0),a=v(0);o=m[e+36>>2],a=m[e+32>>2],r=m[e+28>>2],e=1065353216,i=n;e:{t:{n:{i:{r:switch(0|n){case 1:n=0,e=-1082130432,i=0;break t;case 2:n=1065353216;break n;case 3:n=-1082130432;break n;case 4:i=1065353216;break i;case 0:break t;case 5:break r;default:break e}i=-1082130432}e=0,r=o,n=0;break t}e=0,r=a,i=0}h[t+8>>2]=i,h[t+4>>2]=n,h[t>>2]=e,m[t+12>>2]=-r}},r[512]=function(e){return Di(e|=0),0|e},r[513]=function(e){Di(e|=0),e&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[514]=X,r[515]=Uh,r[516]=function(e,t,n){e|=0,n|=0;var i=0,o=0,a=0,s=0,c=0,l=0;if(h[16+(t|=0)>>2]=h[e+20>>2],h[t+20>>2]=h[e+24>>2],h[t+24>>2]=h[e+28>>2],h[t+28>>2]=h[e+32>>2],h[t>>2]=h[e+4>>2],h[t+4>>2]=h[e+8>>2],h[t+8>>2]=h[e+12>>2],h[t+12>>2]=h[e+16>>2],h[t+32>>2]=h[e+36>>2],h[t+36>>2]=h[e+40>>2],h[t+40>>2]=h[e+44>>2],h[t+44>>2]=h[e+48>>2],h[t+48>>2]=h[e+56>>2],h[t+52>>2]=d[e+60|0],i=h[e+88>>2],h[t+56>>2]=i,i){if(i=0|r[h[h[n>>2]+28>>2]](n,h[e+96>>2]),h[t+64>>2]=i,i){if(s=h[e+88>>2],c=0|r[h[h[n>>2]+16>>2]](n,48,s),l=h[e+96>>2],(0|s)>=1)for(i=h[c+8>>2];o=l+(a<<6)|0,h[i+16>>2]=h[o+16>>2],h[i+20>>2]=h[o+20>>2],h[i+24>>2]=h[o+24>>2],h[i+28>>2]=h[o+28>>2],h[i>>2]=h[o>>2],h[i+4>>2]=h[o+4>>2],h[i+8>>2]=h[o+8>>2],h[i+12>>2]=h[o+12>>2],h[i+32>>2]=h[o+32>>2],h[i+36>>2]=h[o+36>>2],h[i+40>>2]=h[o+40>>2],i=i+48|0,(0|s)!=(0|(a=a+1|0)););r[h[h[n>>2]+20>>2]](n,c,17640,1497453121,l)}}else h[t+64>>2]=0;if(i=h[e+128>>2],h[t+60>>2]=i,i){if(i=0|r[h[h[n>>2]+28>>2]](n,h[e+136>>2]),h[t+68>>2]=i,i){if(s=h[e+128>>2],c=0|r[h[h[n>>2]+16>>2]](n,16,s),l=h[e+136>>2],(0|s)>=1)for(i=h[c+8>>2],a=0;o=l+(a<<4)|0,h[i+12>>2]=h[o+12>>2],p[i+6>>1]=f[o+6>>1],p[i+8>>1]=f[o+8>>1],p[i+10>>1]=f[o+10>>1],p[i>>1]=f[o>>1],p[i+2>>1]=f[o+2>>1],p[i+4>>1]=f[o+4>>1],i=i+16|0,(0|s)!=(0|(a=a+1|0)););r[h[h[n>>2]+20>>2]](n,c,17663,1497453121,l)}}else h[t+68>>2]=0;if(h[t+76>>2]=h[e+144>>2],i=h[e+152>>2],h[t+80>>2]=i,!i)return h[t+72>>2]=0,17707;if(i=t,t=0|r[h[h[n>>2]+28>>2]](n,h[e+160>>2]),h[i+72>>2]=t,t){if(t=h[e+152>>2],o=0|r[h[h[n>>2]+16>>2]](n,20,t),s=h[e+160>>2],(0|t)>=1)for(i=h[o+8>>2],a=0;e=s+(a<<5)|0,p[i+14>>1]=f[e+6>>1],p[i+16>>1]=f[e+8>>1],p[i+18>>1]=f[e+10>>1],p[i+8>>1]=f[e>>1],p[i+10>>1]=f[e+2>>1],p[i+12>>1]=f[e+4>>1],h[i>>2]=h[e+12>>2],h[i+4>>2]=h[e+16>>2],i=i+20|0,(0|t)!=(0|(a=a+1|0)););r[h[h[n>>2]+20>>2]](n,o,17686,1497453121,s)}return 17707},r[517]=function(e,t){t|=0;var n,i=0,a=0,s=0,c=0,l=0,u=0,_=0,m=0;if(w=n=w+-64|0,h[20+(e|=0)>>2]=h[t+16>>2],h[e+24>>2]=h[t+20>>2],h[e+28>>2]=h[t+24>>2],h[e+32>>2]=h[t+28>>2],h[e+4>>2]=h[t>>2],h[e+8>>2]=h[t+4>>2],h[e+12>>2]=h[t+8>>2],h[e+16>>2]=h[t+12>>2],h[e+36>>2]=h[t+32>>2],h[e+40>>2]=h[t+36>>2],h[e+44>>2]=h[t+40>>2],h[e+48>>2]=h[t+44>>2],h[e+56>>2]=h[t+48>>2],o[e+60|0]=0!=h[t+52>>2],_=h[t+56>>2],h[(a=n)+56>>2]=0,h[a+60>>2]=0,h[a+48>>2]=0,h[a+52>>2]=0,h[a+40>>2]=0,h[a+44>>2]=0,h[a+32>>2]=0,h[a+36>>2]=0,h[a+24>>2]=0,h[a+28>>2]=0,h[a+16>>2]=0,h[a+20>>2]=0,h[a+8>>2]=0,h[a+12>>2]=0,h[a>>2]=0,h[a+4>>2]=0,(0|(u=h[e+88>>2]))<(0|_)){if(h[e+92>>2]<(0|_)){if(_?(h[7717]=h[7717]+1,m=0|r[h[6606]](_<<6,16),a=h[e+88>>2]):a=u,(0|a)>=1)for(;l=(i=s<<6)+m|0,c=i+h[e+96>>2]|0,i=h[c+4>>2],h[l>>2]=h[c>>2],h[l+4>>2]=i,i=h[c+60>>2],h[l+56>>2]=h[c+56>>2],h[l+60>>2]=i,i=h[c+52>>2],h[l+48>>2]=h[c+48>>2],h[l+52>>2]=i,i=h[c+44>>2],h[l+40>>2]=h[c+40>>2],h[l+44>>2]=i,i=h[c+36>>2],h[l+32>>2]=h[c+32>>2],h[l+36>>2]=i,i=h[c+28>>2],h[l+24>>2]=h[c+24>>2],h[l+28>>2]=i,i=h[c+20>>2],h[l+16>>2]=h[c+16>>2],h[l+20>>2]=i,i=h[c+12>>2],h[l+8>>2]=h[c+8>>2],h[l+12>>2]=i,(0|a)!=(0|(s=s+1|0)););(a=h[e+96>>2])&&(d[e+100|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+96>>2]=0),h[e+96>>2]=m,h[e+92>>2]=_,o[e+100|0]=1}for(;s=h[(a=n)+4>>2],i=h[e+96>>2]+(u<<6)|0,h[i>>2]=h[a>>2],h[i+4>>2]=s,s=h[a+60>>2],h[i+56>>2]=h[a+56>>2],h[i+60>>2]=s,s=h[a+52>>2],h[i+48>>2]=h[a+48>>2],h[i+52>>2]=s,s=h[a+44>>2],h[i+40>>2]=h[a+40>>2],h[i+44>>2]=s,s=h[a+36>>2],h[i+32>>2]=h[a+32>>2],h[i+36>>2]=s,s=h[a+28>>2],h[i+24>>2]=h[a+24>>2],h[i+28>>2]=s,s=h[a+20>>2],h[i+16>>2]=h[a+16>>2],h[i+20>>2]=s,s=h[a+12>>2],h[i+8>>2]=h[a+8>>2],h[i+12>>2]=s,(0|_)!=(0|(u=u+1|0)););}if(h[e+88>>2]=_,(0|_)>=1)for(a=h[e+96>>2],s=h[t+64>>2],u=0;h[16+(i=a+(u<<6)|0)>>2]=h[s+16>>2],h[i+20>>2]=h[s+20>>2],h[i+24>>2]=h[s+24>>2],h[i+28>>2]=h[s+28>>2],h[i>>2]=h[s>>2],h[i+4>>2]=h[s+4>>2],h[i+8>>2]=h[s+8>>2],h[i+12>>2]=h[s+12>>2],h[i+32>>2]=h[s+32>>2],h[i+36>>2]=h[s+36>>2],h[i+40>>2]=h[s+40>>2],s=s+48|0,(0|_)!=(0|(u=u+1|0)););if(c=h[t+60>>2],h[n+8>>2]=0,h[n+12>>2]=0,h[n>>2]=0,h[n+4>>2]=0,(0|(s=h[e+128>>2]))<(0|c)){if(h[e+132>>2]<(0|c)){if(c?(h[7717]=h[7717]+1,m=0|r[h[6606]](c<<4,16),a=h[e+128>>2]):(m=0,a=s),(0|a)>=1)for(u=0;_=(i=u<<4)+m|0,l=i+h[e+136>>2]|0,i=h[l+4>>2],h[_>>2]=h[l>>2],h[_+4>>2]=i,i=h[l+12>>2],h[_+8>>2]=h[l+8>>2],h[_+12>>2]=i,(0|a)!=(0|(u=u+1|0)););(a=h[e+136>>2])&&(d[e+140|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+136>>2]=0),h[e+136>>2]=m,h[e+132>>2]=c,o[e+140|0]=1}for(;a=h[n+4>>2],i=h[e+136>>2]+(s<<4)|0,h[i>>2]=h[n>>2],h[i+4>>2]=a,a=h[n+12>>2],h[i+8>>2]=h[n+8>>2],h[i+12>>2]=a,(0|c)!=(0|(s=s+1|0)););}if(h[e+128>>2]=c,(0|c)>=1)for(a=h[e+136>>2],s=h[t+68>>2],u=0;h[12+(i=a+(u<<4)|0)>>2]=h[s+12>>2],p[i+6>>1]=f[s+6>>1],p[i+8>>1]=f[s+8>>1],p[i+10>>1]=f[s+10>>1],p[i>>1]=f[s>>1],p[i+2>>1]=f[s+2>>1],p[i+4>>1]=f[s+4>>1],s=s+16|0,(0|c)!=(0|(u=u+1|0)););if(h[e+144>>2]=h[t+76>>2],(0|(u=h[e+152>>2]))<(0|(c=h[t+80>>2]))){if(h[e+156>>2]<(0|c)){if(c?(h[7717]=h[7717]+1,m=0|r[h[6606]](c<<5,16),a=h[e+152>>2]):(m=0,a=u),(0|a)>=1)for(s=0;_=(i=s<<5)+m|0,l=i+h[e+160>>2]|0,i=h[l+4>>2],h[_>>2]=h[l>>2],h[_+4>>2]=i,i=h[l+28>>2],h[_+24>>2]=h[l+24>>2],h[_+28>>2]=i,i=h[l+20>>2],h[_+16>>2]=h[l+16>>2],h[_+20>>2]=i,i=h[l+12>>2],h[_+8>>2]=h[l+8>>2],h[_+12>>2]=i,(0|a)!=(0|(s=s+1|0)););(a=h[e+160>>2])&&(d[e+164|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+160>>2]=0),h[e+160>>2]=m,h[e+156>>2]=c,o[e+164|0]=1}for(;a=h[n+4>>2],i=h[e+160>>2]+(u<<5)|0,h[i>>2]=h[n>>2],h[i+4>>2]=a,a=h[n+28>>2],h[i+24>>2]=h[n+24>>2],h[i+28>>2]=a,a=h[n+20>>2],h[i+16>>2]=h[n+16>>2],h[i+20>>2]=a,a=h[n+12>>2],h[i+8>>2]=h[n+8>>2],h[i+12>>2]=a,(0|c)!=(0|(u=u+1|0)););}if(h[e+152>>2]=c,(0|c)>=1)for(a=h[e+160>>2],s=h[t+72>>2],e=0;p[6+(t=a+(e<<5)|0)>>1]=f[s+14>>1],p[t+8>>1]=f[s+16>>1],p[t+10>>1]=f[s+18>>1],p[t>>1]=f[s+8>>1],p[t+2>>1]=f[s+10>>1],p[t+4>>1]=f[s+12>>1],h[t+12>>2]=h[s>>2],h[t+16>>2]=h[s+4>>2],s=s+20|0,(0|c)!=(0|(e=e+1|0)););w=n- -64|0},r[518]=function(e,t){t|=0;var n,i=0,a=0,s=0,c=0,l=0,u=0,_=0,g=0;if(w=n=w+-64|0,m[20+(e|=0)>>2]=b[t+32>>3],m[e+24>>2]=b[t+40>>3],m[e+28>>2]=b[t+48>>3],m[e+32>>2]=b[t+56>>3],m[e+4>>2]=b[t>>3],m[e+8>>2]=b[t+8>>3],m[e+12>>2]=b[t+16>>3],m[e+16>>2]=b[t+24>>3],m[e+36>>2]=b[t+64>>3],m[e+40>>2]=b[t+72>>3],m[e+44>>2]=b[t+80>>3],m[e+48>>2]=b[t+88>>3],h[e+56>>2]=h[t+96>>2],o[e+60|0]=0!=h[t+100>>2],_=h[t+104>>2],h[(a=n)+56>>2]=0,h[a+60>>2]=0,h[a+48>>2]=0,h[a+52>>2]=0,h[a+40>>2]=0,h[a+44>>2]=0,h[a+32>>2]=0,h[a+36>>2]=0,h[a+24>>2]=0,h[a+28>>2]=0,h[a+16>>2]=0,h[a+20>>2]=0,h[a+8>>2]=0,h[a+12>>2]=0,h[a>>2]=0,h[a+4>>2]=0,(0|(u=h[e+88>>2]))<(0|_)){if(h[e+92>>2]<(0|_)){if(_?(h[7717]=h[7717]+1,g=0|r[h[6606]](_<<6,16),a=h[e+88>>2]):a=u,(0|a)>=1)for(;l=(i=s<<6)+g|0,c=i+h[e+96>>2]|0,i=h[c+4>>2],h[l>>2]=h[c>>2],h[l+4>>2]=i,i=h[c+60>>2],h[l+56>>2]=h[c+56>>2],h[l+60>>2]=i,i=h[c+52>>2],h[l+48>>2]=h[c+48>>2],h[l+52>>2]=i,i=h[c+44>>2],h[l+40>>2]=h[c+40>>2],h[l+44>>2]=i,i=h[c+36>>2],h[l+32>>2]=h[c+32>>2],h[l+36>>2]=i,i=h[c+28>>2],h[l+24>>2]=h[c+24>>2],h[l+28>>2]=i,i=h[c+20>>2],h[l+16>>2]=h[c+16>>2],h[l+20>>2]=i,i=h[c+12>>2],h[l+8>>2]=h[c+8>>2],h[l+12>>2]=i,(0|a)!=(0|(s=s+1|0)););(a=h[e+96>>2])&&(d[e+100|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+96>>2]=0),h[e+96>>2]=g,h[e+92>>2]=_,o[e+100|0]=1}for(;s=h[(a=n)+4>>2],i=h[e+96>>2]+(u<<6)|0,h[i>>2]=h[a>>2],h[i+4>>2]=s,s=h[a+60>>2],h[i+56>>2]=h[a+56>>2],h[i+60>>2]=s,s=h[a+52>>2],h[i+48>>2]=h[a+48>>2],h[i+52>>2]=s,s=h[a+44>>2],h[i+40>>2]=h[a+40>>2],h[i+44>>2]=s,s=h[a+36>>2],h[i+32>>2]=h[a+32>>2],h[i+36>>2]=s,s=h[a+28>>2],h[i+24>>2]=h[a+24>>2],h[i+28>>2]=s,s=h[a+20>>2],h[i+16>>2]=h[a+16>>2],h[i+20>>2]=s,s=h[a+12>>2],h[i+8>>2]=h[a+8>>2],h[i+12>>2]=s,(0|_)!=(0|(u=u+1|0)););}if(h[e+88>>2]=_,(0|_)>=1)for(a=h[e+96>>2],s=h[t+112>>2],u=0;m[16+(i=a+(u<<6)|0)>>2]=b[s+32>>3],m[i+20>>2]=b[s+40>>3],m[i+24>>2]=b[s+48>>3],m[i+28>>2]=b[s+56>>3],m[i>>2]=b[s>>3],m[i+4>>2]=b[s+8>>3],m[i+8>>2]=b[s+16>>3],m[i+12>>2]=b[s+24>>3],h[i+32>>2]=h[s+64>>2],h[i+36>>2]=h[s+68>>2],h[i+40>>2]=h[s+72>>2],s=s+80|0,(0|_)!=(0|(u=u+1|0)););if(c=h[t+108>>2],h[n+8>>2]=0,h[n+12>>2]=0,h[n>>2]=0,h[n+4>>2]=0,(0|(s=h[e+128>>2]))<(0|c)){if(h[e+132>>2]<(0|c)){if(c?(h[7717]=h[7717]+1,g=0|r[h[6606]](c<<4,16),a=h[e+128>>2]):(g=0,a=s),(0|a)>=1)for(u=0;_=(i=u<<4)+g|0,l=i+h[e+136>>2]|0,i=h[l+4>>2],h[_>>2]=h[l>>2],h[_+4>>2]=i,i=h[l+12>>2],h[_+8>>2]=h[l+8>>2],h[_+12>>2]=i,(0|a)!=(0|(u=u+1|0)););(a=h[e+136>>2])&&(d[e+140|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+136>>2]=0),h[e+136>>2]=g,h[e+132>>2]=c,o[e+140|0]=1}for(;a=h[n+4>>2],i=h[e+136>>2]+(s<<4)|0,h[i>>2]=h[n>>2],h[i+4>>2]=a,a=h[n+12>>2],h[i+8>>2]=h[n+8>>2],h[i+12>>2]=a,(0|c)!=(0|(s=s+1|0)););}if(h[e+128>>2]=c,(0|c)>=1)for(a=h[e+136>>2],s=h[t+116>>2],u=0;h[12+(i=a+(u<<4)|0)>>2]=h[s+12>>2],p[i+6>>1]=f[s+6>>1],p[i+8>>1]=f[s+8>>1],p[i+10>>1]=f[s+10>>1],p[i>>1]=f[s>>1],p[i+2>>1]=f[s+2>>1],p[i+4>>1]=f[s+4>>1],s=s+16|0,(0|c)!=(0|(u=u+1|0)););if(h[e+144>>2]=h[t+120>>2],(0|(u=h[e+152>>2]))<(0|(c=h[t+124>>2]))){if(h[e+156>>2]<(0|c)){if(c?(h[7717]=h[7717]+1,g=0|r[h[6606]](c<<5,16),a=h[e+152>>2]):(g=0,a=u),(0|a)>=1)for(s=0;_=(i=s<<5)+g|0,l=i+h[e+160>>2]|0,i=h[l+4>>2],h[_>>2]=h[l>>2],h[_+4>>2]=i,i=h[l+28>>2],h[_+24>>2]=h[l+24>>2],h[_+28>>2]=i,i=h[l+20>>2],h[_+16>>2]=h[l+16>>2],h[_+20>>2]=i,i=h[l+12>>2],h[_+8>>2]=h[l+8>>2],h[_+12>>2]=i,(0|a)!=(0|(s=s+1|0)););(a=h[e+160>>2])&&(d[e+164|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+160>>2]=0),h[e+160>>2]=g,h[e+156>>2]=c,o[e+164|0]=1}for(;a=h[n+4>>2],i=h[e+160>>2]+(u<<5)|0,h[i>>2]=h[n>>2],h[i+4>>2]=a,a=h[n+28>>2],h[i+24>>2]=h[n+24>>2],h[i+28>>2]=a,a=h[n+20>>2],h[i+16>>2]=h[n+16>>2],h[i+20>>2]=a,a=h[n+12>>2],h[i+8>>2]=h[n+8>>2],h[i+12>>2]=a,(0|c)!=(0|(u=u+1|0)););}if(h[e+152>>2]=c,(0|c)>=1)for(a=h[e+160>>2],s=h[t+128>>2],e=0;p[6+(t=a+(e<<5)|0)>>1]=f[s+14>>1],p[t+8>>1]=f[s+16>>1],p[t+10>>1]=f[s+18>>1],p[t>>1]=f[s+8>>1],p[t+2>>1]=f[s+10>>1],p[t+4>>1]=f[s+12>>1],h[t+12>>2]=h[s>>2],h[t+16>>2]=h[s+4>>2],s=s+20|0,(0|c)!=(0|(e=e+1|0)););w=n- -64|0},r[519]=function(e,t,n,i){return 0|X(e|=0,t|=0,n|=0,i|=0)},r[520]=Jh,r[521]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var a,c,l=0,f=0,_=v(0),b=0,g=0,y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=0,E=v(0),P=0,O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=v(0),N=v(0);if(l=h[t+40>>2],b=h[t+24>>2],g=h[t+8>>2],f=(_=m[t+8>>2])>v(-0xde0b6b000000000)?g:-581039253,f=(C=m[t+24>>2])>(s(0,f),u())?b:f,s(0,(y=m[t+40>>2])>(s(0,f),u())?l:f),E=u(),f=l,l=C<(s(0,l=_>2],b=h[t+20>>2],g=h[t+4>>2],f=(C=m[t+4>>2])>2])<(s(0,f),u())?b:f,s(0,(x=m[t+36>>2])<(s(0,f),u())?l:f),_=u(),f=l,l=A>(s(0,l=C>v(-0xde0b6b000000000)?g:-581039253),u())?b:l,s(0,x>(s(0,l),u())?f:l),C=u(),l=h[t+32>>2],b=h[t+16>>2],g=h[t>>2],f=(A=m[t>>2])>2])<(s(0,f),u())?b:f,a=(S=m[t+32>>2])<(s(0,f),u())?l:f,t=x>(s(0,t=A>v(-0xde0b6b000000000)?g:-581039253),u())?b:t,c=S>(s(0,t),u())?l:t,t=h[e+8>>2],A=m[t+44>>2],x=m[t+40>>2],S=m[t+12>>2],R=m[t+8>>2],I=m[t+36>>2],w=m[t+4>>2],l=h[e+4>>2],(0|(e=h[l+4>>2]))==h[l+8>>2]&&!((0|e)>=(0|(b=e?e<<1:1)))){if(b?(h[7717]=h[7717]+1,g=0|r[h[6606]](b<<4,16),e=h[l+4>>2]):g=0,(0|e)>=1)for(t=0;T=(f=t<<4)+g|0,f=f+h[l+12>>2]|0,P=h[f+4>>2],h[T>>2]=h[f>>2],h[T+4>>2]=P,P=h[f+12>>2],h[T+8>>2]=h[f+8>>2],h[T+12>>2]=P,(0|(t=t+1|0))!=(0|e););(e=h[l+12>>2])&&(d[l+16|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[l+12>>2]=0),h[l+12>>2]=g,o[l+16|0]=1,h[l+8>>2]=b,e=h[l+4>>2]}L=v(C-_),e=h[l+12>>2]+(e<<4)|0,h[e+12>>2]=n<<21|i,s(0,c),O=u(),s(0,a),M=u(),N=v(O-M),t=e,i=D=v(0)?~~y>>>0:0,p[t+4>>1]=65534&n,t=e,b=L=v(0)?~~_>>>0:0,p[t+2>>1]=65534&n,t=e,g=N=v(0)?~~_>>>0:0,p[t>>1]=65534&n,t=e,n=(_=v(v(v((i?v(E+v(.0010000000474974513)):E)-S)*A)+v(1)))=v(0)?~~_>>>0:0,p[t+10>>1]=1|n,t=e,n=(_=v(v(v((b?v(C+v(.0010000000474974513)):C)-R)*x)+v(1)))=v(0)?~~_>>>0:0,p[t+8>>1]=1|n,t=(_=v(v(v((g?v(O+v(.0010000000474974513)):O)-w)*I)+v(1)))=v(0)?~~_>>>0:0,p[e+6>>1]=1|t,h[l+4>>2]=h[l+4>>2]+1},r[522]=Jh,r[523]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var a,c,l,p,f,_=0,b=0,g=0,y=v(0),C=v(0),A=v(0),x=0,S=v(0),T=0,E=0,P=0,O=0,M=0,R=0,I=v(0),D=v(0),L=v(0),N=v(0),F=0;if(w=c=w-32|0,C=m[t+28>>2],I=(y=(A=m[t+12>>2])>v(0)?A:v(0))>2],T=h[t+8>>2],_=(L=m[t+8>>2])>v(-0xde0b6b000000000)?T:-581039253,l=(N=m[t+24>>2])>(s(0,_),u())?x:_,E=h[t+20>>2],P=h[t+4>>2],_=(S=m[t+4>>2])>v(-0xde0b6b000000000)?P:-581039253,p=(C=m[t+20>>2])>(s(0,_),u())?E:_,O=h[t+16>>2],M=h[t>>2],_=(A=m[t>>2])>v(-0xde0b6b000000000)?M:-581039253,f=(y=m[t+16>>2])>(s(0,_),u())?O:_,T=N<(s(0,_=L>2],O=h[t+40>>2],C=m[t+40>>2],M=h[t+36>>2],A=m[t+36>>2],_=h[t+32>>2],y=m[t+32>>2],a=h[e+4>>2],(0|(t=h[a+4>>2]))==h[a+8>>2]&&!((0|t)>=(0|(R=t?t<<1:1)))){if(R&&(h[7717]=h[7717]+1,F=0|r[h[6606]](R<<6,16),t=h[a+4>>2]),(0|t)>=1)for(x=0;b=(e=x<<6)+F|0,g=e+h[a+12>>2]|0,e=h[g+4>>2],h[b>>2]=h[g>>2],h[b+4>>2]=e,e=h[g+60>>2],h[b+56>>2]=h[g+56>>2],h[b+60>>2]=e,e=h[g+52>>2],h[b+48>>2]=h[g+48>>2],h[b+52>>2]=e,e=h[g+44>>2],h[b+40>>2]=h[g+40>>2],h[b+44>>2]=e,e=h[g+36>>2],h[b+32>>2]=h[g+32>>2],h[b+36>>2]=e,e=h[g+28>>2],h[b+24>>2]=h[g+24>>2],h[b+28>>2]=e,e=h[g+20>>2],h[b+16>>2]=h[g+16>>2],h[b+20>>2]=e,e=h[g+12>>2],h[b+8>>2]=h[g+8>>2],h[b+12>>2]=e,(0|(x=x+1|0))!=(0|t););(e=h[a+12>>2])&&(d[a+16|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[a+12>>2]=0),h[a+12>>2]=F,o[a+16|0]=1,h[a+8>>2]=R,t=h[a+4>>2]}t=h[a+12>>2]+(t<<6)|0,h[t+40>>2]=i,h[t+36>>2]=n,h[t+32>>2]=-1,m[t+12>>2]=S>2]=I>2]=C>(s(0,l),u())?O:l,h[t+20>>2]=A>(s(0,p),u())?M:p,h[t+16>>2]=y>(s(0,f),u())?_:f,h[t+8>>2]=C<(s(0,T),u())?O:T,h[t+4>>2]=A<(s(0,E),u())?M:E,h[t>>2]=y<(s(0,P),u())?_:P,e=h[c+16>>2],h[t+44>>2]=h[c+12>>2],h[t+48>>2]=e,e=h[c+24>>2],h[t+52>>2]=h[c+20>>2],h[t+56>>2]=e,h[t+60>>2]=h[c+28>>2],h[a+4>>2]=h[a+4>>2]+1,w=c+32|0},r[524]=function(e){return h[(e|=0)>>2]=15492,0|e},r[525]=function(e){h[(e|=0)>>2]=15492,e&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[526]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0);u=m[t+56>>2],f=m[t+36>>2],_=m[t+40>>2],p=m[t+52>>2],s=m[t+20>>2],c=m[e+112>>2],a=m[e+20>>2],l=m[e+36>>2],b=m[t+24>>2],g=m[e+116>>2],C=m[e+24>>2],A=m[e+40>>2],x=m[t+32>>2],d=m[t+48>>2],S=m[t>>2],T=m[t+4>>2],E=m[t+8>>2],P=m[t+16>>2],o=m[e+108>>2],O=m[e+16>>2],M=m[e+32>>2],R=v(r[h[h[e>>2]+48>>2]](e)),I=v(r[h[h[e>>2]+48>>2]](e)),w=v(r[h[h[e>>2]+48>>2]](e)),h[n+12>>2]=0,o=v(v(o*v(M-O))*v(.5)),c=v(v(c*v(l-a))*v(.5)),a=v(v(o*v(y(P)))+v(c*v(y(s)))),s=v(v(g*v(A-C))*v(.5)),a=v(I+v(a+v(s*v(y(b))))),m[n+4>>2]=p-a,l=v(R+v(v(v(o*v(y(S)))+v(c*v(y(T))))+v(s*v(y(E))))),m[n>>2]=d-l,o=v(w+v(v(v(o*v(y(x)))+v(c*v(y(f))))+v(s*v(y(_))))),m[n+8>>2]=u-o,h[i+12>>2]=0,m[i+8>>2]=u+o,m[i+4>>2]=p+a,m[i>>2]=d+l},r[527]=function(e,t){e|=0;var n=0;n=h[4+(t|=0)>>2],h[e+108>>2]=h[t>>2],h[e+112>>2]=n,n=h[t+12>>2],h[e+116>>2]=h[t+8>>2],h[e+120>>2]=n},r[528]=function(e){return 108+(e|=0)|0},r[529]=cp,r[530]=function(e){return 15604},r[531]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),f=0,_=0,b=0,g=0,C=v(0),A=0,x=0,S=0,T=0,E=0;w=o=w-48|0,p=m[e+40>>2],s=m[e+24>>2],l=v(v(1)/m[e+116>>2]),u=m[e+56>>2],g=((a=p<(a=(a=v(v(l*m[i+8>>2])+u))>2])+u))>2],s=m[e+20>>2],l=v(v(1)/m[e+112>>2]),u=m[e+52>>2],g=((a=p<(a=(a=v(v(l*m[i+4>>2])+u))>2])+u))>2],s=m[e+16>>2],l=v(v(1)/m[e+108>>2]),u=m[e+48>>2],g=((a=p<(a=(a=v(v(l*m[i>>2])+u))>2])+u))>2]+-1|0,x=h[e+64>>2]+-1|0;e:{t:switch(h[e+104>>2]){case 0:f=(0|S)<(0|f)?S:f,b=(0|A)>0?A:0,x=(0|T)<(0|x)?T:x,E=(0|_)>0?_:0;break e;case 1:f=(0|S)<(0|f)?S:f,b=(0|A)>0?A:0,x=(0|i)<(0|x)?i:x,E=(0|n)>0?n:0;break e;case 2:break t;default:break e}f=(0|T)<(0|f)?T:f,b=(0|_)>0?_:0,x=(0|i)<(0|x)?i:x,E=(0|n)>0?n:0}if((0|b)<(0|f))for(;;){if(T=f,(0|E)>=(0|x))n=b+1|0;else{for(S=1&b,C=v(0|(A=b+1|0)),p=v(0|b),n=E;;){if(!d[e+102|0]|S&&!(d[e+100|0]|(n+b&1?0:d[e+101|0]))){s=v(r[h[h[e>>2]+68>>2]](e,n,b)),i=o;e:{t:{n:switch(h[e+104>>2]){default:c=m[o+8>>2],s=m[o+4>>2],a=m[o>>2];break e;case 0:l=m[e+80>>2],u=m[e+84>>2],a=m[e+48>>2],h[o+12>>2]=0,a=v(s-a),m[o>>2]=a,c=v(p-v(u*v(.5))),m[o+8>>2]=c,s=v(v(0|n)-v(l*v(.5))),m[o+4>>2]=s;break e;case 1:l=m[e+80>>2],u=m[e+84>>2],a=m[e+52>>2],h[o+12>>2]=0,s=v(s-a),m[o+4>>2]=s,c=v(p-v(u*v(.5))),m[o+8>>2]=c,a=v(v(0|n)-v(l*v(.5)));break t;case 2:}l=m[e+80>>2],u=m[e+84>>2],a=m[e+56>>2],h[o+12>>2]=0,c=v(s-a),m[o+8>>2]=c,s=v(p-v(u*v(.5))),m[o+4>>2]=s,a=v(v(0|n)-v(l*v(.5)))}m[i>>2]=a}m[o>>2]=a*m[e+108>>2],m[o+4>>2]=s*m[e+112>>2],m[o+8>>2]=c*m[e+116>>2],s=v(r[h[h[e>>2]+68>>2]](e,n,A)),i=o;e:{t:{n:switch(h[e+104>>2]){default:c=m[o+24>>2],s=m[o+20>>2],a=m[o+16>>2];break e;case 0:l=m[e+80>>2],u=m[e+84>>2],a=m[e+48>>2],h[o+28>>2]=0,a=v(s-a),m[o+16>>2]=a,c=v(C-v(u*v(.5))),m[o+24>>2]=c,s=v(v(0|n)-v(l*v(.5))),m[o+20>>2]=s;break e;case 1:l=m[e+80>>2],u=m[e+84>>2],a=m[e+52>>2],h[o+28>>2]=0,s=v(s-a),m[o+20>>2]=s,c=v(C-v(u*v(.5))),m[o+24>>2]=c,a=v(v(0|n)-v(l*v(.5)));break t;case 2:}l=m[e+80>>2],u=m[e+84>>2],a=m[e+56>>2],h[o+28>>2]=0,c=v(s-a),m[o+24>>2]=c,s=v(C-v(u*v(.5))),m[o+20>>2]=s,a=v(v(0|n)-v(l*v(.5)))}m[i+16>>2]=a}m[o+16>>2]=a*m[e+108>>2],m[o+20>>2]=s*m[e+112>>2],m[o+24>>2]=c*m[e+116>>2],i=n+1|0,s=v(r[h[h[e>>2]+68>>2]](e,i,b)),_=o;e:{t:{n:switch(h[e+104>>2]){default:c=m[o+40>>2],s=m[o+36>>2],a=m[o+32>>2];break e;case 0:l=m[e+80>>2],u=m[e+84>>2],a=m[e+48>>2],h[o+44>>2]=0,a=v(s-a),m[o+32>>2]=a,c=v(p-v(u*v(.5))),m[o+40>>2]=c,s=v(v(0|i)-v(l*v(.5))),m[o+36>>2]=s;break e;case 1:l=m[e+80>>2],u=m[e+84>>2],a=m[e+52>>2],h[o+44>>2]=0,s=v(s-a),m[o+36>>2]=s,c=v(p-v(u*v(.5))),m[o+40>>2]=c,a=v(v(0|i)-v(l*v(.5)));break t;case 2:}l=m[e+80>>2],u=m[e+84>>2],a=m[e+56>>2],h[o+44>>2]=0,c=v(s-a),m[o+40>>2]=c,s=v(p-v(u*v(.5))),m[o+36>>2]=s,a=v(v(0|i)-v(l*v(.5)))}m[_+32>>2]=a}m[o+32>>2]=a*m[e+108>>2],m[o+36>>2]=s*m[e+112>>2],m[o+40>>2]=c*m[e+116>>2],r[h[h[t>>2]+8>>2]](t,o,n,b),s=v(r[h[h[e>>2]+68>>2]](e,i,b)),_=o;e:{t:{n:switch(h[e+104>>2]){default:c=m[o+8>>2],s=m[o+4>>2],a=m[o>>2];break e;case 0:l=m[e+80>>2],u=m[e+84>>2],a=m[e+48>>2],h[o+12>>2]=0,a=v(s-a),m[o>>2]=a,c=v(p-v(u*v(.5))),m[o+8>>2]=c,s=v(v(0|i)-v(l*v(.5))),m[o+4>>2]=s;break e;case 1:l=m[e+80>>2],u=m[e+84>>2],a=m[e+52>>2],h[o+12>>2]=0,s=v(s-a),m[o+4>>2]=s,c=v(p-v(u*v(.5))),m[o+8>>2]=c,a=v(v(0|i)-v(l*v(.5)));break t;case 2:}l=m[e+80>>2],u=m[e+84>>2],a=m[e+56>>2],h[o+12>>2]=0,c=v(s-a),m[o+8>>2]=c,s=v(p-v(u*v(.5))),m[o+4>>2]=s,a=v(v(0|i)-v(l*v(.5)))}m[_>>2]=a}m[o>>2]=a*m[e+108>>2],m[o+4>>2]=s*m[e+112>>2],m[o+8>>2]=c*m[e+116>>2],s=v(r[h[h[e>>2]+68>>2]](e,i,A)),_=o;e:{t:{n:switch(h[e+104>>2]){default:c=m[o+40>>2],s=m[o+36>>2],a=m[o+32>>2];break e;case 0:l=m[e+80>>2],u=m[e+84>>2],a=m[e+48>>2],h[o+44>>2]=0,a=v(s-a),m[o+32>>2]=a,c=v(C-v(u*v(.5))),m[o+40>>2]=c,s=v(v(0|i)-v(l*v(.5))),m[o+36>>2]=s;break e;case 1:l=m[e+80>>2],u=m[e+84>>2],a=m[e+52>>2],h[o+44>>2]=0,s=v(s-a),m[o+36>>2]=s,c=v(C-v(u*v(.5))),m[o+40>>2]=c,a=v(v(0|i)-v(l*v(.5)));break t;case 2:}l=m[e+80>>2],u=m[e+84>>2],a=m[e+56>>2],h[o+44>>2]=0,c=v(s-a),m[o+40>>2]=c,s=v(C-v(u*v(.5))),m[o+36>>2]=s,a=v(v(0|i)-v(l*v(.5)))}m[_+32>>2]=a}}else{s=v(r[h[h[e>>2]+68>>2]](e,n,b)),i=o;e:{t:{n:switch(h[e+104>>2]){default:c=m[o+8>>2],s=m[o+4>>2],a=m[o>>2];break e;case 0:l=m[e+80>>2],u=m[e+84>>2],a=m[e+48>>2],h[o+12>>2]=0,a=v(s-a),m[o>>2]=a,c=v(p-v(u*v(.5))),m[o+8>>2]=c,s=v(v(0|n)-v(l*v(.5))),m[o+4>>2]=s;break e;case 1:l=m[e+80>>2],u=m[e+84>>2],a=m[e+52>>2],h[o+12>>2]=0,s=v(s-a),m[o+4>>2]=s,c=v(p-v(u*v(.5))),m[o+8>>2]=c,a=v(v(0|n)-v(l*v(.5)));break t;case 2:}l=m[e+80>>2],u=m[e+84>>2],a=m[e+56>>2],h[o+12>>2]=0,c=v(s-a),m[o+8>>2]=c,s=v(p-v(u*v(.5))),m[o+4>>2]=s,a=v(v(0|n)-v(l*v(.5)))}m[i>>2]=a}m[o>>2]=a*m[e+108>>2],m[o+4>>2]=s*m[e+112>>2],m[o+8>>2]=c*m[e+116>>2],i=n+1|0,s=v(r[h[h[e>>2]+68>>2]](e,i,b)),_=o;e:{t:{n:switch(h[e+104>>2]){default:c=m[o+24>>2],s=m[o+20>>2],a=m[o+16>>2];break e;case 0:l=m[e+80>>2],u=m[e+84>>2],a=m[e+48>>2],h[o+28>>2]=0,a=v(s-a),m[o+16>>2]=a,c=v(p-v(u*v(.5))),m[o+24>>2]=c,s=v(v(0|i)-v(l*v(.5))),m[o+20>>2]=s;break e;case 1:l=m[e+80>>2],u=m[e+84>>2],a=m[e+52>>2],h[o+28>>2]=0,s=v(s-a),m[o+20>>2]=s,c=v(p-v(u*v(.5))),m[o+24>>2]=c,a=v(v(0|i)-v(l*v(.5)));break t;case 2:}l=m[e+80>>2],u=m[e+84>>2],a=m[e+56>>2],h[o+28>>2]=0,c=v(s-a),m[o+24>>2]=c,s=v(p-v(u*v(.5))),m[o+20>>2]=s,a=v(v(0|i)-v(l*v(.5)))}m[_+16>>2]=a}m[o+16>>2]=a*m[e+108>>2],m[o+20>>2]=s*m[e+112>>2],m[o+24>>2]=c*m[e+116>>2],s=v(r[h[h[e>>2]+68>>2]](e,i,A)),_=o;e:{t:{n:switch(h[e+104>>2]){default:c=m[o+40>>2],s=m[o+36>>2],a=m[o+32>>2];break e;case 0:l=m[e+80>>2],u=m[e+84>>2],a=m[e+48>>2],h[o+44>>2]=0,a=v(s-a),m[o+32>>2]=a,c=v(C-v(u*v(.5))),m[o+40>>2]=c,s=v(v(0|i)-v(l*v(.5))),m[o+36>>2]=s;break e;case 1:l=m[e+80>>2],u=m[e+84>>2],a=m[e+52>>2],h[o+44>>2]=0,s=v(s-a),m[o+36>>2]=s,c=v(C-v(u*v(.5))),m[o+40>>2]=c,a=v(v(0|i)-v(l*v(.5)));break t;case 2:}l=m[e+80>>2],u=m[e+84>>2],a=m[e+56>>2],h[o+44>>2]=0,c=v(s-a),m[o+40>>2]=c,s=v(C-v(u*v(.5))),m[o+36>>2]=s,a=v(v(0|i)-v(l*v(.5)))}m[_+32>>2]=a}m[o+32>>2]=a*m[e+108>>2],m[o+36>>2]=s*m[e+112>>2],m[o+40>>2]=c*m[e+116>>2],r[h[h[t>>2]+8>>2]](t,o,n,b),s=v(r[h[h[e>>2]+68>>2]](e,i,A)),_=o;e:{t:{n:switch(h[e+104>>2]){default:c=m[o+24>>2],s=m[o+20>>2],a=m[o+16>>2];break e;case 0:l=m[e+80>>2],u=m[e+84>>2],a=m[e+48>>2],h[o+28>>2]=0,a=v(s-a),m[o+16>>2]=a,c=v(C-v(u*v(.5))),m[o+24>>2]=c,s=v(v(0|i)-v(l*v(.5))),m[o+20>>2]=s;break e;case 1:l=m[e+80>>2],u=m[e+84>>2],a=m[e+52>>2],h[o+28>>2]=0,s=v(s-a),m[o+20>>2]=s,c=v(C-v(u*v(.5))),m[o+24>>2]=c,a=v(v(0|i)-v(l*v(.5)));break t;case 2:}l=m[e+80>>2],u=m[e+84>>2],a=m[e+56>>2],h[o+28>>2]=0,c=v(s-a),m[o+24>>2]=c,s=v(C-v(u*v(.5))),m[o+20>>2]=s,a=v(v(0|i)-v(l*v(.5)))}m[_+16>>2]=a}m[o+16>>2]=a*m[e+108>>2],m[o+20>>2]=s*m[e+112>>2],m[o+24>>2]=c*m[e+116>>2],s=v(r[h[h[e>>2]+68>>2]](e,n,A)),_=o;e:{t:{n:switch(h[e+104>>2]){default:c=m[o+40>>2],s=m[o+36>>2],a=m[o+32>>2];break e;case 0:l=m[e+80>>2],u=m[e+84>>2],a=m[e+48>>2],h[o+44>>2]=0,a=v(s-a),m[o+32>>2]=a,c=v(C-v(u*v(.5))),m[o+40>>2]=c,s=v(v(0|n)-v(l*v(.5))),m[o+36>>2]=s;break e;case 1:l=m[e+80>>2],u=m[e+84>>2],a=m[e+52>>2],h[o+44>>2]=0,s=v(s-a),m[o+36>>2]=s,c=v(C-v(u*v(.5))),m[o+40>>2]=c,a=v(v(0|n)-v(l*v(.5)));break t;case 2:}l=m[e+80>>2],u=m[e+84>>2],a=m[e+56>>2],h[o+44>>2]=0,c=v(s-a),m[o+40>>2]=c,s=v(C-v(u*v(.5))),m[o+36>>2]=s,a=v(v(0|n)-v(l*v(.5)))}m[_+32>>2]=a}}if(m[o+32>>2]=a*m[e+108>>2],m[o+36>>2]=s*m[e+112>>2],m[o+40>>2]=c*m[e+116>>2],r[h[h[t>>2]+8>>2]](t,o,n,b),n=i,(0|i)==(0|x))break}n=A}if((0|T)==(0|(b=n)))break}w=o+48|0},r[532]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0);e:switch(h[e+96>>2]){case 0:return v(m[h[e+92>>2]+(g(h[e+64>>2],n)+t<<2)>>2]);case 5:return v(v(m[e+88>>2]*v(d[h[e+92>>2]+(g(h[e+64>>2],n)+t|0)|0])));case 3:i=v(m[e+88>>2]*v(p[h[e+92>>2]+(g(h[e+64>>2],n)+t<<1)>>1]))}return v(i)},r[533]=fh,r[534]=$i,r[535]=so,r[536]=function(e,t,n){e|=0,t=v(t),n|=0;var i,o=v(0),a=v(0),s=v(0),c=v(0),l=0;w=i=w-16|0,l=h[e+40>>2],h[i+8>>2]=h[e+36>>2],h[i+12>>2]=l,l=h[e+32>>2],h[i>>2]=h[e+28>>2],h[i+4>>2]=l,o=v(r[h[h[e>>2]+48>>2]](e)),c=v(r[h[h[e>>2]+48>>2]](e)),m[i+8>>2]=v(r[h[h[e>>2]+48>>2]](e))+m[i+8>>2],m[i>>2]=o+m[i>>2],m[i+4>>2]=c+m[i+4>>2],o=v(t*v(.5)),c=v(t*v(.25)),t=v(t/v(12));e:{t:switch(h[e+52>>2]){case 0:s=o,o=m[i+4>>2],a=v(o*o),o=v(s*a),s=t,t=m[i>>2],s=a=v(v(c*a)+v(s*v(t*v(t*v(4)))));break e;case 2:a=o,o=m[i>>2],o=v(o*o),s=v(a*o),a=t,t=m[i+8>>2],a=o=v(v(c*o)+v(a*v(t*v(t*v(4)))));break e}a=o,o=m[i>>2],o=v(o*o),a=v(a*o),s=t,t=m[i+4>>2],s=o=v(v(c*o)+v(s*v(t*v(t*v(4)))))}h[n+12>>2]=0,m[n+8>>2]=s,m[n+4>>2]=a,m[n>>2]=o,w=i+16|0},r[537]=function(e){return 16024},r[538]=zl,r[539]=fo,r[540]=Hh,r[541]=function(e,t,n){return vs(e|=0,t|=0,n|=0),h[t+28>>2]=h[e+28>>2],h[t+32>>2]=h[e+32>>2],h[t+36>>2]=h[e+36>>2],h[t+40>>2]=h[e+40>>2],h[t+12>>2]=h[e+12>>2],h[t+16>>2]=h[e+16>>2],h[t+20>>2]=h[e+20>>2],h[t+24>>2]=h[e+24>>2],h[t+44>>2]=h[e+44>>2],h[t+52>>2]=h[e+52>>2],16034},r[542]=function(e,t,n){e|=0,t|=0,n|=0;var i,o=v(0),a=v(0),s=v(0),c=0,l=v(0),u=v(0);w=i=w-16|0,r[h[h[t>>2]+68>>2]](i,t,n),c=h[i+12>>2],h[e+8>>2]=h[i+8>>2],h[e+12>>2]=c,c=h[i+4>>2],h[e>>2]=h[i>>2],h[e+4>>2]=c,v(r[h[h[t>>2]+48>>2]](t))!=v(0)&&(a=m[n+4>>2],o=m[n>>2],s=m[n+8>>2],l=v(r[h[h[t>>2]+48>>2]](t)),u=o=(t=v(v(v(o*o)+v(a*a))+v(s*s))>2]=m[e>>2]+v(l*v(u*o)),m[e+4>>2]=m[e+4>>2]+v(l*v(a*o)),m[e+8>>2]=m[e+8>>2]+v(l*v(s*o))),w=i+16|0},r[543]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0);i=m[t+32>>2],r=m[t+28>>2],o=m[n>>2],a=m[n+8>>2],(s=v(S(v(v(o*o)+v(a*a)))))==v(0)||(r=v(r/s),c=v(a*r),r=v(o*r)),i=m[n+4>>2]>2]=c,m[e+4>>2]=i,m[e>>2]=r},r[544]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var r=0,o=v(0),a=v(0),s=v(0),c=0,l=v(0),u=0,p=v(0);if((0|i)>=1)for(;o=m[e+32>>2],a=m[e+28>>2],l=m[(r=(u=c<<4)+t|0)>>2],s=m[r+8>>2],(p=v(S(v(v(l*l)+v(s*s)))))==v(0)?(s=v(0),o=m[r+4>>2]>2]>2]=s,m[r+4>>2]=o,m[r>>2]=a,(0|(c=c+1|0))!=(0|i););},r[545]=uc,r[546]=fh,r[547]=function(e){return 16054},r[548]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0);r=m[t+32>>2],i=m[t+28>>2],o=m[n+4>>2],a=m[n+8>>2],(s=v(S(v(v(o*o)+v(a*a)))))==v(0)||(r=v(r/s),c=v(a*r),r=v(o*r)),i=m[n>>2]>2]=c,m[e>>2]=i,m[e+4>>2]=r},r[549]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var r=0,o=v(0),a=v(0),s=v(0),c=0,l=v(0),u=0,p=v(0);if((0|i)>=1)for(;o=m[e+28>>2],a=m[e+32>>2],l=m[4+(r=(u=c<<4)+t|0)>>2],s=m[r+8>>2],(p=v(S(v(v(l*l)+v(s*s)))))==v(0)?(s=v(0),o=m[r>>2]>2]>2]=s,m[r+4>>2]=a,m[r>>2]=o,(0|(c=c+1|0))!=(0|i););},r[550]=function(e){e|=0;var t=v(0),n=v(0);return t=m[e+32>>2],v(r[h[h[e>>2]+48>>2]](e)),n=v(r[h[h[e>>2]+48>>2]](e)),v(r[h[h[e>>2]+48>>2]](e)),v(v(t+n))},r[551]=fh,r[552]=function(e){return 16064},r[553]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0);i=m[t+36>>2],r=m[t+28>>2],t=e,o=m[n>>2],a=m[n+4>>2],(s=v(S(v(v(o*o)+v(a*a)))))==v(0)||(r=v(r/s),c=v(a*r),r=v(o*r)),i=m[n+8>>2]>2]=i,m[e>>2]=r,m[e+4>>2]=c},r[554]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var r=0,o=v(0),a=v(0),s=v(0),c=0,l=v(0),u=0,p=v(0);if((0|i)>=1)for(;o=m[e+36>>2],a=m[e+28>>2],l=m[(r=(u=c<<4)+t|0)>>2],s=m[r+4>>2],(p=v(S(v(v(l*l)+v(s*s)))))==v(0)?(s=v(0),o=m[r+8>>2]>2]>2]=o,m[r+4>>2]=s,m[r>>2]=a,(0|(c=c+1|0))!=(0|i););},r[555]=uc,r[556]=Ha,r[557]=function(e){var t;h[(e|=0)>>2]=16264,(t=h[e+32>>2])&&(d[e+36|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+32>>2]=0),h[e+32>>2]=0,o[e+36|0]=1,h[e+24>>2]=0,h[e+28>>2]=0,e&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[558]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=0,s=0,c=0,l=0,u=v(0),p=v(0),_=v(0),y=v(0),C=v(0),A=v(0),x=0,S=0,T=0,E=0;if(w=n=w-80|0,(0|(o=0|r[h[h[e>>2]+28>>2]](e)))>=1)for(u=m[e+12>>2],p=m[e+8>>2],_=m[e+4>>2];;){r[h[h[e>>2]+16>>2]](e,n+76|0,n+52|0,n- -64|0,n+56|0,n+72|0,n+68|0,n+48|0,n+60|0,E);e:{t:switch(h[n+64>>2]){case 0:n:switch(h[n+60>>2]+-2|0){case 0:if(i=0,h[n+48>>2]<1)break e;for(;c=h[n+76>>2],l=h[n+56>>2],a=h[n+72>>2]+g(h[n+68>>2],i)|0,s=c+g(l,h[a>>2])|0,y=m[s>>2],C=m[s+4>>2],A=m[s+8>>2],h[n+12>>2]=0,m[n+8>>2]=u*A,m[n+4>>2]=p*C,m[n>>2]=_*y,s=c+g(l,h[a+4>>2])|0,y=m[s>>2],C=m[s+4>>2],A=m[s+8>>2],h[n+28>>2]=0,m[n+24>>2]=u*A,m[n+20>>2]=p*C,m[n+16>>2]=_*y,a=c+g(l,h[a+8>>2])|0,y=m[a>>2],C=m[a+4>>2],A=m[a+8>>2],h[n+44>>2]=0,m[n+40>>2]=u*A,m[n+36>>2]=p*C,m[n+32>>2]=_*y,r[h[h[t>>2]+8>>2]](t,n,E,i),(0|(i=i+1|0))>2];);break e;case 1:if(i=0,h[n+48>>2]<=0)break e;for(;c=h[n+76>>2],l=h[n+56>>2],a=h[n+72>>2]+g(h[n+68>>2],i)|0,s=c+g(l,f[a>>1])|0,y=m[s>>2],C=m[s+4>>2],A=m[s+8>>2],h[n+12>>2]=0,m[n+8>>2]=u*A,m[n+4>>2]=p*C,m[n>>2]=_*y,s=c+g(l,f[a+2>>1])|0,y=m[s>>2],C=m[s+4>>2],A=m[s+8>>2],h[n+28>>2]=0,m[n+24>>2]=u*A,m[n+20>>2]=p*C,m[n+16>>2]=_*y,a=c+g(l,f[a+4>>1])|0,y=m[a>>2],C=m[a+4>>2],A=m[a+8>>2],h[n+44>>2]=0,m[n+40>>2]=u*A,m[n+36>>2]=p*C,m[n+32>>2]=_*y,r[h[h[t>>2]+8>>2]](t,n,E,i),(0|(i=i+1|0))>2];);break e;case 3:break n;default:break e}if(i=0,h[n+48>>2]<=0)break e;for(;c=h[n+76>>2],l=h[n+56>>2],a=h[n+72>>2]+g(h[n+68>>2],i)|0,s=c+g(l,d[0|a])|0,y=m[s>>2],C=m[s+4>>2],A=m[s+8>>2],h[n+12>>2]=0,m[n+8>>2]=u*A,m[n+4>>2]=p*C,m[n>>2]=_*y,s=c+g(l,d[a+1|0])|0,y=m[s>>2],C=m[s+4>>2],A=m[s+8>>2],h[n+28>>2]=0,m[n+24>>2]=u*A,m[n+20>>2]=p*C,m[n+16>>2]=_*y,a=c+g(l,d[a+2|0])|0,y=m[a>>2],C=m[a+4>>2],A=m[a+8>>2],h[n+44>>2]=0,m[n+40>>2]=u*A,m[n+36>>2]=p*C,m[n+32>>2]=_*y,r[h[h[t>>2]+8>>2]](t,n,E,i),(0|(i=i+1|0))>2];);break e;case 1:break t;default:break e}t:switch(h[n+60>>2]+-2|0){case 0:if(i=0,h[n+48>>2]<1)break e;for(;c=h[n+76>>2],l=h[n+56>>2],a=h[n+72>>2]+g(h[n+68>>2],i)|0,s=c+g(l,h[a>>2])|0,x=b[s>>3],S=b[s+8>>3],T=b[s+16>>3],h[n+12>>2]=0,m[n+8>>2]=u*v(T),m[n+4>>2]=p*v(S),m[n>>2]=_*v(x),s=c+g(l,h[a+4>>2])|0,x=b[s>>3],S=b[s+8>>3],T=b[s+16>>3],h[n+28>>2]=0,m[n+24>>2]=u*v(T),m[n+20>>2]=p*v(S),m[n+16>>2]=_*v(x),a=c+g(l,h[a+8>>2])|0,x=b[a>>3],S=b[a+8>>3],T=b[a+16>>3],h[n+44>>2]=0,m[n+40>>2]=u*v(T),m[n+36>>2]=p*v(S),m[n+32>>2]=_*v(x),r[h[h[t>>2]+8>>2]](t,n,E,i),(0|(i=i+1|0))>2];);break e;case 1:if(i=0,h[n+48>>2]<=0)break e;for(;c=h[n+76>>2],l=h[n+56>>2],a=h[n+72>>2]+g(h[n+68>>2],i)|0,s=c+g(l,f[a>>1])|0,x=b[s>>3],S=b[s+8>>3],T=b[s+16>>3],h[n+12>>2]=0,m[n+8>>2]=u*v(T),m[n+4>>2]=p*v(S),m[n>>2]=_*v(x),s=c+g(l,f[a+2>>1])|0,x=b[s>>3],S=b[s+8>>3],T=b[s+16>>3],h[n+28>>2]=0,m[n+24>>2]=u*v(T),m[n+20>>2]=p*v(S),m[n+16>>2]=_*v(x),a=c+g(l,f[a+4>>1])|0,x=b[a>>3],S=b[a+8>>3],T=b[a+16>>3],h[n+44>>2]=0,m[n+40>>2]=u*v(T),m[n+36>>2]=p*v(S),m[n+32>>2]=_*v(x),r[h[h[t>>2]+8>>2]](t,n,E,i),(0|(i=i+1|0))>2];);break e;case 3:break t;default:break e}if(i=0,!(h[n+48>>2]<=0))for(;c=h[n+76>>2],l=h[n+56>>2],a=h[n+72>>2]+g(h[n+68>>2],i)|0,s=c+g(l,d[0|a])|0,x=b[s>>3],S=b[s+8>>3],T=b[s+16>>3],h[n+12>>2]=0,m[n+8>>2]=u*v(T),m[n+4>>2]=p*v(S),m[n>>2]=_*v(x),s=c+g(l,d[a+1|0])|0,x=b[s>>3],S=b[s+8>>3],T=b[s+16>>3],h[n+28>>2]=0,m[n+24>>2]=u*v(T),m[n+20>>2]=p*v(S),m[n+16>>2]=_*v(x),a=c+g(l,d[a+2|0])|0,x=b[a>>3],S=b[a+8>>3],T=b[a+16>>3],h[n+44>>2]=0,m[n+40>>2]=u*v(T),m[n+36>>2]=p*v(S),m[n+32>>2]=_*v(x),r[h[h[t>>2]+8>>2]](t,n,E,i),(0|(i=i+1|0))>2];);}if(r[h[h[e>>2]+24>>2]](e,E),(0|o)==(0|(E=E+1|0)))break}w=n+80|0},r[559]=Jo,r[560]=Jo,r[561]=qh,r[562]=qh,r[563]=Lh,r[564]=qh,r[565]=qh,r[566]=function(e){return 1==h[48+(e|=0)>>2]|0},r[567]=function(e,t,n){e|=0,n|=0;var i=0;i=h[4+(t|=0)>>2],h[e+52>>2]=h[t>>2],h[e+56>>2]=i,i=h[t+12>>2],h[e+60>>2]=h[t+8>>2],h[e+64>>2]=i,t=h[n+4>>2],h[e+68>>2]=h[n>>2],h[e+72>>2]=t,t=h[n+12>>2],h[e+76>>2]=h[n+8>>2],h[e+80>>2]=t,h[e+48>>2]=1},r[568]=function(e,t,n){t|=0,n|=0;var i=0;i=h[56+(e|=0)>>2],h[t>>2]=h[e+52>>2],h[t+4>>2]=i,i=h[e+64>>2],h[t+8>>2]=h[e+60>>2],h[t+12>>2]=i,t=h[e+80>>2],h[n+8>>2]=h[e+76>>2],h[n+12>>2]=t,t=h[e+72>>2],h[n>>2]=h[e+68>>2],h[n+4>>2]=t},r[569]=function(e){return 28},r[570]=function(e,t,n){t|=0,n|=0;var i,a=0,s=0,c=0,l=0,u=0,_=0,m=0,b=0,v=0,y=0,C=0,A=0,x=0;if(w=i=w-32|0,a=0|r[h[h[(e|=0)>>2]+28>>2]](e),h[t>>2]=0,h[t+20>>2]=a,a){if(A=0|r[h[h[n>>2]+16>>2]](n,32,a),u=h[A+8>>2],h[t>>2]=r[h[h[n>>2]+28>>2]](n,u),(0|(x=0|r[h[h[e>>2]+28>>2]](e)))>0)for(;;){r[h[h[e>>2]+16>>2]](e,i+28|0,i+4|0,i+16|0,i+8|0,i+24|0,i+20|0,i,i+12|0,C),a=h[i>>2],h[u+24>>2]=a,s=h[i+4>>2],h[u>>2]=0,h[u+4>>2]=0,h[u+28>>2]=s,h[u+8>>2]=0,h[u+12>>2]=0,h[u+16>>2]=0,h[u+20>>2]=0;e:{t:switch(h[i+12>>2]+-2|0){case 0:if(!a)break e;if(s=0|r[h[h[n>>2]+16>>2]](n,4,g(a,3)),_=h[s+8>>2],h[u+8>>2]=r[h[h[n>>2]+28>>2]](n,_),h[i>>2]>=1)for(a=0,m=h[i+24>>2];c=_+g(a,12)|0,l=m+g(h[i+20>>2],a)|0,h[c>>2]=h[l>>2],h[c+4>>2]=h[l+4>>2],h[c+8>>2]=h[l+8>>2],(0|(a=a+1|0))>2];);r[h[h[n>>2]+20>>2]](n,s,16074,1497453121,h[s+8>>2]);break e;case 1:if(!a)break e;if(s=0|r[h[h[n>>2]+16>>2]](n,8,a),_=h[s+8>>2],h[u+12>>2]=r[h[h[n>>2]+28>>2]](n,_),(0|(m=h[i>>2]))>=1)for(a=0,b=h[i+20>>2],v=h[i+24>>2];c=_+(a<<3)|0,l=v+g(a,b)|0,p[c>>1]=f[l>>1],p[c+2>>1]=f[l+2>>1],p[c+4>>1]=f[l+4>>1],(0|m)!=(0|(a=a+1|0)););r[h[h[n>>2]+20>>2]](n,s,16089,1497453121,h[s+8>>2]);break e;case 3:break t;default:break e}if(a){if(s=0|r[h[h[n>>2]+16>>2]](n,4,a),_=h[s+8>>2],h[u+16>>2]=r[h[h[n>>2]+28>>2]](n,_),a=0,h[i>>2]>=1)for(;c=_+(a<<2)|0,l=h[i+24>>2]+g(h[i+20>>2],a)|0,o[0|c]=d[0|l],o[c+1|0]=d[l+1|0],o[c+2|0]=d[l+2|0],(0|(a=a+1|0))>2];);r[h[h[n>>2]+20>>2]](n,s,16116,1497453121,h[s+8>>2])}}e:{t:switch(h[i+16>>2]){case 0:if(!(a=h[i+4>>2]))break e;if(s=0|r[h[h[n>>2]+16>>2]](n,16,a),_=h[s+8>>2],h[u>>2]=r[h[h[n>>2]+28>>2]](n,_),(0|(m=h[i+4>>2]))>=1)for(a=0,b=h[i+8>>2],v=h[i+28>>2];c=_+(a<<4)|0,l=v+g(a,b)|0,h[c>>2]=h[l>>2],h[c+4>>2]=h[l+4>>2],h[c+8>>2]=h[l+8>>2],(0|m)!=(0|(a=a+1|0)););r[h[h[n>>2]+20>>2]](n,s,16139,1497453121,h[s+8>>2]);break e;case 1:break t;default:break e}if(a=h[i+4>>2]){if(l=0|r[h[h[n>>2]+16>>2]](n,32,a),_=h[l+8>>2],h[u+4>>2]=r[h[h[n>>2]+28>>2]](n,_),(0|(m=h[i+4>>2]))>=1)for(a=0,b=h[i+8>>2],v=h[i+28>>2];c=v+g(a,b)|0,y=h[c+4>>2],h[(s=_+(a<<5)|0)>>2]=h[c>>2],h[s+4>>2]=y,y=h[c+12>>2],h[s+8>>2]=h[c+8>>2],h[s+12>>2]=y,y=h[c+20>>2],h[s+16>>2]=h[c+16>>2],h[s+20>>2]=y,(0|m)!=(0|(a=a+1|0)););r[h[h[n>>2]+20>>2]](n,l,16158,1497453121,h[l+8>>2])}}if(r[h[h[e>>2]+24>>2]](e,C),u=u+32|0,(0|x)==(0|(C=C+1|0)))break}r[h[h[n>>2]+20>>2]](n,A,16178,1497453121,h[A+8>>2])}return h[t+4>>2]=h[e+4>>2],h[t+8>>2]=h[e+8>>2],h[t+12>>2]=h[e+12>>2],h[t+16>>2]=h[e+16>>2],w=i+32|0,16193},r[571]=rr,r[572]=function(e){(e=rr(e|=0))&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[573]=function(e,t){t|=0;var n=0,i=0,a=0,s=0,c=0,l=0;e:{if(d[165+(e|=0)|0]){if(h[e+92>>2]>=(0|t))break e;if(t?(h[7717]=h[7717]+1,a=0|r[h[6606]](t<<4,16)):a=0,(0|(c=h[e+88>>2]))>=1)for(;s=(i=n<<4)+a|0,i=i+h[e+96>>2]|0,l=h[i+4>>2],h[s>>2]=h[i>>2],h[s+4>>2]=l,l=h[i+12>>2],h[s+8>>2]=h[i+8>>2],h[s+12>>2]=l,(0|c)!=(0|(n=n+1|0)););return(n=h[e+96>>2])&&(d[e+100|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+96>>2]=0),h[e+96>>2]=a,h[e+92>>2]=t,void(o[e+100|0]=1)}if(!(h[e+112>>2]>=(0|t))){t&&(h[7717]=h[7717]+1,i=0|r[h[6606]](t<<2,16)),a=h[e+116>>2];t:{n:{if((0|(s=h[e+108>>2]))>=1)for(;;)if(h[(c=n<<2)+i>>2]=h[a+c>>2],(0|s)==(0|(n=n+1|0)))break n;if(!a)break t}d[e+120|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+116>>2]=0}h[e+116>>2]=i,h[e+112>>2]=t,o[e+120|0]=1}}},r[574]=function(e,t){t|=0;var n=0,i=0,a=0,s=0,c=0;e:{if(d[164+(e|=0)|0]){if(h[e+132>>2]>=(0|t))break e;t&&(h[7717]=h[7717]+1,a=0|r[h[6606]](t<<2,16)),n=h[e+136>>2];t:{n:{if((0|(s=h[e+128>>2]))>=1)for(;;)if(h[(c=i<<2)+a>>2]=h[n+c>>2],(0|s)==(0|(i=i+1|0)))break n;if(!n)break t}d[e+140|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+136>>2]=0}return h[e+136>>2]=a,h[e+132>>2]=t,void(o[e+140|0]=1)}if(!(h[e+152>>2]>=(0|t))){t&&(h[7717]=h[7717]+1,a=0|r[h[6606]](t<<1,16)),n=h[e+156>>2];t:{n:{if((0|(s=h[e+148>>2]))>=1)for(;;)if(p[(c=i<<1)+a>>1]=f[n+c>>1],(0|s)==(0|(i=i+1|0)))break n;if(!n)break t}d[e+160|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+156>>2]=0}h[e+156>>2]=a,h[e+152>>2]=t,o[e+160|0]=1}}},r[575]=_r,r[576]=function(e){_r(e|=0),e&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[577]=function(e,t,n,i,o,a,s,c,l){var u;return i|=0,l=function(e,t,n,i,r,o,a,s){var c,l,u,d=0,_=0;if(w=l=w-16|0,Zi(e,l+10|0,t,0),Zi(e,l+4|0,n,1),c=(t=h[e+60>>2])+((u=f[e+64>>1])<<6)|0,p[e+64>>1]=f[c+48>>1],n=f[e+56>>1]+1|0,p[e+56>>1]=n,h[c+8>>2]=s,p[c+6>>1]=o,p[c+4>>1]=r,h[c>>2]=i,h[c+12>>2]=u,p[t+54>>1]=f[t+54>>1]+2,s=(t=h[e+68>>2])+(o=4|(i=(r=65534&(n<<=1))<<2))|0,d=f[(d=(d=t)+(t=(r=r+-1|0)<<2)|0)>>1]|f[d+2>>1]<<16,p[s>>1]=d,p[s+2>>1]=d>>>16,s=f[l+10>>1],d=h[e+68>>2],p[2+(_=d+t|0)>>1]=u,p[_>>1]=s,s=f[l+4>>1],p[2+(d=i+d|0)>>1]=u,p[d>>1]=s,p[c+54>>1]=n,p[c+48>>1]=r,s=h[e+60>>2],p[s+56>>1]=f[s+56>>1]+2,d=(s=h[e+72>>2])+o|0,s=f[(s=t+s|0)>>1]|f[s+2>>1]<<16,p[d>>1]=s,p[d+2>>1]=s>>>16,s=f[l+12>>1],d=h[e+72>>2],p[2+(_=d+t|0)>>1]=u,p[_>>1]=s,s=f[l+6>>1],p[2+(d=i+d|0)>>1]=u,p[d>>1]=s,p[c+56>>1]=n,p[c+50>>1]=r,s=h[e+60>>2],p[s+58>>1]=f[s+58>>1]+2,s=(s=o)+(o=h[e+76>>2])|0,o=f[(o=t+o|0)>>1]|f[o+2>>1]<<16,p[s>>1]=o,p[s+2>>1]=o>>>16,o=f[l+14>>1],s=t,t=h[e+76>>2],p[2+(s=s+t|0)>>1]=u,p[s>>1]=o,o=f[l+8>>1],p[2+(t=t+i|0)>>1]=u,p[t>>1]=o,p[c+58>>1]=n,p[c+52>>1]=r,i=h[e+68>>2],o=f[c+48>>1]<<2,r=f[(t=(n=i+o|0)-4|0)>>1],f[n>>1]>>0){for(o=(s=h[e+60>>2])+(f[2+(i+o|0)>>1]<<6)|0;s=(f[2+(i=n+-4|0)>>1]<<6)+s|0,p[(r=1&r?s+54|0:s+48|0)>>1]=f[r>>1]+1,p[o+48>>1]=f[o+48>>1]+-1,r=f[n>>1]|f[n+2>>1]<<16,s=f[t>>1]|f[t+2>>1]<<16,p[n>>1]=s,p[n+2>>1]=s>>>16,p[t>>1]=r,p[t+2>>1]=r>>>16,r=f[(t=t+-4|0)>>1],f[i>>1]>>0;)s=h[e+60>>2],n=i;i=h[e+68>>2]}o=f[c+54>>1],r=f[(t=(n=(o<<2)+i|0)-4|0)>>1];e:if(!(f[n>>1]>=r>>>0))for(o=(s=h[e+60>>2])+(f[2+((o<<2)+i|0)>>1]<<6)|0;;){if(s=(f[2+(i=n+-4|0)>>1]<<6)+s|0,p[(r=1&r?s+54|0:s+48|0)>>1]=f[r>>1]+1,p[o+54>>1]=f[o+54>>1]+-1,r=f[n>>1]|f[n+2>>1]<<16,s=f[t>>1]|f[t+2>>1]<<16,p[n>>1]=s,p[n+2>>1]=s>>>16,p[t>>1]=r,p[t+2>>1]=r>>>16,r=f[(t=t+-4|0)>>1],f[i>>1]>=r>>>0)break e;s=h[e+60>>2],n=i}if(i=h[e+72>>2],o=f[c+50>>1]<<2,r=f[(t=(n=i+o|0)-4|0)>>1],f[n>>1]>>0){for(o=(s=h[e+60>>2])+(f[2+(i+o|0)>>1]<<6)|0;s=(f[2+(i=n+-4|0)>>1]<<6)+s|0,p[(r=1&r?s+56|0:s+50|0)>>1]=f[r>>1]+1,p[o+50>>1]=f[o+50>>1]+-1,r=f[n>>1]|f[n+2>>1]<<16,s=f[t>>1]|f[t+2>>1]<<16,p[n>>1]=s,p[n+2>>1]=s>>>16,p[t>>1]=r,p[t+2>>1]=r>>>16,r=f[(t=t+-4|0)>>1],f[i>>1]>>0;)s=h[e+60>>2],n=i;i=h[e+72>>2]}o=f[c+56>>1],r=f[(t=(n=(o<<2)+i|0)-4|0)>>1];e:if(!(f[n>>1]>=r>>>0))for(o=(s=h[e+60>>2])+(f[2+((o<<2)+i|0)>>1]<<6)|0;;){if(s=(f[2+(i=n+-4|0)>>1]<<6)+s|0,p[(r=1&r?s+56|0:s+50|0)>>1]=f[r>>1]+1,p[o+56>>1]=f[o+56>>1]+-1,r=f[n>>1]|f[n+2>>1]<<16,s=f[t>>1]|f[t+2>>1]<<16,p[n>>1]=s,p[n+2>>1]=s>>>16,p[t>>1]=r,p[t+2>>1]=r>>>16,r=f[(t=t+-4|0)>>1],f[i>>1]>=r>>>0)break e;s=h[e+60>>2],n=i}return gi(e,2,f[c+52>>1]),fi(e,2,f[c+58>>1],a),w=l+16|0,u}(e|=0,t|=0,n|=0,o|=0,a|=0,s|=0,c|=0,l|=0),u=h[e+60>>2],(e=h[e+108>>2])&&(h[60+((l<<6)+u|0)>>2]=r[h[h[e>>2]+8>>2]](e,t,n,i,o,a,s,c,0)),(l<<6)+u|0},r[578]=function(e,t,n){var i;t|=0,n|=0,(i=h[108+(e|=0)>>2])&&r[h[h[i>>2]+12>>2]](i,h[t+60>>2],n),function(e,t,n){var i,o,a=0,s=0,c=0,l=0,u=0,d=0,_=0,m=0,b=0;for(i=h[e+60>>2],a=h[e+92>>2],r[h[h[a>>2]+56>>2]](a)||(a=h[e+92>>2],r[h[h[a>>2]+16>>2]](a,(t<<6)+i|0,n)),a=f[e+56>>1],n=h[e+60>>2],p[n+54>>1]=f[n+54>>1]+-2,p[n+56>>1]=f[n+56>>1]+-2,p[n+58>>1]=f[n+58>>1]+-2,n=f[e+6>>1],o=(a<<1)-1<<2;;){if(u=h[68+(m=(_<<2)+e|0)>>2],c=f[54+(b=(d=_<<1)+((t<<6)+i|0)|0)>>1]<<2,p[(a=u+c|0)>>1]=n,l=u,s=f[a+6>>1]){for(c=(h[e+60>>2]+(f[2+(c+u|0)>>1]<<6)|0)+d|0;(l=65535&n)>>>0>=(n=f[a+4>>1])>>>0&&(s=(h[e+60>>2]+(s<<6)|0)+d|0,p[(n=1&n?s+54|0:s+48|0)>>1]=f[n>>1]+-1,p[c+54>>1]=f[c+54>>1]+1,s=f[a+4>>1]|f[a+6>>1]<<16,n=f[a>>1]|f[a+2>>1]<<16,p[a+4>>1]=n,p[a+6>>1]=n>>>16,p[a>>1]=s,p[a+2>>1]=s>>>16,s=a,a=a+4|0,s=f[s+10>>1]););n=f[e+6>>1],l=h[m+68>>2]}if(s=l,a=f[b+48>>1]<<2,p[a+u>>1]=n,s=f[6+(a=a+s|0)>>1]){for(c=(h[e+60>>2]+(f[a+2>>1]<<6)|0)+d|0,n=f[a>>1];(l=65535&n)>>>0>=(n=f[a+4>>1])>>>0&&(s=(h[e+60>>2]+(s<<6)|0)+d|0,p[(n=1&n?s+54|0:s+48|0)>>1]=f[n>>1]+-1,p[c+48>>1]=f[c+48>>1]+1,s=f[a+4>>1]|f[a+6>>1]<<16,n=f[a>>1]|f[a+2>>1]<<16,p[a+4>>1]=n,p[a+6>>1]=n>>>16,p[a>>1]=s,p[a+2>>1]=s>>>16,s=a,a=a+4|0,s=f[s+10>>1]););n=f[e+6>>1]}if(p[(a=u+o|0)>>1]=n,p[a+2>>1]=0,3==(0|(_=_+1|0)))break}p[48+(h[e+60>>2]+(t<<6)|0)>>1]=f[e+64>>1],p[e+64>>1]=t,p[e+56>>1]=f[e+56>>1]+-1}(e,f[t+12>>1],n)},r[579]=function(e,t,n,i,o){e|=0,t|=0,i|=0,o|=0;var a=0,s=0;a=h[4+(n|=0)>>2],h[t+16>>2]=h[n>>2],h[t+20>>2]=a,a=h[n+12>>2],h[t+24>>2]=h[n+8>>2],h[t+28>>2]=a,s=h[(a=i)+4>>2],h[t+32>>2]=h[a>>2],h[t+36>>2]=s,s=h[a+12>>2],h[t+40>>2]=h[a+8>>2],h[t+44>>2]=s,function(e,t,n,i,r){var o,a=0,s=0,c=0,l=0,u=0,d=0,_=0,m=0;for(w=o=w-16|0,c=h[e+60>>2],Zi(e,o+10|0,n,0),Zi(e,o+4|0,i,1),c=c+(t<<6)|0;s=h[68+((a<<2)+e|0)>>2],n=f[48+(i=(t=a<<1)+c|0)>>1],d=f[(l=s+(n<<2)|0)>>1],i=f[i+54>>1],_=f[(s=s+(i<<2)|0)>>1],m=f[(u=t+(o+4|0)|0)>>1],t=f[t+(o+10|0)>>1],p[l>>1]=t,p[s>>1]=f[u>>1],(0|(t=t-d|0))<=-1&&gi(e,a,n),(0|(s=m-_|0))>=1&&_i(e,a,i),(0|t)>=1&&vi(e,a,n,r),(0|s)<=-1&&fi(e,a,i,r),3!=(0|(a=a+1|0)););w=o+16|0}(e,f[t+12>>1],n,a,o),(e=h[e+108>>2])&&r[h[h[e>>2]+16>>2]](e,h[t+60>>2],n,i,o)},r[580]=ga,r[581]=function(e,t,n,i,a,s){var c;if(t|=0,n|=0,i|=0,a|=0,s|=0,c=h[108+(e|=0)>>2])r[h[h[c>>2]+24>>2]](c,t,n,i,a,s);else if(n=f[e+56>>1])for(a=1,t=1;a=h[e+68>>2]+(a<<2)|0,1&o[0|a]&&(r[h[h[i>>2]+8>>2]](i,h[e+60>>2]+(f[a+2>>1]<<6)|0),n=f[e+56>>1]),((65535&n)<<1|1)>>>0>(a=65535&(t=t+1|0))>>>0;);},r[582]=function(e,t,n,i){t|=0,n|=0,i|=0;var a=0,s=0,c=0,l=0,u=0;if(a=h[108+(e|=0)>>2])r[h[h[a>>2]+28>>2]](a,t,n,i);else if(c=f[e+56>>1])for(a=1,l=1;s=h[e+68>>2]+(a<<2)|0,1&o[0|s]&&(u=0,s=h[e+60>>2]+(f[s+2>>1]<<6)|0,a=0,m[t>>2]>m[s+32>>2]||(a=0,m[n>>2]>2]||(a=1)),u=m[n+8>>2]>2]|m[t+8>>2]>m[s+40>>2]?u:a,m[n+4>>2]>2]|m[t+4>>2]>m[s+36>>2]|1^u||(r[h[h[i>>2]+8>>2]](i,s),c=f[e+56>>1])),(c<<1|1)>>>0>(a=65535&(l=l+1|0))>>>0;);},r[583]=function(e,t){t|=0;var n,i=0,a=0,s=0,c=0,l=0,u=0,p=0,_=0,m=0,b=0;if(w=n=w-16|0,a=h[92+(e|=0)>>2],r[h[h[a>>2]+56>>2]](a)){if(a=h[e+92>>2],s=0|r[h[h[a>>2]+28>>2]](a),(0|(p=h[s+4>>2]))>=2&&(kn(s,n+8|0,0,p+-1|0),p=h[s+4>>2]),a=p-(i=h[e+104>>2])|0,(0|i)<=-1){if(h[s+8>>2]<(0|a)){if(a?(h[7717]=h[7717]+1,l=0|r[h[6606]](a<<4,16),i=h[s+4>>2]):i=p,(0|i)>=1)for(;u=(c=_<<4)+l|0,c=c+h[s+12>>2]|0,h[u>>2]=h[c>>2],h[u+4>>2]=h[c+4>>2],h[u+8>>2]=h[c+8>>2],h[u+12>>2]=h[c+12>>2],(0|i)!=(0|(_=_+1|0)););(i=h[s+12>>2])&&(d[s+16|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[s+12>>2]=0),h[s+12>>2]=l,o[s+16|0]=1,h[s+8>>2]=a}for(;i=h[s+12>>2]+(p<<4)|0,h[i>>2]=0,h[i+4>>2]=0,h[i+8>>2]=0,h[i+12>>2]=0,(0|a)!=(0|(p=p+1|0)););}if(h[s+4>>2]=a,h[e+104>>2]=0,p=s,(0|a)>=1){for(c=0,l=0,_=0;u=h[s+12>>2]+(c<<4)|0,i=h[u+4>>2],b=l,l=h[u>>2],!(((0|i)==(0|_)?(0|b)==(0|l):0)|f[l+54>>1]>1]|f[i+54>>1]>1]|f[l+56>>1]>1]||f[i+56>>1]>1]|f[l+58>>1]>1])&&f[i+58>>1]>=f[l+52>>1]||(a=h[e+92>>2],r[h[h[a>>2]+32>>2]](a,u,t),h[u>>2]=0,h[u+4>>2]=0,m=h[e+104>>2]+1|0,h[e+104>>2]=m,h[7305]=h[7305]+-1,a=h[s+4>>2]),_=i,(0|(c=c+1|0))<(0|a););if((0|a)>=2&&(kn(s,n,0,a+-1|0),m=h[e+104>>2],a=h[s+4>>2]),i=a-m|0,(0|m)<=-1){if(h[s+8>>2]<(0|i)){if(i?(h[7717]=h[7717]+1,l=0|r[h[6606]](i<<4,16),t=h[s+4>>2]):(l=0,t=a),(0|t)>=1)for(_=0;u=(c=_<<4)+l|0,c=c+h[s+12>>2]|0,h[u>>2]=h[c>>2],h[u+4>>2]=h[c+4>>2],h[u+8>>2]=h[c+8>>2],h[u+12>>2]=h[c+12>>2],(0|t)!=(0|(_=_+1|0)););(t=h[s+12>>2])&&(d[s+16|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[s+12>>2]=0),h[s+12>>2]=l,o[s+16|0]=1,h[s+8>>2]=i}for(;t=h[s+12>>2]+(a<<4)|0,h[t>>2]=0,h[t+4>>2]=0,h[t+8>>2]=0,h[t+12>>2]=0,(0|i)!=(0|(a=a+1|0)););}a=i}h[p+4>>2]=a,h[e+104>>2]=0}w=n+16|0},r[584]=Ih,r[585]=Ih,r[586]=function(e,t,n){t|=0,n|=0;var i=0;i=h[12+(e|=0)>>2],h[t>>2]=h[e+8>>2],h[t+4>>2]=i,i=h[e+20>>2],h[t+8>>2]=h[e+16>>2],h[t+12>>2]=i,t=h[e+36>>2],h[n+8>>2]=h[e+32>>2],h[n+12>>2]=t,t=h[e+28>>2],h[n>>2]=h[e+24>>2],h[n+4>>2]=t},r[587]=function(e,t){t|=0;var n=0,i=0;if(!f[56+(e|=0)>>1]){if(t=1,p[e+64>>1]=1,i=h[e+60>>2],(n=f[e+58>>1])>>>0>1)for(;n=(t<<6)+i|0,t=t+1|0,p[n+48>>1]=t,t>>>0<(n=f[e+58>>1])>>>0;);p[((n<<6)+i|0)-16>>1]=0}},r[588]=rd,r[589]=function(e){(e=_r(e|=0))&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[590]=function(e){var t;return h[(e|=0)>>2]=16704,(t=h[e+16>>2])&&(d[e+20|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+16>>2]=0),h[e+16>>2]=0,o[e+20|0]=1,h[e+8>>2]=0,h[e+12>>2]=0,0|e},r[591]=function(e){var t;h[(e|=0)>>2]=16704,!(t=h[e+16>>2])|!d[e+20|0]||t&&(h[7718]=h[7718]+1,r[h[6607]](t)),Se(e)},r[592]=Ah,r[593]=function(e,t,n,i){return 0},r[594]=Vh,r[595]=wh,r[596]=wh,r[597]=zh,r[598]=Vh,r[599]=Xh,r[600]=Vh,r[601]=qh,r[602]=Vh,r[603]=Ah,r[604]=Qh,r[605]=qh,r[606]=qh,r[607]=Hr,r[608]=function(e){Se(Hr(e|=0))},r[609]=function(e,t,n){e|=0,t|=0,n|=0;var i,a=0;h[7307]=h[7307]+1;e:{t:{if(i=h[e+24>>2]){if(r[h[h[i>>2]+8>>2]](i,t,n))break t;break e}if(!(f[n+6>>1]&f[t+4>>1])|!(f[t+6>>1]&f[n+4>>1]))break e}a=function(e,t,n){var i,a,s,c=0,l=0,u=0,p=0,f=0,_=0,m=0;c=h[t+12>>2]>h[n+12>>2],_=h[(i=c?t:n)+12>>2],u=h[(a=c?n:t)+12>>2],t=g((t=((t=_<<16|u)<<15^-1)+t|0)>>10^t,9),m=(s=(t=((t^=t>>6)<<11^-1)+t|0)>>16^t)&(c=h[e+12>>2])+-1;t:{if(-1!=(0|(t=h[h[e+44>>2]+(m<<2)>>2])))for(l=h[e+16>>2];;){if(n=(p=t<<4)+l|0,(0|_)==h[h[4+(l+p|0)>>2]+12>>2]&&(0|u)==h[h[n>>2]+12>>2])break t;if(-1==(0|(t=h[h[e+64>>2]+(t<<2)>>2])))break}if((0|(t=c))==(0|(n=u=h[e+8>>2]))&&(n=c,!((0|t)>=(0|(l=t?t<<1:1))))){if(l?(h[7717]=h[7717]+1,n=0|r[h[6606]](l<<4,16),t=h[e+8>>2]):(n=0,t=c),(0|(_=t))>=1)for(t=0;p=(f=t<<4)+n|0,f=f+h[e+16>>2]|0,h[p>>2]=h[f>>2],h[p+4>>2]=h[f+4>>2],h[p+8>>2]=h[f+8>>2],h[p+12>>2]=h[f+12>>2],(0|_)!=(0|(t=t+1|0)););(t=h[e+16>>2])&&(d[e+20|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+16>>2]=0),h[e+16>>2]=n,h[e+12>>2]=l,o[e+20|0]=1,n=h[e+8>>2],t=l}h[e+8>>2]=n+1,l=h[e+16>>2],(n=h[e+72>>2])&&(r[h[h[n>>2]+8>>2]](n,a,i),t=h[e+12>>2]),n=l+(u<<4)|0,(0|c)<(0|t)&&(ln(e),m=h[e+12>>2]+-1&s),c=h[a+12>>2]>2],h[n>>2]=c?a:i,h[8+(t=l+(u<<4)|0)>>2]=0,h[t+12>>2]=0,h[t+4>>2]=c?i:a,t=h[e- -64>>2]+(u<<2)|0,e=h[e+44>>2]+(m<<2)|0,h[t>>2]=h[e>>2],h[e>>2]=u}return n}(e,t,n)}return 0|a},r[610]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o=0,a=0,s=0,c=0,l=0,u=0,p=0;h[7306]=h[7306]+1,o=h[t+12>>2]>h[n+12>>2],a=h[(c=o?t:n)+12>>2],s=h[(l=o?n:t)+12>>2],t=g((t=((t=a<<16|s)<<15^-1)+t|0)>>10^t,9),t=((t^=t>>6)<<11^-1)+t|0,u=h[e+12>>2]+-1&(t>>16^t);e:if(-1!=(0|(t=h[h[e+44>>2]+(u<<2)>>2]))){for(o=h[e+16>>2];;){if((0|a)!=h[h[4+(n=o+(t<<4)|0)>>2]+12>>2]||(0|s)!=h[h[n>>2]+12>>2]){if(-1!=(0|(t=h[h[e+64>>2]+(t<<2)>>2])))continue;break e}break}r[h[h[e>>2]+32>>2]](e,n,i),p=h[12+(o+(t<<4)|0)>>2],a=h[e+64>>2];t:{if(s=h[e+44>>2]+(u<<2)|0,(0|(t=h[s>>2]))!=(0|(o=n-h[e+16>>2]>>4))){for(;n=t,(0|o)!=(0|(t=h[a+(t<<2)>>2])););if(t=h[a+(o<<2)>>2],-1!=(0|n)){h[a+(n<<2)>>2]=t;break t}}else t=h[a+(o<<2)>>2];h[s>>2]=t}if(a=h[e+8>>2]+-1|0,(t=h[e+72>>2])&&r[h[h[t>>2]+12>>2]](t,l,c,i),(0|a)==(0|o))return h[e+8>>2]=h[e+8>>2]+-1,0|p;c=h[e+64>>2];t:{if(l=h[e+16>>2],t=h[h[4+(i=l+(a<<4)|0)>>2]+12>>2]<<16|h[h[i>>2]+12>>2],t=g((t=(t<<15^-1)+t|0)>>10^t,9),t=((t^=t>>6)<<11^-1)+t|0,s=h[e+12>>2]+-1&(t>>16^t),u=h[e+44>>2]+(s<<2)|0,(0|a)!=(0|(t=h[u>>2]))){for(;n=t,(0|a)!=(0|(t=h[c+(t<<2)>>2])););if(t=h[c+(a<<2)>>2],-1!=(0|n)){h[c+(n<<2)>>2]=t;break t}}else t=h[c+(a<<2)>>2];h[u>>2]=t}n=h[i+4>>2],h[(t=l+(o<<4)|0)>>2]=h[i>>2],h[t+4>>2]=n,n=h[i+12>>2],h[t+8>>2]=h[i+8>>2],h[t+12>>2]=n,t=h[e+44>>2]+(s<<2)|0,h[h[e+64>>2]+(o<<2)>>2]=h[t>>2],h[t>>2]=o,h[e+8>>2]=h[e+8>>2]+-1}return 0|p},r[611]=function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=t,h[i+8>>2]=17112,r[h[h[e>>2]+48>>2]](e,i+8|0,n),w=i+16|0},r[612]=wh,r[613]=wh,r[614]=zh,r[615]=function(e,t,n){e|=0,t|=0,(n|=0)&&(e=h[t+8>>2])&&(r[h[h[e>>2]>>2]](e),r[h[h[n>>2]+60>>2]](n,h[t+8>>2]),h[t+8>>2]=0)},r[616]=Bh,r[617]=function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=n,h[i+8>>2]=e,h[i+4>>2]=t,h[i>>2]=16968,r[h[h[e>>2]+48>>2]](e,i,n),w=i+16|0},r[618]=function(e,t){t|=0,h[24+(e|=0)>>2]=t},r[619]=function(e,t,n){t|=0,n|=0;var i=0,o=0;if(h[8+(e|=0)>>2]>=1)for(;o=h[e+16>>2]+(i<<4)|0,r[h[h[t>>2]+8>>2]](t,o)?(r[h[h[e>>2]+12>>2]](e,h[o>>2],h[o+4>>2],n),h[7305]=h[7305]+-1):i=i+1|0,(0|i)>2];);},r[620]=function(e,t,n){e|=0,t|=0,n|=0;var i,r,o=0,a=0;h[7308]=h[7308]+1,o=h[t+12>>2]>h[n+12>>2],i=h[(o?t:n)+12>>2],r=h[(o?n:t)+12>>2],t=g((t=((t=r|i<<16)<<15^-1)+t|0)>>10^t,9),t=((t^=t>>6)<<11^-1)+t|0;e:{if(!((0|(t=h[e+12>>2]+-1&(t>>16^t)))>=h[e+36>>2])&&-1!=(0|(t=h[h[e+44>>2]+(t<<2)>>2])))for(n=h[e+16>>2];;){if(o=n+(a=t<<4)|0,h[h[4+(n+a|0)>>2]+12>>2]==(0|i)&&h[h[o>>2]+12>>2]==(0|r))break e;if(-1==(0|(t=h[h[e+64>>2]+(t<<2)>>2])))break}o=0}return 0|o},r[621]=Xh,r[622]=Mh,r[623]=function(e,t){e|=0,t|=0;var n,i=0,a=0,s=0,c=0,l=0,u=0,p=0,f=0;if(w=n=w-32|0,h[n+20>>2]=0,h[n+12>>2]=0,h[n+16>>2]=0,o[n+24|0]=1,!(h[e+8>>2]<1)){for(;;){if(s=h[e+16>>2]+(f<<4)|0,(0|i)==(0|a))if((0|i)>=(0|(a=i?i<<1:1)))a=i;else{if(u=0,c=0,a&&(h[7717]=h[7717]+1,c=0|r[h[6606]](a<<4,16)),(0|i)>=1)for(;p=(l=u<<4)+c|0,l=l+h[n+20>>2]|0,h[p>>2]=h[l>>2],h[p+4>>2]=h[l+4>>2],h[p+8>>2]=h[l+8>>2],h[p+12>>2]=h[l+12>>2],(0|(u=u+1|0))!=(0|i););(i=h[n+20>>2])&&(d[n+24|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[n+20>>2]=0),h[n+20>>2]=c,o[n+24|0]=1,h[n+16>>2]=a,a=h[n+12>>2]}if(i=h[n+20>>2]+(a<<4)|0,h[i>>2]=h[s>>2],h[i+4>>2]=h[s+4>>2],h[i+8>>2]=h[s+8>>2],h[i+12>>2]=h[s+12>>2],a=(s=h[n+12>>2])+1|0,h[n+12>>2]=a,!((0|(f=f+1|0))>2]))break;i=h[n+16>>2]}if(i=0,!((0|s)<0))for(u=h[n+20>>2];c=u+(i<<4)|0,r[h[h[e>>2]+12>>2]](e,h[c>>2],h[c+4>>2],t),c=(0|i)==(0|s),i=i+1|0,!c;);}if(h[e+56>>2]>=1){for(t=h[e- -64>>2],a=0;h[t+(a<<2)>>2]=-1,(0|(a=a+1|0))>2];);a=h[n+12>>2]}if((0|a)>=2&&(kn(n+8|0,n,0,a+-1|0),a=h[n+12>>2]),i=h[n+20>>2],(0|a)>=1)for(a=0;t=(a<<4)+i|0,r[h[h[e>>2]+8>>2]](e,h[t>>2],h[t+4>>2]),i=h[n+20>>2],(0|(a=a+1|0))>2];);i&&(d[n+24|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[n+20>>2]=0),w=n+32|0},r[624]=Jh,r[625]=function(e,t){t|=0;var n=0;return(0|(n=h[4+(e|=0)>>2]))!=h[t+4>>2]&&(0|n)!=h[t>>2]||(n=h[e+8>>2],r[h[h[n>>2]+32>>2]](n,t,h[e+12>>2])),0},r[626]=Jh,r[627]=function(e,t){return t|=0,(0|(e=h[4+(e|=0)>>2]))==h[t>>2]|(0|e)==h[t+4>>2]},r[628]=function(e){var t=0;return h[(e|=0)>>2]=17276,d[e+192|0]&&(t=h[e+136>>2],r[h[h[t>>2]>>2]](t),(t=h[e+136>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),gr(e- -64|0),gr(e+4|0),0|e},r[629]=function(e){var t=0;h[(e|=0)>>2]=17276,d[e+192|0]&&(t=h[e+136>>2],r[h[h[t>>2]>>2]](t),(t=h[e+136>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t))),gr(e- -64|0),gr(e+4|0),Se(e)},r[630]=function(e,t,n,i,o,a,s,c,l){return e|=0,t|=0,n|=0,i|=0,o|=0,a|=0,s|=0,c|=0,w=c=w-48|0,h[7717]=h[7717]+1,i=0|r[h[6606]](64,16),p[i+6>>1]=s,p[i+4>>1]=a,h[i>>2]=o,o=h[t+4>>2],h[i+16>>2]=h[t>>2],h[i+20>>2]=o,o=h[t+12>>2],h[i+24>>2]=h[t+8>>2],h[i+28>>2]=o,o=h[n+4>>2],h[i+32>>2]=h[n>>2],h[i+36>>2]=o,o=h[n+12>>2],h[i+40>>2]=h[n+8>>2],h[i+44>>2]=o,h[i+8>>2]=0,h[i+52>>2]=0,h[i+56>>2]=0,o=h[t+12>>2],h[c+24>>2]=h[t+8>>2],h[c+28>>2]=o,o=h[t+4>>2],h[c+16>>2]=h[t>>2],h[c+20>>2]=o,t=h[n+12>>2],h[c+40>>2]=h[n+8>>2],h[c+44>>2]=t,t=h[n+4>>2],h[c+32>>2]=h[n>>2],h[c+36>>2]=t,h[i+60>>2]=h[e+144>>2],t=h[e+188>>2]+1|0,h[e+188>>2]=t,h[i+12>>2]=t,n=e+4|0,h[i+48>>2]=Rr(n,c+16|0,i),t=h[e+144>>2],h[i+52>>2]=0,t=(t<<2)+e|0,h[i+56>>2]=h[t+124>>2],(o=h[t+124>>2])&&(h[o+52>>2]=i),h[t+124>>2]=i,d[e+193|0]||(h[c+8>>2]=i,h[c>>2]=17372,h[c+4>>2]=e,In(n,h[e+4>>2],c+16|0,c),In(e=e- -64|0,h[e>>2],c+16|0,c)),w=c+48|0,0|i},r[631]=function(e,t,n){e|=0,n|=0;var i,a=0;xl(2==h[60+(t|=0)>>2]?e- -64|0:e+4|0,h[t+48>>2]),i=h[t+56>>2],a=(a=h[t+52>>2])?a+56|0:124+((h[t+60>>2]<<2)+e|0)|0,h[a>>2]=i,(a=h[t+56>>2])&&(h[a+52>>2]=h[t+52>>2]),a=h[e+136>>2],r[h[h[a>>2]+16>>2]](a,t,n),t&&(h[7718]=h[7718]+1,r[h[6607]](t)),o[e+194|0]=1},r[632]=function(e,t,n,i,r){e|=0,t|=0,n|=0,i|=0,r|=0;var a,s=0,c=0,l=v(0),u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0);w=r=w-48|0,s=h[n+12>>2],h[r+24>>2]=h[n+8>>2],h[r+28>>2]=s,s=h[n+4>>2],h[r+16>>2]=h[n>>2],h[r+20>>2]=s,c=h[(s=i)+12>>2],h[r+40>>2]=h[s+8>>2],h[r+44>>2]=c,c=h[s+4>>2],h[r+32>>2]=h[s>>2],h[r+36>>2]=c;e:if(2!=h[t+60>>2])if(c=1,h[e+168>>2]=h[e+168>>2]+1,s=h[t+48>>2],m[s>>2]<=m[r+32>>2]^1|m[s+16>>2]>=m[r+16>>2]^1|m[s+4>>2]<=m[r+36>>2]^1|m[s+20>>2]>=m[r+20>>2]^1||m[s+8>>2]<=m[r+40>>2]^1|m[s+24>>2]>=m[r+24>>2]^1)ao(e+4|0,s,r+16|0),h[e+172>>2]=h[e+172>>2]+1;else{if(f=m[t+20>>2],_=m[t+24>>2],g=m[n>>2],y=m[n+4>>2],C=m[n+8>>2],b=m[t+16>>2],u=m[t+36>>2],p=m[t+40>>2],A=m[t+32>>2],l=m[e+140>>2],h[r+12>>2]=0,p=v(l*v(v(p-_)*v(.5))),m[r+8>>2]=p,u=v(l*v(v(u-f)*v(.5))),m[r+4>>2]=u,l=v(l*v(v(A-b)*v(.5))),m[r>>2]=l,v(g-b)>2]=-l),v(y-f)>2]=-u),v(C-_)>2]=-p),c=0,!$n(e+4|0,s,r+16|0,r,v(.05000000074505806)))break e;c=1,h[e+172>>2]=h[e+172>>2]+1}else xl(e- -64|0,h[t+48>>2]),h[t+48>>2]=Rr(e+4|0,r+16|0,t),c=1;a=h[t+56>>2],s=(s=h[t+52>>2])?s+56|0:124+((h[t+60>>2]<<2)+e|0)|0,h[s>>2]=a,(s=h[t+56>>2])&&(h[s+52>>2]=h[t+52>>2]),s=h[n+4>>2],h[t+16>>2]=h[n>>2],h[t+20>>2]=s,s=h[n+12>>2],h[t+24>>2]=h[n+8>>2],h[t+28>>2]=s,n=h[i+4>>2],h[t+32>>2]=h[i>>2],h[t+36>>2]=n,n=h[i+12>>2],h[t+40>>2]=h[i+8>>2],h[t+44>>2]=n,n=h[e+144>>2],h[t+60>>2]=n,h[t+52>>2]=0,n=(n<<2)+e|0,h[t+56>>2]=h[n+124>>2],(i=h[n+124>>2])&&(h[i+52>>2]=t),h[n+124>>2]=t,c&&(o[e+194|0]=1,d[e+193|0]||(h[r>>2]=17372,h[r+4>>2]=e,gt(n=e- -64|0,h[n>>2],h[t+48>>2],r),gt(e+4|0,h[e+4>>2],h[t+48>>2],r))),w=r+48|0},r[633]=ga,r[634]=function(e,t,n,i,r,o){var a,s;e|=0,t|=0,n|=0,i|=0,r|=0,o|=0,w=n=w-16|0,h[n+8>>2]=17444,h[n+12>>2]=i,a=i+4|0,s=i+20|0,xt(e+4|0,h[e+4>>2],t,a,s,m[i+32>>2],r,o,n+8|0),xt(e=e- -64|0,h[e>>2],t,a,s,m[i+32>>2],r,o,n+8|0),w=n+16|0},r[635]=function(e,t,n,i){var r;e|=0,t|=0,n|=0,i|=0,w=r=w-48|0,h[r+44>>2]=i,h[r+40>>2]=17516,i=h[t+12>>2],h[r+16>>2]=h[t+8>>2],h[r+20>>2]=i,i=h[t+4>>2],h[r+8>>2]=h[t>>2],h[r+12>>2]=i,t=h[n+12>>2],h[r+32>>2]=h[n+8>>2],h[r+36>>2]=t,t=h[n+4>>2],h[r+24>>2]=h[n>>2],h[r+28>>2]=t,In(e+4|0,h[e+4>>2],r+8|0,r+40|0),In(e=e- -64|0,h[e>>2],r+8|0,r+40|0),w=r+48|0},r[636]=function(e,t){(function(e,t){var n,i=0,a=0,s=0,c=0,l=0,u=0,p=0,f=v(0);if(w=n=w-32|0,cn(l=e+4|0,1+((0|g(h[e+152>>2],h[e+16>>2]))/100|0)|0),h[e+164>>2]&&(cn(e- -64|0,i=1+((0|g(h[e+148>>2],h[e+76>>2]))/100|0)|0),i=h[e+164>>2]-i|0,h[e+164>>2]=(0|i)>0?i:0),i=(h[e+144>>2]+1|0)%2|0,h[e+144>>2]=i,a=h[124+((i<<2)+e|0)>>2]){for(c=e- -64|0;i=h[a+56>>2],u=(s=h[a+52>>2])?s+56|0:124+((h[a+60>>2]<<2)+e|0)|0,h[u>>2]=i,(s=h[a+56>>2])&&(h[s+52>>2]=h[a+52>>2]),h[a+52>>2]=0,h[a+56>>2]=h[e+132>>2],(s=h[e+132>>2])&&(h[s+52>>2]=a),h[e+132>>2]=a,xl(l,h[a+48>>2]),s=h[a+28>>2],h[n+8>>2]=h[a+24>>2],h[n+12>>2]=s,s=h[a+20>>2],h[n>>2]=h[a+16>>2],h[n+4>>2]=s,s=h[a+44>>2],h[n+24>>2]=h[a+40>>2],h[n+28>>2]=s,s=h[a+36>>2],h[n+16>>2]=h[a+32>>2],h[n+20>>2]=s,s=Rr(c,n,a),h[a+60>>2]=2,h[a+48>>2]=s,a=i;);o[e+194|0]=1,h[e+164>>2]=h[e+76>>2]}if(h[n>>2]=17372,h[n+4>>2]=e,d[e+193|0]&&(gt(l,h[e+4>>2],h[e- -64>>2],n),d[e+193|0]&>(l,i=h[l>>2],i,n)),d[e+194|0]&&(i=h[e+136>>2],l=0|r[h[h[i>>2]+28>>2]](i),!((0|(c=h[l+4>>2]))<1))){s=e+184|0;e:{if((0|(u=(0|c)<(0|(i=(0|(a=h[e+160>>2]))>(0|(i=(0|g(h[e+156>>2],c))/100|0))?a:i))?c:i))>=1){for(a=0;i=h[l+12>>2]+((h[e+184>>2]+a|0)%(0|c)<<4)|0,c=h[i>>2],p=h[c+48>>2],s=h[i+4>>2],i=h[s+48>>2],!(m[p>>2]<=m[i+16>>2]^1|m[p+16>>2]>=m[i>>2]^1|m[p+4>>2]<=m[i+20>>2]^1|m[p+20>>2]>=m[i+4>>2]^1)&&m[p+8>>2]<=m[i+24>>2]&&m[p+24>>2]>=m[i+8>>2]||(i=h[e+136>>2],r[h[h[i>>2]+12>>2]](i,c,s,t),a=a+-1|0,u=u+-1|0),c=h[l+4>>2],(0|(a=a+1|0))<(0|u););if(s=e+184|0,t=0,(0|c)<=0)break e}t=(h[s>>2]+u|0)%(0|c)|0}h[s>>2]=t}o[e+194|0]=0,h[e+160>>2]=1,h[e+180>>2]=h[e+180>>2]+1,a=h[e+172>>2],t=e,i=h[e+168>>2],f=v(0),i&&(f=v(v(a>>>0)/v(i>>>0))),m[t+176>>2]=f,h[e+172>>2]=a>>>1,h[e+168>>2]=i>>>1,w=n+32|0})(e|=0,t|=0),function(e,t){var n,i=0,a=0,s=0,c=0,l=0,u=0,p=0,f=0,_=0;if(w=n=w-16|0,i=h[e+136>>2],r[h[h[i>>2]+56>>2]](i)){if(i=h[e+136>>2],a=0|r[h[h[i>>2]+28>>2]](i),(0|(i=h[a+4>>2]))>=2&&(kn(a,n+8|0,0,i+-1|0),i=h[a+4>>2]),(0|i)>=1){for(;f=h[a+12>>2]+(_<<4)|0,c=h[f+4>>2],u=l,l=h[f>>2],((0|s)!=(0|c)||(0|u)!=(0|l))&&(s=h[l+48>>2],u=h[c+48>>2],!(m[s>>2]<=m[u+16>>2]^1|m[s+16>>2]>=m[u>>2]^1|m[s+4>>2]<=m[u+20>>2]^1|m[s+20>>2]>=m[u+4>>2]^1)&&m[s+8>>2]<=m[u+24>>2]&&m[s+24>>2]>=m[u+8>>2])||(i=h[e+136>>2],r[h[h[i>>2]+32>>2]](i,f,t),h[f>>2]=0,h[f+4>>2]=0,p=p+1|0,i=h[a+4>>2]),s=c,(0|(_=_+1|0))<(0|i););if((0|i)>=2&&(kn(a,n,0,i+-1|0),i=h[a+4>>2]),c=i-p|0,(0|p)<=-1){if(h[a+8>>2]<(0|c)){if(c?(h[7717]=h[7717]+1,p=0|r[h[6606]](c<<4,16),e=h[a+4>>2]):(p=0,e=i),(0|e)>=1)for(t=0;l=(s=t<<4)+p|0,s=s+h[a+12>>2]|0,h[l>>2]=h[s>>2],h[l+4>>2]=h[s+4>>2],h[l+8>>2]=h[s+8>>2],h[l+12>>2]=h[s+12>>2],(0|e)!=(0|(t=t+1|0)););(e=h[a+12>>2])&&(d[a+16|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[a+12>>2]=0),h[a+12>>2]=p,o[a+16|0]=1,h[a+8>>2]=c}for(;e=h[a+12>>2]+(i<<4)|0,h[e>>2]=0,h[e+4>>2]=0,h[e+8>>2]=0,h[e+12>>2]=0,(0|c)!=(0|(i=i+1|0)););}i=c}h[a+4>>2]=i}w=n+16|0}(e,t)},r[637]=Rh,r[638]=Rh,r[639]=function(e,t,n){e|=0,t|=0,n|=0;var i,r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0);i=h[e- -64>>2];e:if(e=h[e+4>>2]){if(a=m[e>>2],i){if(s=(r=m[e+20>>2])>(o=m[i+20>>2])?r:o,c=(r=m[e+8>>2])<(o=m[i+8>>2])?r:o,l=(r=m[e+4>>2])<(o=m[i+4>>2])?r:o,u=(r=m[e+16>>2])>(o=m[i+16>>2])?r:o,a=a<(r=m[i>>2])?a:r,!((r=m[e+24>>2])>(o=m[i+24>>2]))){r=o;break e}break e}o=m[e+28>>2],r=m[e+24>>2],s=m[e+20>>2],u=m[e+16>>2],p=m[e+12>>2],c=m[e+8>>2],l=m[e+4>>2]}else i&&(o=m[i+28>>2],r=m[i+24>>2],s=m[i+20>>2],u=m[i+16>>2],p=m[i+12>>2],c=m[i+8>>2],l=m[i+4>>2],a=m[i>>2]);m[t+12>>2]=p,m[t+8>>2]=c,m[t+4>>2]=l,m[t>>2]=a,m[n+12>>2]=o,m[n+8>>2]=r,m[n+4>>2]=s,m[n>>2]=u},r[640]=function(e,t){h[16+(e|=0)>>2]==(0-h[e+76>>2]|0)&&(Xo(e+4|0),Xo(e- -64|0),o[e+193|0]=256,o[e+194|0]=1,h[e+164>>2]=0,h[e+144>>2]=0,h[e+156>>2]=10,h[e+160>>2]=1,h[e+148>>2]=1,h[e+152>>2]=0,h[e+124>>2]=0,h[e+128>>2]=0,h[e+132>>2]=0,h[e+168>>2]=0,h[e+172>>2]=0,h[e+176>>2]=0,h[e+180>>2]=0,h[e+184>>2]=0,h[e+188>>2]=0)},r[641]=rd,r[642]=Jh,r[643]=function(e,t,n){e|=0;var i=0;(0|(t|=0))!=(0|(n|=0))&&(i=h[h[e+4>>2]+136>>2],r[h[h[i>>2]+8>>2]](i,h[t+36>>2],h[n+36>>2]),e=h[e+4>>2],h[e+160>>2]=h[e+160>>2]+1)},r[644]=function(e,t){t|=0,r[h[h[(e|=0)>>2]+8>>2]](e,t,h[h[e+8>>2]+48>>2])},r[645]=Jh,r[646]=Gp,r[647]=Jh,r[648]=Gp,r[649]=Di,r[650]=function(e){(e=Di(e|=0))&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[651]=$h,r[652]=function(e,t){e|=0;var n=0,i=0,r=0,o=0;n=1;e:if(!(!(2&d[236+(t|=0)|0])|!t||(0|(r=h[e+488>>2]))<1))for(o=h[e+496>>2],e=0;;){if(i=h[(e<<2)+o>>2],d[i+20|0]&&(n=0,h[i+28>>2]==(0|t)|h[i+32>>2]==(0|t)))break e;if(n=1,!((0|(e=e+1|0))<(0|r)))break}return 0|n},r[653]=function(e){var t;return h[(e|=0)>>2]=17792,(t=h[e+496>>2])&&(d[e+500|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+496>>2]=0),h[e+496>>2]=0,o[e+500|0]=1,h[e+488>>2]=0,h[e+492>>2]=0,h[e>>2]=3948,0|e},r[654]=function(e){var t;h[(e|=0)>>2]=17792,(t=h[e+496>>2])&&(d[e+500|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+496>>2]=0),h[e+496>>2]=0,o[e+500|0]=1,h[e+488>>2]=0,h[e+492>>2]=0,h[e>>2]=3948,e&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[655]=function(e){return 488},r[656]=function(e,t,n){return Nt(e|=0,t|=0,n|=0),h[t+256>>2]=h[e+264>>2],h[t+260>>2]=h[e+268>>2],h[t+264>>2]=h[e+272>>2],h[t+268>>2]=h[e+276>>2],h[t+272>>2]=h[e+280>>2],h[t+276>>2]=h[e+284>>2],h[t+280>>2]=h[e+288>>2],h[t+284>>2]=h[e+292>>2],h[t+288>>2]=h[e+296>>2],h[t+292>>2]=h[e+300>>2],h[t+296>>2]=h[e+304>>2],h[t+300>>2]=h[e+308>>2],h[t+304>>2]=h[e+312>>2],h[t+308>>2]=h[e+316>>2],h[t+312>>2]=h[e+320>>2],h[t+316>>2]=h[e+324>>2],h[t+320>>2]=h[e+328>>2],h[t+324>>2]=h[e+332>>2],h[t+328>>2]=h[e+336>>2],h[t+332>>2]=h[e+340>>2],h[t+448>>2]=h[e+344>>2],h[t+336>>2]=h[e+544>>2],h[t+340>>2]=h[e+548>>2],h[t+344>>2]=h[e+552>>2],h[t+348>>2]=h[e+556>>2],h[t+352>>2]=h[e+348>>2],h[t+356>>2]=h[e+352>>2],h[t+360>>2]=h[e+356>>2],h[t+364>>2]=h[e+360>>2],h[t+368>>2]=h[e+364>>2],h[t+372>>2]=h[e+368>>2],h[t+376>>2]=h[e+372>>2],h[t+380>>2]=h[e+376>>2],h[t+384>>2]=h[e+380>>2],h[t+388>>2]=h[e+384>>2],h[t+392>>2]=h[e+388>>2],h[t+396>>2]=h[e+392>>2],h[t+400>>2]=h[e+396>>2],h[t+404>>2]=h[e+400>>2],h[t+408>>2]=h[e+404>>2],h[t+412>>2]=h[e+408>>2],h[t+416>>2]=h[e+412>>2],h[t+420>>2]=h[e+416>>2],h[t+424>>2]=h[e+420>>2],h[t+428>>2]=h[e+424>>2],h[t+432>>2]=h[e+428>>2],h[t+436>>2]=h[e+432>>2],h[t+440>>2]=h[e+436>>2],h[t+444>>2]=h[e+440>>2],h[t+452>>2]=h[e+444>>2],h[t+456>>2]=h[e+448>>2],h[t+484>>2]=d[e+452|0],h[t+460>>2]=h[e+456>>2],h[t+464>>2]=h[e+460>>2],h[t+468>>2]=h[e+464>>2],h[t+472>>2]=h[e+468>>2],h[t+476>>2]=h[e+472>>2],h[t+480>>2]=h[e+476>>2],17820},r[657]=function(e,t){var n,i=0,o=0,a=0,s=0,c=0;a=t|=0,s=0|r[h[h[(e|=0)>>2]+16>>2]](e),c=1,o=h[h[t>>2]+16>>2],i=0|r[o](0|a,0|s,0|c),c=t,s=i,a=0|r[h[h[e>>2]+20>>2]](e,h[i+8>>2],t),n=e,o=h[h[t>>2]+20>>2],r[o](0|c,0|s,0|a,1497645650,0|n)},r[658]=function(e){var t=0;return h[(e|=0)>>2]=17876,(t=h[e+56>>2])&&(d[e+60|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+56>>2]=0),h[e+56>>2]=0,o[e+60|0]=1,h[e+48>>2]=0,h[e+52>>2]=0,(t=h[e+36>>2])&&(d[e+40|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+36>>2]=0),h[e+36>>2]=0,o[e+40|0]=1,h[e+28>>2]=0,h[e+32>>2]=0,nc(e+4|0),0|e},r[659]=function(e){var t=0;h[(e|=0)>>2]=17876,(t=h[e+56>>2])&&(d[e+60|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+56>>2]=0),h[e+56>>2]=0,o[e+60|0]=1,h[e+48>>2]=0,h[e+52>>2]=0,(t=h[e+36>>2])&&(d[e+40|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+36>>2]=0),h[e+36>>2]=0,o[e+40|0]=1,h[e+28>>2]=0,h[e+32>>2]=0,nc(e+4|0),Se(e)},r[660]=function(e,t,n){e|=0,n|=0;var i,a=0,s=0,c=0;if((0|(i=h[8+(t|=0)>>2]))<1)n=0;else for(c=h[t+16>>2],n=0;a=h[(s<<2)+c>>2],3&d[a+204|0]||(h[a+208>>2]=n,n=n+1|0),h[a+244>>2]=1065353216,h[a+212>>2]=-1,(0|i)!=(0|(s=s+1|0)););!function(e,t){var n=0,i=0,a=0,s=0,c=0,l=0,u=0;if((0|(i=h[e+4>>2]))<(0|t)){if(h[e+8>>2]<(0|t)){if(t?(h[7717]=h[7717]+1,c=0|r[h[6606]](t<<3,16),n=h[e+4>>2]):n=i,(0|n)>=1)for(;l=(a=s<<3)+c|0,a=h[e+12>>2]+a|0,u=h[a+4>>2],h[l>>2]=h[a>>2],h[l+4>>2]=u,(0|n)!=(0|(s=s+1|0)););(n=h[e+12>>2])&&(d[e+16|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+12>>2]=0),h[e+12>>2]=c,o[e+16|0]=1,h[e+8>>2]=t}for(;n=h[e+12>>2]+(i<<3)|0,h[n>>2]=0,h[n+4>>2]=0,(0|(i=i+1|0))!=(0|t););}if(h[e+4>>2]=t,(0|t)>=1)for(e=h[e+12>>2],i=0;h[4+(n=e+(i<<3)|0)>>2]=1,h[n>>2]=i,(0|(i=i+1|0))!=(0|t););}(e+4|0,n),function(e,t){var n=0,i=0,o=0,a=0,s=0,c=0,l=0;if(t=h[t+68>>2],t=0|r[h[h[t>>2]+36>>2]](t),(s=0|r[h[h[t>>2]+36>>2]](t))&&(l=0|r[h[h[t>>2]+20>>2]](t),!((0|s)<1)))for(;;){if((n=h[h[(t=(c<<4)+l|0)>>2]>>2])&&!(!(t=h[h[t+4>>2]>>2])|7&h[n+204>>2]|7&d[t+204|0])){if(t=h[t+208>>2],o=h[e+16>>2],a=h[n+208>>2],(0|(n=h[(i=o+(a<<3)|0)>>2]))!=(0|a))for(;n=(n<<3)+o|0,h[i>>2]=h[n>>2],a=h[n>>2],(0|(n=h[(i=(a<<3)+o|0)>>2]))!=(0|a););if((0|(n=h[(i=(t<<3)+o|0)>>2]))!=(0|t))for(;t=(n<<3)+o|0,h[i>>2]=h[t>>2],(0|(t=h[t>>2]))!=(0|(n=h[(i=(t<<3)+o|0)>>2])););(0|t)!=(0|a)&&(h[(n=(a<<3)+o|0)>>2]=t,h[4+(t=(t<<3)+o|0)>>2]=h[t+4>>2]+h[n+4>>2])}if((0|(c=c+1|0))==(0|s))break}}(e,t)},r[661]=function(e,t){e|=0;var n,i=0,r=0,o=0,a=0,s=0,c=0,l=0,u=0;if((0|(n=h[8+(t|=0)>>2]))>=1)for(u=h[t+16>>2],t=0;;){if(r=h[(o<<2)+u>>2],3&d[r+204|0])h[r+208>>2]=-1,h[r+212>>2]=-2;else{if(i=t,a=h[e+16>>2],(0|(c=h[(s=a+(l=t<<3)|0)>>2]))!=(0|t))for(;i=(c<<3)+a|0,h[s>>2]=h[i>>2],(0|(i=h[i>>2]))!=(0|(c=h[(s=(i<<3)+a|0)>>2])););h[r+208>>2]=i,h[4+(a+l|0)>>2]=o,h[r+212>>2]=-1,t=t+1|0}if((0|n)==(0|(o=o+1|0)))break}},r[662]=zn,r[663]=function(e){(e=zn(e|=0))&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[664]=er,r[665]=function(e,t,n,i){Xn(e|=0,t|=0,n|=0,i|=0)},r[666]=Qu,r[667]=function(e,t){var n,i;e|=0,r[h[h[(t|=0)>>2]+32>>2]](t),i=0|r[h[h[t>>2]+16>>2]](t,104,1),n=ji(h[i+8>>2],0,104),h[n+88>>2]=h[e+248>>2],h[n+92>>2]=h[e+252>>2],h[n+96>>2]=h[e+256>>2],h[n+100>>2]=h[e+260>>2],h[n>>2]=h[e+92>>2],h[n+4>>2]=h[e+96>>2],h[n+8>>2]=h[e+100>>2],h[n+12>>2]=h[e+104>>2],h[n+16>>2]=h[e+108>>2],h[n+20>>2]=h[e+116>>2],h[n+24>>2]=h[e+120>>2],h[n+28>>2]=h[e+124>>2],h[n+32>>2]=h[e+128>>2],h[n+36>>2]=h[e+132>>2],h[n+40>>2]=h[e+140>>2],h[n+44>>2]=h[e+144>>2],h[n+48>>2]=h[e+148>>2],h[n+52>>2]=h[e+152>>2],h[n+56>>2]=h[e+168>>2],h[n+60>>2]=h[e+172>>2],h[n+64>>2]=h[e+112>>2],h[n+68>>2]=h[e+156>>2],h[n+72>>2]=h[e+160>>2],h[n+76>>2]=h[e+164>>2],h[n+80>>2]=h[e+136>>2],r[h[h[t>>2]+20>>2]](t,i,18516,1145853764,n),qi(e,t),Qt(e,t),r[h[h[t>>2]+36>>2]](t)},r[668]=function(e,t,n,i){e|=0,t=v(t),n|=0,i=v(i);var a=0,s=0,c=v(0);!function(){var e=0,t=0;w=e=w-16|0,P(h[7705],0),wl(30824),h[7707]=h[7707]+1,t=h[7710],h[7710]=t+1,t||(P(e+8|0,0),t=h[7705],h[7709]=(h[e+12>>2]-h[t+4>>2]|0)+g(h[e+8>>2]-h[t>>2]|0,1e6)),h[7715]=0,P(e+8|0,0),t=h[7705],h[7716]=(h[e+12>>2]-h[t+4>>2]|0)+g(h[e+8>>2]-h[t>>2]|0,1e6),w=e+16|0}(),Ir(18199);e:if(n){if(m[e+268>>2]=i,t=v(m[e+264>>2]+t),m[e+264>>2]=t,!(t>=i))break e;a=e,c=t,t=v(t/i),s=v(y(t))>2]=c-v(v(0|s)*i)}else h[e+268>>2]=0,m[e+264>>2]=d[e+300|0]?v(0):t,i=t,n=s=v(y(t))>2]+20>>2]](e)&&(a=0|r[h[h[e>>2]+20>>2]](e),o[29240]=r[h[h[a>>2]+48>>2]](a)>>>4&1);e:if(s){if(a=(0|s)>(0|n)?n:s,r[h[h[e>>2]+164>>2]](e,v(i*v(0|a))),r[h[h[e>>2]+168>>2]](e),(0|a)<1)break e;for(n=0;r[h[h[e>>2]+160>>2]](e,i),r[h[h[e>>2]+80>>2]](e),(0|a)!=(0|(n=n+1|0)););}else r[h[h[e>>2]+80>>2]](e);return r[h[h[e>>2]+120>>2]](e),h[7715]=h[7715]+1,Bo(),0|s},r[669]=function(e,t,n){t|=0,n|=0;var i=0,a=0,s=0,c=0,l=0;if((0|(i=h[212+(e|=0)>>2]))==h[e+216>>2]&&!((0|i)>=(0|(s=i?i<<1:1)))){if(s&&(h[7717]=h[7717]+1,c=0|r[h[6606]](s<<2,16),i=h[e+212>>2]),(0|i)>=1)for(;h[(l=a<<2)+c>>2]=h[h[e+220>>2]+l>>2],(0|(a=a+1|0))!=(0|i););(a=h[e+220>>2])&&(d[e+224|0]&&(a&&(h[7718]=h[7718]+1,r[h[6607]](a)),i=h[e+212>>2]),h[e+220>>2]=0),h[e+220>>2]=c,h[e+216>>2]=s,o[e+224|0]=1}h[h[e+220>>2]+(i<<2)>>2]=t,h[e+212>>2]=i+1,n&&(nr(h[t+28>>2],t),nr(h[t+32>>2],t))},r[670]=function(e,t){t|=0;var n=0,i=0,r=0,o=0;e:if(!((0|(n=h[212+(e|=0)>>2]))<1)){for(r=h[e+220>>2];;){if(h[(o=(i<<2)+r|0)>>2]!=(0|t)){if((0|n)!=(0|(i=i+1|0)))continue;break e}break}(0|i)>=(0|n)||(i=(n=n+-1|0)<<2,h[o>>2]=h[i+r>>2],h[i+h[e+220>>2]>>2]=t,h[e+212>>2]=n)}zo(h[t+28>>2],t),zo(h[t+32>>2],t)},r[671]=function(e,t){t|=0;var n=0,i=0,a=0,s=0,c=0;if((0|(n=h[280+(e|=0)>>2]))==h[e+284>>2]&&!((0|n)>=(0|(a=n?n<<1:1)))){if(a&&(h[7717]=h[7717]+1,s=0|r[h[6606]](a<<2,16),n=h[e+280>>2]),(0|n)>=1)for(;h[(c=i<<2)+s>>2]=h[h[e+288>>2]+c>>2],(0|(i=i+1|0))!=(0|n););(i=h[e+288>>2])&&(d[e+292|0]&&(i&&(h[7718]=h[7718]+1,r[h[6607]](i)),n=h[e+280>>2]),h[e+288>>2]=0),h[e+288>>2]=s,h[e+284>>2]=a,o[e+292|0]=1}h[h[e+288>>2]+(n<<2)>>2]=t,h[e+280>>2]=n+1},r[672]=function(e,t){t|=0;var n=0,i=0,r=0,o=0;e:if(!((0|(n=h[280+(e|=0)>>2]))<1)){for(r=h[e+288>>2];;){if(h[(o=(i<<2)+r|0)>>2]!=(0|t)){if((0|n)!=(0|(i=i+1|0)))continue;break e}break}(0|i)>=(0|n)||(i=(n=n+-1|0)<<2,h[o>>2]=h[i+r>>2],h[i+h[e+288>>2]>>2]=t,h[e+280>>2]=n)}},r[673]=function(e,t){e|=0;var n=0,i=0,r=0;if(i=h[4+(n=t|=0)>>2],h[e+248>>2]=h[n>>2],h[e+252>>2]=i,i=h[n+12>>2],h[e+256>>2]=h[n+8>>2],h[e+260>>2]=i,(0|(n=h[e+232>>2]))>=1)for(;;){e:{t:switch(i=h[h[e+240>>2]+(r<<2)>>2],h[i+216>>2]+-2|0){case 0:case 3:break e}1&o[i+504|0]||(Uo(i,t),n=h[e+232>>2])}if(!((0|(r=r+1|0))<(0|n)))break}},r[674]=function(e,t){e|=0;var n=0;n=h[252+(t|=0)>>2],h[e>>2]=h[t+248>>2],h[e+4>>2]=n,n=h[t+260>>2],h[e+8>>2]=h[t+256>>2],h[e+12>>2]=n},r[675]=function(e){e|=0;var t,n=0,i=0,o=v(0),a=0;w=t=w+-64|0,Ir(18175);e:if(d[e+274|0]){if((0|(i=h[e+8>>2]))<1)break e;for(;!(n=h[h[e+16>>2]+(a<<2)>>2])|!(2&h[n+236>>2])|!h[n+480>>2]|3&d[n+204|0]||(Sn(i=n+68|0,n+132|0,n+148|0,o=d[e+300|0]&&(o=m[e+268>>2])!=v(0)?v(m[e+264>>2]-o):v(m[e+264>>2]*m[n+244>>2]),t),n=h[n+480>>2],r[h[h[n>>2]+12>>2]](n,t),i=h[e+8>>2]),(0|(a=a+1|0))<(0|i););}else if(!((0|(i=h[e+232>>2]))<1))for(;;){t:{n:switch(n=h[h[e+240>>2]+(a<<2)>>2],h[n+216>>2]+-2|0){case 0:case 3:break t}!h[n+480>>2]|3&d[n+204|0]||(Sn(i=n+68|0,n+132|0,n+148|0,o=d[e+300|0]&&(o=m[e+268>>2])!=v(0)?v(m[e+264>>2]-o):v(m[e+264>>2]*m[n+244>>2]),t),n=h[n+480>>2],r[h[h[n>>2]+12>>2]](n,t),i=h[e+232>>2])}if(!((0|(a=a+1|0))<(0|i)))break}Bo(),w=t- -64|0},r[676]=function(e,t){e|=0;var n=0,i=0,a=0,s=0,c=0;if(3&d[204+(t|=0)|0]|1&o[t+504|0]||Uo(t,e+248|0),h[t+192>>2]){if(1&o[t+204|0])4!=(-2&h[t+216>>2])&&(h[t+216>>2]=2);else{if((0|(n=h[e+232>>2]))==h[e+236>>2]&&!((0|n)>=(0|(a=n?n<<1:1)))){if(a&&(h[7717]=h[7717]+1,s=0|r[h[6606]](a<<2,16),n=h[e+232>>2]),(0|n)>=1)for(;h[(c=i<<2)+s>>2]=h[h[e+240>>2]+c>>2],(0|(i=i+1|0))!=(0|n););(i=h[e+240>>2])&&(d[e+244|0]&&(i&&(h[7718]=h[7718]+1,r[h[6607]](i)),n=h[e+232>>2]),h[e+240>>2]=0),h[e+240>>2]=s,h[e+236>>2]=a,o[e+244|0]=1}h[h[e+240>>2]+(n<<2)>>2]=t,h[e+232>>2]=n+1}n=t,t=3&h[t+204>>2],r[h[h[e>>2]+36>>2]](e,n,t?2:1,t?-3:-1)}},r[677]=function(e,t,n,i){e|=0,n|=0,i|=0;var a=0,s=0,c=0,l=0,u=0;if(3&d[204+(t|=0)|0]|1&o[t+504|0]||Uo(t,e+248|0),h[t+192>>2]){if(1&o[t+204|0])4!=(-2&h[t+216>>2])&&(h[t+216>>2]=2);else{if((0|(a=h[e+232>>2]))==h[e+236>>2]&&!((0|a)>=(0|(c=a?a<<1:1)))){if(c&&(h[7717]=h[7717]+1,l=0|r[h[6606]](c<<2,16),a=h[e+232>>2]),(0|a)>=1)for(;h[(u=s<<2)+l>>2]=h[h[e+240>>2]+u>>2],(0|(s=s+1|0))!=(0|a););(s=h[e+240>>2])&&(d[e+244|0]&&(s&&(h[7718]=h[7718]+1,r[h[6607]](s)),a=h[e+232>>2]),h[e+240>>2]=0),h[e+240>>2]=l,h[e+236>>2]=c,o[e+244|0]=1}h[h[e+240>>2]+(a<<2)>>2]=t,h[e+232>>2]=a+1}r[h[h[e>>2]+36>>2]](e,t,n,i)}},r[678]=function(e,t){t|=0;var n=0,i=0,r=0,o=0;e:if(!((0|(n=h[232+(e|=0)>>2]))<1)){for(r=h[e+240>>2];;){if(h[(o=(i<<2)+r|0)>>2]!=(0|t)){if((0|n)!=(0|(i=i+1|0)))continue;break e}break}(0|i)>=(0|n)||(i=(n=n+-1|0)<<2,h[o>>2]=h[i+r>>2],h[i+h[e+240>>2]>>2]=t,h[e+232>>2]=n)}Qr(e,t)},r[679]=function(e,t){t|=0;var n=0;d[273+(e|=0)|0]&&(n=h[e+200>>2])&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+200>>2]=t,o[e+273|0]=0,h[h[e+196>>2]+8>>2]=t},r[680]=function(e){return h[200+(e|=0)>>2]},r[681]=function(e){return h[212+(e|=0)>>2]},r[682]=dh,r[683]=dh,r[684]=Yh,r[685]=function(e){var t=0,n=0;if(h[232+(e|=0)>>2]>=1)for(;t=h[h[e+240>>2]+(n<<2)>>2],h[t+412>>2]=0,h[t+416>>2]=0,h[t+436>>2]=0,h[t+440>>2]=0,h[t+428>>2]=0,h[t+432>>2]=0,h[t+420>>2]=0,h[t+424>>2]=0,(0|(n=n+1|0))>2];);},r[686]=mh,r[687]=bh,r[688]=mh,r[689]=bh,r[690]=Aa,r[691]=function(e,t){e|=0,t=v(t);var n,i=0,o=0,a=v(0),s=0,c=0,l=0,u=v(0),_=v(0),b=v(0),y=0,C=v(0),A=v(0),x=v(0),S=v(0);if(w=n=w-304|0,Ir(18412),h[e+232>>2]>=1)for(;;){i=h[h[e+240>>2]+(c<<2)>>2],h[i+244>>2]=1065353216;e:{t:switch(h[i+216>>2]+-2|0){case 0:case 3:break e}if(!(3&d[i+204|0])){if(vh(i,t,n+240|0),d[e+44|0]&&(a=m[i+252>>2],(a=v(a*a))!=v(0)&&(_=a,a=v(m[n+288>>2]-m[i+52>>2]),u=v(a*a),a=v(m[n+292>>2]-m[i+56>>2]),u=v(u+v(a*a)),a=v(m[n+296>>2]-m[i+60>>2]),_>2]+4>>2]<=19&&(h[7312]=h[7312]+1,o=h[e+68>>2],o=0|r[h[h[o>>2]+36>>2]](o),s=h[e+24>>2],h[n+148>>2]=1065353216,h[n+152>>2]=-65535,l=h[i+64>>2],h[n+164>>2]=h[i+60>>2],h[n+168>>2]=l,l=h[i+56>>2],h[n+156>>2]=h[i+52>>2],h[n+160>>2]=l,l=h[n+300>>2],h[n+180>>2]=h[n+296>>2],h[n+184>>2]=l,l=h[n+292>>2],h[n+172>>2]=h[n+288>>2],h[n+176>>2]=l,h[n+220>>2]=0,h[n+144>>2]=18736,h[n+232>>2]=o,h[n+236>>2]=s,h[n+228>>2]=0,h[n+224>>2]=i,s=h[i+248>>2],h[4+(o=n+88|0)>>2]=35,h[o+8>>2]=0,h[o>>2]=13316,h[o+44>>2]=1025758986,h[o+20>>2]=1065353216,h[o+24>>2]=0,h[o+12>>2]=1065353216,h[o+16>>2]=1065353216,h[o>>2]=13444,h[n+132>>2]=s,h[n+116>>2]=s,h[n+92>>2]=8,h[n+88>>2]=11556,h[n+228>>2]=h[e+56>>2],o=h[i+188>>2],p[n+152>>1]=f[o+4>>1],p[n+154>>1]=f[o+6>>1],o=h[n+252>>2],h[n+32>>2]=h[n+248>>2],h[n+36>>2]=o,o=h[n+244>>2],h[n+24>>2]=h[n+240>>2],h[n+28>>2]=o,o=h[n+268>>2],h[n+48>>2]=h[n+264>>2],h[n+52>>2]=o,o=h[n+260>>2],h[n+40>>2]=h[n+256>>2],h[n+44>>2]=o,o=h[n+284>>2],h[n+64>>2]=h[n+280>>2],h[n+68>>2]=o,o=h[n+276>>2],h[n+56>>2]=h[n+272>>2],h[n+60>>2]=o,o=h[n+300>>2],h[n+80>>2]=h[n+296>>2],h[n+84>>2]=o,o=h[n+292>>2],h[n+72>>2]=h[n+288>>2],h[n+76>>2]=o,s=h[12+(o=i+4|0)>>2],h[n+32>>2]=h[o+8>>2],h[n+36>>2]=s,s=h[o+4>>2],h[n+24>>2]=h[o>>2],h[n+28>>2]=s,s=h[i+32>>2],h[n+48>>2]=h[i+28>>2],h[n+52>>2]=s,s=h[i+24>>2],h[n+40>>2]=h[i+20>>2],h[n+44>>2]=s,s=h[i+48>>2],h[n+64>>2]=h[i+44>>2],h[n+68>>2]=s,s=h[i+40>>2],h[n+56>>2]=h[i+36>>2],h[n+60>>2]=s,Te(e,n+88|0,o,n+24|0,n+144|0,v(0)),(a=m[n+148>>2])>2]=a,vh(i,v(a*t),n+240|0),h[i+244>>2]=0,en(i,n+240|0),Bo();break e}Bo()}en(i,n+240|0)}}if(!((0|(c=c+1|0))>2]))break}if(d[e+275|0]){if(Ir(18452),(0|(c=h[e+308>>2]))>=1)for(;;){if(s=h[h[e+316>>2]+(y<<2)>>2],h[s+748>>2]>=1){for(i=h[s+744>>2],c=h[i+236>>2]<<30>>31&i,i=h[s+740>>2],o=h[i+236>>2]<<30>>31&i,l=0;(t=v(m[o+228>>2]*m[c+228>>2]))>v(0)&&(i=s+g(l,184)|0,(a=m[i+124>>2])!=v(0)&&(_=m[i+68>>2],u=m[i+72>>2],b=m[i+76>>2],h[n+156>>2]=0,b=v(t*v(a*v(-b))),m[n+152>>2]=b,u=v(t*v(a*v(-u))),m[n+148>>2]=u,t=v(t*v(a*v(-_))),m[n+144>>2]=t,a=m[i+52>>2],_=m[i+56>>2],C=m[i+60>>2],A=m[o+52>>2],x=m[o+56>>2],S=m[o+60>>2],h[n+36>>2]=0,m[n+32>>2]=C-S,m[n+28>>2]=_-x,m[n+24>>2]=a-A,a=m[i+36>>2],_=m[i+40>>2],C=m[i+44>>2],A=m[c+52>>2],x=m[c+56>>2],S=m[c+60>>2],h[n+100>>2]=0,m[n+96>>2]=C-S,m[n+92>>2]=_-x,m[n+88>>2]=a-A,o&&(na(o,n+144|0,n+24|0),b=m[n+152>>2],u=m[n+148>>2],t=m[n+144>>2]),h[n+20>>2]=0,m[n+16>>2]=-b,m[n+12>>2]=-u,m[n+8>>2]=-t,na(c,n+8|0,n+88|0))),(0|(l=l+1|0))>2];);c=h[e+308>>2]}if(!((0|(y=y+1|0))<(0|c)))break}Bo()}Bo(),w=n+304|0},r[692]=function(e){e|=0;var t=0,n=0,i=0,o=0,a=0,s=0,c=0,l=0;if(Ir(18296),t=h[e+204>>2],r[h[h[t>>2]+8>>2]](t,e,h[e+24>>2]),(0|(c=h[e+308>>2]))>=1)for(l=h[e+316>>2];;){if(t=h[l+(s<<2)>>2],(n=h[t+740>>2])&&!(!(t=h[t+744>>2])|3&h[n+204>>2]|3&d[t+204|0])){if(t=h[t+208>>2],i=h[h[e+204>>2]+16>>2],o=h[n+208>>2],(0|(n=h[(a=i+(o<<3)|0)>>2]))!=(0|o))for(;n=i+(n<<3)|0,h[a>>2]=h[n>>2],o=h[n>>2],(0|(n=h[(a=i+(o<<3)|0)>>2]))!=(0|o););if((0|(n=h[(a=i+(t<<3)|0)>>2]))!=(0|t))for(;t=i+(n<<3)|0,h[a>>2]=h[t>>2],(0|(t=h[t>>2]))!=(0|(n=h[(a=i+(t<<3)|0)>>2])););(0|t)!=(0|o)&&(h[(n=i+(o<<3)|0)>>2]=t,h[4+(t=i+(t<<3)|0)>>2]=h[t+4>>2]+h[n+4>>2])}if((0|c)==(0|(s=s+1|0)))break}if((0|(c=h[e+212>>2]))>=1)for(l=h[e+220>>2],a=0;;){if(t=h[l+(a<<2)>>2],d[t+20|0]&&(n=h[t+28>>2],!(3&d[n+204|0]||(t=h[t+32>>2],3&d[t+204|0])))){if(t=h[t+208>>2],i=h[h[e+204>>2]+16>>2],o=h[n+208>>2],(0|(s=h[(n=i+(o<<3)|0)>>2]))!=(0|o))for(;o=n,n=i+(s<<3)|0,h[o>>2]=h[n>>2],o=h[n>>2],(0|(s=h[(n=i+(o<<3)|0)>>2]))!=(0|o););if((0|(s=h[(n=i+(t<<3)|0)>>2]))!=(0|t))for(;t=i+(s<<3)|0,h[n>>2]=h[t>>2],(0|(t=h[t>>2]))!=(0|(s=h[(n=i+(t<<3)|0)>>2])););(0|t)!=(0|o)&&(h[(n=i+(o<<3)|0)>>2]=t,h[4+(t=i+(t<<3)|0)>>2]=h[t+4>>2]+h[n+4>>2])}if((0|c)==(0|(a=a+1|0)))break}t=h[e+204>>2],r[h[h[t>>2]+12>>2]](t,e),Bo()},r[693]=function(e,t){e|=0,t|=0;var n,i,a,s,c,l,u=0,p=0,f=0,_=0,m=0;if(w=i=w-16|0,Ir(18279),(0|(p=h[e+180>>2]))<(0|(n=h[e+212>>2]))){if(h[e+184>>2]<(0|n)){if(n?(h[7717]=h[7717]+1,_=0|r[h[6606]](n<<2,16),u=h[e+180>>2]):u=p,(0|u)>=1)for(;h[(m=f<<2)+_>>2]=h[h[e+188>>2]+m>>2],(0|u)!=(0|(f=f+1|0)););(u=h[e+188>>2])&&(d[e+192|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u)),h[e+188>>2]=0),h[e+188>>2]=_,h[e+184>>2]=n,o[e+192|0]=1}for(;h[h[e+188>>2]+(p<<2)>>2]=0,(0|n)!=(0|(p=p+1|0)););}if(h[e+180>>2]=n,(0|r[h[h[e>>2]+104>>2]](e))>=1)for(p=0;h[(u=p<<2)+h[e+188>>2]>>2]=h[u+h[e+220>>2]>>2],(0|(p=p+1|0))<(0|r[h[h[e>>2]+104>>2]](e)););(0|(u=h[e+180>>2]))>=2&&Xi(e+176|0,i+8|0,0,u+-1|0),u=0,r[h[h[e>>2]+104>>2]](e)&&(u=h[e+188>>2]),function(e,t,n,i,a){if(h[e+20>>2]=a,h[e+16>>2]=i,h[e+12>>2]=n,h[e+4>>2]=t,(0|(t=h[e+32>>2]))<=-1)for(h[e+36>>2]<=-1&&((n=h[e+40>>2])&&(d[e+44|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+40>>2]=0),h[e+36>>2]=0,h[e+40>>2]=0,o[e+44|0]=1);h[h[e+40>>2]+(t<<2)>>2]=0,i=(n=t+1|0)>>>0>=t>>>0,t=n,i;);if(h[e+32>>2]=0,(0|(t=h[e+52>>2]))<=-1)for(h[e+56>>2]<=-1&&((n=h[e+60>>2])&&(d[e- -64|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+60>>2]=0),h[e+56>>2]=0,h[e+60>>2]=0,o[e- -64|0]=1);h[h[e+60>>2]+(t<<2)>>2]=0,i=(n=t+1|0)>>>0>=t>>>0,t=n,i;);if(h[e+52>>2]=0,(0|(t=h[e+72>>2]))<=-1)for(h[e+76>>2]<=-1&&((n=h[e+80>>2])&&(d[e+84|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+80>>2]=0),h[e+76>>2]=0,h[e+80>>2]=0,o[e+84|0]=1);h[h[e+80>>2]+(t<<2)>>2]=0,i=(n=t+1|0)>>>0>=t>>>0,t=n,i;);h[e+72>>2]=0}(h[e+196>>2],t,u,h[e+180>>2],0|r[h[h[e>>2]+20>>2]](e)),u=h[e+200>>2],p=h[e+24>>2],s=u,c=h[e+8>>2],l=0|r[h[h[p>>2]+36>>2]](p),a=h[h[u>>2]+8>>2],r[a](0|s,0|c,0|l),Pt(h[e+204>>2],h[e+24>>2],e,h[e+196>>2]),jn(h[e+196>>2]),u=h[e+200>>2],r[h[h[u>>2]+16>>2]](u,t,h[e+72>>2]),Bo(),w=i+16|0},r[694]=function(e,t){e|=0,t=v(t);var n=0,i=v(0),r=v(0),o=0,a=0;if(Ir(18257),h[e+232>>2]>=1)for(;;){e:if(n=h[h[e+240>>2]+(a<<2)>>2]){t:{n:{i:switch((o=h[n+216>>2])+-2|0){case 0:case 2:break n}if(i=m[n+312>>2],r=v(i*i),i=m[n+316>>2],r=v(r+v(i*i)),i=m[n+320>>2],r=v(r+v(i*i)),i=m[n+472>>2],r>2],r=v(i*i),i=m[n+332>>2],r=v(r+v(i*i)),i=m[n+336>>2],r=v(r+v(i*i)),i=m[n+476>>2],r>2]=m[n+220>>2]+t;break t}h[n+220>>2]=0,4!=(-2&h[n+216>>2])&&(h[n+216>>2]=0),o=h[n+216>>2]}if(4==(0|o))break e}if(d[29240]||(i=m[6603])==v(0)|(m[n+220>>2]>i^1?2!=(-2&o):0))4!=(-2&h[n+216>>2])&&(h[n+216>>2]=1);else{if(3&d[n+204|0]){4!=(-2&h[n+216>>2])&&(h[n+216>>2]=2);break e}if(1==(0|o)&&(4!=(-2&h[n+216>>2])&&(h[n+216>>2]=3),o=h[n+216>>2]),2!=(0|o))break e;h[n+328>>2]=0,h[n+332>>2]=0,h[n+312>>2]=0,h[n+316>>2]=0,h[n+336>>2]=0,h[n+340>>2]=0,h[n+320>>2]=0,h[n+324>>2]=0,h[n+260>>2]=h[n+260>>2]+2}}if(!((0|(a=a+1|0))>2]))break}Bo()},r[695]=wr,r[696]=function(e,t){e|=0,t=v(t);var n=0,i=0,r=0;if((0|(i=h[e+8>>2]))>=1)for(;!(n=h[h[e+16>>2]+(r<<2)>>2])|!(2&h[n+236>>2])|!(2&d[n+204|0])|2==h[n+216>>2]||(Hn(n,t),i=h[e+8>>2]),(0|(r=r+1|0))<(0|i););},r[697]=function(e){var t=0,n=0,i=0;if((0|(t=h[232+(e|=0)>>2]))>=1)for(;;){e:{t:switch(i=h[h[e+240>>2]+(n<<2)>>2],h[i+216>>2]+-2|0){case 0:case 3:break e}Qa(i),t=h[e+232>>2]}if(!((0|(n=n+1|0))<(0|t)))break}},r[698]=qh,r[699]=function(e,t){e|=0,t=v(t);var n=0,i=0;if(Ir(18243),h[e+280>>2]>=1)for(;i=h[h[e+288>>2]+(n<<2)>>2],r[h[h[i>>2]+8>>2]](i,e,t),(0|(n=n+1|0))>2];);Bo()},r[700]=function(e){var t=0;return h[(e|=0)>>2]=18620,(t=h[e+80>>2])&&(d[e+84|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+80>>2]=0),h[e+80>>2]=0,o[e+84|0]=1,h[e+72>>2]=0,h[e+76>>2]=0,(t=h[e+60>>2])&&(d[e- -64|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+60>>2]=0),h[e+60>>2]=0,o[e- -64|0]=1,h[e+52>>2]=0,h[e+56>>2]=0,(t=h[e+40>>2])&&(d[e+44|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+40>>2]=0),h[e+40>>2]=0,o[e+44|0]=1,h[e+32>>2]=0,h[e+36>>2]=0,0|e},r[701]=function(e){var t=0;h[(e|=0)>>2]=18620,(t=h[e+80>>2])&&(d[e+84|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+80>>2]=0),h[e+80>>2]=0,o[e+84|0]=1,h[e+72>>2]=0,h[e+76>>2]=0,(t=h[e+60>>2])&&(d[e- -64|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+60>>2]=0),h[e+60>>2]=0,o[e- -64|0]=1,h[e+52>>2]=0,h[e+56>>2]=0,!(t=h[e+40>>2])|!d[e+44|0]||t&&(h[7718]=h[7718]+1,r[h[6607]](t)),Se(e)},r[702]=function(e,t,n,i,a,s){e|=0,t|=0,n|=0,i|=0,a|=0;var c=0,l=0,u=0,p=0,f=0,_=0,m=0,b=0;if(!((0|(s|=0))>=0))return s=h[e+8>>2],void v(r[h[h[s>>2]+12>>2]](s,t,n,i,a,h[e+12>>2],h[e+16>>2],h[e+4>>2],h[e+20>>2],h[e+24>>2]));e:{if((0|(l=h[e+16>>2]))>=1)for(_=h[e+12>>2];;){if(f=h[(m=_+(c<<2)|0)>>2],(0|(u=h[h[f+28>>2]+208>>2]))<=-1&&(u=h[h[f+32>>2]+208>>2]),(0|s)==(0|u))break e;if(!((0|(c=c+1|0))<(0|l)))break}m=0}if(f=0,(0|c)<(0|l))for(b=h[e+12>>2];_=h[b+(c<<2)>>2],(0|(u=h[h[_+28>>2]+208>>2]))<=-1&&(u=h[h[_+32>>2]+208>>2]),f=((0|s)==(0|u))+f|0,(0|l)!=(0|(c=c+1|0)););if(c=h[e+4>>2],h[c+72>>2]<2)s=h[e+8>>2],v(r[h[h[s>>2]+12>>2]](s,t,n,i,a,m,f,c,h[e+20>>2],h[e+24>>2]));else{if(!((0|n)<1))for(s=h[e+36>>2],c=h[e+32>>2];;){if(b=(p<<2)+t|0,(0|s)==(0|c))if((0|s)>=(0|(u=s?s<<1:1)))c=s;else{if(c=0,l=0,u&&(h[7717]=h[7717]+1,l=0|r[h[6606]](u<<2,16),s=h[e+32>>2]),(0|s)>=1)for(;h[(_=c<<2)+l>>2]=h[h[e+40>>2]+_>>2],(0|(c=c+1|0))!=(0|s););(c=h[e+40>>2])&&(d[e+44|0]&&(c&&(h[7718]=h[7718]+1,r[h[6607]](c)),s=h[e+32>>2]),h[e+40>>2]=0),c=s,h[e+40>>2]=l,o[e+44|0]=1,h[e+36>>2]=u,s=u}if(h[h[e+40>>2]+(c<<2)>>2]=h[b>>2],c=c+1|0,h[e+32>>2]=c,(0|(p=p+1|0))==(0|n))break}if((0|a)>=1)for(s=h[e+56>>2],c=h[e+52>>2],p=0;;){if(u=(p<<2)+i|0,(0|s)==(0|c))if((0|s)>=(0|(t=s?s<<1:1)))c=s;else{if(c=0,l=0,t&&(h[7717]=h[7717]+1,l=0|r[h[6606]](t<<2,16),s=h[e+52>>2]),(0|s)>=1)for(;h[(n=c<<2)+l>>2]=h[n+h[e+60>>2]>>2],(0|(c=c+1|0))!=(0|s););(n=h[e+60>>2])&&(d[e+64|0]&&(n&&(h[7718]=h[7718]+1,r[h[6607]](n)),s=h[e+52>>2]),h[e+60>>2]=0),c=s,h[e+60>>2]=l,o[e+64|0]=1,h[e+56>>2]=t,s=t}if(h[h[e+60>>2]+(c<<2)>>2]=h[u>>2],c=c+1|0,h[e+52>>2]=c,(0|(p=p+1|0))==(0|a))break}if(f)for(s=h[e+76>>2],c=h[e+72>>2],p=0;;){if(i=(p<<2)+m|0,(0|s)==(0|c))if((0|s)>=(0|(t=s?s<<1:1)))c=s;else{if(c=0,l=0,t&&(h[7717]=h[7717]+1,l=0|r[h[6606]](t<<2,16),s=h[e+72>>2]),(0|s)>=1)for(;h[(n=c<<2)+l>>2]=h[n+h[e+80>>2]>>2],(0|(c=c+1|0))!=(0|s););(n=h[e+80>>2])&&(d[e+84|0]&&(n&&(h[7718]=h[7718]+1,r[h[6607]](n)),s=h[e+72>>2]),h[e+80>>2]=0),c=s,h[e+80>>2]=l,o[e+84|0]=1,h[e+76>>2]=t,s=t}if(h[h[e+80>>2]+(c<<2)>>2]=h[i>>2],c=c+1|0,h[e+72>>2]=c,(0|f)==(0|(p=p+1|0)))break}else c=h[e+72>>2];(h[e+52>>2]+c|0)>h[h[e+4>>2]+72>>2]&&jn(e)}},r[703]=Jh,r[704]=function(e,t){e|=0;var n,i,o=0;return n=h[(t|=0)>>2],i=h[e+80>>2],!(f[t+6>>1]&f[e+8>>1])|!(f[e+10>>1]&f[t+4>>1])|(0|n)==(0|i)||(e=h[e+92>>2],o=0|r[h[h[e>>2]+28>>2]](e,i,n)),0|o},r[705]=function(e,t,n){e|=0,t|=0,n|=0;var i=0,r=v(0),o=v(0),a=v(0),s=0,c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0);return r=v(1),(0|(i=h[t>>2]))==h[e+80>>2]|4&d[i+204|0]|v(v(v(v(m[e+28>>2]-m[e+12>>2])*m[t+8>>2])+v(v(m[e+32>>2]-m[e+16>>2])*m[t+12>>2]))+v(v(m[e+36>>2]-m[e+20>>2])*m[t+16>>2]))>=v(-m[e+84>>2])||(s=h[t+40>>2],h[e+76>>2]=i,h[e+4>>2]=s,n?(i=h[4+(n=t+8|0)>>2],h[e+44>>2]=h[n>>2],h[e+48>>2]=i,i=h[n+12>>2],h[e+52>>2]=h[n+8>>2],h[e+56>>2]=i):(c=m[i+12>>2],l=m[i+8>>2],u=m[i+28>>2],p=m[i+20>>2],f=m[i+24>>2],_=m[i+44>>2],b=m[i+36>>2],g=m[i+40>>2],y=m[i+4>>2],r=m[t+16>>2],o=m[t+8>>2],a=m[t+12>>2],h[e+56>>2]=0,m[e+52>>2]=v(v(o*b)+v(a*g))+v(r*_),m[e+48>>2]=v(v(o*p)+v(a*f))+v(r*u),m[e+44>>2]=v(v(y*o)+v(l*a))+v(c*r)),n=h[t+28>>2],h[e+60>>2]=h[t+24>>2],h[e+64>>2]=n,n=h[t+36>>2],h[e+68>>2]=h[t+32>>2],h[e+72>>2]=n,r=m[t+40>>2]),v(r)},r[706]=Ch,r[707]=nh,r[708]=rd,r[709]=function(e,t,n,i,r){r=v(r)},r[710]=function(e,t){h[(t|=0)>>2]=6,h[t+4>>2]=6},r[711]=function(e,t){e|=0,t|=0;var n,i,r,o,a,s,c=v(0),l=0,u=0,p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=0,T=v(0),E=v(0),P=0,O=v(0),M=v(0),R=v(0),I=0,D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0);w=n=w-96|0,i=h[e+32>>2],r=h[e+28>>2],l=h[t+8>>2],h[l>>2]=1065353216,o=h[t+24>>2],h[(u=o+1<<2)+l>>2]=1065353216,h[l+(a=2+(I=o<<1)<<2)>>2]=1065353216,b=m[r+8>>2],d=m[r+12>>2],f=m[r+20>>2],x=m[r+24>>2],y=m[r+28>>2],_=m[r+36>>2],C=m[r+40>>2],c=m[e+52>>2],T=m[r+44>>2],A=m[e+56>>2],E=m[r+4>>2],p=m[e+48>>2],S=h[t+12>>2],h[S+12>>2]=0,h[S>>2]=0,_=v(v(v(p*_)+v(c*C))+v(A*T)),m[S+4>>2]=_,f=v(v(v(p*f)+v(c*x))+v(A*y)),m[S+8>>2]=-f,h[12+(l=(P=o<<2)+S|0)>>2]=0,b=v(v(v(E*p)+v(b*c))+v(d*A)),m[l+8>>2]=b,h[l+4>>2]=0,m[l>>2]=-_,h[8+(l=(s=o<<3)+S|0)>>2]=0,h[l+12>>2]=0,m[l+4>>2]=-b,m[l>>2]=f,(l=h[t+16>>2])&&(h[l>>2]=-1082130432,h[l+u>>2]=-1082130432,h[l+a>>2]=-1082130432),y=m[i+8>>2],C=m[i+12>>2],x=m[i+36>>2],T=m[i+40>>2],E=m[i+44>>2],d=m[i+20>>2],O=m[i+24>>2],c=m[e+68>>2],M=m[i+28>>2],A=m[e+72>>2],R=m[i+4>>2],p=m[e+64>>2],l=h[t+20>>2],h[l+12>>2]=0,h[l>>2]=0,d=v(v(v(p*d)+v(c*O))+v(A*M)),m[l+8>>2]=d,x=v(v(v(p*x)+v(c*T))+v(A*E)),m[l+4>>2]=-x,h[12+(u=l+P|0)>>2]=0,c=v(v(v(R*p)+v(y*c))+v(C*A)),m[u+8>>2]=-c,h[u+4>>2]=0,m[u>>2]=x,h[8+(u=l+(I<<2)|0)>>2]=0,h[u+12>>2]=0,m[u+4>>2]=c,m[u>>2]=-d,p=m[r+60>>2],y=m[i+60>>2],C=m[r+56>>2],T=m[i+56>>2],u=h[t+28>>2],A=v(m[t>>2]*m[t+4>>2]),m[u>>2]=A*v(v(v(c+m[i+52>>2])-b)-m[r+52>>2]),m[u+P>>2]=A*v(v(v(d+T)-f)-C),m[u+s>>2]=A*v(v(v(x+y)-_)-p),u=g(o,3),h[(u<<2)+S>>2]=1065353216,h[((P|=1)<<2)+S>>2]=1065353216,I=S,S=g(o,5)+2|0,h[I+(S<<2)>>2]=1065353216,l&&(h[l+(u<<2)>>2]=-1082130432,h[l+(P<<2)>>2]=-1082130432,h[l+(S<<2)>>2]=-1082130432),E=m[r+12>>2],O=m[r+4>>2],M=m[r+8>>2],R=m[r+28>>2],D=m[r+20>>2],L=m[r+24>>2],N=m[r+44>>2],F=m[r+36>>2],B=m[r+40>>2],p=m[i+12>>2],_=m[i+4>>2],b=m[i+24>>2],d=m[i+40>>2],f=m[i+8>>2],x=m[i+36>>2],y=m[i+28>>2],C=m[i+20>>2],T=m[i+44>>2],h[n+68>>2]=0,h[n+52>>2]=0,V=v(v(b*T)-v(y*d)),z=v(v(y*x)-v(T*C)),j=v(v(d*C)-v(b*x)),c=v(v(1)/v(v(v(_*V)+v(f*z))+v(p*j))),k=v(v(v(y*f)-v(b*p))*c),y=v(v(v(C*p)-v(y*_))*c),b=v(v(v(b*_)-v(C*f))*c),m[n- -64>>2]=v(v(F*k)+v(B*y))+v(N*b),C=v(v(v(d*p)-v(T*f))*c),p=v(v(v(T*_)-v(x*p))*c),_=v(v(v(x*f)-v(d*_))*c),m[n+60>>2]=v(v(F*C)+v(B*p))+v(N*_),m[n+48>>2]=v(v(k*D)+v(y*L))+v(b*R),m[n+44>>2]=v(v(C*D)+v(p*L))+v(_*R),h[n+36>>2]=0,f=v(V*c),d=v(z*c),c=v(j*c),m[n+56>>2]=v(v(F*f)+v(B*d))+v(N*c),m[n+40>>2]=v(v(f*D)+v(d*L))+v(c*R),m[n+32>>2]=v(E*b)+v(v(O*k)+v(M*y)),m[n+28>>2]=v(E*_)+v(v(O*C)+v(M*p)),m[n+24>>2]=v(E*c)+v(v(O*f)+v(M*d)),lt(n+24|0,n+8|0),bi(e+80|0,n+8|0,n+80|0,n+76|0),c=v(-m[n+76>>2]),m[n+84>>2]=m[n+84>>2]*c,m[n+88>>2]=m[n+88>>2]*c,c=v(m[n+80>>2]*c),m[n+80>>2]=c,e=h[t+24>>2],t=h[t+28>>2],m[g(e,12)+t>>2]=A*c,m[t+(e<<4)>>2]=A*m[n+84>>2],m[t+g(e,20)>>2]=A*m[n+88>>2],w=n+96|0},r[712]=xh,r[713]=function(e,t,n,i){n=v(n)},r[714]=function(e,t,n){return v(v(0))},r[715]=Gh,r[716]=Li,r[717]=Ch,r[718]=nh,r[719]=function(e){var t,n=0,i=0,o=0;w=t=w-48|0,d[1308+(e|=0)|0]&&(h[e+1056>>2]=0,h[e+992>>2]=0,h[e+928>>2]=0,h[e+712>>2]=0,h[e+716>>2]=0,h[e+720>>2]=0,h[e+724>>2]=0,st(e,h[e+28>>2]+4|0,h[e+32>>2]+4|0),r[h[h[e>>2]+44>>2]](e),o=h[4+(n=e+1292|0)>>2],h[t+40>>2]=h[n>>2],h[t+44>>2]=o,i=h[e+1288>>2],h[t+32>>2]=h[e+1284>>2],h[t+36>>2]=i,i=h[n+4>>2],h[t+24>>2]=h[n>>2],h[t+28>>2]=i,n=h[e+1288>>2],h[t+16>>2]=h[e+1284>>2],h[t+20>>2]=n,m[e+696>>2]>=m[e+680>>2]&&(n=d[e+1300|0],i=h[(n?e+1064|0:e+1128|0)>>2],o=h[(n?e+1080|0:e+1144|0)>>2],n=h[(n?e+1096|0:e+1160|0)>>2],h[t+12>>2]=0,h[t+8>>2]=n,h[t+4>>2]=o,h[t>>2]=i,ni(e,e+176|0,t,t+32|0,t+16|0)),m[e+700>>2]>=m[e+684>>2]&&(n=d[e+1300|0],i=h[(n?e+1068|0:e+1132|0)>>2],o=h[(n?e+1084|0:e+1148|0)>>2],n=h[(n?e+1100|0:e+1164|0)>>2],h[t+12>>2]=0,h[t+8>>2]=n,h[t+4>>2]=o,h[t>>2]=i,ni(e,e+260|0,t,t+32|0,t+16|0)),m[e+704>>2]>=m[e+688>>2]&&(n=d[e+1300|0],i=h[(n?e+1072|0:e+1136|0)>>2],o=h[(n?e+1088|0:e+1152|0)>>2],n=h[(n?e+1104|0:e+1168|0)>>2],h[t+12>>2]=0,h[t+8>>2]=n,h[t+4>>2]=o,h[t>>2]=i,ni(e,e+344|0,t,t+32|0,t+16|0)),Vt(e,0)&&(i=h[4+(n=e+1216|0)>>2],h[t+8>>2]=h[n>>2],h[t+12>>2]=i,n=h[e+1212>>2],h[t>>2]=h[e+1208>>2],h[t+4>>2]=n,Ln(e,e+428|0,t)),Vt(e,1)&&(i=h[4+(n=e+1232|0)>>2],h[t+8>>2]=h[n>>2],h[t+12>>2]=i,i=h[4+(n=e+1224|0)>>2],h[t>>2]=h[n>>2],h[t+4>>2]=i,Ln(e,e+512|0,t)),Vt(e,2)&&(i=h[4+(n=e+1248|0)>>2],h[t+8>>2]=h[n>>2],h[t+12>>2]=i,i=h[4+(n=e+1240|0)>>2],h[t>>2]=h[n>>2],h[t+4>>2]=i,Ln(e,e+596|0,t))),w=t+48|0},r[720]=function(e,t){t|=0;var n=0,i=0;d[1308+(e|=0)|0]?(h[t>>2]=0,h[t+4>>2]=0):(st(e,h[e+28>>2]+4|0,h[e+32>>2]+4|0),h[t>>2]=0,h[t+4>>2]=6,h[e+856>>2]|d[e+788|0]?(h[t>>2]=1,h[t+4>>2]=5,n=5,i=1):(n=6,i=0),(d[e+789|0]||h[e+860>>2])&&(n=n+-1|0,h[t+4>>2]=n,i=i+1|0,h[t>>2]=i),(d[e+790|0]||h[e+864>>2])&&(h[t+4>>2]=n+-1,h[t>>2]=i+1),Vt(e,0)&&(h[t>>2]=h[t>>2]+1,h[t+4>>2]=h[t+4>>2]+-1),Vt(e,1)&&(h[t>>2]=h[t>>2]+1,h[t+4>>2]=h[t+4>>2]+-1),Vt(e,2)&&(h[t>>2]=h[t>>2]+1,h[t+4>>2]=h[t+4>>2]+-1))},r[721]=Gn,r[722]=function(e,t,n,i){e|=0,t|=0,n=v(n);var r=0;e:{t:{n:{if((i|=0)>>>0<=2){i:switch(t+-2|0){case 0:m[756+((i<<2)+e|0)>>2]=n;break t;case 2:m[772+((i<<2)+e|0)>>2]=n;break e;case 1:break i;default:break n}return m[740+((i<<2)+e|0)>>2]=n,void(h[e+1304>>2]=h[e+1304>>2]|1<>>0>2)){i:switch(t+-2|0){case 0:m[900+((r<<6)+e|0)>>2]=n;break t;case 2:m[904+((r<<6)+e|0)>>2]=n;break e;case 1:break i;default:break n}m[896+((r<<6)+e|0)>>2]=n,h[e+1304>>2]=h[e+1304>>2]|1<>2]=h[e+1304>>2]|4<>2]=h[e+1304>>2]|2<>>0<=2){t:switch(t+-2|0){case 0:return v(m[756+((n<<2)+e|0)>>2]);case 2:return v(m[772+((n<<2)+e|0)>>2]);case 1:break t;default:break e}return v(m[740+((n<<2)+e|0)>>2])}if(!((n=n+-3|0)>>>0>2)){t:switch(t+-2|0){case 0:return v(m[900+((n<<6)+e|0)>>2]);case 2:return v(m[904+((n<<6)+e|0)>>2]);case 1:break t;default:break e}i=m[896+((n<<6)+e|0)>>2]}}return v(i)},r[724]=function(e){return 252},r[725]=function(e,t,n){return Li(e|=0,t|=0,n|=0),h[t+52>>2]=h[e+48>>2],h[t+56>>2]=h[e+52>>2],h[t+60>>2]=h[e+56>>2],h[t+64>>2]=h[e+60>>2],h[t+68>>2]=h[e- -64>>2],h[t+72>>2]=h[e+68>>2],h[t+76>>2]=h[e+72>>2],h[t+80>>2]=h[e+76>>2],h[t+84>>2]=h[e+80>>2],h[t+88>>2]=h[e+84>>2],h[t+92>>2]=h[e+88>>2],h[t+96>>2]=h[e+92>>2],h[t+100>>2]=h[e+96>>2],h[t+104>>2]=h[e+100>>2],h[t+108>>2]=h[e+104>>2],h[t+112>>2]=h[e+108>>2],h[t+116>>2]=h[e+112>>2],h[t+120>>2]=h[e+116>>2],h[t+124>>2]=h[e+120>>2],h[t+128>>2]=h[e+124>>2],h[t+132>>2]=h[e+128>>2],h[t+136>>2]=h[e+132>>2],h[t+140>>2]=h[e+136>>2],h[t+144>>2]=h[e+140>>2],h[t+148>>2]=h[e+144>>2],h[t+152>>2]=h[e+148>>2],h[t+156>>2]=h[e+152>>2],h[t+160>>2]=h[e+156>>2],h[t+164>>2]=h[e+160>>2],h[t+168>>2]=h[e+164>>2],h[t+172>>2]=h[e+168>>2],h[t+176>>2]=h[e+172>>2],h[t+228>>2]=h[e+868>>2],h[t+212>>2]=h[e+872>>2],h[t+196>>2]=h[e+680>>2],h[t+180>>2]=h[e+696>>2],h[t+232>>2]=h[e+932>>2],h[t+216>>2]=h[e+936>>2],h[t+200>>2]=h[e+684>>2],h[t+184>>2]=h[e+700>>2],h[t+236>>2]=h[e+996>>2],h[t+220>>2]=h[e+1e3>>2],h[t+204>>2]=h[e+688>>2],h[t+188>>2]=h[e+704>>2],h[t+244>>2]=d[e+1300|0],h[t+248>>2]=d[e+1301|0],18984},r[726]=function(e){e|=0;var t=v(0),n=v(0);t=v(1),(n=m[h[e+32>>2]+344>>2])!=v(0)&&(t=m[h[e+28>>2]+344>>2],t=v(t/v(t+n))),h[e+1296>>2]=0,n=v(v(1)-t),m[e+1292>>2]=v(t*m[e+1120>>2])+v(n*m[e+1184>>2]),m[e+1288>>2]=v(t*m[e+1116>>2])+v(n*m[e+1180>>2]),m[e+1284>>2]=v(t*m[e+1112>>2])+v(n*m[e+1176>>2])},r[727]=nh,r[728]=function(e,t){(function(e,t){var n=v(0),i=v(0);d[e+1309|0]&&(n=v(v(m[e+1256>>2]-m[e+1316>>2])*m[e+1340>>2]),m[e+792>>2]=n*v(v(m[t>>2]*m[e+1364>>2])/v(h[t+48>>2])),m[e+808>>2]=v(y(n))/m[t>>2]),d[e+1310|0]&&(n=v(v(m[e+1260>>2]-m[e+1320>>2])*m[e+1344>>2]),m[e+796>>2]=n*v(v(m[t>>2]*m[e+1368>>2])/v(h[t+48>>2])),m[e+812>>2]=v(y(n))/m[t>>2]),d[e+1311|0]&&(n=v(v(m[e+1264>>2]-m[e+1324>>2])*m[e+1348>>2]),m[e+800>>2]=n*v(v(m[t>>2]*m[e+1372>>2])/v(h[t+48>>2])),m[e+816>>2]=v(y(n))/m[t>>2]),d[e+1312|0]&&(n=v(m[e+1352>>2]*v(-v(m[e+1192>>2]-m[e+1328>>2]))),i=m[t>>2],m[e+876>>2]=n*v(v(i*m[e+1376>>2])/v(h[t+48>>2])),m[e+880>>2]=v(y(n))/i),d[e+1313|0]&&(n=v(m[e+1356>>2]*v(-v(m[e+1196>>2]-m[e+1332>>2]))),i=m[t>>2],m[e+940>>2]=n*v(v(i*m[e+1380>>2])/v(h[t+48>>2])),m[e+944>>2]=v(y(n))/i),d[e+1314|0]&&(n=v(m[e+1360>>2]*v(-v(m[e+1200>>2]-m[e+1336>>2]))),i=m[t>>2],m[e+1004>>2]=n*v(v(i*m[e+1384>>2])/v(h[t+48>>2])),m[e+1008>>2]=v(y(n))/i)})(e|=0,t|=0),Gn(e,t)},r[729]=function(e){return 348},r[730]=function(e,t,n){return Li(e|=0,t|=0,n|=0),h[t+52>>2]=h[e+48>>2],h[t+56>>2]=h[e+52>>2],h[t+60>>2]=h[e+56>>2],h[t+64>>2]=h[e+60>>2],h[t+68>>2]=h[e- -64>>2],h[t+72>>2]=h[e+68>>2],h[t+76>>2]=h[e+72>>2],h[t+80>>2]=h[e+76>>2],h[t+84>>2]=h[e+80>>2],h[t+88>>2]=h[e+84>>2],h[t+92>>2]=h[e+88>>2],h[t+96>>2]=h[e+92>>2],h[t+100>>2]=h[e+96>>2],h[t+104>>2]=h[e+100>>2],h[t+108>>2]=h[e+104>>2],h[t+112>>2]=h[e+108>>2],h[t+116>>2]=h[e+112>>2],h[t+120>>2]=h[e+116>>2],h[t+124>>2]=h[e+120>>2],h[t+128>>2]=h[e+124>>2],h[t+132>>2]=h[e+128>>2],h[t+136>>2]=h[e+132>>2],h[t+140>>2]=h[e+136>>2],h[t+144>>2]=h[e+140>>2],h[t+148>>2]=h[e+144>>2],h[t+152>>2]=h[e+148>>2],h[t+156>>2]=h[e+152>>2],h[t+160>>2]=h[e+156>>2],h[t+164>>2]=h[e+160>>2],h[t+168>>2]=h[e+164>>2],h[t+172>>2]=h[e+168>>2],h[t+176>>2]=h[e+172>>2],h[t+228>>2]=h[e+868>>2],h[t+212>>2]=h[e+872>>2],h[t+196>>2]=h[e+680>>2],h[t+180>>2]=h[e+696>>2],h[t+232>>2]=h[e+932>>2],h[t+216>>2]=h[e+936>>2],h[t+200>>2]=h[e+684>>2],h[t+184>>2]=h[e+700>>2],h[t+236>>2]=h[e+996>>2],h[t+220>>2]=h[e+1e3>>2],h[t+204>>2]=h[e+688>>2],h[t+188>>2]=h[e+704>>2],h[t+244>>2]=d[e+1300|0],h[t+248>>2]=d[e+1301|0],h[t+276>>2]=h[e+1316>>2],h[t+324>>2]=h[e+1364>>2],h[t+252>>2]=d[e+1309|0],h[t+300>>2]=h[e+1340>>2],h[t+280>>2]=h[e+1320>>2],h[t+328>>2]=h[e+1368>>2],h[t+256>>2]=d[e+1310|0],h[t+304>>2]=h[e+1344>>2],h[t+284>>2]=h[e+1324>>2],h[t+332>>2]=h[e+1372>>2],h[t+260>>2]=d[e+1311|0],h[t+308>>2]=h[e+1348>>2],h[t+288>>2]=h[e+1328>>2],h[t+336>>2]=h[e+1376>>2],h[t+264>>2]=d[e+1312|0],h[t+312>>2]=h[e+1352>>2],h[t+292>>2]=h[e+1332>>2],h[t+340>>2]=h[e+1380>>2],h[t+268>>2]=d[e+1313|0],h[t+316>>2]=h[e+1356>>2],h[t+296>>2]=h[e+1336>>2],h[t+344>>2]=h[e+1384>>2],h[t+272>>2]=d[e+1314|0],h[t+320>>2]=h[e+1360>>2],19116},r[731]=function(e,t,n){e|=0,t|=0,n|=0;var i,r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0);i=h[e+28>>2],b=m[i+20>>2],g=m[i+36>>2],y=m[i+40>>2],C=m[i+24>>2],A=m[i+8>>2],o=m[i+60>>2],s=m[i+44>>2],c=m[i+28>>2],a=m[i+56>>2],l=m[i+52>>2],u=m[i+12>>2],p=m[n+8>>2],d=m[n>>2],f=m[n+4>>2],_=m[t+8>>2],r=m[t>>2],x=m[t+4>>2],T=m[i+4>>2],h[e+108>>2]=0,h[e+92>>2]=0,h[e+76>>2]=0,h[e+60>>2]=0,a=v(-a),m[e+104>>2]=v(v(v(u*v(0))+v(c*v(0)))+v(s*v(0)))+v(v(v(c*a)-v(u*l))-v(s*o)),m[e+100>>2]=v(v(v(A*v(0))+v(C*v(0)))+v(y*v(0)))+v(v(v(C*a)-v(A*l))-v(y*o)),m[e+96>>2]=v(v(v(T*v(0))+v(b*v(0)))+v(g*v(0)))+v(v(v(b*a)-v(T*l))-v(g*o)),a=r,r=v(v(1)/v(S(v(v(v(r*r)+v(x*x))+v(_*_))))),o=v(a*r),l=v(x*r),_=v(_*r),m[e+88>>2]=v(v(u*o)+v(c*l))+v(s*_),r=v(v(1)/v(S(v(v(v(d*d)+v(f*f))+v(p*p))))),d=v(d*r),f=v(f*r),p=v(p*r),m[e+84>>2]=v(v(u*d)+v(c*f))+v(s*p),m[e+72>>2]=v(v(o*A)+v(l*C))+v(_*y),m[e+68>>2]=v(v(d*A)+v(f*C))+v(p*y),m[e+56>>2]=v(v(T*o)+v(l*b))+v(_*g),m[e+52>>2]=v(g*p)+v(v(T*d)+v(b*f)),r=u,u=v(v(_*f)-v(l*p)),a=c,c=v(v(o*p)-v(_*d)),x=s,s=v(v(l*d)-v(o*f)),m[e+80>>2]=v(v(r*u)+v(a*c))+v(x*s),m[e- -64>>2]=v(s*y)+v(v(A*u)+v(C*c)),m[e+48>>2]=v(g*s)+v(v(T*u)+v(b*c)),t=h[e+32>>2],E=m[t+60>>2],O=m[t+56>>2],P=m[t+52>>2],b=m[t+20>>2],g=m[t+36>>2],y=m[t+40>>2],C=m[t+8>>2],A=m[t+24>>2],T=m[t+44>>2],r=m[t+12>>2],x=m[t+28>>2],a=m[t+4>>2],h[e+172>>2]=0,h[e+156>>2]=0,h[e+140>>2]=0,h[e+124>>2]=0,m[e+152>>2]=v(v(o*r)+v(l*x))+v(_*T),m[e+148>>2]=v(v(d*r)+v(f*x))+v(p*T),m[e+144>>2]=v(v(u*r)+v(c*x))+v(s*T),m[e+136>>2]=v(v(o*C)+v(l*A))+v(_*y),m[e+132>>2]=v(v(d*C)+v(f*A))+v(p*y),m[e+128>>2]=v(v(u*C)+v(c*A))+v(s*y),m[e+120>>2]=v(v(o*a)+v(l*b))+v(_*g),m[e+116>>2]=v(v(d*a)+v(f*b))+v(p*g),m[e+112>>2]=v(v(u*a)+v(c*b))+v(s*g),o=v(-O),m[e+168>>2]=v(v(v(r*v(0))+v(x*v(0)))+v(T*v(0)))+v(v(v(x*o)-v(r*P))-v(T*E)),m[e+164>>2]=v(v(v(C*v(0))+v(A*v(0)))+v(y*v(0)))+v(v(v(A*o)-v(C*P))-v(y*E)),m[e+160>>2]=v(v(v(a*v(0))+v(b*v(0)))+v(g*v(0)))+v(v(v(b*o)-v(a*P))-v(g*E)),gh(e)},r[732]=nh,r[733]=function(e){e|=0;var t,n=0,i=0,r=v(0),o=v(0),a=v(0),s=0,c=v(0),l=v(0),u=v(0),p=0,d=v(0),f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=0;for(w=t=w-144|0,h[e+36>>2]=0,h[t+136>>2]=0,h[t+140>>2]=0,h[t+128>>2]=0,h[t+132>>2]=0;h[(T=(t+128|0)+(p<<2)|0)>>2]=1065353216,i=h[e+28>>2],h[t+80>>2]=h[i+4>>2],h[t+84>>2]=h[i+20>>2],n=h[i+36>>2],h[t+92>>2]=0,h[t+88>>2]=n,h[t+96>>2]=h[i+8>>2],h[t+100>>2]=h[i+24>>2],n=h[i+40>>2],h[t+108>>2]=0,h[t+104>>2]=n,h[t+112>>2]=h[i+12>>2],h[t+116>>2]=h[i+28>>2],n=h[i+44>>2],h[t+124>>2]=0,h[t+120>>2]=n,n=h[e+32>>2],h[t+32>>2]=h[n+4>>2],h[t+36>>2]=h[n+20>>2],s=h[n+36>>2],h[t+44>>2]=0,h[t+40>>2]=s,h[t+48>>2]=h[n+8>>2],h[t+52>>2]=h[n+24>>2],s=h[n+40>>2],h[t+60>>2]=0,h[t+56>>2]=s,h[t+64>>2]=h[n+12>>2],h[t+68>>2]=h[n+28>>2],s=h[n+44>>2],h[t+76>>2]=0,h[t+72>>2]=s,c=m[i+52>>2],d=m[i+12>>2],f=m[i+8>>2],l=m[i+56>>2],_=m[i+28>>2],b=m[i+20>>2],y=m[i+24>>2],u=m[i+60>>2],C=m[i+44>>2],A=m[i+36>>2],x=m[i+40>>2],S=m[i+4>>2],r=m[e+308>>2],o=m[e+300>>2],a=m[e+304>>2],h[t+28>>2]=0,m[t+24>>2]=v(u+v(v(v(o*A)+v(a*x))+v(r*C)))-u,m[t+20>>2]=v(l+v(v(v(o*b)+v(a*y))+v(r*_)))-l,m[t+16>>2]=v(c+v(v(v(o*S)+v(a*f))+v(r*d)))-c,c=m[n+52>>2],d=m[n+12>>2],f=m[n+8>>2],l=m[n+56>>2],_=m[n+28>>2],b=m[n+20>>2],y=m[n+24>>2],u=m[n+60>>2],C=m[n+44>>2],A=m[n+36>>2],x=m[n+40>>2],S=m[n+4>>2],r=m[e+324>>2],o=m[e+316>>2],a=m[e+320>>2],h[t+12>>2]=0,m[t+8>>2]=v(u+v(v(v(o*A)+v(a*x))+v(r*C)))-u,m[t+4>>2]=v(l+v(v(v(o*b)+v(a*y))+v(r*_)))-l,m[t>>2]=v(c+v(v(v(o*S)+v(a*f))+v(r*d)))-c,_n(48+(g(p,84)+e|0)|0,t+80|0,t+32|0,t+16|0,t,t+128|0,i+396|0,m[i+344>>2],n+396|0,m[n+344>>2]),h[T>>2]=0,3!=(0|(p=p+1|0)););w=t+144|0},r[734]=function(e,t){t|=0,e=d[344+(e|=0)|0]?0:3,h[t+4>>2]=e,h[t>>2]=e},r[735]=function(e,t){!function(e,t,n,i){var r,o,a,s,c,l=0,u=v(0),p=v(0),d=0,f=0,_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0);f=h[t+8>>2],h[f>>2]=1065353216,o=h[t+24>>2],h[f+(s=4+(r=o<<2)|0)>>2]=1065353216,h[f+(c=8+(a=o<<3)|0)>>2]=1065353216,_=m[n+20>>2],y=m[n+24>>2],b=m[n+36>>2],u=m[e+304>>2],C=m[n+40>>2],p=m[e+308>>2],A=m[n+8>>2],x=m[n>>2],S=m[n+4>>2],T=m[n+16>>2],E=m[n+32>>2],g=m[e+300>>2],h[12+(f=w-16|0)>>2]=0,b=v(v(v(g*E)+v(u*b))+v(p*C)),m[f+8>>2]=b,_=v(v(v(g*T)+v(u*_))+v(p*y)),m[f+4>>2]=_,u=v(v(v(x*g)+v(S*u))+v(A*p)),m[f>>2]=u,l=h[t+12>>2],h[l+12>>2]=0,m[l+8>>2]=-_,m[l+4>>2]=b,h[l>>2]=0,h[12+(d=l+r|0)>>2]=0,m[d+8>>2]=u,h[d+4>>2]=0,m[d>>2]=-b,h[8+(l=l+a|0)>>2]=0,h[l+12>>2]=0,m[l+4>>2]=-u,m[l>>2]=_,l=h[t+16>>2],h[l>>2]=-1082130432,h[l+s>>2]=-1082130432,h[l+c>>2]=-1082130432,_=m[i+36>>2],y=m[i+40>>2],b=m[i+20>>2],u=m[e+320>>2],C=m[i+24>>2],p=m[e+324>>2],A=m[i+8>>2],x=m[i>>2],S=m[i+4>>2],T=m[i+32>>2],E=m[i+16>>2],g=m[e+316>>2],l=h[t+20>>2],h[l+12>>2]=0,h[l>>2]=0,b=v(v(v(g*E)+v(u*b))+v(p*C)),m[l+8>>2]=b,_=v(v(v(g*T)+v(u*_))+v(p*y)),m[l+4>>2]=-_,h[12+(d=l+r|0)>>2]=0,u=v(v(v(x*g)+v(S*u))+v(A*p)),m[d+8>>2]=-u,h[d+4>>2]=0,m[d>>2]=_,h[8+(l=l+a|0)>>2]=0,h[l+12>>2]=0,m[l+4>>2]=u,m[l>>2]=-b,l=h[t+28>>2],d=h[e+332>>2],p=v(m[(1&d?e+336|0:t+4|0)>>2]*m[t>>2]),m[l>>2]=p*v(v(v(u+m[i+48>>2])-m[f>>2])-m[n+48>>2]),m[l+r>>2]=p*v(v(v(b+m[i+52>>2])-m[f+4>>2])-m[n+52>>2]),m[l+a>>2]=p*v(v(v(_+m[i+56>>2])-m[f+8>>2])-m[n+56>>2]),n=o<<1,2&d&&(i=h[t+32>>2],h[i>>2]=h[e+340>>2],h[i+r>>2]=h[e+340>>2],h[i+(n<<2)>>2]=h[e+340>>2]),p=m[e+356>>2],g=v(-p),u=p,p>v(0)&&(m[h[t+36>>2]>>2]=g,m[h[t+40>>2]>>2]=p,u=m[e+356>>2]),u>v(0)&&(m[(i=o<<2)+h[t+36>>2]>>2]=g,m[i+h[t+40>>2]>>2]=p,u=m[e+356>>2]),u>v(0)&&(m[(n<<=2)+h[t+36>>2]>>2]=g,m[n+h[t+40>>2]>>2]=p),h[t+52>>2]=h[e+352>>2]}(e|=0,t|=0,h[e+28>>2]+4|0,h[e+32>>2]+4|0)},r[736]=function(e,t,n,i){e|=0,t|=0,n=v(n);e:if(-1==(0|(i|=0))){t:switch(t+-1|0){case 0:case 1:return m[e+336>>2]=n,void(h[e+332>>2]=1|h[e+332>>2]);case 2:case 3:break t;default:break e}m[e+340>>2]=n,h[e+332>>2]=2|h[e+332>>2]}},r[737]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0);i=v(34028234663852886e22);e:if(-1==(0|n)){t:switch(t+-1|0){case 0:case 1:return v(m[e+336>>2]);case 2:case 3:break t;default:break e}i=m[e+340>>2]}return v(i)},r[738]=Uh,r[739]=function(e,t,n){return Li(e|=0,t|=0,n|=0),h[t+52>>2]=h[e+300>>2],h[t+56>>2]=h[e+304>>2],h[t+60>>2]=h[e+308>>2],h[t+64>>2]=h[e+312>>2],h[t+68>>2]=h[e+316>>2],h[t+72>>2]=h[e+320>>2],h[t+76>>2]=h[e+324>>2],h[t+80>>2]=h[e+328>>2],19244},r[740]=function(e){e|=0,h[7313]=17792,(e=h[7437])&&(d[29752]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[7437]=0),o[29752]=1,h[7435]=0,h[7436]=0,h[7437]=0,h[7313]=3948},r[741]=$h,r[742]=nh,r[743]=function(e,t){e|=0,t|=0;var n=v(0),i=v(0),r=v(0);if(d[e+48|0])return h[t>>2]=0,void(h[t+4>>2]=0);h[t>>2]=4,h[t+4>>2]=2,re(e,h[e+28>>2]+4|0,h[e+32>>2]+4|0),function(e){var t=v(0),n=v(0),i=v(0),r=v(0),a=v(0);if(o[e+297|0]=0,h[e+1088>>2]=0,(i=m[e+192>>2])<=(r=m[e+196>>2])){if(t=m[e+892>>2],n=m[e+908>>2],a=m[e+924>>2],n=pi(v(v(v(m[e+832>>2]*t)+v(m[e+848>>2]*n))+v(m[e+864>>2]*a)),v(v(v(m[e+828>>2]*t)+v(m[e+844>>2]*n))+v(m[e+860>>2]*a))),i>=r||(nv(3.1415927410125732)&&(t=v(t+v(-6.2831854820251465))),a=v(y(t)),(t=ci(v(r-n),v(6.2831854820251465)))v(3.1415927410125732)&&(t=v(t+v(-6.2831854820251465))),n=ar&&((t=ci(v(n-r),v(6.2831854820251465)))v(3.1415927410125732)&&(t=v(t+v(-6.2831854820251465))),a=v(y(t)),(t=ci(v(n-i),v(6.2831854820251465)))v(3.1415927410125732)&&(t=v(t+v(-6.2831854820251465))),n=v(y(t))>2]=n,n>2]=n-i);n>r&&(o[e+297|0]=1,m[e+1088>>2]=n-r)}}(e),o[e+296|0]=0,i=m[e+1032>>2],h[e+1080>>2]=h[e+1032>>2];e:{t:{n:{if((r=m[e+184>>2])<=(n=m[e+188>>2])){if(ni)break n}if(h[e+1032>>2]=0,d[e+1096|0])break t;break e}o[e+296|0]=1,m[e+1032>>2]=i-n}h[t>>2]=h[t>>2]+1,h[t+4>>2]=h[t+4>>2]+-1}(d[e+1112|0]||d[e+297|0])&&(h[t>>2]=h[t>>2]+1,h[t+4>>2]=h[t+4>>2]+-1)},r[744]=function(e,t){!function(e,t,n,i,r,a,p,f){var _,b,C=v(0),A=0,x=v(0),T=v(0),E=0,P=v(0),O=v(0),M=0,R=v(0),I=v(0),D=v(0),L=0,N=0,F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=0,G=0,H=0,W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=0,q=0,J=0,$=0,ee=0,te=0,ne=0,ie=v(0),re=v(0),oe=v(0),ae=v(0),se=v(0),ce=v(0),le=v(0),ue=v(0),pe=v(0);w=_=w-48|0,b=d[e+180|0],ae=m[e+880>>2],se=m[e+944>>2],ce=m[e+876>>2],le=m[e+940>>2],ue=m[e+872>>2],pe=m[e+936>>2],R=(C=v(p+f))>v(0)?v(f/C):v(.5),D=v(v(1)-R),L=h[t+24>>2],z=m[e+920>>2],B=m[e+904>>2],k=m[e+856>>2],q=h[e+856>>2],W=m[e+840>>2],J=h[e+840>>2],Y=m[e+888>>2],X=m[e+824>>2],$=h[e+824>>2],(N=d[e+49|0])?(T=v(v(R*X)+v(D*Y)),x=v(v(R*W)+v(D*B)),I=v(v(R*k)+v(D*z)),C=v(v(1)/v(S(v(v(v(T*T)+v(x*x))+v(I*I))))),x=v(x*C),O=v(T*C),F=v(I*C),v(y(F))>v(.7071067690849304)?(C=v(v(F*F)+v(x*x)),V=v(v(1)/v(S(C))),C=v(C*V),T=v(V*v(-F)),I=v(O*T),j=v(x*V),V=v(j*v(-O))):(T=v(v(O*O)+v(x*x)),C=v(v(1)/v(S(T))),I=v(T*C),P=v(C*v(-x)),V=v(F*P),T=v(O*C),C=v(T*v(-F))),c(x),J=l(0),c(O),$=l(0),m[_+40>>2]=j,m[_+36>>2]=T,m[_+24>>2]=I,m[_+20>>2]=V,m[_+16>>2]=C,m[_+32>>2]=P,c(P),A=l(0),c(F),q=l(0)):(A=h[e+828>>2],E=h[e+844>>2],M=h[e+860>>2],h[_+44>>2]=0,h[_+40>>2]=M,h[_+36>>2]=E,h[_+32>>2]=A,E=h[e+832>>2],M=h[e+848>>2],G=h[e+864>>2],h[_+28>>2]=0,h[_+24>>2]=G,h[_+20>>2]=M,h[_+16>>2]=E),E=h[t+12>>2],h[E>>2]=A,h[E+4>>2]=h[_+36>>2],h[E+8>>2]=h[_+40>>2],h[(M=L<<2)+E>>2]=h[_+16>>2],h[(G=M+4|0)+E>>2]=h[_+20>>2],h[(U=M+8|0)+E>>2]=h[_+24>>2],A=h[t+20>>2],T=m[_+32>>2],K=v(-T),m[A>>2]=K,x=m[_+36>>2],m[A+4>>2]=-x,I=m[_+40>>2],m[A+8>>2]=-I,V=m[_+16>>2],m[A+M>>2]=-V,j=m[_+20>>2],m[A+G>>2]=-j,O=m[_+24>>2],m[A+U>>2]=-O,C=m[e+280>>2],U=G=h[t+28>>2],128&(H=h[e+300>>2])||(C=v(C*m[t+4>>2])),C=v(C*m[t>>2]),P=v(v(W*z)-v(k*B)),F=v(v(k*Y)-v(X*z)),z=v(v(X*B)-v(W*Y)),m[U>>2]=C*v(v(v(P*T)+v(F*x))+v(z*I)),m[M+G>>2]=C*v(v(v(P*V)+v(F*j))+v(z*O)),64&H&&(M=h[t+32>>2],h[M>>2]=h[e+292>>2],h[M+(L<<2)>>2]=h[e+292>>2]),Z=p>2],f=m[i+52>>2],C=m[n+56>>2],F=m[n+52>>2],P=m[i+48>>2],z=m[n+48>>2],h[_+8>>2]=0,h[_+12>>2]=0,h[_>>2]=0,h[_+4>>2]=0,G=g(L,3),n=L<<1,N?(V=m[e+1032>>2],j=m[e+1080>>2],T=m[e+944>>2],x=m[e+936>>2],I=m[e+940>>2],O=m[e+880>>2],W=m[e+872>>2],Y=m[e+876>>2],h[_+44>>2]=0,X=v(x-P),s(0,$),P=u(),K=v(I-f),s(0,J),B=u(),f=v(T-p),s(0,q),k=u(),p=v(v(v(X*P)+v(K*B))+v(f*k)),x=v(p*k),z=v(W-z),T=v(Y-F),O=v(O-C),C=v(v(v(z*P)+v(T*B))+v(O*k)),I=v(C*k),F=v(f-x),W=v(O-I),f=v(v(R*F)+v(D*W)),m[_+40>>2]=f,Y=v(p*B),K=v(K-Y),ie=v(C*B),re=v(T-ie),T=v(v(R*K)+v(D*re)),m[_+36>>2]=T,Q=X,X=v(p*P),oe=v(Q-X),C=v(C*P),Q=v(z-C),O=v(v(R*oe)+v(D*Q)),m[_+32>>2]=O,p=v(j-V),x=v(v(I+v(p*k))-x),V=v(F-v(D*x)),I=v(v(ie+v(p*B))-Y),F=v(K-v(D*I)),C=v(v(C+v(p*P))-X),p=v(oe-v(D*C)),z=v(W+v(R*x)),I=v(re+v(R*I)),j=v(Q+v(R*C)),(C=v(v(f*f)+v(v(O*O)+v(T*T))))>v(1.1920928955078125e-7)?(Q=f,f=v(v(1)/v(S(C))),C=v(Q*f),m[_+40>>2]=C,x=v(T*f),m[_+36>>2]=x,T=v(O*f),m[_+32>>2]=T,c(C),M=l(0),c(x),L=l(0)):(T=m[e+828>>2],i=h[e+828>>2],x=m[e+844>>2],L=h[e+844>>2],C=m[e+860>>2],M=h[e+860>>2],h[_+44>>2]=0,h[_+40>>2]=M,h[_+36>>2]=L,h[_+32>>2]=i),m[_+8>>2]=v(j*x)-v(I*T),h[_+28>>2]=0,m[_+4>>2]=v(z*T)-v(j*C),m[_>>2]=v(I*C)-v(z*x),f=v(v(x*P)-v(T*B)),m[_+24>>2]=f,O=v(v(T*k)-v(C*P)),m[_+20>>2]=O,m[_+16>>2]=v(C*B)-v(x*k),h[8+(i=(N=n<<2)+E|0)>>2]=h[_+8>>2],E=h[_+4>>2],h[i>>2]=h[_>>2],h[i+4>>2]=E,m[A+N>>2]=-v(v(F*C)-v(V*x)),m[(U=(1|n)<<2)+A>>2]=-v(v(V*T)-v(p*C)),m[(H=n+2<<2)+A>>2]=-v(v(p*x)-v(F*T)),h[_+12>>2]=0,T=v(v(I*f)-v(z*O)),m[_>>2]=T,C=m[_+16>>2],B=v(v(j*O)-v(I*C)),m[_+8>>2]=B,k=v(v(z*C)-v(j*f)),m[_+4>>2]=k,x=v(v(F*f)-v(V*O)),P=v(v(p*O)-v(F*C)),C=v(v(V*C)-v(p*f)),!Z|!d[e+297|0]||(m[_+8>>2]=R*B,m[_+4>>2]=R*k,m[_>>2]=R*T,P=v(D*P),x=v(D*x),C=v(D*C)),E=h[_+4>>2],A=(i=G<<2)+h[t+12>>2]|0,h[A>>2]=h[_>>2],h[A+4>>2]=E,h[A+8>>2]=h[_+8>>2],A=h[t+20>>2],m[A+(ee=i+4|0)>>2]=-C,m[i+A>>2]=-x,m[(te=i+8|0)+A>>2]=-P,A=h[t+8>>2],h[N+A>>2]=h[_+32>>2],h[A+U>>2]=L,h[A+H>>2]=M,E=h[_+16>>2],m[A+te>>2]=f,m[A+ee>>2]=O,h[i+A>>2]=E,E=h[t+16>>2],m[N+E>>2]=-m[_+32>>2],s(0,L),x=u(),m[E+U>>2]=-x,s(0,M),W=u(),m[E+H>>2]=-W,T=m[_+16>>2],m[E+ee>>2]=-O,m[i+E>>2]=-T,N=E+te|0,P=v(0),B=v(0),k=v(0),C=v(-f)):(i=n<<2,B=v(f-F),k=v(p-C),p=v(v(B*I)-v(k*x)),m[i+E>>2]=R*p,M=4|i,P=v(P-z),f=v(v(k*T)-v(P*I)),m[M+E>>2]=R*f,N=i+8|0,C=v(v(P*x)-v(B*T)),m[N+E>>2]=R*C,m[i+A>>2]=D*p,m[A+M>>2]=D*f,m[A+N>>2]=D*C,U=8+(L=G<<2)|0,p=v(v(P*j)-v(B*V)),m[U+E>>2]=R*p,H=L+4|0,f=v(v(k*V)-v(P*O)),m[H+E>>2]=R*f,C=v(v(B*O)-v(k*j)),m[E+L>>2]=R*C,m[A+U>>2]=D*p,m[A+H>>2]=D*f,m[A+L>>2]=D*C,A=h[t+8>>2],m[i+A>>2]=T,m[A+M>>2]=x,m[A+N>>2]=I,m[A+U>>2]=O,m[A+H>>2]=j,m[A+L>>2]=V,E=h[t+16>>2],m[i+E>>2]=K,x=m[_+36>>2],m[E+M>>2]=-x,W=m[_+40>>2],m[E+N>>2]=-W,T=m[_+16>>2],m[E+L>>2]=-T,O=m[_+20>>2],m[E+H>>2]=-O,N=E+U|0,p=v(0),F=v(0),V=v(0),j=v(0),I=v(0),z=v(0),f=m[_+24>>2],C=v(-f)),m[N>>2]=C,C=m[e+264>>2],i=(N=h[t+28>>2])+(n<<=2)|0,32&(U=h[e+300>>2])||(C=v(C*m[t+4>>2])),C=v(C*m[t>>2]),Y=v(pe-ue),X=v(le-ce),Q=v(v(Y*m[_+32>>2])+v(X*x)),x=v(se-ae),m[i>>2]=C*v(Q+v(x*W)),m[(i=G<<2)+N>>2]=C*v(v(v(Y*T)+v(X*O))+v(x*f)),16&U&&(ne=n,n=h[t+32>>2],h[ne+n>>2]=h[e+276>>2],h[n+i>>2]=h[e+276>>2]),O=v(b?1:-1);e:{t:{if(d[e+296|0])G=(C=v(O*m[e+1032>>2]))>v(0)?2:1,H=d[e+1096|0],n=1;else{if(!d[e+1096|0])break t;C=v(0),H=1,G=0,n=0}i=h[t+24>>2],h[(ee=i<<4)+A>>2]=$,h[(i=(te=1|(M=i<<2))<<2)+A>>2]=J,h[(ne=A)+(A=(L=2|M)<<2)>>2]=q,s(0,$),f=u(),m[E+ee>>2]=-f,s(0,J),T=u(),m[i+E>>2]=-T,s(0,q),x=u(),m[A+E>>2]=-x;n:{if(d[e+49|0]){if(Z)break n;h[_+12>>2]=0,R=v(v(j*T)-v(I*f)),m[_+8>>2]=R,D=v(v(z*f)-v(j*x)),m[_+4>>2]=D,P=v(v(I*x)-v(z*T)),m[_>>2]=P,i=h[t+12>>2],m[i+(E=M<<2)>>2]=P,m[(Z=te<<2)+i>>2]=D,m[i+(L<<2)>>2]=R,A=h[t+20>>2],m[E+A>>2]=-v(v(F*x)-v(V*T)),m[A+Z>>2]=-v(v(V*f)-v(p*x)),p=v(-v(v(p*T)-v(F*f)))}else E=h[t+12>>2],Z=M<<2,p=v(v(B*x)-v(k*T)),m[E+Z>>2]=R*p,I=v(v(k*f)-v(P*x)),m[i+E>>2]=R*I,Q=R,R=v(v(P*T)-v(B*f)),m[A+E>>2]=Q*R,A=h[t+20>>2],m[Z+A>>2]=D*p,m[i+A>>2]=D*I,p=v(D*R);m[(L<<2)+A>>2]=p}if(p=m[e+188>>2],R=m[e+184>>2],h[(A=M<<2)+N>>2]=0,i=h[t+36>>2],h[A+i>>2]=0,L=h[t+40>>2],h[A+L>>2]=0,D=m[(512&U?e+232|0:t+4|0)>>2],!H|n&R==p||(1&U&&(h[h[t+32>>2]+(M<<2)>>2]=h[e+212>>2]),P=Ko(m[e+1080>>2],m[e+184>>2],m[e+188>>2],m[e+1100>>2],v(D*m[t>>2])),N=h[t+28>>2],m[(i=N+(A=M<<2)|0)>>2]=m[i>>2]-v(v(O*P)*m[e+1100>>2]),i=h[t+36>>2],m[(E=A+i|0)>>2]=m[E>>2]-v(m[e+1104>>2]*m[t>>2]),L=h[t+40>>2],m[(A=A+L|0)>>2]=v(m[e+1104>>2]*m[t>>2])+m[A>>2]),E=5,!n)break e;m[(n=(A=M<<2)+N|0)>>2]=m[n>>2]+v(C*v(D*m[t>>2])),1&o[e+301|0]&&(h[A+h[t+32>>2]>>2]=h[e+244>>2]),ne=(M<<2)+L|0;n:{if(R!=p){if(i=(M<<2)+i|0,1==(0|G)){h[i>>2]=-8388609,p=v(0);break n}h[i>>2]=0}else h[(M<<2)+i>>2]=-8388609;p=v(34028234663852886e22)}m[ne>>2]=p;n:if(!((p=v(v(1)-m[e+240>>2]))==v(0)|p!=p))if(C=v(y(p)),p=v(O*v(v(v(v(m[r>>2]*f)+v(m[r+4>>2]*T))+v(m[r+8>>2]*x))-v(v(v(m[a>>2]*f)+v(m[a+4>>2]*T))+v(m[a+8>>2]*x)))),1!=(0|G))p>v(0)&&(p=v(p*v(-C)))>2]&&(m[n>>2]=p);else{if(!(pm[n>>2]))break n;m[n>>2]=p}m[n>>2]=m[e+232>>2]*m[n>>2];break e}E=4}e:{if(d[e+297|0])r=(P=m[e+1088>>2])>v(0)?1:2,L=!d[e+1112|0],n=1;else{if(!d[e+1112|0])break e;P=v(0),L=0,r=0,n=0}if(A=h[t+12>>2],i=g(h[t+24>>2],E),h[A+(a=i<<2)>>2]=$,h[(E=a+8|0)+A>>2]=q,h[(M=a+4|0)+A>>2]=J,A=h[t+20>>2],s(0,q),x=u(),m[A+E>>2]=-x,s(0,J),R=u(),m[A+M>>2]=-R,s(0,$),D=u(),m[a+A>>2]=-D,a=h[e+300>>2],I=m[(2048&a?e+248|0:t+4|0)>>2],n&(f=m[e+192>>2])==(p=m[e+196>>2])|L||(C=p,T=f,4&a&&(h[h[t+32>>2]+(i<<2)>>2]=h[e+228>>2],T=m[e+192>>2],C=m[e+196>>2]),C=Ko(m[e+1084>>2],T,C,m[e+1116>>2],v(I*m[t>>2])),N=h[t+28>>2],m[N+(a=i<<2)>>2]=C*m[e+1116>>2],m[a+h[t+36>>2]>>2]=m[t>>2]*v(-m[e+1120>>2]),m[a+h[t+40>>2]>>2]=m[e+1120>>2]*m[t>>2]),n){m[(n=(a=i<<2)+N|0)>>2]=m[n>>2]+v(P*v(I*m[t>>2])),4&d[e+301|0]&&(h[a+h[t+32>>2]>>2]=h[e+260>>2]),f!=p?(a=h[t+36>>2]+(i<<2)|0,1!=(0|r)?(h[a>>2]=-8388609,p=v(0)):(h[a>>2]=0,p=v(34028234663852886e22))):(h[h[t+36>>2]+(i<<2)>>2]=-8388609,p=v(34028234663852886e22)),m[h[t+40>>2]+(i<<2)>>2]=p;t:if(!((p=v(v(1)-m[e+256>>2]))==v(0)|p!=p))if(f=v(y(p)),t=h[e+28>>2],p=v(v(v(m[t+328>>2]*D)+v(m[t+332>>2]*R))+v(m[t+336>>2]*x)),t=h[e+32>>2],p=v(p-v(v(v(m[t+328>>2]*D)+v(m[t+332>>2]*R))+v(m[t+336>>2]*x))),1!=(0|r))p>v(0)&&(p=v(p*v(-f)))>2]&&(m[n>>2]=p);else{if(!(pm[n>>2]))break t;m[n>>2]=p}m[n>>2]=m[e+248>>2]*m[n>>2]}}w=_+48|0}(e|=0,t|=0,(t=h[e+28>>2])+4|0,(e=h[e+32>>2])+4|0,t+312|0,e+312|0,m[t+344>>2],m[e+344>>2])},r[745]=function(e,t,n,i){e|=0,t|=0,n=v(n),i|=0;e:{t:switch(t+-2|0){case 0:if((0|i)<=0)return m[e+232>>2]=n,void(h[e+300>>2]=512|h[e+300>>2]);if((0|i)<=2)return m[e+264>>2]=n,void(h[e+300>>2]=32|h[e+300>>2]);if(3==(0|i))return m[e+248>>2]=n,void(h[e+300>>2]=2048|h[e+300>>2]);if((0|i)>5)break e;return m[e+280>>2]=n,void(h[e+300>>2]=128|h[e+300>>2]);case 1:if((0|i)<=0)return m[e+212>>2]=n,void(h[e+300>>2]=1|h[e+300>>2]);if(3!=(0|i))break e;return m[e+228>>2]=n,void(h[e+300>>2]=4|h[e+300>>2]);case 2:break t;default:break e}if((0|i)<=0)return m[e+244>>2]=n,void(h[e+300>>2]=256|h[e+300>>2]);if((0|i)<=2)return m[e+276>>2]=n,void(h[e+300>>2]=16|h[e+300>>2]);if(3==(0|i))return m[e+260>>2]=n,void(h[e+300>>2]=1024|h[e+300>>2]);(0|i)>5||(m[e+292>>2]=n,h[e+300>>2]=64|h[e+300>>2])}},r[746]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0);i=v(34028234663852886e22);e:{t:switch(t+-2|0){case 0:if((0|n)<=0)return v(m[e+232>>2]);if((0|n)<=2)return v(m[e+264>>2]);if(3==(0|n))return v(m[e+248>>2]);if((0|n)>5)break e;return v(m[e+280>>2]);case 1:if((0|n)<=0)return v(m[e+212>>2]);if(3!=(0|n))break e;return v(m[e+228>>2]);case 2:break t;default:break e}if((0|n)<=0)return v(m[e+244>>2]);if((0|n)<=2)return v(m[e+276>>2]);if(3==(0|n))return v(m[e+260>>2]);(0|n)>5||(i=m[e+292>>2])}return v(i)},r[747]=function(e){return 204},r[748]=function(e,t,n){return Li(e|=0,t|=0,n|=0),h[t+52>>2]=h[e+52>>2],h[t+56>>2]=h[e+56>>2],h[t+60>>2]=h[e+60>>2],h[t+64>>2]=h[e- -64>>2],h[t+68>>2]=h[e+68>>2],h[t+72>>2]=h[e+72>>2],h[t+76>>2]=h[e+76>>2],h[t+80>>2]=h[e+80>>2],h[t+84>>2]=h[e+84>>2],h[t+88>>2]=h[e+88>>2],h[t+92>>2]=h[e+92>>2],h[t+96>>2]=h[e+96>>2],h[t+100>>2]=h[e+100>>2],h[t+104>>2]=h[e+104>>2],h[t+108>>2]=h[e+108>>2],h[t+112>>2]=h[e+112>>2],h[t+116>>2]=h[e+116>>2],h[t+120>>2]=h[e+120>>2],h[t+124>>2]=h[e+124>>2],h[t+128>>2]=h[e+128>>2],h[t+132>>2]=h[e+132>>2],h[t+136>>2]=h[e+136>>2],h[t+140>>2]=h[e+140>>2],h[t+144>>2]=h[e+144>>2],h[t+148>>2]=h[e+148>>2],h[t+152>>2]=h[e+152>>2],h[t+156>>2]=h[e+156>>2],h[t+160>>2]=h[e+160>>2],h[t+164>>2]=h[e+164>>2],h[t+168>>2]=h[e+168>>2],h[t+172>>2]=h[e+172>>2],h[t+176>>2]=h[e+176>>2],h[t+180>>2]=h[e+188>>2],h[t+184>>2]=h[e+184>>2],h[t+188>>2]=h[e+196>>2],h[t+192>>2]=h[e+192>>2],h[t+196>>2]=d[e+180|0],h[t+200>>2]=d[e+49|0],19516},r[749]=nh,r[750]=function(e){e|=0;var t,n=0,i=0,r=v(0),o=v(0),a=v(0),s=0,c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),C=0,A=v(0),x=v(0),T=v(0),E=v(0);if(w=t=w-176|0,d[e+527|0]){h[e+36>>2]=0,h[e+576>>2]=0,h[e+580>>2]=0,h[e+516>>2]=0,h[e+520>>2]=0,h[e+584>>2]=0,h[e+588>>2]=0;e:if(!d[e+524|0])for(c=m[e+412>>2],n=h[e+32>>2],p=m[e+416>>2],f=m[e+420>>2],A=v(v(v(v(c*m[n+4>>2])+v(p*m[n+8>>2]))+v(f*m[n+12>>2]))+m[n+52>>2]),_=m[e+348>>2],i=h[e+28>>2],a=m[e+352>>2],r=m[e+356>>2],x=v(v(v(v(_*m[i+4>>2])+v(a*m[i+8>>2]))+v(r*m[i+12>>2]))+m[i+52>>2]),b=v(A-x),T=v(v(v(v(c*m[n+20>>2])+v(p*m[n+24>>2]))+v(f*m[n+28>>2]))+m[n+56>>2]),E=v(v(v(v(_*m[i+20>>2])+v(a*m[i+24>>2]))+v(r*m[i+28>>2]))+m[i+56>>2]),o=v(T-E),f=v(v(v(v(c*m[n+36>>2])+v(p*m[n+40>>2]))+v(f*m[n+44>>2]))+m[n+60>>2]),_=v(v(v(v(_*m[i+36>>2])+v(a*m[i+40>>2]))+v(r*m[i+44>>2]))+m[i+60>>2]),a=v(f-_),(r=v(v(v(b*b)+v(o*o))+v(a*a)))>v(1.1920928955078125e-7)?(h[t+140>>2]=0,r=v(v(1)/v(S(r))),l=v(a*r),m[t+136>>2]=l,u=v(o*r),m[t+132>>2]=u,c=v(b*r),m[t+128>>2]=c):(h[t+136>>2]=0,h[t+140>>2]=0,h[t+128>>2]=1065353216,h[t+132>>2]=0,c=v(1)),v(y(l))>v(.7071067690849304)?(r=v(v(l*l)+v(u*u)),p=v(v(1)/v(S(r))),b=v(r*p),o=v(p*v(-l)),a=v(c*o),l=v(u*p),u=v(l*v(-c)),r=v(0)):(r=v(v(c*c)+v(u*u)),o=v(v(1)/v(S(r))),a=v(r*o),r=v(o*v(-u)),u=v(l*r),o=v(c*o),b=v(o*v(-l)),l=v(0)),m[t+168>>2]=a,m[t+164>>2]=u,m[t+152>>2]=l,m[t+148>>2]=o,m[t+160>>2]=b,m[t+144>>2]=r;;){if(s=h[e+28>>2],h[t+80>>2]=h[s+4>>2],h[t+84>>2]=h[s+20>>2],i=h[s+36>>2],h[t+92>>2]=0,h[t+88>>2]=i,h[t+96>>2]=h[s+8>>2],h[t+100>>2]=h[s+24>>2],i=h[s+40>>2],h[t+108>>2]=0,h[t+104>>2]=i,h[t+112>>2]=h[s+12>>2],h[t+116>>2]=h[s+28>>2],i=h[s+44>>2],h[t+124>>2]=0,h[t+120>>2]=i,h[t+32>>2]=h[n+4>>2],h[t+36>>2]=h[n+20>>2],i=h[n+36>>2],h[t+44>>2]=0,h[t+40>>2]=i,h[t+48>>2]=h[n+8>>2],h[t+52>>2]=h[n+24>>2],i=h[n+40>>2],h[t+60>>2]=0,h[t+56>>2]=i,h[t+64>>2]=h[n+12>>2],h[t+68>>2]=h[n+28>>2],i=h[n+44>>2],h[t+76>>2]=0,h[t+72>>2]=i,o=m[s+52>>2],a=m[s+56>>2],r=m[s+60>>2],h[t+28>>2]=0,m[t+24>>2]=_-r,m[t+20>>2]=E-a,m[t+16>>2]=x-o,o=m[n+52>>2],a=m[n+56>>2],r=m[n+60>>2],h[t+12>>2]=0,m[t+8>>2]=f-r,m[t+4>>2]=T-a,m[t>>2]=A-o,_n(48+(g(C,84)+e|0)|0,t+80|0,t+32|0,t+16|0,t,(t+128|0)+(C<<4)|0,s+396|0,m[s+344>>2],n+396|0,m[n+344>>2]),3==(0|(C=C+1|0)))break e;n=h[e+32>>2]}V(n=e,(i=h[e+28>>2])+4|0,(e=h[e+32>>2])+4|0,i+264|0,e+264|0)}w=t+176|0},r[751]=function(e,t){e|=0,t|=0;var n=0,i=0,r=v(0);if(d[e+527|0])return h[t>>2]=0,void(h[t+4>>2]=0);h[t>>2]=3,h[t+4>>2]=3,V(e,(n=h[e+28>>2])+4|0,(i=h[e+32>>2])+4|0,n+264|0,i+264|0),d[e+526|0]&&(n=h[t>>2],h[t>>2]=n+1,i=h[t+4>>2],h[t+4>>2]=i+-1,r=m[e+456>>2],m[e+444>>2]>2]>2]=i+-2,h[t>>2]=n+2)),d[e+525|0]&&(h[t>>2]=h[t>>2]+1,h[t+4>>2]=h[t+4>>2]+-1)},r[752]=function(e,t){!function(e,t,n,i,r,o){var a,s,c,l=v(0),u=v(0),p=v(0),f=0,_=v(0),b=0,y=v(0),C=0,A=v(0),x=0,S=v(0),T=v(0),E=v(0),P=v(0),O=0,M=0,R=0,I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0);if(w=s=w-16|0,V(e,n,i,r,o),r=h[t+8>>2],h[r>>2]=1065353216,c=h[t+24>>2],h[(o=4+(C=c<<2)|0)+r>>2]=1065353216,h[(f=r)+(r=8+(x=c<<3)|0)>>2]=1065353216,D=m[n+20>>2],I=m[n+24>>2],T=m[e+348>>2],S=m[n+36>>2],E=m[e+352>>2],_=m[n+40>>2],P=m[e+356>>2],u=m[n+8>>2],y=m[n>>2],A=m[n+4>>2],p=m[n+16>>2],l=m[n+32>>2],h[s+12>>2]=0,_=v(v(v(T*l)+v(E*S))+v(P*_)),m[s+8>>2]=_,p=v(v(v(T*p)+v(E*D))+v(P*I)),m[s+4>>2]=p,l=v(v(v(y*T)+v(A*E))+v(u*P)),m[s>>2]=l,f=h[t+12>>2],h[f+12>>2]=0,m[f+8>>2]=-p,m[f+4>>2]=_,h[f>>2]=0,h[12+(b=f+C|0)>>2]=0,m[b+8>>2]=l,h[b+4>>2]=0,m[b>>2]=-_,h[8+(b=f+x|0)>>2]=0,h[b+12>>2]=0,m[b+4>>2]=-l,m[b>>2]=p,b=h[t+16>>2],h[b>>2]=-1082130432,h[o+b>>2]=-1082130432,h[r+b>>2]=-1082130432,D=m[i+36>>2],I=m[i+40>>2],T=m[e+412>>2],S=m[i+20>>2],E=m[e+416>>2],_=m[i+24>>2],P=m[e+420>>2],u=m[i+8>>2],y=m[i>>2],A=m[i+4>>2],p=m[i+32>>2],l=m[i+16>>2],a=h[t+20>>2],h[a+12>>2]=0,h[a>>2]=0,S=v(v(v(T*l)+v(E*S))+v(P*_)),m[a+8>>2]=S,_=v(v(v(T*p)+v(E*D))+v(P*I)),m[a+4>>2]=-_,h[12+(r=a+C|0)>>2]=0,p=v(v(v(y*T)+v(A*E))+v(u*P)),m[r+8>>2]=-p,h[r+4>>2]=0,m[r>>2]=_,h[8+(r=a+x|0)>>2]=0,h[r+12>>2]=0,m[r+4>>2]=p,m[r>>2]=-S,M=h[t+40>>2],O=h[t+36>>2],R=h[t+28>>2],b=h[e+592>>2],l=v(m[(2&b?e+600|0:t+4|0)>>2]*m[t>>2]),m[R>>2]=l*v(v(v(p+m[i+48>>2])-m[s>>2])-m[n+48>>2]),h[O>>2]=-8388609,h[M>>2]=2139095039,(o=1&b)&&(h[h[t+32>>2]>>2]=h[e+596>>2]),m[C+R>>2]=l*v(v(v(S+m[i+52>>2])-m[s+4>>2])-m[n+52>>2]),h[C+O>>2]=-8388609,h[C+M>>2]=2139095039,o&&(h[h[t+32>>2]+(c<<2)>>2]=h[e+596>>2]),m[(r=c<<3)+R>>2]=l*v(v(v(_+m[i+56>>2])-m[s+8>>2])-m[n+56>>2]),h[r+O>>2]=-8388609,h[r+M>>2]=2139095039,o&&(h[h[t+32>>2]+(c<<3)>>2]=h[e+596>>2]),i=r=g(c,3),d[e+526|0]&&(l=m[e+456>>2],m[e+444>>2]>2]>2],l=m[e+468>>2],r<<=2,u=m[e+436>>2],A=v(u*v(u*m[e+460>>2])),m[r+f>>2]=A,i=r+8|0,p=v(u*v(u*l)),m[i+f>>2]=p,n=r+4|0,l=v(u*v(u*y)),m[n+f>>2]=l,m[i+a>>2]=-p,m[n+a>>2]=-l,m[r+a>>2]=-A,m[r+R>>2]=v(m[t>>2]*m[e+432>>2])*m[e+504>>2],4&b&&(h[r+h[t+32>>2]>>2]=h[e+604>>2]),h[r+O>>2]=0,h[r+M>>2]=2139095039,i=c<<2):(L=m[e+340>>2],N=m[e+308>>2],F=m[e+324>>2],B=m[n+8>>2],k=m[n>>2],T=m[n+4>>2],E=m[n+24>>2],P=m[n+16>>2],D=m[n+20>>2],o=8+(C=r<<2)|0,_=m[e+304>>2],A=m[n+32>>2],u=m[e+320>>2],p=m[n+36>>2],y=m[e+336>>2],l=m[n+40>>2],I=v(v(v(_*A)+v(u*p))+v(y*l)),m[o+f>>2]=I,r=C+4|0,S=v(v(v(_*P)+v(u*D))+v(y*E)),m[r+f>>2]=S,_=v(v(v(k*_)+v(T*u))+v(B*y)),m[f+C>>2]=_,x=c<<4,u=v(v(v(k*N)+v(T*F))+v(B*L)),m[x+f>>2]=u,i=4|x,y=v(v(v(N*P)+v(F*D))+v(L*E)),m[i+f>>2]=y,n=8|x,p=v(v(v(N*A)+v(F*p))+v(L*l)),m[n+f>>2]=p,m[o+a>>2]=-I,m[r+a>>2]=-S,m[a+C>>2]=-_,m[a+x>>2]=-u,m[i+a>>2]=-y,m[n+a>>2]=-p,R=h[t+28>>2],l=v(m[t>>2]*m[e+436>>2]),m[C+R>>2]=l*v(v(v(_*m[e+460>>2])+v(S*m[e+464>>2]))+v(I*m[e+468>>2])),m[x+R>>2]=l*v(v(v(u*m[e+460>>2])+v(y*m[e+464>>2]))+v(p*m[e+468>>2])),O=h[t+36>>2],h[C+O>>2]=-8388609,M=h[t+40>>2],h[C+M>>2]=2139095039,h[x+O>>2]=-8388609,h[x+M>>2]=2139095039,i=g(c,5))),d[e+525|0]){y=m[e+480>>2],l=m[e+484>>2],o=i<<2,u=m[e+436>>2],A=v(u*v(u*m[e+476>>2])),m[o+f>>2]=A,r=o+8|0,p=v(u*v(u*l)),m[r+f>>2]=p,n=o+4|0,l=v(u*v(u*y)),m[n+f>>2]=l,m[r+a>>2]=-p,m[n+a>>2]=-l,m[o+a>>2]=-A,m[o+R>>2]=v(m[t>>2]*m[e+432>>2])*m[e+508>>2],4&b&&(h[o+h[t+32>>2]>>2]=h[e+604>>2]),t=(i<<2)+M|0;e:{t:{if(m[e+452>>2]>v(0)){if(n=(i<<2)+O|0,m[e+508>>2]>v(0)){h[n>>2]=0;break t}h[n>>2]=-8388609,l=v(0);break e}h[(i<<2)+O>>2]=-8388609}l=v(34028234663852886e22)}m[t>>2]=l}w=s+16|0}(e|=0,t|=0,(t=h[e+28>>2])+4|0,(e=h[e+32>>2])+4|0,t+264|0,e+264|0)},r[753]=function(e,t,n,i){e|=0,t|=0,n|=0,i=v(i);var r,o=v(0),a=v(0),s=v(0),c=v(0),l=0,u=v(0),p=0,f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=0,M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0),q=v(0),J=v(0),$=v(0),ee=v(0),te=v(0),ne=v(0),ie=v(0),re=0,oe=0,ae=0,se=v(0),ce=v(0),le=v(0);if(w=r=w-464|0,d[e+527|0]){if(l=h[e+32>>2],p=h[e+28>>2],!d[e+524|0])for(o=m[e+348>>2],a=m[e+352>>2],s=m[e+356>>2],c=m[p+56>>2],y=v(v(v(v(o*m[p+20>>2])+v(a*m[p+24>>2]))+v(s*m[p+28>>2]))+c),u=v(y-c),C=v(m[t+192>>2]+m[t+80>>2]),c=m[p+52>>2],E=v(v(v(v(o*m[p+4>>2])+v(a*m[p+8>>2]))+v(s*m[p+12>>2]))+c),_=v(E-c),P=v(m[t+196>>2]+m[t+84>>2]),c=m[e+412>>2],A=m[e+416>>2],f=m[e+420>>2],b=m[l+56>>2],M=v(v(v(v(c*m[l+20>>2])+v(A*m[l+24>>2]))+v(f*m[l+28>>2]))+b),b=v(M-b),I=v(m[n+192>>2]+m[n+80>>2]),x=m[l+52>>2],R=v(v(v(v(c*m[l+4>>2])+v(A*m[l+8>>2]))+v(f*m[l+12>>2]))+x),x=v(R-x),L=v(m[n+196>>2]+m[n+84>>2]),N=v(v(v(m[t+184>>2]+m[t+72>>2])+v(v(u*C)-v(_*P)))-v(v(m[n+184>>2]+m[n+72>>2])+v(v(b*I)-v(x*L)))),F=v(m[t+200>>2]+m[t+88>>2]),s=v(v(v(o*m[p+36>>2])+v(a*m[p+40>>2]))+v(s*m[p+44>>2])),o=m[p+60>>2],a=v(s+o),T=v(a-o),o=v(m[n+200>>2]+m[n+88>>2]),s=m[l+60>>2],c=v(v(v(v(c*m[l+36>>2])+v(A*m[l+40>>2]))+v(f*m[l+44>>2]))+s),A=v(c-s),I=v(v(v(m[t+180>>2]+m[t+68>>2])+v(v(_*F)-v(T*C)))-v(v(m[n+180>>2]+m[n+68>>2])+v(v(x*o)-v(A*I)))),P=v(v(v(m[t+176>>2]+m[t+64>>2])+v(v(T*P)-v(u*F)))-v(v(m[n+176>>2]+m[n+64>>2])+v(v(A*L)-v(b*o)))),L=v(a-c),M=v(y-M),E=v(E-R),oe=h[n+240>>2],ae=h[t+240>>2];O=g(re,84)+e|0,o=v(v(1)/m[O+128>>2]),a=m[O+48>>2],s=m[O+52>>2],c=m[O+56>>2],o=v(v(o*v(v(v(v(v(E*a)+v(M*s))+v(L*c))*v(-.30000001192092896))/i))-v(o*v(v(v(P*a)+v(I*s))+v(N*c)))),m[e+36>>2]=m[e+36>>2]+o,a=m[O+48>>2],s=m[O+52>>2],c=m[O+56>>2],ae&&(R=m[p+304>>2],F=m[p+296>>2],B=m[p+300>>2],k=m[p+288>>2],U=m[p+280>>2],D=m[p+284>>2],C=m[p+272>>2],y=m[p+264>>2],z=m[p+268>>2],f=m[p+344>>2],m[t+64>>2]=v(v(o*v(a*f))*m[t+112>>2])+m[t+64>>2],m[t+68>>2]=v(v(o*v(s*f))*m[t+116>>2])+m[t+68>>2],m[t+72>>2]=v(v(o*v(c*f))*m[t+120>>2])+m[t+72>>2],f=v(v(u*c)-v(T*s)),V=v(y*f),y=v(v(T*a)-v(_*c)),j=C,C=v(v(_*s)-v(u*a)),m[t+80>>2]=v(v(v(V+v(z*y))+v(j*C))*v(o*m[t+96>>2]))+m[t+80>>2],z=m[t+104>>2],m[t+84>>2]=v(v(v(v(f*U)+v(y*D))+v(C*k))*v(o*m[t+100>>2]))+m[t+84>>2],m[t+88>>2]=v(v(v(v(f*F)+v(y*B))+v(C*R))*v(o*z))+m[t+88>>2]),oe&&(y=m[l+304>>2],C=m[l+296>>2],R=m[l+300>>2],F=m[l+288>>2],B=m[l+280>>2],k=m[l+284>>2],U=m[l+272>>2],D=m[l+264>>2],z=m[l+268>>2],ee=m[O+56>>2],$=m[O+52>>2],f=m[l+344>>2],o=v(-o),m[n+64>>2]=v(m[n+112>>2]*v(v(f*m[O+48>>2])*o))+m[n+64>>2],m[n+68>>2]=v(v(v(f*$)*o)*m[n+116>>2])+m[n+68>>2],m[n+72>>2]=v(v(v(f*ee)*o)*m[n+120>>2])+m[n+72>>2],f=v(v(b*c)-v(A*s)),c=v(v(A*a)-v(x*c)),a=v(v(x*s)-v(b*a)),m[n+80>>2]=v(v(v(v(D*f)+v(z*c))+v(U*a))*v(m[n+96>>2]*o))+m[n+80>>2],s=m[n+104>>2],m[n+84>>2]=v(v(v(v(f*B)+v(c*k))+v(a*F))*v(m[n+100>>2]*o))+m[n+84>>2],m[n+88>>2]=v(v(v(v(f*C)+v(c*R))+v(a*y))*v(s*o))+m[n+88>>2]),3!=(0|(re=re+1|0)););e:if(d[e+552|0]){if(O=h[p+16>>2],h[r+384>>2]=h[p+12>>2],h[r+388>>2]=O,O=h[p+8>>2],h[r+376>>2]=h[p+4>>2],h[r+380>>2]=O,O=h[p+32>>2],h[r+400>>2]=h[p+28>>2],h[r+404>>2]=O,O=h[p+24>>2],h[r+392>>2]=h[p+20>>2],h[r+396>>2]=O,O=h[p+48>>2],h[r+416>>2]=h[p+44>>2],h[r+420>>2]=O,O=h[p+40>>2],h[r+408>>2]=h[p+36>>2],h[r+412>>2]=O,O=h[p+64>>2],h[r+432>>2]=h[p+60>>2],h[r+436>>2]=O,O=h[p+56>>2],h[r+424>>2]=h[p+52>>2],h[r+428>>2]=O,p=h[l+16>>2],h[r+320>>2]=h[l+12>>2],h[r+324>>2]=p,p=h[l+8>>2],h[r+312>>2]=h[l+4>>2],h[r+316>>2]=p,p=h[l+32>>2],h[r+336>>2]=h[l+28>>2],h[r+340>>2]=p,p=h[l+24>>2],h[r+328>>2]=h[l+20>>2],h[r+332>>2]=p,p=h[l+48>>2],h[r+352>>2]=h[l+44>>2],h[r+356>>2]=p,p=h[l+40>>2],h[r+344>>2]=h[l+36>>2],h[r+348>>2]=p,p=h[l+64>>2],h[r+368>>2]=h[l+60>>2],h[r+372>>2]=p,p=h[l+56>>2],h[r+360>>2]=h[l+52>>2],h[r+364>>2]=p,o=m[t+84>>2],a=m[t+196>>2],s=m[t+88>>2],c=m[t+200>>2],u=m[t+80>>2],_=m[t+192>>2],h[r+308>>2]=0,m[r+304>>2]=c+s,m[r+300>>2]=a+o,m[r+296>>2]=_+u,o=m[n+84>>2],a=m[n+196>>2],s=m[n+88>>2],c=m[n+200>>2],u=m[n+80>>2],_=m[n+192>>2],h[r+292>>2]=0,m[r+288>>2]=c+s,m[r+284>>2]=a+o,m[r+280>>2]=_+u,h[r+228>>2]=0,h[r+232>>2]=0,h[r+240>>2]=0,h[r+244>>2]=0,h[r+236>>2]=1065353216,h[r+260>>2]=0,h[r+264>>2]=0,h[r+256>>2]=1065353216,h[r+268>>2]=0,h[r+272>>2]=0,h[r+276>>2]=0,h[r+220>>2]=0,h[r+224>>2]=0,h[r+216>>2]=1065353216,h[r+248>>2]=0,h[r+252>>2]=0,h[r+208>>2]=0,h[r+212>>2]=0,h[r+200>>2]=0,h[r+204>>2]=0,Sn(r+376|0,r+200|0,r+296|0,i,r+216|0),h[r+148>>2]=0,h[r+152>>2]=0,h[r+160>>2]=0,h[r+164>>2]=0,h[r+156>>2]=1065353216,h[r+180>>2]=0,h[r+184>>2]=0,h[r+176>>2]=1065353216,h[r+188>>2]=0,h[r+192>>2]=0,h[r+196>>2]=0,h[r+140>>2]=0,h[r+144>>2]=0,h[r+136>>2]=1065353216,h[r+168>>2]=0,h[r+172>>2]=0,Sn(r+312|0,r+200|0,r+280|0,i,r+136|0),T=m[e+308>>2],y=m[e+304>>2],c=m[e+324>>2],_=m[e+316>>2],A=m[e+320>>2],f=m[e+404>>2],C=m[e+400>>2],E=m[e+396>>2],P=m[e+372>>2],M=m[e+368>>2],I=m[e+340>>2],R=m[e+332>>2],L=m[e+336>>2],N=m[e+388>>2],F=m[e+384>>2],B=m[e+380>>2],a=m[e+568>>2],u=m[e+564>>2],s=m[e+560>>2],se=m[e+420>>2],j=m[e+412>>2],ce=m[e+416>>2],k=m[e+300>>2],z=m[e+356>>2],le=m[e+352>>2],ee=m[e+348>>2],U=m[e+364>>2],o=m[e+556>>2],h[r+132>>2]=0,h[r+116>>2]=0,h[r+100>>2]=0,x=v(v(2)/v(v(v(v(o*o)+v(s*s))+v(u*u))+v(a*a))),b=v(u*x),X=v(o*b),D=v(s*x),Y=v(a*D),V=v(X-Y),Q=v(o*D),K=v(a*b),G=v(Q+K),Z=v(s*D),D=v(u*b),u=v(v(1)-v(Z+D)),$=v(v(P*V)+v(v(M*G)+v(U*u))),q=v(s*b),s=a,a=v(o*x),J=v(s*a),s=v(q+J),b=v(Q-K),o=v(o*a),x=v(v(1)-v(o+D)),Q=v(v(P*s)+v(v(U*b)+v(M*x))),D=v(X+Y),H=v(q-J),W=v(v(1)-v(o+Z)),X=v(v(v(U*D)+v(M*H))+v(P*W)),o=v(v(v(R*$)+v(L*Q))+v(I*X)),Y=m[r+168>>2],K=v(v(V*N)+v(v(F*G)+v(B*u))),Z=v(v(s*N)+v(v(B*b)+v(F*x))),q=v(v(v(B*D)+v(F*H))+v(N*W)),a=v(v(v(R*K)+v(L*Z))+v(I*q)),J=m[r+172>>2],V=v(v(v(u*E)+v(G*C))+v(V*f)),G=v(v(v(b*E)+v(x*C))+v(s*f)),H=v(v(v(D*E)+v(H*C))+v(W*f)),s=v(v(v(R*V)+v(L*G))+v(I*H)),W=m[r+176>>2],m[r+112>>2]=v(v(o*Y)+v(a*J))+v(s*W),b=v(v(v($*_)+v(Q*A))+v(X*c)),x=v(v(v(K*_)+v(Z*A))+v(q*c)),u=v(v(v(V*_)+v(G*A))+v(H*c)),m[r+108>>2]=v(v(Y*b)+v(J*x))+v(W*u),te=m[r+152>>2],ne=m[r+156>>2],ie=m[r+160>>2],m[r+96>>2]=v(v(o*te)+v(a*ne))+v(s*ie),m[r+92>>2]=v(v(b*te)+v(x*ne))+v(u*ie),D=v(0),P=v(j+v(v(v(U*v(0))+v(M*v(0)))+v(P*v(0)))),j=c,c=v(-le),M=v(v(v(j*c)-v(T*ee))-v(I*z)),_=v(v(v(_*c)-v(k*ee))-v(R*z)),c=v(v(v(A*c)-v(y*ee))-v(L*z)),A=v(P+v(v(X*M)+v(v($*_)+v(Q*c)))),P=v(v(ce+v(v(v(B*v(0))+v(F*v(0)))+v(N*v(0))))+v(v(q*M)+v(v(K*_)+v(Z*c)))),f=v(v(se+v(v(v(E*v(0))+v(C*v(0)))+v(f*v(0))))+v(v(H*M)+v(v(V*_)+v(G*c)))),F=v(v(v(v(Y*A)+v(J*P))+v(W*f))+m[r+192>>2]),m[r+128>>2]=F,B=v(v(v(v(te*A)+v(P*ne))+v(f*ie))+m[r+188>>2]),m[r+124>>2]=B,h[r+84>>2]=0,_=v(v(v($*k)+v(Q*y))+v(X*T)),c=v(v(v(K*k)+v(Z*y))+v(q*T)),T=v(v(v(V*k)+v(G*y))+v(H*T)),m[r+104>>2]=v(v(Y*_)+v(J*c))+v(W*T),m[r+88>>2]=v(v(_*te)+v(c*ne))+v(T*ie),y=m[r+136>>2],C=m[r+140>>2],E=m[r+144>>2],m[r+80>>2]=v(v(o*y)+v(a*C))+v(s*E),m[r+76>>2]=v(v(b*y)+v(x*C))+v(u*E),m[r+72>>2]=v(v(_*y)+v(c*C))+v(T*E),k=v(v(v(E*f)+v(v(y*A)+v(C*P)))+m[r+184>>2]),m[r+120>>2]=k,h[r+68>>2]=0,h[r+52>>2]=0,h[r+36>>2]=0,y=m[r+248>>2],C=m[r+252>>2],E=m[r+256>>2],m[r+48>>2]=v(v(T*y)+v(u*C))+v(s*E),m[r+44>>2]=v(v(c*y)+v(x*C))+v(a*E),M=m[r+232>>2],I=m[r+236>>2],R=m[r+240>>2],m[r+32>>2]=v(v(T*M)+v(u*I))+v(s*R),m[r+28>>2]=v(v(c*M)+v(x*I))+v(a*R),P=v(-P),L=v(v(v(c*P)-v(_*A))-v(T*f)),N=v(v(v(x*P)-v(b*A))-v(u*f)),A=v(v(v(a*P)-v(o*A))-v(s*f)),f=v(v(v(v(y*L)+v(C*N))+v(E*A))+m[r+272>>2]),m[r- -64>>2]=f,P=v(v(v(v(L*M)+v(N*I))+v(A*R))+m[r+268>>2]),m[r+60>>2]=P,h[r+20>>2]=0,m[r+40>>2]=v(v(_*y)+v(b*C))+v(o*E),m[r+24>>2]=v(v(_*M)+v(b*I))+v(o*R),C=T,T=m[r+216>>2],j=u,u=m[r+220>>2],R=s,s=m[r+224>>2],m[r+16>>2]=v(v(C*T)+v(j*u))+v(R*s),m[r+12>>2]=v(v(c*T)+v(x*u))+v(a*s),m[r+8>>2]=v(v(_*T)+v(b*u))+v(o*s),a=v(v(v(v(L*T)+v(N*u))+v(A*s))+m[r+264>>2]),m[r+56>>2]=a,h[r+212>>2]=0,o=v(v(1)/i),m[r+208>>2]=o*v(F-m[r+432>>2]),m[r+200>>2]=o*v(k-m[r+424>>2]),m[r+204>>2]=o*v(B-m[r+428>>2]),Gt(r+376|0,r+72|0,r+448|0,r+444|0),h[r+212>>2]=0,m[r+208>>2]=o*v(f-m[r+368>>2]),m[r+204>>2]=o*v(P-m[r+364>>2]),m[r+200>>2]=o*v(a-m[r+360>>2]),b=m[r+452>>2],a=m[r+444>>2],C=m[r+456>>2],f=m[r+448>>2],Gt(r+312|0,r+8|0,r+448|0,r+444|0),s=m[r+444>>2],x=v(v(o*v(s*m[r+456>>2]))-m[r+288>>2]),T=v(v(o*v(s*m[r+452>>2]))-m[r+284>>2]),A=v(v(o*v(m[r+448>>2]*s))-m[r+280>>2]),s=v(0),f=v(v(o*v(f*a))-m[r+296>>2]),y=v(v(o*v(a*b))-m[r+300>>2]),C=v(v(o*v(a*C))-m[r+304>>2]),(o=v(v(v(f*f)+v(y*y))+v(C*C)))>v(1.1920928955078125e-7)&&(o=v(v(1)/v(S(o))),_=v(f*o),l=h[e+28>>2],c=v(y*o),u=v(C*o),s=v(v(v(_*v(v(v(_*m[l+264>>2])+v(c*m[l+280>>2]))+v(u*m[l+296>>2])))+v(c*v(v(v(_*m[l+268>>2])+v(c*m[l+284>>2]))+v(u*m[l+300>>2]))))+v(u*v(v(v(_*m[l+272>>2])+v(c*m[l+288>>2]))+v(u*m[l+304>>2]))))),(E=v(v(v(A*A)+v(T*T))+v(x*x)))>v(1.1920928955078125e-7)&&(b=v(v(1)/v(S(E))),o=v(A*b),l=h[e+32>>2],a=v(T*b),b=v(x*b),D=v(v(v(o*v(v(v(o*m[l+264>>2])+v(a*m[l+280>>2]))+v(b*m[l+296>>2])))+v(a*v(v(v(o*m[l+268>>2])+v(a*m[l+284>>2]))+v(b*m[l+300>>2]))))+v(b*v(v(v(o*m[l+272>>2])+v(a*m[l+288>>2]))+v(b*m[l+304>>2]))))),o=v(v(s*_)+v(D*o)),a=v(v(s*c)+v(D*a)),s=v(v(s*u)+v(D*b)),!((c=v(v(v(o*o)+v(a*a))+v(s*s)))>v(1.1920928955078125e-7)))break e;if(c=v(v(1)/v(S(c))),o=v(o*c),l=h[e+28>>2],a=v(a*c),s=v(s*c),_=v(v(v(o*v(v(v(o*m[l+264>>2])+v(a*m[l+280>>2]))+v(s*m[l+296>>2])))+v(a*v(v(v(o*m[l+268>>2])+v(a*m[l+284>>2]))+v(s*m[l+300>>2]))))+v(s*v(v(v(o*m[l+272>>2])+v(a*m[l+288>>2]))+v(s*m[l+304>>2])))),p=h[e+32>>2],a=v(v(v(o*v(v(v(o*m[p+264>>2])+v(a*m[p+280>>2]))+v(s*m[p+296>>2])))+v(a*v(v(v(o*m[p+268>>2])+v(a*m[p+284>>2]))+v(s*m[p+300>>2]))))+v(s*v(v(v(o*m[p+272>>2])+v(a*m[p+288>>2]))+v(s*m[p+304>>2])))),o=v(_+a),c=v(v(1)/v(o*o)),o=v(v(v(C*_)-v(x*a))*c),s=v(v(v(y*_)-v(T*a))*c),a=v(v(v(f*_)-v(A*a))*c),(x=m[e+572>>2])>=v(0)&&(T=m[e+576>>2],u=v(a+T),A=m[e+580>>2],b=v(s+A),f=m[e+584>>2],c=v(o+f),(y=v(S(v(v(v(u*u)+v(b*b))+v(c*c)))))>(_=d[e+553|0]?v(x/_):x)&&(a=v(v(1)/y),o=v(v(_*v(c*a))-f),c=v(f+o),s=v(v(_*v(b*a))-A),b=v(A+s),a=v(v(_*v(u*a))-T),u=v(T+a)),m[e+584>>2]=c,m[e+580>>2]=b,m[e+576>>2]=u),c=o,o=v(S(v(v(v(a*a)+v(s*s))+v(o*o)))),u=v(v(1)/o),c=v(c*u),s=v(s*u),a=v(a*u),h[t+240>>2]&&(_=m[l+304>>2],b=m[l+296>>2],x=m[l+300>>2],T=m[l+288>>2],A=m[l+280>>2],f=m[l+284>>2],y=m[l+272>>2],C=m[l+264>>2],E=m[l+268>>2],u=v(o*v(0)),m[t+64>>2]=v(u*m[t+112>>2])+m[t+64>>2],m[t+68>>2]=v(u*m[t+116>>2])+m[t+68>>2],m[t+72>>2]=v(u*m[t+120>>2])+m[t+72>>2],m[t+80>>2]=v(v(v(v(a*C)+v(s*E))+v(c*y))*v(o*m[t+96>>2]))+m[t+80>>2],u=m[t+104>>2],m[t+84>>2]=v(v(v(v(a*A)+v(s*f))+v(c*T))*v(o*m[t+100>>2]))+m[t+84>>2],m[t+88>>2]=v(v(v(v(a*b)+v(s*x))+v(c*_))*v(o*u))+m[t+88>>2]),!h[n+240>>2])break e;_=m[p+304>>2],b=m[p+296>>2],x=m[p+300>>2],T=m[p+288>>2],A=m[p+280>>2],f=m[p+284>>2],y=m[p+272>>2],C=m[p+264>>2],E=m[p+268>>2],u=v(o*v(-0)),m[n+64>>2]=v(u*m[n+112>>2])+m[n+64>>2],m[n+68>>2]=v(u*m[n+116>>2])+m[n+68>>2],m[n+72>>2]=v(u*m[n+120>>2])+m[n+72>>2],o=v(-o),m[n+80>>2]=v(v(v(v(a*C)+v(s*E))+v(c*y))*v(m[n+96>>2]*o))+m[n+80>>2],u=m[n+104>>2],m[n+84>>2]=v(v(v(v(a*A)+v(s*f))+v(c*T))*v(m[n+100>>2]*o))+m[n+84>>2],m[n+88>>2]=v(v(v(v(a*b)+v(s*x))+v(c*_))*v(u*o))+m[n+88>>2]}else(o=m[e+440>>2])>v(1.1920928955078125e-7)&&(b=m[t+80>>2],c=v(v(m[n+192>>2]+m[n+80>>2])-v(m[t+192>>2]+b)),x=m[t+84>>2],u=v(v(m[n+196>>2]+m[n+84>>2])-v(m[t+196>>2]+x)),T=m[t+88>>2],s=v(v(m[n+200>>2]+m[n+88>>2])-v(m[t+200>>2]+T)),(a=v(v(v(c*c)+v(u*u))+v(s*s)))>v(1.1920928955078125e-7)&&(j=s,R=o,_=v(v(1)/v(S(a))),o=v(c*_),A=m[p+264>>2],a=v(u*_),f=m[p+280>>2],s=v(s*_),_=m[p+296>>2],y=m[p+268>>2],C=m[p+284>>2],E=m[p+300>>2],P=m[p+272>>2],M=m[p+288>>2],I=m[p+304>>2],o=v(R*v(v(1)/v(v(v(v(o*v(v(v(o*A)+v(a*f))+v(s*_)))+v(a*v(v(v(o*y)+v(a*C))+v(s*E))))+v(s*v(v(v(o*P)+v(a*M))+v(s*I))))+v(v(v(o*v(v(v(o*m[l+264>>2])+v(a*m[l+280>>2]))+v(s*m[l+296>>2])))+v(a*v(v(v(o*m[l+268>>2])+v(a*m[l+284>>2]))+v(s*m[l+300>>2]))))+v(s*v(v(v(o*m[l+272>>2])+v(a*m[l+288>>2]))+v(s*m[l+304>>2]))))))),a=v(j*o),c=v(c*o),s=v(u*o),o=v(S(v(v(a*a)+v(v(c*c)+v(s*s))))),u=v(v(1)/o),a=v(a*u),s=v(s*u),c=v(c*u),h[t+240>>2]&&(u=v(o*v(0)),m[t+64>>2]=v(u*m[t+112>>2])+m[t+64>>2],m[t+68>>2]=v(u*m[t+116>>2])+m[t+68>>2],m[t+72>>2]=v(u*m[t+120>>2])+m[t+72>>2],m[t+88>>2]=T+v(v(v(v(c*_)+v(s*E))+v(a*I))*v(o*m[t+104>>2])),m[t+84>>2]=x+v(v(v(v(c*f)+v(s*C))+v(a*M))*v(o*m[t+100>>2])),m[t+80>>2]=b+v(v(v(v(c*A)+v(s*y))+v(a*P))*v(o*m[t+96>>2]))),h[n+240>>2]&&(_=m[l+304>>2],b=m[l+296>>2],x=m[l+300>>2],T=m[l+288>>2],A=m[l+280>>2],f=m[l+284>>2],y=m[l+272>>2],C=m[l+264>>2],E=m[l+268>>2],u=v(o*v(-0)),m[n+64>>2]=v(u*m[n+112>>2])+m[n+64>>2],m[n+68>>2]=v(u*m[n+116>>2])+m[n+68>>2],m[n+72>>2]=v(u*m[n+120>>2])+m[n+72>>2],o=v(-o),m[n+80>>2]=v(v(v(v(c*C)+v(s*E))+v(a*y))*v(m[n+96>>2]*o))+m[n+80>>2],u=m[n+104>>2],m[n+84>>2]=v(v(v(v(c*A)+v(s*f))+v(a*T))*v(m[n+100>>2]*o))+m[n+84>>2],m[n+88>>2]=v(v(v(v(c*b)+v(s*x))+v(a*_))*v(u*o))+m[n+88>>2])));u=v(m[n+200>>2]+m[n+88>>2]),_=v(m[n+196>>2]+m[n+84>>2]),b=v(m[t+200>>2]+m[t+88>>2]),x=v(m[t+196>>2]+m[t+84>>2]),T=v(m[n+192>>2]+m[n+80>>2]),A=v(m[t+192>>2]+m[t+80>>2]),d[e+526|0]&&(a=m[e+528>>2],o=v(v(v(a*m[e+504>>2])*m[e+432>>2])/i),s=m[e+460>>2],c=m[e+464>>2],f=m[e+468>>2],(y=v(v(v(v(T-A)*s)+v(v(_-x)*c))+v(v(u-b)*f)))>v(0)&&(o=v(o+v(v(a*y)*m[e+436>>2]))),a=m[e+516>>2],o=v(a+v(o*m[e+492>>2])),m[r+376>>2]=o,h[r+312>>2]=0,l=o>v(0)?r+376|0:r+312|0,o=m[l>>2],h[e+516>>2]=h[l>>2],o=v(o-a),a=v(f*o),s=v(s*o),f=m[e+536>>2],c=v(c*o),y=m[e+540>>2],C=m[e+544>>2],o=v(v(v(s*f)+v(c*y))+v(a*C)),a=v(a-v(C*o)),f=v(s-v(f*o)),s=v(c-v(y*o)),o=v(S(v(v(a*a)+v(v(f*f)+v(s*s))))),c=v(v(1)/o),a=v(a*c),s=v(s*c),c=v(f*c),h[t+240>>2]&&(l=h[e+28>>2],y=m[l+304>>2],C=m[l+296>>2],E=m[l+300>>2],P=m[l+288>>2],M=m[l+280>>2],I=m[l+284>>2],R=m[l+272>>2],L=m[l+268>>2],N=m[l+264>>2],f=v(o*v(0)),m[t+64>>2]=v(f*m[t+112>>2])+m[t+64>>2],m[t+68>>2]=v(f*m[t+116>>2])+m[t+68>>2],m[t+72>>2]=v(f*m[t+120>>2])+m[t+72>>2],m[t+80>>2]=v(v(v(v(c*N)+v(s*L))+v(a*R))*v(o*m[t+96>>2]))+m[t+80>>2],f=m[t+104>>2],m[t+84>>2]=v(v(v(v(c*M)+v(s*I))+v(a*P))*v(o*m[t+100>>2]))+m[t+84>>2],m[t+88>>2]=v(v(v(v(c*C)+v(s*E))+v(a*y))*v(o*f))+m[t+88>>2]),h[n+240>>2]&&(l=h[e+32>>2],y=m[l+304>>2],C=m[l+296>>2],E=m[l+300>>2],P=m[l+288>>2],M=m[l+280>>2],I=m[l+284>>2],R=m[l+272>>2],L=m[l+268>>2],N=m[l+264>>2],f=v(o*v(-0)),m[n+64>>2]=v(f*m[n+112>>2])+m[n+64>>2],m[n+68>>2]=v(f*m[n+116>>2])+m[n+68>>2],m[n+72>>2]=v(f*m[n+120>>2])+m[n+72>>2],o=v(-o),m[n+80>>2]=v(v(v(v(c*N)+v(s*L))+v(a*R))*v(m[n+96>>2]*o))+m[n+80>>2],f=m[n+104>>2],m[n+84>>2]=v(v(v(v(c*M)+v(s*I))+v(a*P))*v(m[n+100>>2]*o))+m[n+84>>2],m[n+88>>2]=v(v(v(v(c*C)+v(s*E))+v(a*y))*v(f*o))+m[n+88>>2])),d[e+525|0]&&(c=m[e+532>>2],i=v(v(v(c*m[e+508>>2])*m[e+432>>2])/i),o=m[e+476>>2],s=m[e+480>>2],a=m[e+484>>2],(u=v(v(v(v(T-A)*o)+v(v(_-x)*s))+v(v(u-b)*a)))>v(0)&&(i=v(i+v(v(c*u)*m[e+436>>2]))),c=m[e+520>>2],i=v(c+v(i*m[e+496>>2])),m[r+376>>2]=i,h[r+312>>2]=0,l=i>v(0)?r+376|0:r+312|0,i=m[l>>2],h[e+520>>2]=h[l>>2],i=v(i-c),h[t+240>>2]&&(l=h[e+28>>2],u=m[l+304>>2],_=m[l+296>>2],b=m[l+300>>2],x=m[l+288>>2],T=m[l+280>>2],A=m[l+284>>2],f=m[l+272>>2],y=m[l+268>>2],C=m[l+264>>2],c=v(i*v(0)),m[t+64>>2]=v(c*m[t+112>>2])+m[t+64>>2],m[t+68>>2]=v(c*m[t+116>>2])+m[t+68>>2],m[t+72>>2]=v(c*m[t+120>>2])+m[t+72>>2],m[t+80>>2]=v(v(v(v(o*C)+v(s*y))+v(a*f))*v(i*m[t+96>>2]))+m[t+80>>2],c=m[t+104>>2],m[t+84>>2]=v(v(v(v(o*T)+v(s*A))+v(a*x))*v(i*m[t+100>>2]))+m[t+84>>2],m[t+88>>2]=v(v(v(v(o*_)+v(s*b))+v(a*u))*v(i*c))+m[t+88>>2],a=m[e+484>>2],s=m[e+480>>2],o=m[e+476>>2]),h[n+240>>2]&&(e=h[e+32>>2],u=m[e+304>>2],_=m[e+296>>2],b=m[e+300>>2],x=m[e+288>>2],T=m[e+280>>2],A=m[e+284>>2],f=m[e+272>>2],y=m[e+268>>2],C=m[e+264>>2],c=v(i*v(-0)),m[n+64>>2]=v(c*m[n+112>>2])+m[n+64>>2],m[n+68>>2]=v(c*m[n+116>>2])+m[n+68>>2],m[n+72>>2]=v(c*m[n+120>>2])+m[n+72>>2],i=v(-i),m[n+80>>2]=v(v(v(v(o*C)+v(s*y))+v(a*f))*v(m[n+96>>2]*i))+m[n+80>>2],c=m[n+104>>2],m[n+84>>2]=v(v(v(v(o*T)+v(s*A))+v(a*x))*v(m[n+100>>2]*i))+m[n+84>>2],m[n+88>>2]=v(v(v(v(o*_)+v(s*b))+v(a*u))*v(c*i))+m[n+88>>2]))}w=r+464|0},r[754]=function(e,t,n,i){e|=0,t|=0,n=v(n),i|=0;e:switch(t+-1|0){case 0:case 1:return i>>>0<=2?(m[e+600>>2]=n,void(h[e+592>>2]=2|h[e+592>>2])):void(m[e+432>>2]=n);case 2:case 3:if(i>>>0<=2)return m[e+596>>2]=n,void(h[e+592>>2]=1|h[e+592>>2]);m[e+604>>2]=n,h[e+592>>2]=4|h[e+592>>2]}},r[755]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0);e:{t:switch(t+-1|0){case 0:case 1:if(n>>>0<=2)return v(m[e+600>>2]);if(n+-3>>>0>2)break e;return v(m[e+432>>2]);case 2:case 3:break t;default:break e}if(n>>>0<=2)return v(m[e+596>>2]);n+-3>>>0>2||(i=m[e+604>>2])}return v(i)},r[756]=function(e){return 212},r[757]=function(e,t,n){return Li(e|=0,t|=0,n|=0),h[t+52>>2]=h[e+300>>2],h[t+56>>2]=h[e+304>>2],h[t+60>>2]=h[e+308>>2],h[t+64>>2]=h[e+312>>2],h[t+68>>2]=h[e+316>>2],h[t+72>>2]=h[e+320>>2],h[t+76>>2]=h[e+324>>2],h[t+80>>2]=h[e+328>>2],h[t+84>>2]=h[e+332>>2],h[t+88>>2]=h[e+336>>2],h[t+92>>2]=h[e+340>>2],h[t+96>>2]=h[e+344>>2],h[t+100>>2]=h[e+348>>2],h[t+104>>2]=h[e+352>>2],h[t+108>>2]=h[e+356>>2],h[t+112>>2]=h[e+360>>2],h[t+116>>2]=h[e+364>>2],h[t+120>>2]=h[e+368>>2],h[t+124>>2]=h[e+372>>2],h[t+128>>2]=h[e+376>>2],h[t+132>>2]=h[e+380>>2],h[t+136>>2]=h[e+384>>2],h[t+140>>2]=h[e+388>>2],h[t+144>>2]=h[e+392>>2],h[t+148>>2]=h[e+396>>2],h[t+152>>2]=h[e+400>>2],h[t+156>>2]=h[e+404>>2],h[t+160>>2]=h[e+408>>2],h[t+164>>2]=h[e+412>>2],h[t+168>>2]=h[e+416>>2],h[t+172>>2]=h[e+420>>2],h[t+176>>2]=h[e+424>>2],h[t+180>>2]=h[e+444>>2],h[t+184>>2]=h[e+448>>2],h[t+188>>2]=h[e+452>>2],h[t+192>>2]=h[e+428>>2],h[t+196>>2]=h[e+432>>2],h[t+200>>2]=h[e+436>>2],h[t+204>>2]=h[e+440>>2],19632},r[758]=function(e,t,n){e|=0,n|=0;var i=0;i=h[4+(t|=0)>>2],h[e+300>>2]=h[t>>2],h[e+304>>2]=i,i=h[t+12>>2],h[e+308>>2]=h[t+8>>2],h[e+312>>2]=i,i=h[t+28>>2],h[e+324>>2]=h[t+24>>2],h[e+328>>2]=i,i=h[t+20>>2],h[e+316>>2]=h[t+16>>2],h[e+320>>2]=i,i=h[t+44>>2],h[e+340>>2]=h[t+40>>2],h[e+344>>2]=i,i=h[t+36>>2],h[e+332>>2]=h[t+32>>2],h[e+336>>2]=i,i=h[t+60>>2],h[e+356>>2]=h[t+56>>2],h[e+360>>2]=i,i=h[t+52>>2],h[e+348>>2]=h[t+48>>2],h[e+352>>2]=i,t=h[n+12>>2],h[e+372>>2]=h[n+8>>2],h[e+376>>2]=t,t=h[n+4>>2],h[e+364>>2]=h[n>>2],h[e+368>>2]=t,t=h[n+20>>2],h[e+380>>2]=h[n+16>>2],h[e+384>>2]=t,t=h[n+28>>2],h[e+388>>2]=h[n+24>>2],h[e+392>>2]=t,t=h[n+36>>2],h[e+396>>2]=h[n+32>>2],h[e+400>>2]=t,t=h[n+44>>2],h[e+404>>2]=h[n+40>>2],h[e+408>>2]=t,t=h[n+60>>2],h[e+420>>2]=h[n+56>>2],h[e+424>>2]=t,t=h[n+52>>2],h[e+412>>2]=h[n+48>>2],h[e+416>>2]=t,r[h[h[e>>2]+8>>2]](e)},r[759]=nh,r[760]=function(e){e|=0;var t,n=0,i=v(0),r=v(0),o=v(0),a=v(0),s=0,c=v(0),l=v(0),u=v(0),p=v(0),f=0,_=v(0),b=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=0,O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0);if(w=t=w-176|0,d[e+738|0]){h[e+744>>2]=0,h[e+36>>2]=0;e:if(!d[e+736|0])for(O=m[e+664>>2],f=h[e+32>>2],l=m[e+668>>2],c=m[e+672>>2],b=v(v(v(v(O*m[f+4>>2])+v(l*m[f+8>>2]))+v(c*m[f+12>>2]))+m[f+52>>2]),o=m[e+600>>2],n=h[e+28>>2],a=m[e+604>>2],i=m[e+608>>2],C=v(v(v(v(o*m[n+4>>2])+v(a*m[n+8>>2]))+v(i*m[n+12>>2]))+m[n+52>>2]),p=v(b-C),_=v(v(v(v(O*m[f+20>>2])+v(l*m[f+24>>2]))+v(c*m[f+28>>2]))+m[f+56>>2]),u=v(v(v(v(o*m[n+20>>2])+v(a*m[n+24>>2]))+v(i*m[n+28>>2]))+m[n+56>>2]),r=v(_-u),c=v(v(v(v(O*m[f+36>>2])+v(l*m[f+40>>2]))+v(c*m[f+44>>2]))+m[f+60>>2]),o=v(v(v(v(o*m[n+36>>2])+v(a*m[n+40>>2]))+v(i*m[n+44>>2]))+m[n+60>>2]),a=v(c-o),(i=v(v(v(p*p)+v(r*r))+v(a*a)))>v(1.1920928955078125e-7)?(h[t+140>>2]=0,i=v(v(1)/v(S(i))),l=v(a*i),m[t+136>>2]=l,a=v(r*i),m[t+132>>2]=a,i=v(p*i),m[t+128>>2]=i):(h[t+136>>2]=0,h[t+140>>2]=0,h[t+128>>2]=1065353216,h[t+132>>2]=0,i=v(1),a=v(0),l=v(0)),v(y(l))>v(.7071067690849304)?(r=v(v(l*l)+v(a*a)),p=v(v(1)/v(S(r))),x=v(r*p),A=v(p*v(-l)),E=v(i*A),l=v(a*p),a=v(l*v(-i)),r=v(0)):(r=v(v(i*i)+v(a*a)),p=v(v(1)/v(S(r))),E=v(r*p),r=v(p*v(-a)),a=v(l*r),A=v(i*p),x=v(A*v(-l)),l=v(0)),m[t+168>>2]=E,m[t+164>>2]=a,m[t+152>>2]=l,m[t+148>>2]=A,m[t+160>>2]=x,m[t+144>>2]=r;;){if(P=h[e+28>>2],h[t+80>>2]=h[P+4>>2],h[t+84>>2]=h[P+20>>2],n=h[P+36>>2],h[t+92>>2]=0,h[t+88>>2]=n,h[t+96>>2]=h[P+8>>2],h[t+100>>2]=h[P+24>>2],n=h[P+40>>2],h[t+108>>2]=0,h[t+104>>2]=n,h[t+112>>2]=h[P+12>>2],h[t+116>>2]=h[P+28>>2],n=h[P+44>>2],h[t+124>>2]=0,h[t+120>>2]=n,h[t+32>>2]=h[f+4>>2],h[t+36>>2]=h[f+20>>2],n=h[f+36>>2],h[t+44>>2]=0,h[t+40>>2]=n,h[t+48>>2]=h[f+8>>2],h[t+52>>2]=h[f+24>>2],n=h[f+40>>2],h[t+60>>2]=0,h[t+56>>2]=n,h[t+64>>2]=h[f+12>>2],h[t+68>>2]=h[f+28>>2],n=h[f+44>>2],h[t+76>>2]=0,h[t+72>>2]=n,r=m[P+52>>2],a=m[P+56>>2],i=m[P+60>>2],h[t+28>>2]=0,m[t+24>>2]=o-i,m[t+20>>2]=u-a,m[t+16>>2]=C-r,r=m[f+52>>2],a=m[f+56>>2],i=m[f+60>>2],h[t+12>>2]=0,m[t+8>>2]=c-i,m[t+4>>2]=_-a,m[t>>2]=b-r,_n(48+(g(s,84)+e|0)|0,t+80|0,t+32|0,t+16|0,t,(t+128|0)+(s<<4)|0,P+396|0,m[P+344>>2],f+396|0,m[f+344>>2]),3==(0|(s=s+1|0)))break e;f=h[e+32>>2]}a=m[e+576>>2],i=m[e+560>>2],L=m[e+592>>2],v(y(L))>v(.7071067690849304)?(r=v(v(L*L)+v(a*a)),o=v(v(1)/v(S(r))),A=v(r*o),x=v(o*v(-L)),E=v(x*i),M=v(o*a),r=v(M*v(-i))):(r=v(v(i*i)+v(a*a)),o=v(v(1)/v(S(r))),E=v(r*o),x=v(o*i),A=v(x*v(-L)),R=v(o*v(-a)),r=v(L*R)),s=h[e+32>>2],O=m[s+36>>2],l=m[s+20>>2],p=m[s+40>>2],b=m[s+24>>2],C=m[s+8>>2],_=m[s+44>>2],u=m[s+28>>2],c=m[s+12>>2],n=h[e+28>>2],k=m[n+44>>2],V=m[n+36>>2],z=m[n+40>>2],j=m[n+12>>2],U=m[n+8>>2],G=m[n+28>>2],H=m[n+20>>2],W=m[n+24>>2],o=m[s+4>>2],X=m[n+4>>2],h[e+344>>2]=0,h[e+328>>2]=0,h[e+308>>2]=0,h[e+312>>2]=0,h[e+300>>2]=0,h[e+304>>2]=0,I=v(v(v(R*X)+v(x*U))+v(M*j)),T=v(v(v(R*H)+v(x*W))+v(M*G)),D=v(v(v(R*V)+v(x*z))+v(M*k)),N=v(v(v(j*I)+v(G*T))+v(k*D)),m[e+324>>2]=N,x=v(v(v(I*U)+v(T*W))+v(D*z)),m[e+320>>2]=x,R=v(v(v(I*X)+v(T*H))+v(D*V)),m[e+316>>2]=R,F=u,u=v(-T),M=v(v(v(F*u)-v(I*c))-v(D*_)),m[e+340>>2]=M,T=v(v(v(b*u)-v(I*C))-v(D*p)),m[e+336>>2]=T,l=v(v(v(l*u)-v(I*o))-v(D*O)),m[e+332>>2]=l,u=m[n+400>>2],c=m[n+404>>2],o=m[n+396>>2],h[e+360>>2]=0,p=v(N*c),m[e+356>>2]=p,b=v(x*u),m[e+352>>2]=b,C=v(R*o),m[e+348>>2]=C,_=m[s+400>>2],c=m[s+404>>2],o=m[s+396>>2],h[e+376>>2]=0,u=v(M*c),m[e+372>>2]=u,c=v(T*_),m[e+368>>2]=c,o=v(l*o),m[e+364>>2]=o,m[e+380>>2]=v(v(v(R*C)+v(x*b))+v(N*p))+v(v(v(l*o)+v(T*c))+v(M*u)),B=m[n+36>>2],Q=m[n+20>>2],I=m[n+40>>2],D=m[n+8>>2],N=m[n+24>>2],x=m[n+44>>2],R=m[n+12>>2],M=m[n+28>>2],T=m[s+36>>2],O=m[s+20>>2],l=m[s+40>>2],p=m[s+24>>2],b=m[s+8>>2],C=m[s+44>>2],_=m[s+28>>2],u=m[s+12>>2],c=m[n+4>>2],o=m[s+4>>2],h[e+428>>2]=0,h[e+412>>2]=0,h[e+392>>2]=0,h[e+396>>2]=0,h[e+384>>2]=0,h[e+388>>2]=0,F=_,Y=v(v(v(A*H)+v(r*W))+v(E*G)),_=v(-Y),K=u,u=v(v(v(A*X)+v(r*U))+v(E*j)),r=v(v(v(A*V)+v(r*z))+v(E*k)),A=v(v(v(F*_)-v(K*u))-v(C*r)),m[e+424>>2]=A,E=v(v(v(p*_)-v(u*b))-v(r*l)),m[e+420>>2]=E,T=v(v(v(O*_)-v(u*o))-v(r*T)),m[e+416>>2]=T,O=v(v(v(u*R)+v(Y*M))+v(r*x)),m[e+408>>2]=O,l=v(v(v(u*D)+v(Y*N))+v(r*I)),m[e+404>>2]=l,p=v(v(v(u*c)+v(Y*Q))+v(r*B)),m[e+400>>2]=p,c=m[n+400>>2],o=m[n+404>>2],r=m[n+396>>2],h[e+444>>2]=0,b=v(O*o),m[e+440>>2]=b,C=v(l*c),m[e+436>>2]=C,_=v(p*r),m[e+432>>2]=_,u=m[s+400>>2],o=m[s+404>>2],r=m[s+396>>2],h[e+460>>2]=0,c=v(A*o),m[e+456>>2]=c,o=v(E*u),m[e+452>>2]=o,r=v(T*r),m[e+448>>2]=r,m[e+464>>2]=v(v(v(p*_)+v(l*C))+v(O*b))+v(v(v(T*r)+v(E*o))+v(A*c)),Q=m[n+36>>2],I=m[n+20>>2],D=m[n+40>>2],N=m[n+8>>2],x=m[n+24>>2],R=m[n+44>>2],M=m[n+12>>2],T=m[n+28>>2],O=m[s+36>>2],l=m[s+20>>2],p=m[s+40>>2],b=m[s+24>>2],C=m[s+8>>2],_=m[s+44>>2],u=m[s+28>>2],c=m[s+12>>2],o=m[n+4>>2],r=m[s+4>>2],h[e+512>>2]=0,h[e+496>>2]=0,h[e+476>>2]=0,h[e+480>>2]=0,h[e+468>>2]=0,h[e+472>>2]=0,F=u,A=v(v(v(H*i)+v(W*a))+v(L*G)),u=v(-A),K=c,c=v(v(v(X*i)+v(U*a))+v(L*j)),i=v(v(v(V*i)+v(z*a))+v(L*k)),E=v(v(v(F*u)-v(K*c))-v(_*i)),m[e+508>>2]=E,B=v(v(v(b*u)-v(c*C))-v(i*p)),m[e+504>>2]=B,l=v(v(v(l*u)-v(c*r))-v(i*O)),m[e+500>>2]=l,p=v(v(v(c*M)+v(A*T))+v(i*R)),m[e+492>>2]=p,b=v(v(v(c*N)+v(A*x))+v(i*D)),m[e+488>>2]=b,C=v(v(v(c*o)+v(A*I))+v(i*Q)),m[e+484>>2]=C,r=m[n+400>>2],a=m[n+404>>2],i=m[n+396>>2],h[e+528>>2]=0,_=v(p*a),m[e+524>>2]=_,u=v(b*r),m[e+520>>2]=u,c=v(C*i),m[e+516>>2]=c,o=m[s+400>>2],a=m[s+404>>2],i=m[s+396>>2],h[e+724>>2]=0,h[e+544>>2]=0,r=v(E*a),m[e+540>>2]=r,a=v(B*o),m[e+536>>2]=a,i=v(l*i),m[e+532>>2]=i,m[e+548>>2]=v(v(v(C*c)+v(b*u))+v(p*_))+v(v(v(l*i)+v(B*a))+v(E*r)),i=xi(e,n+4|0,s+4|0),m[e+728>>2]=i,Kr(e+688|0,i),s=e,r=m[e+560>>2],n=h[e+28>>2],a=m[e+576>>2],i=m[e+592>>2],c=v(v(v(r*m[n+4>>2])+v(a*m[n+8>>2]))+v(i*m[n+12>>2])),o=v(v(v(r*m[n+20>>2])+v(a*m[n+24>>2]))+v(i*m[n+28>>2])),i=v(v(v(r*m[n+36>>2])+v(a*m[n+40>>2]))+v(i*m[n+44>>2])),e=h[e+32>>2],m[s+720>>2]=v(1)/v(v(v(v(c*v(v(v(c*m[n+264>>2])+v(o*m[n+280>>2]))+v(i*m[n+296>>2])))+v(o*v(v(v(c*m[n+268>>2])+v(o*m[n+284>>2]))+v(i*m[n+300>>2]))))+v(i*v(v(v(c*m[n+272>>2])+v(o*m[n+288>>2]))+v(i*m[n+304>>2]))))+v(v(v(c*v(v(v(c*m[e+264>>2])+v(o*m[e+280>>2]))+v(i*m[e+296>>2])))+v(o*v(v(v(c*m[e+268>>2])+v(o*m[e+284>>2]))+v(i*m[e+300>>2]))))+v(i*v(v(v(c*m[e+272>>2])+v(o*m[e+288>>2]))+v(i*m[e+304>>2])))))}w=t+176|0},r[761]=function(e,t){e|=0,t|=0;var n=v(0);if(d[e+738|0])return h[t>>2]=0,void(h[t+4>>2]=0);h[t>>2]=5,h[t+4>>2]=1,n=xi(e,h[e+28>>2]+4|0,h[e+32>>2]+4|0),m[e+728>>2]=n,Kr(e+688|0,n),(d[e+737|0]||d[e+716|0])&&(h[t>>2]=h[t>>2]+1,h[t+4>>2]=h[t+4>>2]+-1)},r[762]=function(e,t){t|=0;var n,i,r=0,a=0;n=(r=h[32+(e|=0)>>2])+328|0,i=(a=h[e+28>>2])+328|0,r=r+4|0,a=a+4|0,d[e+739|0]?function(e,t,n,i,r,a){var s,c=v(0),l=v(0),u=v(0),p=v(0),f=0,_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=0,O=v(0),M=v(0),R=0,I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=0,k=v(0),V=0,z=0,j=0,U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0),q=v(0),J=v(0),$=v(0),ee=v(0),te=v(0),ne=v(0),ie=v(0),re=v(0),oe=v(0),ae=v(0),se=v(0),ce=v(0),le=v(0),ue=v(0),pe=v(0),he=v(0),de=v(0),fe=v(0),_e=v(0),me=v(0),be=v(0),ge=v(0);w=s=w+-64|0,c=m[e+588>>2],D=m[e+572>>2],L=m[e+556>>2],Q=m[i+56>>2],K=m[i+52>>2],b=m[e+664>>2],y=m[e+668>>2],O=m[e+672>>2],Z=m[n+56>>2],q=m[n+52>>2],M=m[e+600>>2],I=m[e+604>>2],u=m[e+608>>2],J=m[i+36>>2],$=m[i+40>>2],F=m[n+36>>2],U=m[n+40>>2],l=m[e+624>>2],k=m[i+20>>2],_=m[e+640>>2],ee=m[i+24>>2],E=m[e+656>>2],C=m[e+560>>2],G=m[n+20>>2],A=m[e+576>>2],H=m[n+24>>2],x=m[e+592>>2],R=h[t+24>>2],te=m[i+48>>2],ne=m[n+48>>2],ie=m[i+32>>2],W=m[n+32>>2],re=m[i+8>>2],N=m[i>>2],me=m[i+4>>2],X=m[n+8>>2],oe=m[n>>2],ae=m[n+4>>2],be=m[i+16>>2],Y=m[h[e+32>>2]+344>>2],ge=m[h[e+28>>2]+344>>2],se=m[n+16>>2],h[s+60>>2]=0,p=(p=v(ge+Y))>v(0)?v(Y/p):v(.5),T=v(v(1)-p),ce=v(v(v(C*W)+v(A*F))+v(x*U)),le=v(v(v(l*ie)+v(_*J))+v(E*$)),ue=v(v(ce*p)+v(le*T)),pe=v(v(v(oe*C)+v(ae*A))+v(X*x)),he=v(v(v(N*l)+v(me*_))+v(re*E)),de=v(v(pe*p)+v(he*T)),fe=v(v(v(C*se)+v(A*G))+v(x*H)),_e=v(v(v(l*be)+v(_*k))+v(E*ee)),_=v(v(fe*p)+v(_e*T)),E=v(v(1)/v(S(v(v(ue*ue)+v(v(de*de)+v(_*_)))))),l=v(ue*E),m[s+56>>2]=l,_=v(_*E),m[s+52>>2]=_,E=v(de*E),m[s+48>>2]=E,h[s+28>>2]=0,J=v(Q+v(v(v(ie*b)+v(J*y))+v($*O))),A=v(J-Q),Q=v(te+v(v(v(N*b)+v(me*y))+v(re*O))),x=v(Q-te),$=v(K+v(v(v(be*b)+v(k*y))+v(ee*O))),y=v($-K),O=v(v(A*l)+v(v(x*E)+v(y*_))),C=v(l*O),K=v(Z+v(v(v(W*M)+v(F*I))+v(U*u))),b=v(K-Z),Z=v(ne+v(v(v(oe*M)+v(ae*I))+v(X*u))),k=v(Z-ne),ee=v(q+v(v(v(se*M)+v(G*I))+v(H*u))),u=v(ee-q),M=v(v(b*l)+v(v(k*E)+v(u*_))),I=v(l*M),A=v(A-C),q=v(b-I),b=v(v(p*A)+v(T*q)),m[s+24>>2]=b,te=v(_*O),ne=v(y-te),N=u,u=v(_*M),ie=v(N-u),y=v(v(p*ne)+v(T*ie)),m[s+20>>2]=y,N=x,x=v(E*O),re=v(N-x),N=k,k=v(E*M),N=v(N-k),O=v(v(p*re)+v(T*N)),m[s+16>>2]=O,C=v(I-C),M=v(A-v(T*C)),A=v(u-te),I=v(ne-v(T*A)),x=v(k-x),u=v(re-v(T*x)),C=v(q+v(p*C)),A=v(ie+v(p*A)),x=v(N+v(p*x)),i=gev(1.1920928955078125e-7)?(c=v(v(1)/v(S(Y))),b=v(b*c),m[s+24>>2]=b,y=v(y*c),m[s+20>>2]=y,c=v(O*c)):(h[s+28>>2]=0,b=v(v(v(L*W)+v(D*F))+v(c*U)),m[s+24>>2]=b,y=v(v(v(L*se)+v(D*G))+v(c*H)),m[s+20>>2]=y,c=v(v(v(oe*L)+v(ae*D))+v(X*c))),m[n+16>>2]=c,h[s+12>>2]=0,D=v(v(E*y)-v(_*c)),m[s+8>>2]=D,L=v(v(l*c)-v(E*b)),m[s+4>>2]=L,O=v(v(_*b)-v(l*y)),m[s>>2]=O,m[s+40>>2]=v(x*y)-v(A*c),m[s+36>>2]=v(C*c)-v(x*b),m[s+32>>2]=v(A*b)-v(C*y),f=h[s+36>>2],n=h[t+12>>2],h[n>>2]=h[s+32>>2],h[n+4>>2]=f,h[n+8>>2]=h[s+40>>2],n=h[t+20>>2],m[n+8>>2]=-v(v(u*y)-v(I*c)),m[n+4>>2]=-v(v(M*c)-v(u*b)),m[n>>2]=-v(v(I*b)-v(M*y)),h[s+44>>2]=0,H=v(v(x*L)-v(A*O)),m[s+40>>2]=H,W=v(v(C*O)-v(x*D)),m[s+36>>2]=W,X=v(v(A*D)-v(C*L)),m[s+32>>2]=X,F=v(v(u*L)-v(I*O)),U=v(v(M*O)-v(u*D)),G=v(v(I*D)-v(M*L)),!i|!d[e+716|0]||(m[s+40>>2]=p*H,m[s+36>>2]=p*W,m[s+32>>2]=p*X,U=v(T*U),G=v(T*G),F=v(T*F)),P=h[s+36>>2],n=(f=R<<2)+h[t+12>>2]|0,h[n>>2]=h[s+32>>2],h[n+4>>2]=P,h[n+8>>2]=h[s+40>>2],n=h[t+20>>2],m[n+f>>2]=-G,m[n+((B=R+1|0)<<2)>>2]=-U,m[n+((V=R+2|0)<<2)>>2]=-F,F=v(v(x*_)-v(A*E)),m[s+40>>2]=F,h[s+44>>2]=0,x=v(v(C*E)-v(x*l)),m[s+36>>2]=x,A=v(v(A*l)-v(C*_)),m[s+32>>2]=A,C=v(v(u*_)-v(I*E)),u=v(v(M*E)-v(u*l)),M=v(v(I*l)-v(M*_)),i&&(m[s+40>>2]=p*F,m[s+36>>2]=p*x,m[s+32>>2]=p*A,C=v(T*C),u=v(T*u),M=v(T*M)),P=h[s+36>>2],n=(f=(i=R<<1)<<2)+h[t+12>>2]|0,h[n>>2]=h[s+32>>2],h[n+4>>2]=P,h[n+8>>2]=h[s+40>>2],n=h[t+20>>2],m[f+n>>2]=-M,m[((z=1|i)<<2)+n>>2]=-u,m[((j=i+2|0)<<2)+n>>2]=-C,d[e+736|0]?(p=v(-D),T=v(-L),M=v(-O),I=v(-c),i=h[t+28>>2]):(u=m[t+4>>2],C=m[t>>2],f=h[s+20>>2],n=h[t+8>>2],h[n>>2]=h[s+16>>2],h[n+4>>2]=f,h[n+8>>2]=h[s+24>>2],P=h[s+4>>2],n=(f=R<<2)+h[t+8>>2]|0,h[n>>2]=h[s>>2],h[n+4>>2]=P,h[n+8>>2]=h[s+8>>2],n=(P=i<<2)+h[t+8>>2]|0,i=h[s+52>>2],h[n>>2]=h[s+48>>2],h[n+4>>2]=i,h[n+8>>2]=h[s+56>>2],n=h[t+16>>2],I=v(-c),m[n>>2]=I,m[n+4>>2]=-y,m[n+8>>2]=-b,M=v(-O),m[n+f>>2]=M,T=v(-L),m[n+(B<<2)>>2]=T,p=v(-D),m[n+(V<<2)>>2]=p,m[n+P>>2]=-E,m[n+(z<<2)>>2]=-_,m[n+(j<<2)>>2]=-l,i=h[t+28>>2],u=v(C*u),C=v(Q-Z),A=v($-ee),x=v(J-K),m[i>>2]=u*v(v(v(C*c)+v(A*y))+v(x*b)),m[i+f>>2]=u*v(v(v(C*O)+v(A*L))+v(x*D)),m[i+P>>2]=u*v(v(v(C*E)+v(A*_))+v(x*l)),n=h[t+20>>2]),f=h[t+12>>2],P=g(R,12),m[f+P>>2]=c,m[(B=P+8|0)+f>>2]=b,m[(V=P+4|0)+f>>2]=y,m[(R<<=4)+f>>2]=O,m[(z=4|R)+f>>2]=L,m[(j=8|R)+f>>2]=D,m[n+P>>2]=I,l=m[s+20>>2],m[n+V>>2]=-l,_=m[s+24>>2],m[n+B>>2]=-_,m[n+R>>2]=M,m[n+z>>2]=T,m[n+j>>2]=p,p=v(m[t>>2]*m[t+4>>2]),T=v(v(fe*le)-v(ce*_e)),u=v(T*c),c=v(v(ce*he)-v(pe*le)),u=v(u+v(l*c)),l=v(v(pe*_e)-v(fe*he)),m[i+P>>2]=p*v(u+v(_*l)),m[i+R>>2]=p*v(v(v(T*O)+v(c*L))+v(l*D));e:{if(d[e+716|0])B=(E=v(m[e+708>>2]*m[e+732>>2]))>v(0)?1:2,V=!d[e+737|0],i=1;else{if(!d[e+737|0])break e;E=v(0),V=0,B=0,i=0}if(p=m[s+48>>2],R=g(h[t+24>>2],5),h[(P=R<<2)+f>>2]=h[s+48>>2],c=m[s+52>>2],h[(z=P+4|0)+f>>2]=h[s+52>>2],T=m[s+56>>2],h[f+(j=P+8|0)>>2]=h[s+56>>2],m[n+z>>2]=-c,m[n+P>>2]=-p,m[n+j>>2]=-T,l=Fa(n=e+688|0),_=Na(n),n=h[t+28>>2],h[P+n>>2]=0,f=h[e+748>>2],b=m[(2&f?e+760|0:t+4|0)>>2],i&l==_|V||(4&f&&(h[h[t+32>>2]+(R<<2)>>2]=h[e+752>>2]),y=Ko(m[e+728>>2],l,_,m[e+680>>2],v(b*m[t>>2])),n=h[t+28>>2],m[(P=n+(f=R<<2)|0)>>2]=v(v(y*m[e+680>>2])*m[e+732>>2])+m[P>>2],m[f+h[t+36>>2]>>2]=-m[e+684>>2],h[f+h[t+40>>2]>>2]=h[e+684>>2]),i){m[(n=(i=R<<2)+n|0)>>2]=m[n>>2]+v(E*v(b*m[t>>2])),1&o[e+748|0]&&(h[i+h[t+32>>2]>>2]=h[e+756>>2]),l!=_?(i=h[t+36>>2]+(R<<2)|0,1!=(0|B)?(h[i>>2]=-8388609,l=v(0)):(h[i>>2]=0,l=v(34028234663852886e22))):(h[h[t+36>>2]+(R<<2)>>2]=-8388609,l=v(34028234663852886e22)),m[h[t+40>>2]+(R<<2)>>2]=l;t:if((l=m[e+704>>2])>v(0))if(c=v(v(v(v(m[r>>2]*p)+v(m[r+4>>2]*c))+v(m[r+8>>2]*T))-v(v(v(m[a>>2]*p)+v(m[a+4>>2]*c))+v(m[a+8>>2]*T))),1!=(0|B))c>v(0)&&(c=v(c*v(-l)))>2]&&(m[n>>2]=c);else{if(!(cm[n>>2]))break t;m[n>>2]=c}m[n>>2]=m[e+700>>2]*m[n>>2]}}w=s- -64|0}(e,t,a,r,i,n):function(e,t,n,i,r,a){var s,c=v(0),l=0,u=v(0),p=v(0),f=0,_=v(0),b=0,y=v(0),C=v(0),A=v(0),x=0,S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=0,w=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=0,V=v(0),z=0,j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0),q=v(0),J=v(0),$=v(0),ee=v(0),te=v(0),ne=v(0),ie=v(0),re=v(0),oe=v(0),ae=v(0),se=v(0),ce=v(0),le=v(0);S=m[e+656>>2],O=m[i+40>>2],Z=v(S*O),u=m[e+624>>2],y=m[i+32>>2],p=m[e+640>>2],D=m[i+36>>2],q=v(v(u*y)+v(p*D)),F=m[i+24>>2],J=v(S*F),L=m[i+16>>2],N=m[i+20>>2],$=v(v(u*L)+v(p*N)),T=m[e+592>>2],c=m[n+40>>2],ee=v(T*c),M=m[e+560>>2],_=m[n+32>>2],R=m[e+576>>2],C=m[n+36>>2],te=v(v(M*_)+v(R*C)),j=m[e+588>>2],ne=v(j*c),U=m[e+556>>2],G=m[e+572>>2],ie=v(v(U*_)+v(G*C)),H=m[e+584>>2],re=v(H*c),W=m[e+552>>2],X=m[e+568>>2],oe=v(v(W*_)+v(X*C)),P=m[n+24>>2],ae=v(T*P),A=m[n+16>>2],E=m[n+20>>2],se=v(v(M*A)+v(R*E)),w=y,y=m[e+664>>2],B=D,D=m[e+668>>2],V=O,O=m[e+672>>2],V=v(v(v(v(w*y)+v(B*D))+v(V*O))+m[i+56>>2]),F=v(v(v(v(L*y)+v(N*D))+v(F*O))+m[i+52>>2]),L=m[e+600>>2],N=m[e+604>>2],w=c,c=m[e+608>>2],B=m[n+56>>2],Y=v(v(v(v(_*L)+v(C*N))+v(w*c))+B),w=m[n+52>>2],Q=v(v(v(v(A*L)+v(E*N))+v(P*c))+w),K=m[i>>2],_=v(K*u),u=m[i+4>>2],ce=v(_+v(u*p)),p=m[i+8>>2],le=v(p*S),_=m[n>>2],C=m[n+4>>2],M=v(v(_*M)+v(C*R)),S=m[n+8>>2],R=v(S*T),u=v(m[i+48>>2]+v(v(v(K*y)+v(u*D))+v(p*O))),p=v(m[n+48>>2]+v(v(v(_*L)+v(C*N))+v(S*c))),f=(b=h[t+24>>2])<<1,(I=d[e+736|0])||(l=h[t+8>>2],h[l>>2]=1065353216,h[(f=4+(b<<2)|0)+l>>2]=1065353216,h[(x=8+(b<<3)|0)+l>>2]=1065353216,l=h[t+16>>2],h[l>>2]=-1082130432,h[l+f>>2]=-1082130432,h[l+x>>2]=-1082130432,B=m[n+56>>2],w=m[n+52>>2],f=b<<1),c=m[n+48>>2],n=h[t+12>>2],h[n+12>>2]=0,T=v(Y-B),m[n+4>>2]=T,h[n>>2]=0,y=v(Q-w),m[n+8>>2]=-y,h[12+(l=(x=b<<2)+n|0)>>2]=0,c=v(p-c),m[l+8>>2]=c,h[l+4>>2]=0,m[l>>2]=-T,h[8+(l=(f<<=2)+n|0)>>2]=0,h[l+12>>2]=0,m[l+4>>2]=-c,m[l>>2]=y,c=m[i+48>>2],T=m[i+56>>2],y=m[i+52>>2],i=h[t+20>>2],h[i+12>>2]=0,h[i>>2]=0,y=v(F-y),m[i+8>>2]=y,T=v(V-T),m[i+4>>2]=-T,h[12+(l=i+x|0)>>2]=0,c=v(u-c),m[l+8>>2]=-c,h[l+4>>2]=0,m[l>>2]=T,h[8+(l=i+f|0)>>2]=0,h[l+12>>2]=0,m[l+4>>2]=c,m[l>>2]=-y,c=v(m[t>>2]*m[t+4>>2]),l=h[t+28>>2],I||(m[l>>2]=c*v(u-p),m[l+x>>2]=c*v(F-Q),m[l+(b<<3)>>2]=c*v(V-Y)),f=g(b,12),u=v(v(v(W*_)+v(X*C))+v(H*S)),m[f+n>>2]=u,I=f+8|0,p=v(oe+re),m[I+n>>2]=p,k=f+4|0,T=v(v(v(W*A)+v(X*E))+v(H*P)),m[k+n>>2]=T,x=b<<4,S=v(v(v(_*U)+v(C*G))+v(S*j)),m[x+n>>2]=S,z=4|x,A=v(v(v(U*A)+v(G*E))+v(j*P)),m[z+n>>2]=A,s=8|x,E=v(ie+ne),m[n+s>>2]=E,m[i+f>>2]=-u,m[i+I>>2]=-p,m[i+k>>2]=-T,m[i+x>>2]=-S,m[i+z>>2]=-A,m[i+s>>2]=-E,y=p,_=v(M+R),p=v($+J),C=v(se+ae),M=v(ce+le),R=v(v(_*p)-v(C*M)),O=u,u=v(q+Z),P=v(te+ee),p=v(v(C*u)-v(P*p)),u=v(v(P*M)-v(_*u)),m[l+f>>2]=v(v(y*R)+v(v(O*p)+v(T*u)))*c,m[l+x>>2]=v(v(E*R)+v(v(S*p)+v(A*u)))*c;e:{if(d[e+716|0])x=(E=v(m[e+708>>2]*m[e+732>>2]))>v(0)?1:2,I=!d[e+737|0],f=1;else{if(!d[e+737|0])break e;E=v(0),x=0,I=0,f=0}if(b=g(b,5),m[(l=b<<2)+n>>2]=_,m[(k=l+8|0)+n>>2]=P,m[(z=n)+(n=l+4|0)>>2]=C,m[i+k>>2]=-P,m[n+i>>2]=-C,m[i+l>>2]=-_,c=Fa(n=e+688|0),A=Na(n),i=h[t+28>>2],h[l+i>>2]=0,n=h[e+748>>2],S=m[(2&n?e+760|0:t+4|0)>>2],c==A&f|I||(4&n&&(h[h[t+32>>2]+(b<<2)>>2]=h[e+752>>2]),u=Ko(m[e+728>>2],c,A,m[e+680>>2],v(S*m[t>>2])),i=h[t+28>>2],m[(l=i+(n=b<<2)|0)>>2]=v(v(u*m[e+680>>2])*m[e+732>>2])+m[l>>2],m[n+h[t+36>>2]>>2]=-m[e+684>>2],h[n+h[t+40>>2]>>2]=h[e+684>>2]),f){m[(n=(n=i)+(i=b<<2)|0)>>2]=m[n>>2]+v(E*v(S*m[t>>2])),1&o[e+748|0]&&(h[i+h[t+32>>2]>>2]=h[e+756>>2]),c!=A?(i=h[t+36>>2]+(b<<2)|0,1!=(0|x)?(h[i>>2]=-8388609,c=v(0)):(h[i>>2]=0,c=v(34028234663852886e22))):(h[h[t+36>>2]+(b<<2)>>2]=-8388609,c=v(34028234663852886e22)),m[h[t+40>>2]+(b<<2)>>2]=c;t:if((A=m[e+704>>2])>v(0))if(c=v(v(v(v(_*m[r>>2])+v(C*m[r+4>>2]))+v(P*m[r+8>>2]))-v(v(v(_*m[a>>2])+v(C*m[a+4>>2]))+v(P*m[a+8>>2]))),1!=(0|x))c>v(0)&&(c=v(c*v(-A)))>2]&&(m[n>>2]=c);else{if(!(cm[n>>2]))break t;m[n>>2]=c}m[n>>2]=m[e+700>>2]*m[n>>2]}}}(e,t,a,r,i,n)},r[763]=function(e,t,n,i){e|=0,t|=0,n=v(n);e:{t:switch(1+(i|=0)|0){case 0:case 6:break t;default:break e}t:switch(t+-2|0){case 0:return m[e+760>>2]=n,void(h[e+748>>2]=2|h[e+748>>2]);case 2:return m[e+756>>2]=n,void(h[e+748>>2]=1|h[e+748>>2]);case 1:break t;default:break e}m[e+752>>2]=n,h[e+748>>2]=4|h[e+748>>2]}},r[764]=function(e,t,n){e|=0,t|=0,n|=0;var i=v(0);e:{t:switch(n+1|0){case 0:case 6:break t;default:break e}t:switch(t+-2|0){case 0:return v(m[e+760>>2]);case 2:return v(m[e+756>>2]);case 1:break t;default:break e}i=m[e+752>>2]}return v(i)},r[765]=function(e){return 220},r[766]=function(e,t,n){return Li(e|=0,t|=0,n|=0),h[t+52>>2]=h[e+552>>2],h[t+56>>2]=h[e+556>>2],h[t+60>>2]=h[e+560>>2],h[t+64>>2]=h[e+564>>2],h[t+68>>2]=h[e+568>>2],h[t+72>>2]=h[e+572>>2],h[t+76>>2]=h[e+576>>2],h[t+80>>2]=h[e+580>>2],h[t+84>>2]=h[e+584>>2],h[t+88>>2]=h[e+588>>2],h[t+92>>2]=h[e+592>>2],h[t+96>>2]=h[e+596>>2],h[t+100>>2]=h[e+600>>2],h[t+104>>2]=h[e+604>>2],h[t+108>>2]=h[e+608>>2],h[t+112>>2]=h[e+612>>2],h[t+116>>2]=h[e+616>>2],h[t+120>>2]=h[e+620>>2],h[t+124>>2]=h[e+624>>2],h[t+128>>2]=h[e+628>>2],h[t+132>>2]=h[e+632>>2],h[t+136>>2]=h[e+636>>2],h[t+140>>2]=h[e+640>>2],h[t+144>>2]=h[e+644>>2],h[t+148>>2]=h[e+648>>2],h[t+152>>2]=h[e+652>>2],h[t+156>>2]=h[e+656>>2],h[t+160>>2]=h[e+660>>2],h[t+164>>2]=h[e+664>>2],h[t+168>>2]=h[e+668>>2],h[t+172>>2]=h[e+672>>2],h[t+176>>2]=h[e+676>>2],h[t+184>>2]=d[e+736|0],h[t+188>>2]=d[e+737|0],h[t+196>>2]=h[e+684>>2],h[t+192>>2]=h[e+680>>2],h[t+180>>2]=d[e+740|0],n=e+688|0,m[t+200>>2]=Fa(n),m[t+204>>2]=Na(n),h[t+208>>2]=h[e+696>>2],h[t+212>>2]=h[e+700>>2],h[t+216>>2]=h[e+704>>2],19744},r[767]=hn,r[768]=function(e){(e=hn(e|=0))&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[769]=Vh,r[770]=function(e,t,n,i,o,a,s,c,l,u){return e|=0,t|=0,n|=0,i|=0,o|=0,a|=0,s|=0,c|=0,l|=0,Ir(19895),v(r[h[h[e>>2]+44>>2]](e,t,n,i,o,a,s,c,l)),v(r[h[h[e>>2]+48>>2]](e,t,n,i,o,a,s,c,l)),v(r[h[h[e>>2]+36>>2]](e,t,n,c)),Bo(),v(v(0))},r[771]=Vh,r[772]=function(e){h[192+(e|=0)>>2]=0},r[773]=Qh,r[774]=function(e,t,n,i){e|=0,t|=0,i|=0;var r=0;if((0|(n|=0))>=1)for(;j(e,h[(r<<2)+t>>2],i),(0|(r=r+1|0))!=(0|n););},r[775]=function(e,t,n,i,r,a,s,c,l){e|=0,t|=0,n|=0,i|=0,r|=0,a|=0;e:if(h[44+(c|=0)>>2])if(n=h[c+20>>2],1&o[c+65|0]){if((0|n)<1)break e;for(i=0;;){if(t=0,(0|(r=h[e+28>>2]))>=1){for(;a=h[e+16>>2],n=h[e+36>>2]+g(h[h[e+116>>2]+(t<<2)>>2],152)|0,rn(a+g(h[n+144>>2],244)|0,a+g(h[n+148>>2],244)|0,n),(0|r)!=(0|(t=t+1|0)););n=h[c+20>>2]}if(!((0|(i=i+1|0))<(0|n)))break}}else if(!((0|n)<1))for(i=0;;){if(t=0,(0|(r=h[e+28>>2]))>=1){for(;a=h[e+16>>2],n=h[e+36>>2]+g(h[h[e+116>>2]+(t<<2)>>2],152)|0,rn(a+g(h[n+144>>2],244)|0,a+g(h[n+148>>2],244)|0,n),(0|r)!=(0|(t=t+1|0)););n=h[c+20>>2]}if(!((0|(i=i+1|0))<(0|n)))break}},r[776]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var a=0,s=v(0),c=v(0),l=0,u=0,p=0,f=v(0),_=v(0),b=v(0),C=v(0),A=0,x=0;if(4&(t=h[i+64>>2])&&!((0|(l=h[e+28>>2]))<1))for(u=16&t,p=h[e+76>>2],A=h[e+36>>2],n=0;t=A+g(n,152)|0,a=h[t+132>>2],h[a+120>>2]=h[t+100>>2],t=p+g(h[t+140>>2],152)|0,h[a+124>>2]=h[t+100>>2],u&&(h[a+128>>2]=h[t+252>>2]),(0|l)!=(0|(n=n+1|0)););if((0|(A=h[e+48>>2]))>=1)for(x=h[e+56>>2],a=0;n=g(a,152)+x|0,l=h[n+132>>2],(t=h[l+44>>2])&&(u=h[l+28>>2],f=m[u+356>>2],_=m[n+24>>2],b=m[u+352>>2],C=m[n+20>>2],s=m[n+100>>2],c=v(v(1)/m[i+12>>2]),m[t>>2]=m[t>>2]+v(v(v(m[n+16>>2]*s)*m[u+348>>2])*c),m[t+4>>2]=v(v(b*v(s*C))*c)+m[t+4>>2],m[t+8>>2]=v(v(f*v(s*_))*c)+m[t+8>>2],p=h[l+32>>2],f=m[p+356>>2],_=m[n+56>>2],b=m[p+352>>2],C=m[n+52>>2],s=m[n+100>>2],c=v(v(1)/m[i+12>>2]),m[t+32>>2]=m[t+32>>2]+v(v(v(m[n+48>>2]*s)*m[p+348>>2])*c),m[t+36>>2]=v(v(b*v(s*C))*c)+m[t+36>>2],m[t+40>>2]=v(v(f*v(s*_))*c)+m[t+40>>2],f=m[u+552>>2],_=m[n+8>>2],b=m[u+548>>2],C=m[n+4>>2],s=m[n+100>>2],c=v(v(1)/m[i+12>>2]),m[t+16>>2]=m[t+16>>2]+v(v(v(m[n>>2]*m[u+544>>2])*s)*c),m[t+20>>2]=v(v(s*v(C*b))*c)+m[t+20>>2],m[t+24>>2]=v(v(s*v(_*f))*c)+m[t+24>>2],f=m[p+552>>2],_=m[n+40>>2],b=m[p+548>>2],C=m[n+36>>2],s=m[n+100>>2],c=v(v(1)/m[i+12>>2]),m[t+48>>2]=m[t+48>>2]+v(v(v(m[n+32>>2]*m[p+544>>2])*s)*c),m[t+52>>2]=v(v(s*v(C*b))*c)+m[t+52>>2],m[t+56>>2]=v(v(s*v(_*f))*c)+m[t+56>>2]),s=m[n+100>>2],m[l+36>>2]=s,v(y(s))>=m[l+16>>2]&&(o[l+20|0]=0),(0|A)!=(0|(a=a+1|0)););if((0|(a=h[e+8>>2]))>=1)for(u=h[e+16>>2],p=0;l=g(p,244),(n=h[240+(t=l+u|0)>>2])&&(h[i+44>>2]?(ei(t,m[i+12>>2],m[i+52>>2]),u=h[e+16>>2],s=m[176+(t=l+u|0)>>2],n=h[t+240>>2],c=m[t+184>>2],f=m[t+180>>2]):(s=v(m[t+64>>2]+m[t+176>>2]),m[t+176>>2]=s,m[t+192>>2]=m[t+80>>2]+m[t+192>>2],f=v(m[t+68>>2]+m[t+180>>2]),m[t+180>>2]=f,c=v(m[t+72>>2]+m[t+184>>2]),m[t+184>>2]=c,m[t+196>>2]=m[t+84>>2]+m[t+196>>2],m[t+200>>2]=m[t+88>>2]+m[t+200>>2]),_=m[212+(t=l+u|0)>>2],b=m[t+216>>2],C=m[t+208>>2],h[n+324>>2]=0,m[n+312>>2]=s+C,h[n+260>>2]=h[n+260>>2]+1,m[n+320>>2]=c+b,m[n+316>>2]=f+_,t=l+h[e+16>>2]|0,s=m[t+228>>2],c=m[t+196>>2],f=m[t+232>>2],_=m[t+200>>2],b=m[t+224>>2],C=m[t+192>>2],t=h[t+240>>2],h[t+340>>2]=0,m[t+328>>2]=C+b,m[t+336>>2]=_+f,m[t+332>>2]=c+s,h[t+260>>2]=h[t+260>>2]+1,h[i+44>>2]&&(n=l+h[e+16>>2]|0,t=h[n+240>>2],h[t+260>>2]=h[t+260>>2]+1,a=h[n+12>>2],h[t+12>>2]=h[n+8>>2],h[t+16>>2]=a,a=h[n+4>>2],h[t+4>>2]=h[n>>2],h[t+8>>2]=a,a=h[n+28>>2],h[t+28>>2]=h[n+24>>2],h[t+32>>2]=a,a=h[n+20>>2],h[t+20>>2]=h[n+16>>2],h[t+24>>2]=a,a=h[n+36>>2],h[t+36>>2]=h[n+32>>2],h[t+40>>2]=a,a=h[n+44>>2],h[t+44>>2]=h[n+40>>2],h[t+48>>2]=a,a=h[n+60>>2],h[t+60>>2]=h[n+56>>2],h[t+64>>2]=a,a=h[n+52>>2],h[t+52>>2]=h[n+48>>2],h[t+56>>2]=a),u=h[e+16>>2],h[h[240+(l+u|0)>>2]+212>>2]=-1,a=h[e+8>>2]),(0|(p=p+1|0))<(0|a););return h[e+28>>2]>-1|h[e+32>>2]>-1||((t=h[e+36>>2])&&(d[e+40|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+36>>2]=0),h[e+32>>2]=0,h[e+36>>2]=0,o[e+40|0]=1),h[e+28>>2]=0,h[e+48>>2]>-1|h[e+52>>2]>-1||((t=h[e+56>>2])&&(d[e+60|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+56>>2]=0),h[e+52>>2]=0,h[e+56>>2]=0,o[e+60|0]=1),h[e+48>>2]=0,h[e+68>>2]>-1|h[e+72>>2]>-1||((t=h[e+76>>2])&&(d[e+80|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+76>>2]=0),h[e+72>>2]=0,h[e+76>>2]=0,o[e+80|0]=1),h[e+68>>2]=0,h[e+88>>2]>-1|h[e+92>>2]>-1||((t=h[e+96>>2])&&(d[e+100|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+96>>2]=0),h[e+92>>2]=0,h[e+96>>2]=0,o[e+100|0]=1),h[e+88>>2]=0,h[e+8>>2]>-1|h[e+12>>2]>-1||((t=h[e+16>>2])&&(d[e+20|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+16>>2]=0),h[e+12>>2]=0,h[e+16>>2]=0,o[e+20|0]=1),h[e+8>>2]=0,v(v(0))},r[777]=function(e,t,n,i,a,s,c,l,u,p){e|=0,t|=0,n|=0,i|=0,a|=0,s|=0,c|=0,l|=0,u|=0,p|=0;var f=0,_=v(0),b=v(0),y=0,C=0,A=0,x=0,S=0;if(1&o[u+64|0]){if(p=h[e+68>>2],C=h[e+28>>2],(0|(y=h[e+48>>2]))>=1){if(s=g(h[e+192>>2],1664525)+1013904223|0,1!=(0|y)&&(n=2,a=h[e+136>>2],i=h[a+4>>2],f=(s=g(s,1664525)+1013904223|0)^s>>>16,f^=f>>>8,f^=f>>>4,f=a+((1&((f^=f>>>2)>>>1^f))<<2)|0,h[a+4>>2]=h[f>>2],h[f>>2]=i,2!=(0|y)))for(;n=(i=n)+1|0,S=h[(f=a+(i<<2)|0)>>2],x=f,f=s=g(s,1664525)+1013904223|0,i>>>0>65535||(f=A=s>>>16^s,i>>>0>255||(f=A^=A>>>8,i>>>0>15||(f=A^=A>>>4,i>>>0>3||(f=A^A>>>2)))),i=((f>>>0)%(n>>>0)<<2)+a|0,h[x>>2]=h[i>>2],h[i>>2]=S,(0|n)!=(0|y););h[e+192>>2]=s}if(!(h[u+20>>2]<=(0|t))){if((0|C)>=1){if(s=g(h[e+192>>2],1664525)+1013904223|0,1!=(0|C)&&(n=2,a=h[e+116>>2],i=h[a+4>>2],f=(s=g(s,1664525)+1013904223|0)^s>>>16,f^=f>>>8,f^=f>>>4,f=a+((1&((f^=f>>>2)>>>1^f))<<2)|0,h[a+4>>2]=h[f>>2],h[f>>2]=i,2!=(0|C)))for(;n=(i=n)+1|0,A=h[(f=a+(i<<2)|0)>>2],x=f,f=s=g(s,1664525)+1013904223|0,i>>>0>65535||(f=y=s>>>16^s,i>>>0>255||(f=y^=y>>>8,i>>>0>15||(f=y^=y>>>4,i>>>0>3||(f=y^y>>>2)))),i=((f>>>0)%(n>>>0)<<2)+a|0,h[x>>2]=h[i>>2],h[i>>2]=A,(0|n)!=(0|C););h[e+192>>2]=s}if(!((0|p)<1)){if(s=g(h[e+192>>2],1664525)+1013904223|0,1!=(0|p)&&(n=2,a=h[e+156>>2],i=h[a+4>>2],f=(s=g(s,1664525)+1013904223|0)^s>>>16,f^=f>>>8,f^=f>>>4,f=a+((1&((f^=f>>>2)>>>1^f))<<2)|0,h[a+4>>2]=h[f>>2],h[f>>2]=i,2!=(0|p)))for(;n=(i=n)+1|0,y=h[(f=a+(i<<2)|0)>>2],A=f,f=s=g(s,1664525)+1013904223|0,i>>>0>65535||(f=C=s>>>16^s,i>>>0>255||(f=C^=C>>>8,i>>>0>15||(f=C^=C>>>4,i>>>0>3||(f=C^C>>>2)))),i=((f>>>0)%(n>>>0)<<2)+a|0,h[A>>2]=h[i>>2],h[i>>2]=y,(0|n)!=(0|p););h[e+192>>2]=s}}}n=h[e+48>>2];e:{t:{if(1&o[u+65|0]){if((0|n)>=1)for(i=0;a=h[e+56>>2]+g(h[h[e+136>>2]+(i<<2)>>2],152)|0,h[a+136>>2]>(0|t)&&(an((n=h[e+16>>2])+g(h[a+144>>2],244)|0,n+g(h[a+148>>2],244)|0,a),n=h[e+48>>2]),(0|(i=i+1|0))<(0|n););if(h[u+20>>2]<=(0|t))break e;if((0|l)>=1)for(n=0;i=h[(t=(n<<2)+c|0)>>2],d[i+20|0]&&(i=bn(e,h[i+28>>2],m[u+12>>2]),a=bn(e,h[h[t>>2]+32>>2],m[u+12>>2]),t=h[t>>2],s=g(i,244),i=h[e+16>>2],r[h[h[t>>2]+24>>2]](t,s+i|0,i+g(a,244)|0,m[u+12>>2])),(0|l)!=(0|(n=n+1|0)););if(i=h[e+28>>2],512&(t=h[u+64>>2]))break t;if((0|i)>=1)for(n=0;a=h[e+16>>2],t=h[e+36>>2]+g(h[h[e+116>>2]+(n<<2)>>2],152)|0,pn(a+g(h[t+144>>2],244)|0,a+g(h[t+148>>2],244)|0,t),(0|i)!=(0|(n=n+1|0)););if((0|(n=h[e+68>>2]))>=1)for(i=0;t=h[e+76>>2]+g(h[h[e+156>>2]+(i<<2)>>2],152)|0,(_=m[100+(h[e+36>>2]+g(h[t+140>>2],152)|0)>>2])>v(0)&&(b=m[t+104>>2],m[t+124>>2]=_*b,m[t+120>>2]=_*v(-b),an((a=h[e+16>>2])+g(h[t+144>>2],244)|0,a+g(h[t+148>>2],244)|0,t)),(0|n)!=(0|(i=i+1|0)););if((0|(n=h[e+88>>2]))<1)break e;for(i=0;t=h[e+96>>2]+g(i,152)|0,(_=m[100+(h[e+36>>2]+g(h[t+140>>2],152)|0)>>2])>v(0)&&(b=_,_=m[t+104>>2],_=(b=v(b*_))>_?_:b,m[t+124>>2]=_,m[t+120>>2]=-_,an((a=h[e+16>>2])+g(h[t+144>>2],244)|0,a+g(h[t+148>>2],244)|0,t)),(0|n)!=(0|(i=i+1|0)););break e}if((0|n)>=1)for(i=0;a=h[e+56>>2]+g(h[h[e+136>>2]+(i<<2)>>2],152)|0,h[a+136>>2]>(0|t)&&(an((n=h[e+16>>2])+g(h[a+144>>2],244)|0,n+g(h[a+148>>2],244)|0,a),n=h[e+48>>2]),(0|(i=i+1|0))<(0|n););if(h[u+20>>2]<=(0|t))break e;if((0|l)>=1)for(n=0;i=h[(t=(n<<2)+c|0)>>2],d[i+20|0]&&(i=bn(e,h[i+28>>2],m[u+12>>2]),a=bn(e,h[h[t>>2]+32>>2],m[u+12>>2]),t=h[t>>2],s=g(i,244),i=h[e+16>>2],r[h[h[t>>2]+24>>2]](t,s+i|0,i+g(a,244)|0,m[u+12>>2])),(0|l)!=(0|(n=n+1|0)););if((0|(i=h[e+28>>2]))>=1)for(n=0;a=h[e+16>>2],t=h[e+36>>2]+g(h[h[e+116>>2]+(n<<2)>>2],152)|0,pn(a+g(h[t+144>>2],244)|0,a+g(h[t+148>>2],244)|0,t),(0|i)!=(0|(n=n+1|0)););if((0|(n=h[e+68>>2]))>=1)for(i=0;t=h[e+76>>2]+g(h[h[e+156>>2]+(i<<2)>>2],152)|0,(_=m[100+(h[e+36>>2]+g(h[t+140>>2],152)|0)>>2])>v(0)&&(b=m[t+104>>2],m[t+124>>2]=_*b,m[t+120>>2]=_*v(-b),an((a=h[e+16>>2])+g(h[t+144>>2],244)|0,a+g(h[t+148>>2],244)|0,t)),(0|n)!=(0|(i=i+1|0)););if((0|(n=h[e+88>>2]))<1)break e;for(i=0;t=h[e+96>>2]+g(i,152)|0,(_=m[100+(h[e+36>>2]+g(h[t+140>>2],152)|0)>>2])>v(0)&&(b=_,_=m[t+104>>2],_=(b=v(b*_))>_?_:b,m[t+124>>2]=_,m[t+120>>2]=-_,an((a=h[e+16>>2])+g(h[t+144>>2],244)|0,a+g(h[t+148>>2],244)|0,t)),(0|n)!=(0|(i=i+1|0)););break e}if(!((0|i)<1))for(s=16&t?2:1,n=0;a=h[e+16>>2],t=h[e+36>>2]+g(h[h[e+116>>2]+(n<<2)>>2],152)|0,pn(a+g(h[t+144>>2],244)|0,a+g(h[t+148>>2],244)|0,t),a=g(n,s)<<2,(c=(_=m[t+100>>2])>v(0)^1)||(t=h[e+76>>2]+g(h[a+h[e+156>>2]>>2],152)|0,b=m[t+104>>2],m[t+124>>2]=_*b,m[t+120>>2]=_*v(-b),an((l=h[e+16>>2])+g(h[t+144>>2],244)|0,l+g(h[t+148>>2],244)|0,t)),c|!(16&d[u+64|0])||(t=h[e+76>>2]+g(h[4+(a+h[e+156>>2]|0)>>2],152)|0,b=m[t+104>>2],m[t+124>>2]=_*b,m[t+120>>2]=_*v(-b),an((a=h[e+16>>2])+g(h[t+144>>2],244)|0,a+g(h[t+148>>2],244)|0,t)),(0|i)!=(0|(n=n+1|0)););}return v(v(0))},r[778]=function(e,t,n,i,a,s,c,l,u){e|=0,t|=0,n|=0,i|=0,a|=0,s|=0,c|=0,l|=0,u|=0;var p,f=0,_=0,b=0,C=0,A=v(0),x=v(0),S=0,T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=0,D=v(0),L=v(0),N=0,F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=0,U=v(0),G=0,H=v(0),W=v(0),X=0,Y=0,Q=0,K=v(0),Z=v(0),q=v(0),J=v(0),$=v(0),ee=v(0),te=v(0),ne=v(0),ie=v(0),re=v(0),oe=v(0),ae=v(0),se=v(0),ce=v(0),le=v(0),ue=v(0),pe=v(0),he=v(0),de=v(0),fe=v(0);if(w=p=w-256|0,h[e+188>>2]=-1,Ir(19832),u=0,h[e+184>>2]=0,(0|n)>0)for(;h[h[(u<<2)+t>>2]+212>>2]=-1,(0|(u=u+1|0))!=(0|n););if((0|(I=h[e+12>>2]))<=(0|n)){if(u=0,(I=n+1|0)&&(h[7717]=h[7717]+1,u=0|r[h[6606]](g(I,244),16)),(0|(S=h[e+8>>2]))>=1)for(;b=(f=g(_,244))+u|0,f=f+h[e+16>>2]|0,N=h[f+4>>2],h[b>>2]=h[f>>2],h[b+4>>2]=N,C=h[f+12>>2],h[b+8>>2]=h[f+8>>2],h[b+12>>2]=C,C=h[f+28>>2],h[b+24>>2]=h[f+24>>2],h[b+28>>2]=C,C=h[f+20>>2],h[b+16>>2]=h[f+16>>2],h[b+20>>2]=C,C=h[f+44>>2],h[b+40>>2]=h[f+40>>2],h[b+44>>2]=C,C=h[f+36>>2],h[b+32>>2]=h[f+32>>2],h[b+36>>2]=C,C=h[f+52>>2],h[b+48>>2]=h[f+48>>2],h[b+52>>2]=C,C=h[f+60>>2],h[b+56>>2]=h[f+56>>2],h[b+60>>2]=C,Vn(b- -64|0,f- -64|0,180),(0|S)!=(0|(_=_+1|0)););(f=h[e+16>>2])&&(d[e+20|0]&&f&&(h[7718]=h[7718]+1,r[h[6607]](f)),h[e+16>>2]=0),h[e+16>>2]=u,h[e+12>>2]=I,o[e+20|0]=1}if(ji(p+8|0,0,244),(0|(u=h[e+8>>2]))<=-1)for((0|I)<=-1&&((f=h[e+16>>2])&&(d[e+20|0]&&f&&(h[7718]=h[7718]+1,r[h[6607]](f)),h[e+16>>2]=0),h[e+12>>2]=0,h[e+16>>2]=0,o[e+20|0]=1),b=p+72|0;_=h[p+12>>2],f=h[e+16>>2]+g(u,244)|0,h[f>>2]=h[p+8>>2],h[f+4>>2]=_,_=h[p+20>>2],h[f+8>>2]=h[p+16>>2],h[f+12>>2]=_,_=h[p+36>>2],h[f+24>>2]=h[p+32>>2],h[f+28>>2]=_,_=h[p+28>>2],h[f+16>>2]=h[p+24>>2],h[f+20>>2]=_,_=h[p+52>>2],h[f+40>>2]=h[p+48>>2],h[f+44>>2]=_,_=h[p+44>>2],h[f+32>>2]=h[p+40>>2],h[f+36>>2]=_,_=h[p+60>>2],h[f+48>>2]=h[p+56>>2],h[f+52>>2]=_,_=h[p+68>>2],h[f+56>>2]=h[p+64>>2],h[f+60>>2]=_,Vn(f- -64|0,b,180),_=(f=u+1|0)>>>0>=u>>>0,u=f,_;);if(h[e+8>>2]=0,(0|n)>=1)for(u=0;b=bn(e,h[(f=(u<<2)+t|0)>>2],m[l+12>>2]),!(f=h[f>>2])|!(2&h[f+236>>2])|!(2&d[f+504|0])|m[f+344>>2]==v(0)||(_=h[e+16>>2],Zn(p+8|0,f,m[l+76>>2]),T=m[f+304>>2],E=m[f+272>>2],F=m[f+288>>2],D=m[f+300>>2],R=m[f+268>>2],L=m[f+284>>2],b=_+g(b,244)|0,A=m[p+8>>2],P=m[p+12>>2],O=m[p+16>>2],x=m[l+12>>2],m[b+224>>2]=m[b+224>>2]-v(v(v(v(A*m[f+264>>2])+v(P*m[f+280>>2]))+v(O*m[f+296>>2]))*x),m[b+228>>2]=m[b+228>>2]-v(x*v(v(v(A*R)+v(P*L))+v(O*D))),m[b+232>>2]=m[b+232>>2]-v(x*v(v(v(A*E)+v(P*F))+v(O*T)))),(0|(u=u+1|0))!=(0|n););if(u=0,(0|c)>0)for(;t=h[(u<<2)+s>>2],r[h[h[t>>2]+8>>2]](t),h[t+36>>2]=0,(0|(u=u+1|0))!=(0|c););if(!((0|(n=h[e+168>>2]))>=(0|c)|h[e+172>>2]>=(0|c))){if(c?(h[7717]=h[7717]+1,t=0|r[h[6606]](c<<3,16),n=h[e+168>>2]):t=0,(0|n)>=1)for(u=0;b=(f=u<<3)+t|0,f=f+h[e+176>>2]|0,_=h[f+4>>2],h[b>>2]=h[f>>2],h[b+4>>2]=_,(0|(u=u+1|0))!=(0|n););(n=h[e+176>>2])&&(d[e+180|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+176>>2]=0),h[e+176>>2]=t,h[e+172>>2]=c,o[e+180|0]=1}if(h[e+168>>2]=c,t=0,(0|c)>=1)for(u=0;b=h[e+176>>2],n=h[(_=(u<<2)+s|0)>>2],(f=h[n+44>>2])&&(h[f>>2]=0,h[f+4>>2]=0,h[f+56>>2]=0,h[f+60>>2]=0,h[f+48>>2]=0,h[f+52>>2]=0,h[f+40>>2]=0,h[f+44>>2]=0,h[f+32>>2]=0,h[f+36>>2]=0,h[f+24>>2]=0,h[f+28>>2]=0,h[f+16>>2]=0,h[f+20>>2]=0,h[f+8>>2]=0,h[f+12>>2]=0,n=h[_>>2]),f=b+(u<<3)|0,d[n+20|0]?(r[h[h[n>>2]+16>>2]](n,f),n=h[f>>2]):(h[f>>2]=0,h[f+4>>2]=0,n=0),t=n+t|0,(0|(u=u+1|0))!=(0|c););if(!((0|(n=h[e+48>>2]))>=(0|t)|h[e+52>>2]>=(0|t))){if(t?(h[7717]=h[7717]+1,_=0|r[h[6606]](g(t,152),16),n=h[e+48>>2]):_=0,(0|n)>=1)for(u=0;Vn((f=g(u,152))+_|0,f+h[e+56>>2]|0,152),(0|(u=u+1|0))!=(0|n););(n=h[e+56>>2])&&(d[e+60|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+56>>2]=0),h[e+56>>2]=_,h[e+52>>2]=t,o[e+60|0]=1}if(h[e+48>>2]=t,(0|c)>=1)for(u=h[e+176>>2],I=0;;){if(h[(j=(Y=G<<3)+u|0)>>2]){if(N=h[(X=(G<<2)+s|0)>>2],u=h[N+32>>2],t=h[e+56>>2],_=bn(e,f=h[N+28>>2],m[l+12>>2]),C=bn(e,u,m[l+12>>2]),Q=h[e+16>>2],(0|(S=(0|(n=h[N+24>>2]))>0?n:h[l+20>>2]))>h[e+184>>2]&&(h[e+184>>2]=S),b=t+g(I,152)|0,t=0,h[j>>2]>=1)for(;n=ji(b+g(t,152)|0,0,152),h[n+120>>2]=-8388609,h[n+124>>2]=2139095039,h[n+148>>2]=C,h[n+144>>2]=_,h[n+96>>2]=0,h[n+100>>2]=0,h[n+136>>2]=S,(0|(t=t+1|0))>2];);if(S=Q+g(_,244)|0,h[(t=S)+64>>2]=0,h[t+68>>2]=0,h[t+144>>2]=0,h[t+148>>2]=0,h[t+88>>2]=0,h[t+92>>2]=0,h[t+80>>2]=0,h[t+84>>2]=0,h[t+72>>2]=0,h[t+76>>2]=0,h[t+152>>2]=0,h[t+156>>2]=0,h[t+160>>2]=0,h[t+164>>2]=0,h[t+168>>2]=0,h[t+172>>2]=0,C=Q+g(C,244)|0,h[(t=C)+88>>2]=0,h[t+92>>2]=0,h[t+80>>2]=0,h[t+84>>2]=0,h[t+72>>2]=0,h[t+76>>2]=0,h[t+64>>2]=0,h[t+68>>2]=0,h[t+144>>2]=0,h[t+148>>2]=0,h[t+152>>2]=0,h[t+156>>2]=0,h[t+160>>2]=0,h[t+164>>2]=0,h[t+168>>2]=0,h[t+172>>2]=0,m[p+8>>2]=v(1)/m[l+12>>2],t=h[l+32>>2],h[p+36>>2]=b+112,h[p+32>>2]=38,h[p+28>>2]=b+32,h[p+24>>2]=b+48,h[p+20>>2]=b,h[p+16>>2]=b+16,h[p+12>>2]=t,h[b+116>>2]=h[l+40>>2],t=h[l+4>>2],h[p+48>>2]=b+124,h[p+44>>2]=b+120,h[p+40>>2]=b+116,h[p+60>>2]=t,h[p+56>>2]=h[l+20>>2],t=h[X>>2],r[h[h[t>>2]+20>>2]](t,p+8|0),h[j>>2]>=1)for(n=0;t=b+g(n,152)|0,A=m[h[X>>2]+16>>2],m[t+124>>2]>=A&&(m[t+124>>2]=A),A=v(-A),m[t+120>>2]<=A&&(m[t+120>>2]=A),h[t+132>>2]=N,_=h[N+28>>2],x=m[_+268>>2],T=m[_+272>>2],E=m[_+548>>2],F=m[_+288>>2],D=m[_+280>>2],R=m[_+284>>2],A=m[_+552>>2],O=m[_+304>>2],P=m[_+296>>2],L=m[_+300>>2],k=m[_+544>>2],M=m[_+264>>2],h[t+76>>2]=0,B=A,A=m[t>>2],V=v(P*A),P=m[t+4>>2],z=O,O=m[t+8>>2],m[t+72>>2]=B*v(v(V+v(L*P))+v(z*O)),m[t+68>>2]=E*v(v(v(A*D)+v(P*R))+v(O*F)),m[t+64>>2]=k*v(v(v(M*A)+v(x*P))+v(T*O)),_=h[N+32>>2],F=m[_+268>>2],D=m[_+272>>2],R=m[_+548>>2],L=m[_+288>>2],k=m[_+280>>2],M=m[_+284>>2],x=m[_+552>>2],E=m[_+304>>2],T=m[_+296>>2],V=m[_+300>>2],U=m[_+544>>2],H=m[_+264>>2],h[t+92>>2]=0,B=x,x=m[t+32>>2],W=v(T*x),T=m[t+36>>2],z=E,E=m[t+40>>2],m[t+88>>2]=B*v(v(W+v(V*T))+v(z*E)),m[t+84>>2]=R*v(v(v(x*k)+v(T*M))+v(E*L)),m[t+80>>2]=U*v(v(v(H*x)+v(F*T))+v(D*E)),F=v(0),D=m[t+16>>2],R=m[f+344>>2],L=m[t+20>>2],k=m[t+24>>2],B=v(v(v(v(D*v(D*R))+v(L*v(R*L)))+v(k*v(R*k)))+v(v(v(A*v(v(v(A*m[f+264>>2])+v(P*m[f+268>>2]))+v(O*m[f+272>>2])))+v(P*v(v(v(A*m[f+280>>2])+v(P*m[f+284>>2]))+v(O*m[f+288>>2]))))+v(O*v(v(v(A*m[f+296>>2])+v(P*m[f+300>>2]))+v(O*m[f+304>>2]))))),R=m[t+48>>2],M=m[u+344>>2],V=m[t+52>>2],U=m[t+56>>2],M=v(v(B+v(v(v(R*v(R*M))+v(V*v(M*V)))+v(U*v(M*U))))+v(v(v(x*v(v(v(x*m[u+264>>2])+v(T*m[u+268>>2]))+v(E*m[u+272>>2])))+v(T*v(v(v(x*m[u+280>>2])+v(T*m[u+284>>2]))+v(E*m[u+288>>2]))))+v(E*v(v(v(x*m[u+296>>2])+v(T*m[u+300>>2]))+v(E*m[u+304>>2]))))),M=v(y(M))>v(1.1920928955078125e-7)?v(v(1)/M):v(0),m[t+108>>2]=M,H=v(0),B=v(0),z=v(0),W=v(0),K=v(0),Z=v(0),h[S+240>>2]&&(Z=m[S+232>>2],K=m[S+228>>2],W=m[S+224>>2],B=m[S+212>>2],z=m[S+208>>2],H=m[S+216>>2]),q=v(0),J=v(0),$=v(0),ee=v(0),te=v(0),h[C+240>>2]&&(te=m[C+232>>2],ee=m[C+228>>2],$=m[C+224>>2],q=m[C+212>>2],J=m[C+208>>2],F=m[C+216>>2]),ne=m[f+320>>2],ie=m[f+312>>2],re=m[f+316>>2],oe=m[f+336>>2],ae=m[f+328>>2],se=m[f+332>>2],ce=m[u+320>>2],le=m[u+312>>2],ue=m[u+316>>2],pe=m[u+336>>2],he=m[u+328>>2],de=m[u+332>>2],fe=m[p+60>>2],h[t+100>>2]=0,m[t+112>>2]=v(M*m[t+112>>2])+v(M*v(v(0)-v(fe*v(v(v(v(v(D*v(z+ie))+v(L*v(B+re)))+v(k*v(H+ne)))+v(v(v(A*v(W+ae))+v(P*v(K+se)))+v(O*v(Z+oe))))+v(v(v(v(R*v(J+le))+v(V*v(q+ue)))+v(U*v(F+ce)))+v(v(v(x*v($+he))+v(T*v(ee+de)))+v(E*v(te+pe)))))))),(0|(n=n+1|0))>2];);u=h[e+176>>2]}if(I=h[u+Y>>2]+I|0,(0|(G=G+1|0))==(0|c))break}if(r[h[h[e>>2]+28>>2]](e,i,a,l),a=h[e+68>>2],i=h[e+28>>2],!((0|(n=h[e+128>>2]))>=(0|(s=h[e+48>>2]))|h[e+132>>2]>=(0|s))){u=0,t=0,s&&(h[7717]=h[7717]+1,t=0|r[h[6606]](s<<2,16),n=h[e+128>>2]),c=h[e+136>>2];e:{t:{if((0|n)>=1)for(;;)if(h[(f=u<<2)+t>>2]=h[c+f>>2],(0|n)==(0|(u=u+1|0)))break t;if(!c)break e}d[e+140|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c)),h[e+136>>2]=0}h[e+136>>2]=t,h[e+132>>2]=s,o[e+140|0]=1}if(h[e+128>>2]=s,16&d[l+64|0]){if(!((0|(n=h[e+108>>2]))>=(0|(l=i<<1))|h[e+112>>2]>=(0|l))){u=0,t=0,i&&(h[7717]=h[7717]+1,t=0|r[h[6606]](i<<3,16),n=h[e+108>>2]),c=h[e+116>>2];e:{t:{if((0|n)>=1)for(;;)if(h[(f=u<<2)+t>>2]=h[c+f>>2],(0|n)==(0|(u=u+1|0)))break t;if(!c)break e}d[e+120|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c)),h[e+116>>2]=0}h[e+116>>2]=t,h[e+112>>2]=l,o[e+120|0]=1}h[e+108>>2]=l}else{if(!((0|(n=h[e+108>>2]))>=(0|i)|h[e+112>>2]>=(0|i))){u=0,t=0,i&&(h[7717]=h[7717]+1,t=0|r[h[6606]](i<<2,16),n=h[e+108>>2]),c=h[e+116>>2];e:{t:{if((0|n)>=1)for(;;)if(h[(l=u<<2)+t>>2]=h[c+l>>2],(0|n)==(0|(u=u+1|0)))break t;if(!c)break e}d[e+120|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c)),h[e+116>>2]=0}h[e+116>>2]=t,h[e+112>>2]=i,o[e+120|0]=1}h[e+108>>2]=i}if(!((0|(n=h[e+148>>2]))>=(0|a)|h[e+152>>2]>=(0|a))){u=0,t=0,a&&(h[7717]=h[7717]+1,t=0|r[h[6606]](a<<2,16),n=h[e+148>>2]),c=h[e+156>>2];e:{t:{if((0|n)>=1)for(;;)if(h[(l=u<<2)+t>>2]=h[c+l>>2],(0|n)==(0|(u=u+1|0)))break t;if(!c)break e}d[e+160|0]&&c&&(h[7718]=h[7718]+1,r[h[6607]](c)),h[e+156>>2]=0}h[e+156>>2]=t,h[e+152>>2]=a,o[e+160|0]=1}if(h[e+148>>2]=a,(0|s)>=1)for(t=h[e+136>>2],u=0;h[t+(u<<2)>>2]=u,(0|s)!=(0|(u=u+1|0)););if((0|i)>=1)for(t=h[e+116>>2],u=0;h[t+(u<<2)>>2]=u,(0|i)!=(0|(u=u+1|0)););if((0|a)>=1)for(e=h[e+156>>2],u=0;h[e+(u<<2)>>2]=u,(0|a)!=(0|(u=u+1|0)););return Bo(),w=p+256|0,v(v(0))},r[779]=function(e,t,n,i,o,a,s,c,l){e|=0,t|=0,n|=0,i|=0,o|=0,a|=0,s|=0,c|=0,l|=0;var u=0,p=0;if(Ir(19861),r[h[h[e>>2]+32>>2]](e,t,n,i,o,a,s,c,l),(0|(p=(0|(u=h[e+184>>2]))>(0|(p=h[c+20>>2]))?u:p))>=1)for(u=0;v(r[h[h[e>>2]+40>>2]](e,u,t,n,i,o,a,s,c,l)),(0|p)!=(0|(u=u+1|0)););return Bo(),v(v(0))},r[780]=function(e){e|=0,h[7469]=17792,(e=h[7593])&&(d[30376]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[7593]=0),o[30376]=1,h[7591]=0,h[7592]=0,h[7593]=0,h[7469]=3948},r[781]=ki,r[782]=function(e){Se(ki(e|=0))},r[783]=function(e,t,n){e|=0,n=v(n),r[h[h[e>>2]+16>>2]](e,n)},r[784]=function(e,t){e|=0,t|=0;var n,i=0,o=0,a=0,s=0,c=v(0),l=v(0),u=v(0);if(w=n=w-48|0,h[e+136>>2]>=1)for(;i=(s=g(a,284))+h[e+144>>2]|0,o=d[i+84|0],h[n+44>>2]=0,h[n+36>>2]=0,h[n+40>>2]=1065353216,h[n+32>>2]=o?0:1065353216,o=h[i+152>>2],h[n+24>>2]=h[i+148>>2],h[n+28>>2]=o,o=h[i+144>>2],h[n+16>>2]=h[i+140>>2],h[n+20>>2]=o,i=i+(h[e+120>>2]<<2)|0,c=m[i+92>>2],l=m[i+108>>2],u=m[i+124>>2],h[n+12>>2]=0,m[n+8>>2]=u+m[n+24>>2],m[n+4>>2]=l+m[n+20>>2],m[n>>2]=c+m[n+16>>2],r[h[h[t>>2]+8>>2]](t,n+16|0,n,n+32|0),r[h[h[t>>2]+8>>2]](t,n+16|0,16+(h[e+144>>2]+s|0)|0,n+32|0),(0|(a=a+1|0))>2];);w=n+48|0},r[785]=function(e,t){e|=0,t=v(t);var n,i,o=0,a=v(0),s=0,c=v(0),l=0,u=v(0),p=v(0),f=v(0),_=0,b=v(0),y=v(0),C=v(0),x=v(0),T=v(0),E=v(0),P=0,O=v(0);if(w=n=w-32|0,(0|(s=h[e+136>>2]))>0)for(;ht(e,o,0),(0|(o=o+1|0))<(0|(s=h[e+136>>2])););if(o=h[e+116>>2],a=m[o+312>>2],c=v(a*a),a=m[o+316>>2],c=v(c+v(a*a)),a=m[o+320>>2],a=v(v(S(v(c+v(a*a))))*v(3.5999999046325684)),m[e+112>>2]=a,l=o+(h[e+128>>2]<<2)|0,v(v(v(m[l+4>>2]*m[o+312>>2])+v(m[l+20>>2]*m[o+316>>2]))+v(m[l+36>>2]*m[o+320>>2]))>2]=-a),!((0|s)<1)){for(o=0;Kt(e,h[e+144>>2]+g(o,284)|0),(0|(o=o+1|0))<(0|(s=h[e+136>>2])););if(!((0|s)<1)){for(c=v(v(1)/m[h[e+116>>2]+344>>2]),s=0;a=v(0),o=h[e+144>>2]+g(s,284)|0,d[o+84|0]&&(a=m[o+272>>2],a=v(A(v(c*v(v(v(m[o+216>>2]*v(m[o+204>>2]-m[o+32>>2]))*m[o+268>>2])-v(a*m[(a>2]))),v(0)))),m[o+276>>2]=a,(0|(s=s+1|0))<(0|(o=h[e+136>>2])););if(!((0|o)<1))for(l=0;o=h[e+144>>2]+g(l,284)|0,a=m[o+248>>2],c=m[o+276>>2],u=m[o>>2],p=m[o+4>>2],f=m[o+8>>2],h[n+28>>2]=0,a=c>a?a:c,m[n+24>>2]=v(f*a)*t,m[n+20>>2]=v(a*p)*t,m[n+16>>2]=v(u*a)*t,a=m[o+16>>2],s=h[e+116>>2],c=m[s+52>>2],u=m[o+20>>2],p=m[s+56>>2],f=m[o+24>>2],y=m[s+60>>2],h[n+12>>2]=0,m[n+8>>2]=f-y,m[n+4>>2]=u-p,m[n>>2]=a-c,na(s,n+16|0,n),(0|(l=l+1|0))>2];);}}if(r[h[h[e>>2]+20>>2]](e,t),(0|(i=h[e+136>>2]))>=1)for(P=h[e+144>>2],s=h[e+116>>2],l=0;o=g(l,284)+P|0,d[o+84|0]?(_=s+(h[e+128>>2]<<2)|0,c=m[_+36>>2],u=m[_+4>>2],p=m[o>>2],f=m[_+20>>2],y=m[o+4>>2],b=m[o+8>>2],a=v(v(v(u*p)+v(f*y))+v(c*b)),C=v(m[o+40>>2]-m[s+56>>2]),x=m[s+328>>2],T=v(m[o+36>>2]-m[s+52>>2]),E=m[s+332>>2],O=v(v(v(v(C*x)-v(T*E))+m[s+320>>2])*v(c-v(b*a))),c=v(m[o+44>>2]-m[s+60>>2]),b=m[s+336>>2],a=v(v(v(O+v(v(v(v(v(E*c)-v(C*b))+m[s+312>>2])*v(u-v(p*a)))+v(v(v(v(T*b)-v(c*x))+m[s+316>>2])*v(f-v(y*a)))))*t)/m[o+212>>2]),m[o+240>>2]=a,_=o+236|0,u=m[o+236>>2],c=a):(_=o+236|0,a=m[o+236>>2],c=u=m[o+240>>2]),m[_>>2]=u+a,m[o+240>>2]=c*v(.9900000095367432),(0|i)!=(0|(l=l+1|0)););w=n+32|0},r[786]=function(e,t){e|=0,t=v(t);var n,i=0,a=0,s=0,c=v(0),l=0,u=0,p=v(0),f=0,_=v(0),b=v(0),y=0,C=0,A=v(0),x=v(0),T=0,E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0);if(w=n=w-96|0,a=h[e+136>>2]){if((0|(s=h[e+8>>2]))<(0|a)){if(h[e+12>>2]<(0|a)){if(h[7717]=h[7717]+1,u=0|r[h[6606]](a<<4,16),(0|(y=h[e+8>>2]))>=1)for(;f=(l=i<<4)+u|0,l=l+h[e+16>>2]|0,T=h[l+4>>2],h[f>>2]=h[l>>2],h[f+4>>2]=T,C=h[l+12>>2],h[f+8>>2]=h[l+8>>2],h[f+12>>2]=C,(0|y)!=(0|(i=i+1|0)););(i=h[e+16>>2])&&(d[e+20|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+16>>2]=0),h[e+16>>2]=u,h[e+12>>2]=a,o[e+20|0]=1}for(;l=h[n+52>>2],i=h[e+16>>2]+(s<<4)|0,h[i>>2]=h[n+48>>2],h[i+4>>2]=l,l=h[n+60>>2],h[i+8>>2]=h[n+56>>2],h[i+12>>2]=l,(0|a)!=(0|(s=s+1|0)););}if(h[e+8>>2]=a,(0|(s=h[e+28>>2]))<(0|a)){if(h[e+32>>2]<(0|a)){if(h[7717]=h[7717]+1,u=0|r[h[6606]](a<<4,16),(0|(y=h[e+28>>2]))>=1)for(i=0;f=(l=i<<4)+u|0,l=l+h[e+36>>2]|0,T=h[l+4>>2],h[f>>2]=h[l>>2],h[f+4>>2]=T,C=h[l+12>>2],h[f+8>>2]=h[l+8>>2],h[f+12>>2]=C,(0|y)!=(0|(i=i+1|0)););(i=h[e+36>>2])&&(d[e+40|0]&&i&&(h[7718]=h[7718]+1,r[h[6607]](i)),h[e+36>>2]=0),h[e+36>>2]=u,h[e+32>>2]=a,o[e+40|0]=1}for(;l=h[n+52>>2],i=h[e+36>>2]+(s<<4)|0,h[i>>2]=h[n+48>>2],h[i+4>>2]=l,l=h[n+60>>2],h[i+8>>2]=h[n+56>>2],h[i+12>>2]=l,(0|a)!=(0|(s=s+1|0)););}if(h[e+28>>2]=a,(0|(f=h[e+48>>2]))<(0|a)){e:if(h[e+52>>2]>=(0|a))l=a<<2,i=h[e+56>>2];else{if(h[7717]=h[7717]+1,l=a<<2,i=0|r[h[6606]](l,16),u=h[e+56>>2],(0|(y=h[e+48>>2]))>=1)for(s=0;h[(C=s<<2)+i>>2]=h[u+C>>2],(0|y)!=(0|(s=s+1|0)););else if(!u){h[e+56>>2]=i,h[e+52>>2]=a,o[e+60|0]=1;break e}d[e+60|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u)),h[e+56>>2]=i,o[e+60|0]=1,h[e+52>>2]=a}ji((s=f<<2)+i|0,0,l-s|0)}if(h[e+48>>2]=a,(0|(f=h[e+68>>2]))<(0|a)){e:if(h[e+72>>2]>=(0|a))l=a<<2,i=h[e+76>>2];else{if(h[7717]=h[7717]+1,l=a<<2,i=0|r[h[6606]](l,16),u=h[e+76>>2],(0|(y=h[e+68>>2]))>=1)for(s=0;h[(C=s<<2)+i>>2]=h[u+C>>2],(0|y)!=(0|(s=s+1|0)););else if(!u){h[e+76>>2]=i,h[e+72>>2]=a,o[e+80|0]=1;break e}d[e+80|0]&&u&&(h[7718]=h[7718]+1,r[h[6607]](u)),h[e+76>>2]=i,o[e+80|0]=1,h[e+72>>2]=a}ji((s=f<<2)+i|0,0,l-s|0)}if(h[e+68>>2]=a,!((0|(i=h[e+136>>2]))<1)){for(a=h[e+56>>2],l=h[e+76>>2],s=0;h[(u=s<<2)+l>>2]=0,h[a+u>>2]=0,(0|(s=s+1|0))!=(0|i););if(!((0|i)<1)){for(l=n- -64|0,s=0;a=h[e+144>>2]+g(s,284)|0,(f=h[a+88>>2])&&(i=h[a+104>>2],h[n+56>>2]=h[a+100>>2],h[n+60>>2]=i,i=h[a+96>>2],h[n+48>>2]=h[a+92>>2],h[n+52>>2]=i,i=h[a+120>>2],h[l+8>>2]=h[a+116>>2],h[l+12>>2]=i,i=h[a+112>>2],h[l>>2]=h[a+108>>2],h[l+4>>2]=i,i=h[a+136>>2],h[n+88>>2]=h[a+132>>2],h[n+92>>2]=i,i=h[a+128>>2],h[n+80>>2]=h[a+124>>2],h[n+84>>2]=i,i=(n+48|0)+(h[e+120>>2]<<2)|0,y=h[i>>2],C=h[i+16>>2],T=h[i+32>>2],i=(u=s<<4)+h[e+36>>2]|0,h[i+12>>2]=0,h[i+8>>2]=T,h[i+4>>2]=C,h[i>>2]=y,i=u+h[e+36>>2]|0,_=m[i+8>>2],p=m[i>>2],b=m[a>>2],A=m[i+4>>2],x=m[a+4>>2],E=m[a+8>>2],c=v(v(v(p*b)+v(A*x))+v(_*E)),_=v(_-v(E*c)),p=v(p-v(b*c)),b=v(A-v(x*c)),c=v(v(1)/v(S(v(v(_*_)+v(v(p*p)+v(b*b)))))),_=v(_*c),m[i+8>>2]=_,b=v(b*c),m[i+4>>2]=b,c=v(p*c),m[i>>2]=c,p=m[a+8>>2],A=m[a>>2],x=m[a+4>>2],i=u+h[e+16>>2]|0,h[i+12>>2]=0,m[i+8>>2]=v(b*A)-v(x*c),m[i+4>>2]=v(p*c)-v(_*A),m[i>>2]=v(x*_)-v(p*b),i=u+h[e+16>>2]|0,b=c=m[i+8>>2],_=m[i>>2],p=m[i+4>>2],c=v(v(1)/v(S(v(v(v(_*_)+v(p*p))+v(c*c))))),m[i+8>>2]=b*c,m[i+4>>2]=p*c,m[i>>2]=_*c,C=i=a+16|0,i=s<<2,qt(h[e+116>>2],C,f,C,u+h[e+36>>2]|0,i+h[e+76>>2]|0),i=i+h[e+76>>2]|0,m[i>>2]=m[6604]*m[i>>2],i=h[e+136>>2]),(0|(s=s+1|0))<(0|i););if(!((0|i)<1)){for(i=h[e+144>>2],l=0,s=0;;){e:{t:{n:{if(f=g(s,284),a=h[88+(u=f+i|0)>>2]){if((c=m[u+252>>2])==v(0))break n;c=v(c*t);break t}h[h[e+56>>2]+(s<<2)>>2]=0,h[u+280>>2]=1065353216;break e}c=m[u+256>>2],On(n+48|0,h[e+116>>2],a,u+16|0,h[e+16>>2]+(s<<4)|0,c==v(0)?v(0):c),c=m[n+92>>2],_=v(-c),p=m[n+64>>2],i=h[n+48>>2],b=v(p-m[i+60>>2]),A=m[i+332>>2],x=m[n+60>>2],E=v(x-m[i+56>>2]),P=m[i+336>>2],a=h[n+52>>2],p=v(p-m[a+60>>2]),M=m[a+332>>2],x=v(x-m[a+56>>2]),R=m[a+336>>2],L=v(v(v(v(v(b*A)-v(E*P))+m[i+312>>2])-v(v(v(p*M)-v(x*R))+m[a+312>>2]))*m[n+72>>2]),I=m[n+56>>2],D=v(I-m[i+52>>2]),O=b,b=m[i+328>>2],N=v(m[i+316>>2]+v(v(D*P)-v(O*b))),P=v(I-m[a+52>>2]),O=p,p=m[a+328>>2],c=(c=c<(p=v(m[n+88>>2]*v(-v(v(L+v(v(N-v(m[a+316>>2]+v(v(P*R)-v(O*p))))*m[n+76>>2]))+v(v(v(v(v(E*b)-v(D*A))+m[i+320>>2])-v(v(v(x*p)-v(P*M))+m[a+320>>2]))*m[n+80>>2])))))?c:p)<_?_:c,i=h[e+144>>2]}C=(y=s<<2)+h[e+56>>2]|0,h[C>>2]=0,h[280+(a=i+f|0)>>2]=1065353216,_=m[u+228>>2],p=m[u+276>>2],m[C>>2]=c,c=v(c*v(.5)),b=v(c*c),c=m[y+h[e+76>>2]>>2],b=v(b+v(c*c)),c=v(_*v(p*t)),b>v(c*c)&&(m[a+280>>2]=v(c/v(S(b)))*m[a+280>>2],l=1)}if(!((0|(s=s+1|0))<(0|(a=h[e+136>>2]))))break}if(!(1&((f=-1^l)|(l=(0|a)<1))))for(u=h[e+76>>2],s=0;m[(i=(f=s<<2)+u|0)>>2]!=v(0)&&(y=h[e+144>>2]+g(s,284)|0,(t=m[y+280>>2])>2]|0,m[f>>2]=t*m[f>>2],m[i>>2]=m[y+280>>2]*m[i>>2])),(0|a)!=(0|(s=s+1|0)););if(!l)for(s=0;i=(u=g(s,284))+h[e+144>>2]|0,t=m[i+16>>2],a=h[e+116>>2],c=m[a+52>>2],_=m[i+20>>2],p=m[a+56>>2],b=m[i+24>>2],A=m[a+60>>2],h[n+60>>2]=0,m[n+56>>2]=b-A,m[n+52>>2]=_-p,m[n+48>>2]=t-c,(t=m[(f=s<<2)+h[e+56>>2]>>2])!=v(0)&&(l=h[e+16>>2]+(s<<4)|0,c=m[l>>2],_=m[l+4>>2],p=m[l+8>>2],h[n+44>>2]=0,m[n+40>>2]=t*p,m[n+36>>2]=t*_,m[n+32>>2]=c*t,na(a,n+32|0,n+48|0)),f=f+h[e+76>>2]|0,m[f>>2]!=v(0)&&(a=h[88+(u+h[e+144>>2]|0)>>2],t=m[a+52>>2],c=m[a+56>>2],_=m[a+60>>2],p=m[i+16>>2],b=m[i+20>>2],A=m[i+24>>2],h[n+44>>2]=0,m[n+40>>2]=A-_,m[n+36>>2]=b-c,m[n+32>>2]=p-t,l=h[e+36>>2]+(s<<4)|0,c=m[l>>2],_=m[l+4>>2],p=m[l+8>>2],t=m[f>>2],h[n+28>>2]=0,m[n+24>>2]=t*p,m[n+20>>2]=t*_,m[n+16>>2]=c*t,l=(u=h[e+116>>2])+(h[e+124>>2]<<2)|0,c=m[l+36>>2],_=m[l+4>>2],p=m[n+48>>2],b=m[l+20>>2],A=m[n+52>>2],x=m[n+56>>2],t=v(v(v(v(_*p)+v(b*A))+v(c*x))*v(v(1)-m[i+244>>2])),m[n+56>>2]=x-v(c*t),m[n+52>>2]=A-v(b*t),m[n+48>>2]=p-v(_*t),na(u,n+16|0,n+48|0),h[n+12>>2]=0,m[n+8>>2]=-m[n+24>>2],m[n+4>>2]=-m[n+20>>2],m[n>>2]=-m[n+16>>2],na(a,n,n+32|0)),(0|(s=s+1|0))>2];);}}}}w=n+96|0},r[787]=function(e,t,n,i){t|=0,n|=0,i|=0,h[128+(e|=0)>>2]=i,h[e+124>>2]=n,h[e+120>>2]=t},r[788]=Jh,r[789]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a=0,s=v(0),c=v(0),l=v(0),u=v(0);return w=o=w-96|0,h[o+20>>2]=-65535,h[o+24>>2]=0,h[o+12>>2]=1065353216,h[o+16>>2]=0,h[o+8>>2]=1740,a=h[t+12>>2],h[o+36>>2]=h[t+8>>2],h[o+40>>2]=a,a=h[t+4>>2],h[o+28>>2]=h[t>>2],h[o+32>>2]=a,a=h[n+12>>2],h[o+52>>2]=h[n+8>>2],h[o+56>>2]=a,a=h[n+4>>2],h[o+44>>2]=h[n>>2],h[o+48>>2]=a,e=h[e+4>>2],r[h[h[e>>2]+32>>2]](e,t,n,o+8|0),n=0,!(e=h[o+16>>2])|!(2&d[e+236|0])|4&d[e+204|0]||(t=h[o+80>>2],h[i>>2]=h[o+76>>2],h[i+4>>2]=t,t=h[o+88>>2],h[i+8>>2]=h[o+84>>2],h[i+12>>2]=t,t=h[o+64>>2],h[i+16>>2]=h[o+60>>2],h[i+20>>2]=t,t=h[o+72>>2],h[i+24>>2]=h[o+68>>2],h[i+28>>2]=t,s=m[i+16>>2],c=m[i+20>>2],l=m[i+24>>2],u=v(v(1)/v(S(v(v(v(s*s)+v(c*c))+v(l*l))))),m[i+16>>2]=s*u,m[i+24>>2]=l*u,m[i+20>>2]=c*u,h[i+32>>2]=h[o+12>>2],n=e),w=o+96|0,0|n},r[790]=function(e){var t;return h[(e|=0)>>2]=20152,(t=h[e+140>>2])&&(d[e+144|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+140>>2]=0),h[e+140>>2]=0,o[e+144|0]=1,h[e+132>>2]=0,h[e+136>>2]=0,0|e},r[791]=function(e){var t;h[(e|=0)>>2]=20152,(t=h[e+140>>2])&&(d[e+144|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+140>>2]=0),h[e+140>>2]=0,o[e+144|0]=1,h[e+132>>2]=0,h[e+136>>2]=0,e&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[792]=function(e,t,n){e|=0,t|=0,n=v(n),r[h[h[e>>2]+32>>2]](e,t),r[h[h[e>>2]+36>>2]](e,t,n)},r[793]=qh,r[794]=function(e,t){e|=0,t|=0;var n=v(0),i=v(0),r=v(0),a=0,s=v(0);o[e+171|0]=1,a=h[t+4>>2],h[e+60>>2]=h[t>>2],h[e+64>>2]=a,a=h[t+12>>2],h[e+68>>2]=h[t+8>>2],h[e+72>>2]=a,n=m[e+60>>2],s=m[e- -64>>2],i=m[e+68>>2],r=v(v(1)/v(S(v(v(v(n*n)+v(s*s))+v(i*i))))),i=v(i*r),n=v(n*r),r=v(s*r),t=h[e+72>>2],v(S(v(v(i*i)+v(v(n*n)+v(r*r)))))>2]=n,h[e+88>>2]=t,m[e+84>>2]=i,m[e+80>>2]=r},r[795]=function(e,t,n){e|=0,t|=0,n=v(n);var i=v(0),r=v(0),a=v(0),s=0,c=v(0),l=0;o[e+171|0]=0,s=h[t+4>>2],h[e+60>>2]=h[t>>2],h[e+64>>2]=s,s=h[t+12>>2],h[e+68>>2]=h[t+8>>2],h[e+72>>2]=s,i=m[e+60>>2],c=m[e- -64>>2],r=m[e+68>>2],a=v(v(1)/v(S(v(v(v(i*i)+v(c*c))+v(r*r))))),r=v(r*a),i=v(i*a),a=v(c*a),v(S(v(v(r*r)+v(v(i*i)+v(a*a)))))>2],m[e+76>>2]=i,h[e+88>>2]=l,m[e+84>>2]=r,m[e+80>>2]=a,m[e+172>>2]=m[e+172>>2]+n},r[796]=function(e,t){t|=0;var n=0,i=0,o=0,a=0,s=0;if(h[172+(e|=0)>>2]=0,p[e+168>>1]=0,h[e+16>>2]=0,h[e+20>>2]=0,h[e+60>>2]=0,h[e+64>>2]=0,h[e+68>>2]=0,h[e+72>>2]=0,e=h[h[e+8>>2]+284>>2],h[4+(0|r[h[h[e>>2]+28>>2]](e))>>2]>=1)for(;i=e,o=h[h[12+(0|r[h[h[e>>2]+28>>2]](e))>>2]>>2],a=h[h[12+(0|r[h[h[e>>2]+28>>2]](e))>>2]+4>>2],s=h[t+24>>2],n=h[h[e>>2]+12>>2],r[n](0|i,0|o,0|a,0|s),h[4+(0|r[h[h[e>>2]+28>>2]](e))>>2]>0;);},r[797]=function(e,t){e|=0,t|=0;var n,i=0;h[12+(n=w-32|0)>>2]=0,i=h[t+12>>2],h[n+24>>2]=h[t+8>>2],h[n+28>>2]=i,i=h[t+4>>2],h[n+16>>2]=h[t>>2],h[n+20>>2]=i,e=h[e+8>>2],h[e+4>>2]=1065353216,h[e+44>>2]=1065353216,h[e+48>>2]=0,h[e+36>>2]=0,h[e+40>>2]=0,h[e+28>>2]=0,h[e+32>>2]=0,h[e+24>>2]=1065353216,h[e+16>>2]=0,h[e+20>>2]=0,h[e+8>>2]=0,h[e+12>>2]=0,h[e+260>>2]=h[e+260>>2]+1,t=h[n+20>>2],h[e+52>>2]=h[n+16>>2],h[e+56>>2]=t,t=h[n+28>>2],h[e+60>>2]=h[n+24>>2],h[e+64>>2]=t},r[798]=function(e,t){t|=0;var n,i=0,r=0;o[148+(e|=0)|0]=0,Ue(e,t)&&(o[e+148|0]=1,Ue(e,t)&&(o[e+148|0]=1,Ue(e,t)&&(o[e+148|0]=1,Ue(e,t)&&(o[e+148|0]=1,Ue(e,t)&&(o[e+148|0]=1))))),t=h[e+8>>2],r=h[4+(i=t+52|0)>>2],h[e+92>>2]=h[i>>2],h[e+96>>2]=r,i=h[t+64>>2],h[e+100>>2]=h[t+60>>2],h[e+104>>2]=i,i=h[t+52>>2],r=h[t+56>>2],n=h[t+64>>2],h[e+120>>2]=h[t+60>>2],h[e+124>>2]=n,h[e+112>>2]=i,h[e+116>>2]=r},r[799]=function(e,t,n){e|=0,t|=0,n=v(n);var i,a=0,s=v(0),c=0,l=v(0),u=v(0),_=v(0);w=i=w-80|0,m[e+172>>2]<=v(0)&&!d[e+171|0]||(o[e+168|0]=r[h[h[e>>2]+48>>2]](e),s=v(m[e+16>>2]-v(m[e+44>>2]*n)),m[e+16>>2]=s,s>v(0)&&s>(l=m[e+28>>2])&&(m[e+16>>2]=l,s=l),s>2])),v(y(s))>l&&(s=v(-l),m[e+16>>2]=s)),m[e+20>>2]=s*n,a=h[e+8>>2],c=h[a+16>>2],h[i+24>>2]=h[a+12>>2],h[i+28>>2]=c,c=h[a+8>>2],h[i+16>>2]=h[a+4>>2],h[i+20>>2]=c,c=h[a+32>>2],h[i+40>>2]=h[a+28>>2],h[i+44>>2]=c,c=h[a+24>>2],h[i+32>>2]=h[a+20>>2],h[i+36>>2]=c,c=h[a+48>>2],h[i+56>>2]=h[a+44>>2],h[i+60>>2]=c,c=h[a+40>>2],h[i+48>>2]=h[a+36>>2],h[i+52>>2]=c,c=h[a+64>>2],h[i+72>>2]=h[a+60>>2],h[i+76>>2]=c,c=h[a+56>>2],h[i+64>>2]=h[a+52>>2],h[i+68>>2]=c,function(e,t){var n,i=0,a=v(0),s=v(0),c=0,l=v(0),u=v(0),_=v(0);w=n=w-240|0,1&o[30544]||Vl(30544)&&(h[7625]=0,h[7626]=0,h[7624]=1065353216,h[7627]=0,h[7628]=0,h[7630]=0,h[7631]=0,h[7629]=1065353216,h[7632]=0,h[7633]=0,h[7634]=1065353216,h[7635]=0,Fu(30544)),i=h[e+176>>2]<<4,l=m[i+30496>>2],s=m[i+30500>>2],a=m[i+30504>>2],h[e+124>>2]=0,u=a,a=m[e+20>>2],a=v(m[e+52>>2]+(a>v(0)?a:v(0))),m[e+120>>2]=v(u*a)+m[e+100>>2],m[e+116>>2]=v(s*a)+m[e+96>>2],m[e+112>>2]=m[e+92>>2]+v(l*a),h[n+132>>2]=1065353216,h[n+136>>2]=0,h[n+140>>2]=0,h[n+124>>2]=0,h[n+128>>2]=0,h[n+152>>2]=1065353216,h[n+236>>2]=0,h[n+228>>2]=0,h[n+232>>2]=0,h[n+216>>2]=1065353216,h[n+220>>2]=0,h[n+224>>2]=0,h[n+172>>2]=0,h[n+164>>2]=0,h[n+168>>2]=0,h[n+156>>2]=0,h[n+160>>2]=0,h[n+196>>2]=1065353216,h[n+200>>2]=0,h[n+204>>2]=0,h[n+188>>2]=0,h[n+192>>2]=0,h[n+144>>2]=0,h[n+148>>2]=0,h[n+112>>2]=1065353216,h[n+116>>2]=0,h[n+120>>2]=0,h[n+208>>2]=0,h[n+212>>2]=0,h[n+180>>2]=0,h[n+184>>2]=0,h[n+176>>2]=1065353216,1&o[30544]||Vl(30544)&&(h[7625]=0,h[7626]=0,h[7624]=1065353216,h[7627]=0,h[7628]=0,h[7630]=0,h[7631]=0,h[7629]=1065353216,h[7632]=0,h[7633]=0,h[7634]=1065353216,h[7635]=0,Fu(30544)),c=h[e+176>>2],i=h[e+12>>2],u=v(r[h[h[i>>2]+48>>2]](i)),_=m[e+92>>2],l=m[e+96>>2],s=m[e+100>>2],a=m[e+56>>2],h[n+236>>2]=0,a=v(u+a),i=c<<4,m[n+232>>2]=s+v(a*m[i+30504>>2]),m[n+228>>2]=l+v(a*m[i+30500>>2]),m[n+224>>2]=_+v(m[i+30496>>2]*a),i=h[e+124>>2],h[n+168>>2]=h[e+120>>2],h[n+172>>2]=i,i=h[e+116>>2],h[n+160>>2]=h[e+112>>2],h[n+164>>2]=i,c=h[e+8>>2],1&o[30544]||Vl(30544)&&(h[7625]=0,h[7626]=0,h[7624]=1065353216,h[7627]=0,h[7628]=0,h[7630]=0,h[7631]=0,h[7629]=1065353216,h[7632]=0,h[7633]=0,h[7634]=1065353216,h[7635]=0,Fu(30544)),i=h[e+176>>2],h[n+28>>2]=0,h[n+32>>2]=0,h[n+36>>2]=0,h[n+40>>2]=0,h[n+44>>2]=0,h[n+48>>2]=0,h[n+104>>2]=0,h[n+108>>2]=1060439169,i<<=4,m[n+100>>2]=-m[i+30504>>2],m[n+96>>2]=-m[i+30500>>2],h[n+84>>2]=0,h[n+12>>2]=1065353216,h[n+20>>2]=0,h[n+24>>2]=0,h[n+88>>2]=c,h[n+8>>2]=20308,m[n+92>>2]=-m[i+30496>>2],c=h[e+8>>2],i=h[c+188>>2],p[n+16>>1]=f[i+4>>1],p[n+18>>1]=f[i+6>>1],d[e+170|0]?qe(c,h[e+12>>2],n+176|0,n+112|0,n+8|0,m[t+56>>2]):Te(t,h[e+12>>2],n+176|0,n+112|0,n+8|0,v(0)),m[n+12>>2]>2]<<4,v(v(v(m[n+52>>2]*m[t+30496>>2])+v(m[n+56>>2]*m[t+30500>>2]))+v(m[n+60>>2]*m[t+30504>>2]))>v(0)&&(s=m[n+12>>2],m[e+108>>2]=m[e+52>>2]*s,d[e+180|0]?(a=v(v(1)-s),m[e+92>>2]=v(a*m[e+92>>2])+v(s*m[e+112>>2]),m[e+96>>2]=v(a*m[e+96>>2])+v(s*m[e+116>>2]),m[e+100>>2]=v(a*m[e+100>>2])+v(s*m[e+120>>2])):(t=h[e+116>>2],h[e+92>>2]=h[e+112>>2],h[e+96>>2]=t,t=h[e+124>>2],h[e+100>>2]=h[e+120>>2],h[e+104>>2]=t)),h[e+16>>2]=0,h[e+20>>2]=0):(h[e+108>>2]=h[e+52>>2],t=h[e+124>>2],h[e+100>>2]=h[e+120>>2],h[e+104>>2]=t,t=h[e+116>>2],h[e+92>>2]=h[e+112>>2],h[e+96>>2]=t),w=n+240|0}(e,t),a=i- -64|0,d[e+171|0]?it(e,t,e+60|0):(s=m[e+172>>2],m[e+172>>2]=s-n,l=m[e- -64>>2],u=m[e+68>>2],_=m[e+60>>2],h[i+12>>2]=0,s=s>n?n:s,m[i+8>>2]=u*s,m[i+4>>2]=s*l,m[i>>2]=s*_,it(e,t,i)),function(e,t,n){var i,r=0,a=v(0),s=v(0),c=0,l=0,u=0,_=0,b=v(0),g=v(0),y=v(0),C=v(0),A=0,x=v(0),S=v(0);w=i=w-416|0,r=h[e+124>>2],h[i+216>>2]=h[e+120>>2],h[i+220>>2]=r,r=h[e+116>>2],h[i+208>>2]=h[e+112>>2],h[i+212>>2]=r,a=m[e+16>>2],(a=v((av(0)&&(a>(s=m[e+24>>2])^1|(d[e+169|0]?!d[e+168|0]:0)||(a=s)),1&o[30544]||Vl(30544)&&(h[7625]=0,h[7626]=0,h[7624]=1065353216,h[7627]=0,h[7628]=0,h[7630]=0,h[7631]=0,h[7629]=1065353216,h[7632]=0,h[7633]=0,h[7634]=1065353216,h[7635]=0,Fu(30544)),r=h[e+176>>2]<<4,s=m[r+30504>>2],b=m[r+30500>>2],a=v(a+m[e+108>>2]),g=v(m[r+30496>>2]*a),m[e+112>>2]=m[e+112>>2]-g,b=v(a*b),m[e+116>>2]=m[e+116>>2]-b,y=v(a*s),m[e+120>>2]=m[e+120>>2]-y,r=h[e+8>>2],1&o[30544]||Vl(30544)&&(h[7625]=0,h[7626]=0,h[7624]=1065353216,h[7627]=0,h[7628]=0,h[7630]=0,h[7631]=0,h[7629]=1065353216,h[7632]=0,h[7633]=0,h[7634]=1065353216,h[7635]=0,Fu(30544)),c=h[e+40>>2],l=h[e+176>>2],h[i+124>>2]=0,h[i+128>>2]=0,h[i+132>>2]=0,h[i+136>>2]=0,h[i+140>>2]=0,h[i+144>>2]=0,u=h[4+(_=30504+(l<<=4)|0)>>2],h[i+196>>2]=h[_>>2],h[i+200>>2]=u,h[i+108>>2]=1065353216,h[i+116>>2]=0,h[i+120>>2]=0,h[i+184>>2]=r,h[i+104>>2]=20308,h[i+204>>2]=c,c=h[4+(r=l+30496|0)>>2],h[i+188>>2]=h[r>>2],h[i+192>>2]=c,h[i+180>>2]=0,r=h[e+8>>2],c=h[r+188>>2],p[i+112>>1]=f[c+4>>1],p[i+114>>1]=f[c+6>>1],1&o[30544]||Vl(30544)&&(h[7625]=0,h[7626]=0,h[7624]=1065353216,h[7627]=0,h[7628]=0,h[7630]=0,h[7631]=0,h[7629]=1065353216,h[7632]=0,h[7633]=0,h[7634]=1065353216,h[7635]=0,Fu(30544)),c=h[e+40>>2],l=h[e+176>>2],h[i+20>>2]=0,h[i+24>>2]=0,h[i+28>>2]=0,h[i+32>>2]=0,h[i+36>>2]=0,h[i+40>>2]=0,u=h[4+(_=30504+(l<<=4)|0)>>2],h[i+92>>2]=h[_>>2],h[i+96>>2]=u,h[i+76>>2]=0,h[i+4>>2]=1065353216,h[i+12>>2]=0,h[i+16>>2]=0,h[i+80>>2]=r,h[i>>2]=20308,h[i+100>>2]=c,c=h[4+(r=l+30496|0)>>2],h[i+84>>2]=h[r>>2],h[i+88>>2]=c,r=h[h[e+8>>2]+188>>2],p[i+8>>1]=f[r+4>>1],p[i+10>>1]=f[r+6>>1],c=i+224|4,l=i+288|4,_=i+352|4,a=m[e+120>>2],s=m[e+116>>2],C=m[e+112>>2],u=0;e:{for(;;){h[i+352>>2]=1065353216,h[(r=_)+8>>2]=0,h[r+12>>2]=0,h[r>>2]=0,h[r+4>>2]=0,h[i+372>>2]=1065353216,h[i+384>>2]=0,h[i+388>>2]=0,h[i+376>>2]=0,h[i+380>>2]=0,h[i+392>>2]=1065353216,h[i+396>>2]=0,h[i+288>>2]=1065353216,h[(r=l)+8>>2]=0,h[r+12>>2]=0,h[r>>2]=0,h[r+4>>2]=0,h[i+308>>2]=1065353216,h[i+320>>2]=0,h[i+324>>2]=0,h[i+312>>2]=0,h[i+316>>2]=0,h[i+328>>2]=1065353216,h[i+332>>2]=0,h[i+224>>2]=1065353216,h[(r=c)+8>>2]=0,h[r+12>>2]=0,h[r>>2]=0,h[r+4>>2]=0,h[i+244>>2]=1065353216,h[i+256>>2]=0,h[i+260>>2]=0,h[i+248>>2]=0,h[i+252>>2]=0,h[i+264>>2]=1065353216,h[i+268>>2]=0,r=h[e+104>>2],h[i+408>>2]=h[e+100>>2],h[i+412>>2]=r,r=h[e+96>>2],h[i+400>>2]=h[e+92>>2],h[i+404>>2]=r,r=h[e+124>>2],h[i+344>>2]=h[e+120>>2],h[i+348>>2]=r,r=h[e+116>>2],h[i+336>>2]=h[e+112>>2],h[i+340>>2]=r,m[i+276>>2]=s-b,m[i+280>>2]=a-y,h[i+284>>2]=0,m[i+272>>2]=C-g;t:if(d[e+170|0]){if(qe(h[e+8>>2],h[e+12>>2],i+352|0,i+288|0,i+104|0,m[t+56>>2]),m[i+108>>2]>2],h[e+12>>2],i+352|0,i+224|0,i,m[t+56>>2])}else Te(t,h[e+12>>2],i+352|0,i+288|0,i+104|0,m[t+56>>2]),m[i+108>>2]>2],i+352|0,i+224|0,i,m[t+56>>2]);a=m[e+16>>2],a=v((a>2]>2]>2]v(0)&&!(1&(a<(s=m[e+52>>2])^-1|-1^r|u))){if(d[e+168|0]|!d[e+169|0])break n;u=0}if((s=m[i+108>>2])>2],s=A?d[e+181|0]?s:v(v(n-m[i+168>>2])*v(.5)):s,o[e+181|0]=0,o[e+169|0]=0,h[e+16>>2]=0,h[e+20>>2]=0,a=v(v(1)-s),m[e+92>>2]=v(a*m[e+92>>2])+v(s*m[e+112>>2]),m[e+96>>2]=v(n*a)+v(s*m[e+116>>2]),m[e+100>>2]=v(a*m[e+100>>2])+v(s*m[e+120>>2]);break e}r=h[i+212>>2],h[e+112>>2]=h[i+208>>2],h[e+116>>2]=r,r=h[i+220>>2],h[e+120>>2]=h[i+216>>2],h[e+124>>2]=r,1&o[30544]||Vl(30544)&&(h[7625]=0,h[7626]=0,h[7624]=1065353216,h[7627]=0,h[7628]=0,h[7630]=0,h[7631]=0,h[7629]=1065353216,h[7632]=0,h[7633]=0,h[7634]=1065353216,h[7635]=0,Fu(30544)),r=h[e+176>>2]<<4,x=m[r+30504>>2],S=m[r+30500>>2],a=v(s+m[e+108>>2]),C=v(m[e+112>>2]-v(m[r+30496>>2]*a)),m[e+112>>2]=C,s=v(m[e+116>>2]-v(a*S)),m[e+116>>2]=s,a=v(m[e+120>>2]-v(a*x)),m[e+120>>2]=a,u=1;continue}break}o[e+181|0]=1,A&&(a>(n=m[e+24>>2])^1|(d[e+169|0]?!d[e+168|0]:0)||(m[e+112>>2]=g+m[e+112>>2],m[e+116>>2]=b+m[e+116>>2],m[e+120>>2]=y+m[e+120>>2],1&o[30544]||Vl(30544)&&(h[7625]=0,h[7626]=0,h[7624]=1065353216,h[7627]=0,h[7628]=0,h[7630]=0,h[7631]=0,h[7629]=1065353216,h[7632]=0,h[7633]=0,h[7634]=1065353216,h[7635]=0,Fu(30544)),t=h[e+176>>2]<<4,a=m[t+30504>>2],s=m[t+30500>>2],n=v(n+m[e+108>>2]),m[e+112>>2]=m[e+112>>2]-v(m[t+30496>>2]*n),m[e+116>>2]=m[e+116>>2]-v(n*s),m[e+120>>2]=m[e+120>>2]-v(n*a))),t=h[e+116>>2],h[e+92>>2]=h[e+112>>2],h[e+96>>2]=t,t=h[e+124>>2],h[e+100>>2]=h[e+120>>2],h[e+104>>2]=t}w=i+416|0}(e,t,n),t=h[e+104>>2],h[a+8>>2]=h[e+100>>2],h[a+12>>2]=t,t=h[e+96>>2],h[a>>2]=h[e+92>>2],h[a+4>>2]=t,e=h[e+8>>2],h[e+260>>2]=h[e+260>>2]+1,t=h[i+28>>2],h[e+12>>2]=h[i+24>>2],h[e+16>>2]=t,t=h[i+20>>2],h[e+4>>2]=h[i+16>>2],h[e+8>>2]=t,t=h[i+44>>2],h[e+28>>2]=h[i+40>>2],h[e+32>>2]=t,t=h[i+36>>2],h[e+20>>2]=h[i+32>>2],h[e+24>>2]=t,t=h[i+52>>2],h[e+36>>2]=h[i+48>>2],h[e+40>>2]=t,t=h[i+60>>2],h[e+44>>2]=h[i+56>>2],h[e+48>>2]=t,t=h[a+4>>2],h[e+52>>2]=h[a>>2],h[e+56>>2]=t,t=h[a+12>>2],h[e+60>>2]=h[a+8>>2],h[e+64>>2]=t),w=i+80|0},r[800]=function(e){return 0|r[h[h[(e|=0)>>2]+48>>2]](e)},r[801]=function(e){r[h[h[(e|=0)>>2]+40>>2]](e)&&(o[e+169|0]=1,h[e+16>>2]=h[e+28>>2])},r[802]=function(e){return m[16+(e|=0)>>2]!=v(0)?0:m[e+20>>2]==v(0)|0},r[803]=function(e,t){t|=0,o[180+(e|=0)|0]=t},r[804]=Jh,r[805]=function(e,t,n){e|=0,t|=0,n|=0;var i,r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=0,p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0);return o=v(1),(0|(i=h[t>>2]))==h[e+80>>2]|4&d[i+204|0]||(n?(a=m[t+16>>2],s=m[t+12>>2],r=m[t+8>>2]):(r=m[t+8>>2],c=m[t+12>>2],l=m[t+16>>2],a=v(v(v(r*m[i+36>>2])+v(c*m[i+40>>2]))+v(l*m[i+44>>2])),s=v(v(v(r*m[i+20>>2])+v(c*m[i+24>>2]))+v(l*m[i+28>>2])),r=v(v(v(m[i+4>>2]*r)+v(m[i+8>>2]*c))+v(m[i+12>>2]*l))),v(v(v(r*m[e+84>>2])+v(s*m[e+88>>2]))+v(a*m[e+92>>2]))>2]||(u=h[t+40>>2],h[e+76>>2]=i,h[e+4>>2]=u,n?(n=h[t+12>>2],h[e+44>>2]=h[t+8>>2],h[e+48>>2]=n,n=h[t+20>>2],h[e+52>>2]=h[t+16>>2],h[e+56>>2]=n):(r=m[i+8>>2],c=m[i+12>>2],l=m[i+20>>2],p=m[i+24>>2],f=m[i+28>>2],_=m[i+36>>2],b=m[i+40>>2],o=m[t+12>>2],g=m[i+44>>2],a=m[t+16>>2],y=m[i+4>>2],s=m[t+8>>2],h[e+56>>2]=0,m[e+52>>2]=v(v(s*_)+v(o*b))+v(a*g),m[e+48>>2]=v(v(s*l)+v(o*p))+v(a*f),m[e+44>>2]=v(v(y*s)+v(r*o))+v(c*a)),n=h[t+28>>2],h[e+60>>2]=h[t+24>>2],h[e+64>>2]=n,n=h[t+36>>2],h[e+68>>2]=h[t+32>>2],h[e+72>>2]=n,o=m[t+40>>2])),v(o)},r[806]=function(e){var t;return h[(e|=0)>>2]=20392,(t=h[e+32>>2])&&(d[e+36|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+32>>2]=0),h[e+32>>2]=0,o[e+36|0]=1,h[e+24>>2]=0,h[e+28>>2]=0,0|e},r[807]=function(e){var t;h[(e|=0)>>2]=20392,!(t=h[e+32>>2])|!d[e+36|0]||t&&(h[7718]=h[7718]+1,r[h[6607]](t)),Se(e)},r[808]=Xh,r[809]=Qh,r[810]=function(e,t,n){t|=0,n|=0;var i,a=0,s=0,c=0,l=0;if((0|(n=h[24+(e|=0)>>2]))<(0|(i=h[t+4>>2]))){if(h[e+28>>2]<(0|i)){if(i?(h[7717]=h[7717]+1,c=0|r[h[6606]](i<<2,16),a=h[e+24>>2]):a=n,(0|a)>=1)for(;h[(l=s<<2)+c>>2]=h[h[e+32>>2]+l>>2],(0|a)!=(0|(s=s+1|0)););(a=h[e+32>>2])&&(d[e+36|0]&&a&&(h[7718]=h[7718]+1,r[h[6607]](a)),h[e+32>>2]=0),h[e+32>>2]=c,h[e+28>>2]=i,o[e+36|0]=1}for(;h[h[e+32>>2]+(n<<2)>>2]=0,(0|i)!=(0|(n=n+1|0)););}if(h[e+24>>2]=i,(0|i)>=1)for(e=h[e+32>>2],n=0;h[(a=n<<2)+e>>2]=h[a+h[t+12>>2]>>2],(0|i)!=(0|(n=n+1|0)););},r[811]=qh,r[812]=function(e,t){e|=0,t=v(t);var n=0,i=0,r=0;if((0|(n=h[e+24>>2]))>=1)for(;;){e:{t:switch(r=h[h[e+32>>2]+(i<<2)>>2],h[r+216>>2]+-2|0){case 0:case 3:break e}K(r,t),n=h[e+24>>2]}if(!((0|(i=i+1|0))<(0|n)))break}},r[813]=function(e,t){e|=0,t=v(t);var n=0,i=0,r=0;if((0|(n=h[e+24>>2]))>=1)for(;;){e:{t:switch(r=h[h[e+32>>2]+(i<<2)>>2],h[r+216>>2]+-2|0){case 0:case 3:break e}be(r),n=h[e+24>>2]}if(!((0|(i=i+1|0))<(0|n)))break}},r[814]=function(e){var t=0,n=0,i=0;if((0|(t=h[24+(e|=0)>>2]))>=1)for(;;){e:{t:switch(i=h[h[e+32>>2]+(n<<2)>>2],h[i+216>>2]+-2|0){case 0:case 3:break e}Pn(i),t=h[e+24>>2]}if(!((0|(n=n+1|0))<(0|t)))break}},r[815]=function(e,t,n){!function(e,t){var n,i=v(0),o=0,a=v(0),s=v(0),c=v(0),l=0,u=0,p=v(0);w=n=w-160|0;e:{t:switch((15&h[e+388>>2])-1|0){case 0:h[n>>2]=21644,o=h[t+12>>2],a=m[o+56>>2],s=m[o+52>>2],l=h[t+8>>2],u=h[l+236>>2],c=m[o+48>>2],o=h[e+192>>2],i=v(r[h[h[o>>2]+48>>2]](o)),o=h[t+4>>2],r[h[h[o>>2]+8>>2]](o,h[t+12>>2],n+144|0,n+128|0),o=h[n+156>>2],h[n+104>>2]=h[n+152>>2],h[n+108>>2]=o,o=h[n+132>>2],h[n+112>>2]=h[n+128>>2],h[n+116>>2]=o,o=h[n+140>>2],h[n+120>>2]=h[n+136>>2],h[n+124>>2]=o,m[n+104>>2]=m[n+104>>2]-i,m[n+112>>2]=i+m[n+112>>2],o=h[n+148>>2],h[n+96>>2]=h[n+144>>2],h[n+100>>2]=o,m[n+96>>2]=m[n+96>>2]-i,m[n+100>>2]=m[n+100>>2]-i,m[n+116>>2]=i+m[n+116>>2],m[n+120>>2]=i+m[n+120>>2],m[n+20>>2]=i,p=i,i=v(c-c),c=v(i*i),i=v(s-s),s=v(c+v(i*i)),i=v(a-a),m[n+16>>2]=p+v(S(v(s+v(i*i)))),h[n+12>>2]=u<<30>>31&l,h[n+8>>2]=t,h[n+4>>2]=e,In(e+928|0,h[e+928>>2],n+96|0,n);break e;case 1:break t;default:break e}h[n+20>>2]=0,h[n+4>>2]=1065353216,h[n>>2]=21728,h[n+24>>2]=e,h[n+28>>2]=t,h[n+8>>2]=h[e+456>>2],o=h[t+4>>2],i=v(r[h[h[o>>2]+48>>2]](o)),o=h[e+192>>2],i=v(i+v(r[h[h[o>>2]+48>>2]](o))),m[n+12>>2]=i,a=m[h[t+8>>2]+224>>2],m[n+96>>2]=a,h[n+16>>2]=h[(m[e+316>>2]>2],o=h[t+4>>2],r[h[h[o>>2]+8>>2]](o,h[t+12>>2],n+144|0,n+128|0),t=h[n+156>>2],h[n+104>>2]=h[n+152>>2],h[n+108>>2]=t,t=h[n+132>>2],h[n+112>>2]=h[n+128>>2],h[n+116>>2]=t,t=h[n+140>>2],h[n+120>>2]=h[n+136>>2],h[n+124>>2]=t,m[n+104>>2]=m[n+104>>2]-i,m[n+112>>2]=i+m[n+112>>2],m[n+116>>2]=i+m[n+116>>2],t=h[n+148>>2],h[n+96>>2]=h[n+144>>2],h[n+100>>2]=t,m[n+96>>2]=m[n+96>>2]-i,m[n+100>>2]=m[n+100>>2]-i,m[n+120>>2]=i+m[n+120>>2],In(e+1048|0,h[e+1048>>2],n+96|0,n)}w=n+160|0}(t|=0,n|=0)},r[816]=function(e,t,n){Wi(t|=0,n|=0)},r[817]=function(e,t){t|=0,h[4+(e|=0)>>2]=t},r[818]=function(e){return h[4+(e|=0)>>2]},r[819]=function(e,t){t|=0,h[8+(e|=0)>>2]=t},r[820]=Bh,r[821]=function(e,t,n){e|=0,t|=0;var i=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0;if(!r[h[h[(n|=0)>>2]+16>>2]](n)){if(a=h[t+712>>2],s=0|r[h[h[n>>2]+36>>2]](n),r[h[h[n>>2]+8>>2]](n)&&(e=0|r[h[h[n>>2]+20>>2]](n),o=0|r[h[h[n>>2]+24>>2]](n),!((0|a)<1)))for(e=s+(e<<2)|0,c=h[t+720>>2],l=o<<2;o=g(i,104)+c|0,u=h[o+12>>2],p=h[o+8>>2],h[e+8>>2]=h[o+16>>2],h[e>>2]=p,h[e+4>>2]=u,e=e+l|0,(0|a)!=(0|(i=i+1|0)););if(r[h[h[n>>2]+12>>2]](n)&&(e=0|r[h[h[n>>2]+28>>2]](n),n=0|r[h[h[n>>2]+32>>2]](n),!((0|a)<1)))for(e=s+(e<<2)|0,s=h[t+720>>2],i=0,n<<=2;t=s+g(i,104)|0,o=h[t+76>>2],c=h[t+72>>2],h[e+8>>2]=h[t+80>>2],h[e>>2]=c,h[e+4>>2]=o,e=e+n|0,(0|a)!=(0|(i=i+1|0)););}},r[822]=function(e){var t=0;return h[(e|=0)>>2]=20532,t=h[e+92>>2],r[h[h[t>>2]>>2]](t),(t=h[e+92>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+96>>2],r[h[h[t>>2]>>2]](t),(t=h[e+96>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+100>>2],r[h[h[t>>2]>>2]](t),(t=h[e+100>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+104>>2],r[h[h[t>>2]>>2]](t),(t=h[e+104>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+108>>2],r[h[h[t>>2]>>2]](t),(t=h[e+108>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),zt(e),0|e},r[823]=function(e){var t=0;h[(e|=0)>>2]=20532,t=h[e+92>>2],r[h[h[t>>2]>>2]](t),(t=h[e+92>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+96>>2],r[h[h[t>>2]>>2]](t),(t=h[e+96>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+100>>2],r[h[h[t>>2]>>2]](t),(t=h[e+100>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+104>>2],r[h[h[t>>2]>>2]](t),(t=h[e+104>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),t=h[e+108>>2],r[h[h[t>>2]>>2]](t),(t=h[e+108>>2])&&(h[7718]=h[7718]+1,r[h[6607]](t)),zt(e),Se(e)},r[824]=function(e,t,n){var i;if(e|=0,!((i=32!=(0|(t|=0)))|32!=(0|(n|=0))))return h[e+92>>2];e:{t:{n:{if(!i){if((0|n)>19)break n;return h[e+96>>2]}if(32!=(0|n)|(0|t)>19)break t;return h[e+100>>2]}if(n+-21>>>0>8)break e;return h[e+104>>2]}if(!(32!=(0|n)|t+-21>>>0>8))return h[e+108>>2]}return 0|yr(e,t,n)},r[825]=Jh,r[826]=function(e,t,n,i){return e|=0,e=h[(t|=0)>>2],e=0|r[h[h[e>>2]+56>>2]](e,24),h[e>>2]=17764,h[e+4>>2]=h[t>>2],h[e>>2]=22960,0|e},r[827]=Jh,r[828]=function(e,t,n,i){return e|=0,n|=0,n=h[(t|=0)>>2],n=0|r[h[h[n>>2]+56>>2]](n,20),e=d[e+4|0],h[n>>2]=17764,h[n+4>>2]=h[t>>2],o[n+16|0]=e,h[n>>2]=22200,0|n},r[829]=Jh,r[830]=function(e,t,n,i){return e|=0,n|=0,i|=0,e=h[(t|=0)>>2],eo(e=0|r[h[h[e>>2]+56>>2]](e,156),t,n,i,0),0|e},r[831]=Jh,r[832]=function(e,t,n,i){return e|=0,n|=0,i|=0,e=h[(t|=0)>>2],eo(e=0|r[h[h[e>>2]+56>>2]](e,156),t,n,i,1),0|e},r[833]=function(e,t){e|=0,t=v(t);var n,i=0,r=0,o=v(0),a=v(0),s=v(0),c=0,l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=0;if((0|(n=h[e+732>>2]))>=1)for(_=h[e+740>>2];i=g(c,52)+_|0,r=h[i+8>>2],a=m[r+48>>2],s=m[r+40>>2],e=h[i+12>>2],l=m[i+36>>2],u=m[r+44>>2],p=m[i+40>>2],d=m[i+44>>2],f=v(v(m[i+32>>2]*v(-v(v(v(v(s-m[e+40>>2])*l)+v(v(u-m[e+44>>2])*p))+v(d*v(a-m[e+48>>2])))))*t),o=v(m[r+88>>2]*f),m[r+48>>2]=a+v(d*o),m[r+44>>2]=u+v(p*o),m[r+40>>2]=s+v(l*o),a=m[i+44>>2],s=m[i+40>>2],o=v(f*m[e+88>>2]),m[e+40>>2]=m[e+40>>2]-v(m[i+36>>2]*o),m[e+44>>2]=m[e+44>>2]-v(o*s),m[e+48>>2]=m[e+48>>2]-v(o*a),(0|n)!=(0|(c=c+1|0)););},r[834]=ve,r[835]=function(e){(e=ve(e|=0))&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[836]=qh,r[837]=function(e){return 428},r[838]=function(e,t,n){var i,a=0,s=0,c=0,l=0,u=0,p=0,f=0,_=0,m=0,b=0,v=0,y=0,C=0,A=0,x=0,S=0;if(w=i=w-96|0,Nt(e|=0,t|=0,n|=0),o[i+52|0]=1,h[i+48>>2]=0,o[i+72|0]=1,h[i+40>>2]=0,h[i+44>>2]=0,h[i+68>>2]=0,o[i+92|0]=1,h[i+60>>2]=0,h[i+64>>2]=0,h[i+88>>2]=0,h[i+80>>2]=0,h[i+84>>2]=0,h[i+28>>2]=0,o[i+32|0]=1,h[i+20>>2]=0,h[i+24>>2]=0,a=h[e+872>>2],h[t+292>>2]=a,a){if(l=e+868|0,a=0|r[h[h[n>>2]+28>>2]](n,l),h[t+260>>2]=a,a){if(p=h[t+292>>2],_=0|r[h[h[n>>2]+16>>2]](n,4,p),(0|p)>0)for(u=h[_+8>>2];a=u,f=0,(s=h[h[e+880>>2]+(c<<2)>>2])&&(f=0|r[h[h[n>>2]+28>>2]](n,s)),h[a>>2]=f,r[h[h[n>>2]+24>>2]](n,s)||(f=0|r[h[h[n>>2]+16>>2]](n,16,1),a=h[f+8>>2],h[a+12>>2]=h[s+16>>2],h[a+4>>2]=h[s+8>>2],h[a>>2]=h[s+4>>2],h[a+8>>2]=h[s+12>>2],r[h[h[n>>2]+20>>2]](n,f,21122,1414349395,s)),u=u+4|0,(0|p)!=(0|(c=c+1|0)););r[h[h[n>>2]+20>>2]](n,_,21122,1497453121,l)}}else h[t+260>>2]=0;if(a=h[e+712>>2],h[t+296>>2]=a,a){if(f=e+708|0,a=0|r[h[h[n>>2]+28>>2]](n,f),h[t+264>>2]=a,a){if(_=h[t+296>>2],l=0|r[h[h[n>>2]+16>>2]](n,100,_),a=h[l+8>>2],u=0,h[i+12>>2]=0,(0|_)>=1)for(;c=(p=h[e+720>>2])+g(u,104)|0,h[a+52>>2]=h[c+56>>2],h[a+56>>2]=h[c+60>>2],h[a+60>>2]=h[c- -64>>2],h[a- -64>>2]=h[c+68>>2],h[a+88>>2]=h[c+92>>2],s=0,h[a+92>>2]=0-(1&o[c+100|0]),h[a+84>>2]=h[c+88>>2],(c=h[c+4>>2])&&(s=0|r[h[h[n>>2]+28>>2]](n,c),p=h[e+720>>2],u=h[i+12>>2]),h[a>>2]=s,c=g(u,104)+p|0,h[a+68>>2]=h[c+72>>2],h[a+72>>2]=h[c+76>>2],h[a+76>>2]=h[c+80>>2],h[a+80>>2]=h[c+84>>2],h[a+4>>2]=h[c+8>>2],h[a+8>>2]=h[c+12>>2],h[a+12>>2]=h[c+16>>2],h[a+16>>2]=h[c+20>>2],h[a+20>>2]=h[c+24>>2],h[a+24>>2]=h[c+28>>2],h[a+28>>2]=h[c+32>>2],h[a+32>>2]=h[c+36>>2],h[a+36>>2]=h[c+40>>2],h[a+40>>2]=h[c+44>>2],h[a+44>>2]=h[c+48>>2],h[a+48>>2]=h[c+52>>2],h[i>>2]=c,jt(i+16|0,i,i+12|0),u=h[i+12>>2]+1|0,h[i+12>>2]=u,a=a+100|0,(0|u)<(0|_););r[h[h[n>>2]+20>>2]](n,l,21143,1145979475,f)}}else h[t+264>>2]=0;if(a=h[e+732>>2],h[t+300>>2]=a,a){if(a=0|r[h[h[n>>2]+28>>2]](n,h[e+740>>2]),h[t+268>>2]=a,a){if(s=h[t+300>>2],_=0|r[h[h[n>>2]+16>>2]](n,20,s),p=h[e+740>>2],(0|s)>=1)for(a=h[_+8>>2],c=0;l=(f=g(c,52))+p|0,h[a+16>>2]=0-(1&o[l+20|0]),u=0,(l=h[l+4>>2])&&(u=0|r[h[h[n>>2]+28>>2]](n,l),p=h[e+740>>2]),h[a>>2]=u,u=a,l=(l=h[8+(f=p+f|0)>>2])?(l-h[e+720>>2]|0)/104|0:-1,h[u+4>>2]=l,u=a,l=(l=h[f+12>>2])?(l-h[e+720>>2]|0)/104|0:-1,h[u+8>>2]=l,h[a+12>>2]=h[f+16>>2],a=a+20|0,(0|s)!=(0|(c=c+1|0)););r[h[h[n>>2]+20>>2]](n,_,21160,1497453121,p)}}else h[t+268>>2]=0;if(a=h[e+752>>2],h[t+304>>2]=a,a){if(a=0|r[h[h[n>>2]+28>>2]](n,h[e+760>>2]),h[t+272>>2]=a,a){if(_=h[t+304>>2],f=0|r[h[h[n>>2]+16>>2]](n,36,_),p=h[e+760>>2],(0|_)>=1)for(a=h[f+8>>2],u=0;c=0,s=g(u,44),(l=h[4+(s+p|0)>>2])&&(c=0|r[h[h[n>>2]+28>>2]](n,l),p=h[e+760>>2]),h[a+16>>2]=c,s=s+p|0,h[a>>2]=h[s+20>>2],h[a+4>>2]=h[s+24>>2],h[a+8>>2]=h[s+28>>2],h[a+12>>2]=h[s+32>>2],c=a,l=(l=h[s+8>>2])?(l-h[e+720>>2]|0)/104|0:-1,h[c+20>>2]=l,c=a,l=(l=h[s+12>>2])?(l-h[e+720>>2]|0)/104|0:-1,h[c+24>>2]=l,c=a,l=-1,(m=h[s+16>>2])&&(l=(m-h[e+720>>2]|0)/104|0),h[c+28>>2]=l,h[a+32>>2]=h[s+36>>2],a=a+36|0,(0|_)!=(0|(u=u+1|0)););r[h[h[n>>2]+20>>2]](n,f,21177,1497453121,p)}}else h[t+272>>2]=0;if(a=h[e+772>>2],h[t+308>>2]=a,a){if(a=0|r[h[h[n>>2]+28>>2]](n,h[e+780>>2]),h[t+276>>2]=a,a){if(p=0,_=h[t+308>>2],f=0|r[h[h[n>>2]+16>>2]](n,100,_),(0|_)<=0)u=h[e+780>>2];else for(u=h[e+780>>2],a=h[f+8>>2];s=(m=g(p,104))+u|0,h[a>>2]=h[s+32>>2],h[a+4>>2]=h[s+36>>2],h[a+8>>2]=h[s+40>>2],h[a+12>>2]=h[s+44>>2],c=a,l=(l=h[u+8>>2])?(l-h[e+720>>2]|0)/104|0:-1,h[c+68>>2]=l,h[a+16>>2]=h[s+48>>2],h[a+20>>2]=h[s+52>>2],h[a+24>>2]=h[s+56>>2],h[a+28>>2]=h[s+60>>2],c=a,l=(l=h[u+116>>2])?(l-h[e+720>>2]|0)/104|0:-1,h[c+72>>2]=l,h[a+32>>2]=h[s- -64>>2],h[a+36>>2]=h[s+68>>2],h[a+40>>2]=h[s+72>>2],h[a+44>>2]=h[s+76>>2],c=a,l=(l=h[u+224>>2])?(l-h[e+720>>2]|0)/104|0:-1,h[c+76>>2]=l,h[a+48>>2]=h[s+80>>2],h[a+52>>2]=h[s+84>>2],h[a+56>>2]=h[s+88>>2],h[a+60>>2]=h[s+92>>2],c=a,l=(l=h[u+332>>2])?(l-h[e+720>>2]|0)/104|0:-1,h[c+80>>2]=l,h[a+88>>2]=h[s+96>>2],h[a+92>>2]=h[s+100>>2],(c=h[s+4>>2])?(c=0|r[h[h[n>>2]+28>>2]](n,c),u=h[e+780>>2]):c=0,h[a+64>>2]=c,h[a+84>>2]=h[24+(u+m|0)>>2],a=a+100|0,(0|_)!=(0|(p=p+1|0)););r[h[h[n>>2]+20>>2]](n,f,21194,1497453121,u)}}else h[t+276>>2]=0;if(a=h[e+792>>2],h[t+312>>2]=a,a){if(a=0|r[h[h[n>>2]+28>>2]](n,h[e+800>>2]),h[t+280>>2]=a,a){if(p=h[t+312>>2],_=0|r[h[h[n>>2]+16>>2]](n,92,p),c=h[e+800>>2],(0|p)>=1)for(a=h[_+8>>2],u=0;s=g(u,96)+c|0,h[a>>2]=h[s+28>>2],h[a+4>>2]=h[s+32>>2],h[a+8>>2]=h[s+36>>2],h[a+12>>2]=h[s+40>>2],h[a+16>>2]=h[s+44>>2],h[a+20>>2]=h[s+48>>2],h[a+24>>2]=h[s+52>>2],h[a+28>>2]=h[s+56>>2],h[a+32>>2]=h[s+60>>2],h[a+36>>2]=h[s- -64>>2],h[a+40>>2]=h[s+68>>2],h[a+44>>2]=h[s+72>>2],h[a+48>>2]=h[s+76>>2],h[a+52>>2]=h[s+80>>2],h[a+56>>2]=h[s+84>>2],h[a+60>>2]=h[s+88>>2],h[a+88>>2]=h[s+92>>2],h[a+64>>2]=h[s+4>>2],h[a+68>>2]=h[s+8>>2],h[a+72>>2]=h[s+12>>2],h[a+76>>2]=h[s+16>>2],c=a,f=-1,(l=h[s>>2])&&(f=(l-h[e+720>>2]|0)/104|0),h[c+84>>2]=f,c=a,l=0,(s=h[s+20>>2])&&(l=0|r[h[h[n>>2]+28>>2]](n,s)),h[c+80>>2]=l,a=a+92|0,c=h[e+800>>2],(0|p)!=(0|(u=u+1|0)););r[h[h[n>>2]+20>>2]](n,_,21212,1497453121,c)}}else h[t+280>>2]=0;if(h[t+352>>2]=h[e+316>>2],h[t+328>>2]=h[e+292>>2],h[t+344>>2]=h[e+308>>2],h[t+324>>2]=h[e+288>>2],h[t+340>>2]=h[e+304>>2],h[t+336>>2]=h[e+300>>2],h[t+412>>2]=h[e+376>>2],h[t+416>>2]=h[e+380>>2],h[t+420>>2]=h[e+384>>2],h[t+408>>2]=h[e+372>>2],a=h[e+364>>2],h[t+332>>2]=h[e+296>>2],h[t+356>>2]=h[e+320>>2],h[t+424>>2]=h[e+388>>2],h[t+348>>2]=h[e+312>>2],h[t+360>>2]=h[e+324>>2],h[t+364>>2]=h[e+328>>2],h[t+368>>2]=h[e+332>>2],h[t+372>>2]=h[e+336>>2],c=h[e+368>>2],h[t+400>>2]=a,h[t+404>>2]=c,h[t+376>>2]=h[e+340>>2],h[t+380>>2]=h[e+344>>2],h[t+384>>2]=h[e+348>>2],h[t+388>>2]=h[e+352>>2],h[t+392>>2]=h[e+356>>2],h[t+396>>2]=h[e+360>>2],l=e+472|0,h[t+256>>2]=r[h[h[n>>2]+28>>2]](n,l),m=0|r[h[h[n>>2]+16>>2]](n,192,1),a=h[m+8>>2],h[a+96>>2]=h[e+632>>2],h[a+100>>2]=h[e+636>>2],h[a+104>>2]=h[e+640>>2],h[a+108>>2]=h[e+644>>2],h[a+112>>2]=h[e+648>>2],h[a+116>>2]=h[e+652>>2],h[a+120>>2]=h[e+656>>2],h[a+124>>2]=h[e+660>>2],h[a+128>>2]=h[e+664>>2],h[a+132>>2]=h[e+668>>2],h[a+136>>2]=h[e+672>>2],h[a+140>>2]=h[e+676>>2],h[a+180>>2]=d[e+473|0],h[a+176>>2]=d[e+472|0],h[a+144>>2]=h[e+520>>2],h[a+148>>2]=h[e+524>>2],h[a+152>>2]=h[e+528>>2],h[a+156>>2]=h[e+532>>2],c=h[e+484>>2],h[a+168>>2]=c,c){if(h[a+160>>2]=r[h[h[n>>2]+28>>2]](n,h[e+492>>2]),u=h[a+168>>2]){if(_=0|r[h[h[n>>2]+16>>2]](n,16,u),f=h[e+492>>2],(0|u)>=1)for(c=h[_+8>>2],p=0;s=f+(p<<4)|0,h[c>>2]=h[s>>2],h[c+4>>2]=h[s+4>>2],h[c+8>>2]=h[s+8>>2],h[c+12>>2]=h[s+12>>2],c=c+16|0,(0|u)!=(0|(p=p+1|0)););r[h[h[n>>2]+20>>2]](n,_,21232,1497453121,f)}}else h[a+160>>2]=0;if(h[a+184>>2]=h[e+476>>2],h[a>>2]=h[e+536>>2],h[a+4>>2]=h[e+540>>2],h[a+8>>2]=h[e+544>>2],h[a+12>>2]=h[e+548>>2],h[a+16>>2]=h[e+552>>2],h[a+20>>2]=h[e+556>>2],h[a+24>>2]=h[e+560>>2],h[a+28>>2]=h[e+564>>2],h[a+32>>2]=h[e+568>>2],h[a+36>>2]=h[e+572>>2],h[a+40>>2]=h[e+576>>2],h[a+44>>2]=h[e+580>>2],h[a+48>>2]=h[e+584>>2],h[a+52>>2]=h[e+588>>2],h[a+56>>2]=h[e+592>>2],h[a+60>>2]=h[e+596>>2],h[a- -64>>2]=h[e+600>>2],h[a+68>>2]=h[e+604>>2],h[a+72>>2]=h[e+608>>2],h[a+76>>2]=h[e+612>>2],h[a+80>>2]=h[e+616>>2],h[a+84>>2]=h[e+620>>2],h[a+88>>2]=h[e+624>>2],h[a+92>>2]=h[e+628>>2],c=h[e+504>>2],h[a+172>>2]=c,c){if(h[a+164>>2]=r[h[h[n>>2]+28>>2]](n,h[e+512>>2]),u=h[a+172>>2]){if(s=0|r[h[h[n>>2]+16>>2]](n,4,u),p=h[e+512>>2],(0|u)>=1)for(a=h[s+8>>2],c=0;h[a>>2]=h[p+(c<<2)>>2],a=a+4|0,(0|u)!=(0|(c=c+1|0)););r[h[h[n>>2]+20>>2]](n,s,21251,1497453121,p)}}else h[a+164>>2]=0;if(r[h[h[n>>2]+20>>2]](n,m,21257,1497453121,l),a=h[e+1112>>2],h[t+316>>2]=a,a){if(h[t+284>>2]=r[h[h[n>>2]+28>>2]](n,h[h[e+1120>>2]>>2]),_=h[t+316>>2]){if(l=0|r[h[h[n>>2]+16>>2]](n,348,_),a=h[e+1120>>2],(0|_)>=1)for(s=h[l+8>>2],f=0;;){if(a=h[(p=f<<2)+a>>2],h[s+320>>2]=h[a+360>>2],h[s+256>>2]=h[a+332>>2],h[s+260>>2]=h[a+336>>2],h[s+264>>2]=h[a+340>>2],h[s+268>>2]=h[a+344>>2],h[s+344>>2]=h[a+380>>2],h[s+340>>2]=d[a+377|0],h[s+160>>2]=h[a+228>>2],h[s+164>>2]=h[a+232>>2],h[s+168>>2]=h[a+236>>2],h[s+172>>2]=h[a+240>>2],h[s+336>>2]=d[a+376|0],h[s+208>>2]=h[a+276>>2],h[s+212>>2]=h[a+280>>2],h[s+216>>2]=h[a+284>>2],h[s+220>>2]=h[a+288>>2],h[s+224>>2]=h[a+292>>2],h[s+228>>2]=h[a+296>>2],h[s+232>>2]=h[a+300>>2],h[s+236>>2]=h[a+304>>2],h[s>>2]=h[a+60>>2],h[s+4>>2]=h[a- -64>>2],h[s+8>>2]=h[a+68>>2],h[s+12>>2]=h[a+72>>2],h[s+16>>2]=h[a+76>>2],h[s+20>>2]=h[a+80>>2],h[s+24>>2]=h[a+84>>2],h[s+28>>2]=h[a+88>>2],h[s+32>>2]=h[a+92>>2],h[s+36>>2]=h[a+96>>2],h[s+40>>2]=h[a+100>>2],h[s+44>>2]=h[a+104>>2],h[s+48>>2]=h[a+108>>2],h[s+52>>2]=h[a+112>>2],h[s+56>>2]=h[a+116>>2],h[s+60>>2]=h[a+120>>2],h[s+296>>2]=h[a+124>>2],h[s+300>>2]=h[a+128>>2],h[s+112>>2]=h[a+180>>2],h[s+116>>2]=h[a+184>>2],h[s+120>>2]=h[a+188>>2],h[s+124>>2]=h[a+192>>2],h[s+128>>2]=h[a+196>>2],h[s+132>>2]=h[a+200>>2],h[s+136>>2]=h[a+204>>2],h[s+140>>2]=h[a+208>>2],h[s+144>>2]=h[a+212>>2],h[s+148>>2]=h[a+216>>2],h[s+152>>2]=h[a+220>>2],h[s+156>>2]=h[a+224>>2],h[s+316>>2]=h[a+356>>2],h[s+64>>2]=h[a+132>>2],h[s+68>>2]=h[a+136>>2],h[s+72>>2]=h[a+140>>2],h[s+76>>2]=h[a+144>>2],h[s+80>>2]=h[a+148>>2],h[s+84>>2]=h[a+152>>2],h[s+88>>2]=h[a+156>>2],h[s+92>>2]=h[a+160>>2],h[s+96>>2]=h[a+164>>2],h[s+100>>2]=h[a+168>>2],h[s+104>>2]=h[a+172>>2],h[s+108>>2]=h[a+176>>2],h[s+240>>2]=h[a+316>>2],h[s+244>>2]=h[a+320>>2],h[s+248>>2]=h[a+324>>2],h[s+252>>2]=h[a+328>>2],h[s+324>>2]=h[a+364>>2],h[s+328>>2]=h[a+368>>2],h[s+312>>2]=h[a+352>>2],h[s+316>>2]=h[a+356>>2],h[s+320>>2]=h[a+360>>2],h[s+332>>2]=h[a+372>>2],c=h[a+44>>2],h[s+284>>2]=c,h[s+292>>2]=h[a+4>>2],h[s+288>>2]=h[a+24>>2],h[s+304>>2]=h[a+308>>2],h[s+176>>2]=h[a+244>>2],h[s+180>>2]=h[a+248>>2],h[s+184>>2]=h[a+252>>2],h[s+188>>2]=h[a+256>>2],h[s+192>>2]=h[a+260>>2],h[s+196>>2]=h[a+264>>2],h[s+200>>2]=h[a+268>>2],h[s+204>>2]=h[a+272>>2],h[s+308>>2]=h[a+312>>2],c){if(a=0|r[h[h[n>>2]+28>>2]](n,h[a+52>>2]),h[s+272>>2]=a,a){if(m=h[s+284>>2],b=0|r[h[h[n>>2]+16>>2]](n,16,m),v=h[h[p+h[e+1120>>2]>>2]+52>>2],(0|m)>=1)for(a=h[b+8>>2],u=0;c=v+(u<<4)|0,h[a>>2]=h[c>>2],h[a+4>>2]=h[c+4>>2],h[a+8>>2]=h[c+8>>2],h[a+12>>2]=h[c+12>>2],a=a+16|0,(0|m)!=(0|(u=u+1|0)););r[h[h[n>>2]+20>>2]](n,b,21232,1497453121,v)}}else h[s+272>>2]=0;if(h[s+292>>2]){if(a=0|r[h[h[n>>2]+28>>2]](n,h[h[p+h[e+1120>>2]>>2]+12>>2]),h[s+280>>2]=a,a){if(u=h[s+292>>2],m=0|r[h[h[n>>2]+16>>2]](n,4,u),b=h[h[p+h[e+1120>>2]>>2]+12>>2],(0|u)>=1)for(a=h[m+8>>2],c=0;h[a>>2]=h[b+(c<<2)>>2],a=a+4|0,(0|u)!=(0|(c=c+1|0)););r[h[h[n>>2]+20>>2]](n,m,21251,1497453121,b)}}else h[s+280>>2]=0;if(h[s+288>>2]){if(a=0|r[h[h[n>>2]+28>>2]](n,h[p+h[e+1120>>2]>>2]+20|0),h[s+276>>2]=a,a){if(m=h[s+292>>2],b=0|r[h[h[n>>2]+16>>2]](n,4,m),v=h[p+h[e+1120>>2]>>2],(0|m)>=1)for(C=h[v+32>>2],u=h[b+8>>2],c=0,A=h[i+68>>2],x=h[i+48>>2],y=h[i+88>>2],S=h[i+28>>2];;){if(p=h[(c<<2)+C>>2],a=g((a=(p<<15^-1)+p|0)>>10^a,9),a=((a^=a>>6)<<11^-1)+a|0,a=h[((h[i+64>>2]+-1&(a>>16^a))<<2)+S>>2],h[(a<<3)+y>>2]!=(0|p))for(;a=h[(a<<2)+x>>2],(0|p)!=h[(a<<3)+y>>2];);if(h[u>>2]=h[(a<<2)+A>>2],u=u+4|0,(0|m)==(0|(c=c+1|0)))break}r[h[h[n>>2]+20>>2]](n,b,21274,1497453121,v+20|0)}}else h[s+276>>2]=0;if(s=s+348|0,a=h[e+1120>>2],(0|_)==(0|(f=f+1|0)))break}r[h[h[n>>2]+20>>2]](n,l,21278,1497453121,h[a>>2])}}else h[t+284>>2]=0;if(a=h[e+852>>2],h[t+320>>2]=a,a){if(a=t,t=0|r[h[h[n>>2]+28>>2]](n,h[e+860>>2]),h[a+288>>2]=t,t){if(_=h[e+852>>2],f=0|r[h[h[n>>2]+16>>2]](n,104,_),p=h[e+860>>2],(0|_)>=1)for(a=h[f+8>>2],s=0;t=h[(u=s<<2)+p>>2],h[a+96>>2]=r[h[h[t>>2]+20>>2]](t),c=u+h[e+860>>2]|0,t=h[c>>2],h[a+8>>2]=h[t+28>>2],h[a+12>>2]=h[t+32>>2],h[a+16>>2]=h[t+36>>2],h[a+20>>2]=h[t+40>>2],h[a+24>>2]=h[t+44>>2],h[a+28>>2]=h[t+48>>2],h[a+32>>2]=h[t+52>>2],h[a+36>>2]=h[t+56>>2],h[a+40>>2]=h[t+60>>2],h[a+44>>2]=h[t+64>>2],h[a+48>>2]=h[t+68>>2],t=d[t+152|0],h[a+56>>2]=0,h[a+60>>2]=0,h[a>>2]=0,h[a+4>>2]=0,h[a+52>>2]=t,h[(t=a- -64|0)>>2]=0,h[t+4>>2]=0,h[a+72>>2]=0,h[a+76>>2]=0,h[a+80>>2]=0,h[a+84>>2]=0,(t=h[h[c>>2]+4>>2])&&(h[a+88>>2]=1,h[a>>2]=r[h[h[n>>2]+28>>2]](n,t)),p=h[e+860>>2],c=h[u+p>>2],(t=h[c+12>>2])&&(h[a+88>>2]=3,h[a>>2]=r[h[h[n>>2]+28>>2]](n,t),p=h[e+860>>2],c=h[u+p>>2]),(t=h[c+8>>2])&&(h[a+88>>2]=2,h[a>>2]=r[h[h[n>>2]+28>>2]](n,t),p=h[e+860>>2],c=h[u+p>>2]),(t=h[c+16>>2])&&(h[a+92>>2]=1,h[a+4>>2]=r[h[h[n>>2]+28>>2]](n,t),p=h[e+860>>2],c=h[u+p>>2]),(t=h[c+24>>2])&&(h[a+92>>2]=3,h[a+4>>2]=r[h[h[n>>2]+28>>2]](n,t),p=h[e+860>>2],c=h[u+p>>2]),(t=h[c+20>>2])&&(h[a+92>>2]=2,h[a+4>>2]=r[h[h[n>>2]+28>>2]](n,t),p=h[e+860>>2]),a=a+104|0,(0|_)!=(0|(s=s+1|0)););r[h[h[n>>2]+20>>2]](n,f,21298,1497453121,p)}}else h[t+288>>2]=0;return(e=h[i+88>>2])&&(d[i+92|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[i+88>>2]=0),h[i+88>>2]=0,o[i+92|0]=1,h[i+80>>2]=0,h[i+84>>2]=0,(e=h[i+68>>2])&&(d[i+72|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[i+68>>2]=0),h[i+68>>2]=0,o[i+72|0]=1,h[i+60>>2]=0,h[i+64>>2]=0,(e=h[i+48>>2])&&(d[i+52|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[i+48>>2]=0),h[i+48>>2]=0,o[i+52|0]=1,h[i+40>>2]=0,h[i+44>>2]=0,(e=h[i+28>>2])&&(d[i+32|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[i+28>>2]=0),w=i+96|0,21318},r[839]=function(e,t,n){t|=0,n|=0;var i=0;i=h[896+(e|=0)>>2],h[t>>2]=h[e+892>>2],h[t+4>>2]=i,i=h[e+904>>2],h[t+8>>2]=h[e+900>>2],h[t+12>>2]=i,t=h[e+920>>2],h[n+8>>2]=h[e+916>>2],h[n+12>>2]=t,t=h[e+912>>2],h[n>>2]=h[e+908>>2],h[n+4>>2]=t},r[840]=Jh,r[841]=function(e,t){e|=0,t|=0;var n=v(0);t=h[t+36>>2],(n=Dn(e+4|0,e+36|0,h[t+8>>2]+8|0,h[t+12>>2]+8|0,h[t+16>>2]+8|0,m[e+52>>2]))>v(0)^1|n>2]^1||(h[e+56>>2]=t,m[e+52>>2]=n),h[e+60>>2]=h[e+60>>2]+1},r[842]=jh,r[843]=Jh,r[844]=function(e,t,n){e|=0,t=v(t),n|=0;var i=0,r=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0);if((i=h[e+8>>2])&&Zu(i,0),(i=h[e+12>>2])&&Zu(i,0),(i=h[e+20>>2])&&Zu(i,0),(i=h[e+24>>2])&&Zu(i,0),i=h[e+156>>2],h[e+156>>2]=i+1,o[e+152|0]=(0|i)>=h[e+160>>2],!i)return h[e+84>>2]=0,r=v(v(1)/t),s=m[e+64>>2],t=v(r*v(m[e+72>>2]*s)),m[e+72>>2]=t,a=v(r*v(s*m[e+80>>2])),m[e+80>>2]=a,r=v(r*v(s*m[e+76>>2])),m[e+76>>2]=r,(l=m[e+68>>2])>v(0)?(h[e+100>>2]=0,c=v(v(1)-l),s=v(c*a),m[e+80>>2]=s,u=v(c*r),m[e+76>>2]=u,c=v(c*t),m[e+72>>2]=c,t=v(l*t),r=v(l*r),a=v(l*a),m[e+96>>2]=v(v(t*m[e+136>>2])+v(r*m[e+140>>2]))+v(a*m[e+144>>2]),m[e+92>>2]=v(v(t*m[e+120>>2])+v(r*m[e+124>>2]))+v(a*m[e+128>>2]),m[e+88>>2]=v(v(t*m[e+104>>2])+v(r*m[e+108>>2]))+v(a*m[e+112>>2])):(s=a,u=r,c=t),t=v(v(1)/v(0|n)),m[e+80>>2]=t*s,m[e+76>>2]=t*u,void(m[e+72>>2]=t*c);h[e+88>>2]=0,h[e+92>>2]=0,h[e+72>>2]=0,h[e+76>>2]=0,h[e+96>>2]=0,h[e+100>>2]=0,h[e+80>>2]=0,h[e+84>>2]=0},r[845]=function(e,t,n){e|=0,t=v(t),n=v(n);var i,r,a,s,c,l=0,u=v(0),p=v(0),f=v(0),_=v(0),b=0,g=v(0),y=v(0),C=0,A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=0;w=i=w-80|0,r=e+4|0,c=e+16|0;e:{t:{if(!(b=h[e+8>>2])){if(l=h[r>>2])break t;t=v(0);break e}t=m[b+332>>2],f=m[e+172>>2],_=m[b+336>>2],p=m[e+168>>2],u=v(v(t*f)-v(_*p)),g=m[b+328>>2],y=t,t=m[e+164>>2],p=v(v(p*g)-v(y*t)),_=v(v(_*t)-v(f*g)),f=m[b+316>>2],g=m[b+312>>2],t=m[b+320>>2];break e}t=m[l+336>>2],f=m[e+172>>2],_=m[l+340>>2],p=m[e+168>>2],u=v(v(t*f)-v(_*p)),g=m[l+332>>2],y=t,t=m[e+164>>2],p=v(v(p*g)-v(y*t)),_=v(v(_*t)-v(f*g)),f=m[l+320>>2],g=m[l+316>>2],t=m[l+324>>2]}E=v(t+p),P=v(f+_),O=v(g+u);e:{t:{if(!(l=h[e+20>>2])){if(l=h[c>>2])break t;f=v(0),p=v(0),g=v(0),u=v(0),_=v(0),t=v(0);break e}t=m[l+332>>2],p=m[e+188>>2],f=m[l+336>>2],u=m[e+184>>2],g=v(v(t*p)-v(f*u)),A=u,u=m[l+328>>2],y=t,t=m[e+180>>2],_=v(v(A*u)-v(y*t)),u=v(v(f*t)-v(p*u)),f=m[l+316>>2],p=m[l+312>>2],t=m[l+320>>2];break e}t=m[l+336>>2],p=m[e+188>>2],f=m[l+340>>2],u=m[e+184>>2],g=v(v(t*p)-v(f*u)),A=u,u=m[l+332>>2],y=t,t=m[e+180>>2],_=v(v(A*u)-v(y*t)),u=v(v(f*t)-v(p*u)),f=m[l+320>>2],p=m[l+316>>2],t=m[l+324>>2]}x=m[e+200>>2],T=m[e+204>>2],y=m[e+196>>2],h[(l=i- -64|0)>>2]=0,h[l+4>>2]=0,h[i+56>>2]=0,h[i+60>>2]=0,o[i+72|0]=1,l=h[e+84>>2],h[i+48>>2]=h[e+80>>2],h[i+52>>2]=l,l=h[e+76>>2],h[i+40>>2]=h[e+72>>2],h[i+44>>2]=l,p=v(O-v(p+g)),f=v(P-v(f+u)),_=v(E-v(t+_)),(t=v(v(v(y*p)+v(x*f))+v(T*_)))>2],p=v(m[i+40>>2]+v(y+v(A*u))),m[i+40>>2]=p,g=v(x*t),f=v(v(g+v(u*v(f-g)))+m[i+44>>2]),m[i+44>>2]=f,t=v(T*t),t=v(v(t+v(u*v(_-t)))+m[i+48>>2]),m[i+48>>2]=t):(t=m[i+48>>2],f=m[i+44>>2],p=m[i+40>>2]),a=e+164|0,s=e+180|0,g=m[e+112>>2],x=m[e+108>>2],_=m[e+128>>2],T=m[e+120>>2],y=m[e+124>>2],u=m[e+144>>2],E=m[e+136>>2],P=m[e+140>>2],O=m[e+104>>2],h[i+52>>2]=0,u=v(v(v(v(p*E)+v(f*P))+v(t*u))*n),m[i+48>>2]=u,_=v(v(v(v(p*T)+v(f*y))+v(t*_))*n),m[i+44>>2]=_,t=v(v(v(v(O*p)+v(x*f))+v(g*t))*n),m[i+40>>2]=t;e:if((0|(l=h[e+4>>2]))!=h[e+16>>2])C=h[i+52>>2],h[i+8>>2]=h[i+48>>2],h[i+12>>2]=C,C=h[i+60>>2],h[i+16>>2]=h[i+56>>2],h[i+20>>2]=C,M=h[4+(C=i- -64|0)>>2],h[i+24>>2]=h[C>>2],h[i+28>>2]=M,h[i+32>>2]=h[i+72>>2],m[i+8>>2]=-m[i+8>>2],m[i+16>>2]=-m[i+16>>2],C=h[i+44>>2],h[i>>2]=h[i+40>>2],h[i+4>>2]=C,m[i>>2]=-m[i>>2],m[i+4>>2]=-m[i+4>>2],h[i+12>>2]=0,t=m[i+20>>2],n=m[i+24>>2],h[i+28>>2]=0,m[i+24>>2]=-n,m[i+20>>2]=-t,1&o[i+32|0]&&(b&&(na(b,i,a),l=h[r>>2]),l&&di(l,a,i)),2&d[i+32|0]&&zi(r,i+16|0,a),1&o[i+72|0]&&((e=h[e+20>>2])&&na(e,i+40|0,s),(e=h[c>>2])&&di(e,s,i+40|0)),2&d[i+72|0]&&zi(c,i+56|0,s);else{if(t!=t|_!=_|u!=u|v(S(v(v(v(t*t)+v(_*_))+v(u*u))))>2])break e;if(n=m[l+372>>2],h[i+28>>2]=0,p=v(n*v(-0)),m[i+24>>2]=p,m[i+20>>2]=p,C=h[i+72>>2],h[i+32>>2]=C,h[i+12>>2]=0,m[i+16>>2]=p,m[i+8>>2]=n*v(-u),m[i+4>>2]=n*v(-_),m[i>>2]=n*v(-t),1&C&&(!b||(na(b,i,a),l=h[r>>2]))&&di(l,a,i),2&d[i+32|0]&&zi(r,i+16|0,a),t=m[h[r>>2]+372>>2],b=h[i+52>>2],h[i+8>>2]=h[i+48>>2],h[i+12>>2]=b,b=h[i+60>>2],h[i+16>>2]=h[i+56>>2],h[i+20>>2]=b,h[i+32>>2]=h[i+72>>2],l=h[4+(b=i- -64|0)>>2],h[i+24>>2]=h[b>>2],h[i+28>>2]=l,m[i+8>>2]=t*m[i+8>>2],m[i+16>>2]=t*m[i+16>>2],b=h[i+44>>2],h[i>>2]=h[i+40>>2],h[i+4>>2]=b,m[i>>2]=t*m[i>>2],m[i+4>>2]=t*m[i+4>>2],m[i+20>>2]=t*m[i+20>>2],m[i+24>>2]=t*m[i+24>>2],1&o[i+32|0]&&((e=h[e+20>>2])&&na(e,i,s),(e=h[c>>2])&&di(e,s,i)),!(2&d[i+32|0]))break e;zi(c,i+16|0,s)}w=i+80|0},r[846]=function(e,t){e|=0,t=v(t);var n,i=v(0),r=v(0);w=n=w-16|0,m[e+68>>2]>v(0)&&(t=m[e+92>>2],i=m[e+96>>2],r=m[e+88>>2],h[n+12>>2]=0,m[n>>2]=-r,m[n+8>>2]=-i,m[n+4>>2]=-t,zi(e+4|0,n,e+164|0),zi(e+16|0,e+88|0,e+180|0)),w=n+16|0},r[847]=Yh,r[848]=fh,r[849]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=0,P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0);for(e=h[e+16>>2],r=m[e+900>>2],c=m[e+896>>2],l=m[e+908>>2],d=m[e+912>>2],y=m[e+916>>2],C=m[e+892>>2],o=m[t+52>>2],f=m[t+20>>2],A=m[t+24>>2],a=m[t+56>>2],_=m[t+36>>2],x=m[t+40>>2],s=m[t+48>>2],P=m[t+8>>2],O=m[t>>2],M=m[t+4>>2],b=m[t+16>>2],g=m[t+32>>2],h[124+(t=w-128|0)>>2]=0,h[t+108>>2]=0,h[t+92>>2]=0,h[t+76>>2]=0,h[t+60>>2]=0,h[t+44>>2]=0,h[t+28>>2]=0,R=v(C*g),S=v(d*_),I=v(R+S),u=v(y*x),m[t+120>>2]=a+v(I+u),D=v(C*b),T=v(d*f),L=v(D+T),p=v(y*A),m[t+116>>2]=o+v(L+p),g=v(l*g),S=v(g+S),m[t+104>>2]=a+v(S+u),b=v(l*b),T=v(b+T),m[t+100>>2]=o+v(T+p),_=v(c*_),g=v(g+_),m[t+88>>2]=a+v(g+u),f=v(c*f),b=v(b+f),m[t+84>>2]=o+v(b+p),_=v(R+_),m[t+72>>2]=a+v(_+u),f=v(D+f),m[t+68>>2]=o+v(f+p),u=v(r*x),m[t+56>>2]=a+v(I+u),p=v(r*A),m[t+52>>2]=o+v(L+p),m[t+40>>2]=a+v(S+u),m[t+36>>2]=o+v(T+p),m[t+24>>2]=a+v(g+u),m[t+20>>2]=o+v(b+p),h[t+12>>2]=0,C=v(C*O),A=v(d*M),x=v(C+A),d=v(y*P),m[t+112>>2]=s+v(x+d),l=v(l*O),y=v(l+A),m[t+96>>2]=s+v(y+d),c=v(c*M),l=v(l+c),m[t+80>>2]=s+v(l+d),c=v(C+c),m[t+64>>2]=s+v(c+d),r=v(r*P),m[t+48>>2]=s+v(x+r),m[t+32>>2]=s+v(y+r),m[t+16>>2]=s+v(l+r),m[t+8>>2]=a+v(_+u),m[t+4>>2]=o+v(f+p),m[t>>2]=s+v(c+r),e=h[t+12>>2],h[i+8>>2]=h[t+8>>2],h[i+12>>2]=e,e=h[t+4>>2],h[i>>2]=h[t>>2],h[i+4>>2]=e,e=h[t+12>>2],h[n+8>>2]=h[t+8>>2],h[n+12>>2]=e,e=h[t+4>>2],h[n>>2]=h[t>>2],h[n+4>>2]=e,e=1;(o=m[(E=t+(e<<4)|0)>>2])>2]&&(m[n>>2]=o),(a=m[E+4>>2])>2]&&(m[n+4>>2]=a),(s=m[E+8>>2])>2]&&(m[n+8>>2]=s),(r=m[E+12>>2])>2]&&(m[n+12>>2]=r),m[i>>2]>2]=o),m[i+4>>2]>2]=a),m[i+8>>2]>2]=s),m[i+12>>2]>2]=r),8!=(0|(e=e+1|0)););},r[850]=qh,r[851]=function(e){return 1&o[30564]||Vl(30564)&&(h[7639]=1065353216,h[7640]=0,h[7637]=1065353216,h[7638]=1065353216,Fu(30564)),30548},r[852]=kh,r[853]=function(e){return 21624},r[854]=Th,r[855]=Jh,r[856]=function(e,t){bt(e|=0,h[36+(t|=0)>>2])},r[857]=Jh,r[858]=function(e,t){e|=0;var n,i=0,a=0,s=0,c=0,l=0,u=0;if(w=n=w-400|0,i=h[36+(t|=0)>>2],h[4+(t=n+344|0)>>2]=35,h[t+8>>2]=0,h[t>>2]=13316,h[t+44>>2]=1025758986,h[t+20>>2]=1065353216,h[t+24>>2]=0,h[t+12>>2]=1065353216,h[t+16>>2]=1065353216,h[t>>2]=13444,h[n+396>>2]=i,h[n+344>>2]=21856,h[n+388>>2]=0,t=h[e+28>>2],a=h[t+4>>2],!(d[i+376|0]&&3&d[h[t+8>>2]+204|0])&&(1&o[26880]||Vl(26880)&&(1&o[26932]||Vl(26932)&&(h[6722]=0,h[6723]=0,h[6721]=1065353216,h[6724]=0,h[6725]=0,h[6727]=0,h[6728]=0,h[6726]=1065353216,h[6729]=0,h[6730]=0,h[6731]=1065353216,h[6732]=0,Fu(26932)),h[6716]=0,h[6717]=0,h[6718]=0,h[6719]=0,t=h[6724],h[6706]=h[6723],h[6707]=t,t=h[6722],h[6704]=h[6721],h[6705]=t,t=h[6726],h[6708]=h[6725],h[6709]=t,t=h[6728],h[6710]=h[6727],h[6711]=t,t=h[6730],h[6712]=h[6729],h[6713]=t,t=h[6732],h[6714]=h[6731],h[6715]=t,Fu(26880)),t=h[h[e+28>>2]+12>>2],h[n+80>>2]=0,h[n+84>>2]=0,h[n+72>>2]=1065353216,h[n+76>>2]=0,op(n+344|0,a,t,n+72|0,n+288|0)&&(h[(t=n)+92>>2]=0,h[t+96>>2]=0,h[t+84>>2]=0,h[t+88>>2]=0,h[t+76>>2]=0,h[t+80>>2]=0,o[t+224|0]=0,h[t+72>>2]=21376,h[t+60>>2]=0,h[t+64>>2]=0,h[t+56>>2]=i,i=h[h[e+28>>2]+8>>2],h[t+48>>2]=i,h[t+40>>2]=0,a=h[i+236>>2],h[t+32>>2]=0,h[t+16>>2]=i,h[t+44>>2]=i&a<<30>>31,i=h[t+60>>2],h[t+24>>2]=h[t+56>>2],h[t+28>>2]=i,i=h[t+44>>2],h[t+8>>2]=h[t+40>>2],h[t+12>>2]=i,fe(e,t+288|0,t+24|0,t+8|0,t+72|0)))){if(h[7717]=h[7717]+1,i=ji(4+(t=0|r[h[6606]](216,16))|0,0,212),h[t>>2]=21376,Vn(i,n+72|4,100),a=h[(i=n)+188>>2],h[t+112>>2]=h[i+184>>2],h[t+116>>2]=a,a=h[i+180>>2],h[t+104>>2]=h[i+176>>2],h[t+108>>2]=a,a=h[i+204>>2],h[t+128>>2]=h[i+200>>2],h[t+132>>2]=a,a=h[i+196>>2],h[t+120>>2]=h[i+192>>2],h[t+124>>2]=a,a=h[i+212>>2],h[t+136>>2]=h[i+208>>2],h[t+140>>2]=a,a=h[i+220>>2],h[t+144>>2]=h[i+216>>2],h[t+148>>2]=a,o[t+152|0]=d[i+224|0],h[t+212>>2]=h[i+284>>2],a=h[i+280>>2],h[t+204>>2]=h[i+276>>2],h[t+208>>2]=a,a=h[i+272>>2],h[t+196>>2]=h[i+268>>2],h[t+200>>2]=a,a=h[i+264>>2],h[t+188>>2]=h[i+260>>2],h[t+192>>2]=a,a=h[i+256>>2],h[t+180>>2]=h[i+252>>2],h[t+184>>2]=a,a=h[i+248>>2],h[t+172>>2]=h[i+244>>2],h[t+176>>2]=a,a=h[i+240>>2],h[t+164>>2]=h[i+236>>2],h[t+168>>2]=a,a=h[i+232>>2],h[t+156>>2]=h[i+228>>2],h[t+160>>2]=a,i=h[e+24>>2],(0|(a=h[i+852>>2]))==h[i+856>>2]&&!((0|a)>=(0|(c=a?a<<1:1)))){if(c&&(h[7717]=h[7717]+1,l=0|r[h[6606]](c<<2,16),a=h[i+852>>2]),(0|a)>=1)for(;h[(u=s<<2)+l>>2]=h[h[i+860>>2]+u>>2],(0|(s=s+1|0))!=(0|a););(s=h[i+860>>2])&&(d[i+864|0]&&(s&&(h[7718]=h[7718]+1,r[h[6607]](s)),a=h[i+852>>2]),h[i+860>>2]=0),h[i+860>>2]=l,h[i+856>>2]=c,o[i+864|0]=1}h[h[i+860>>2]+(a<<2)>>2]=t,h[i+852>>2]=a+1,a=h[e+24>>2],i=t,3&d[h[h[e+28>>2]+8>>2]+204|0]?(m[t+64>>2]=m[a+344>>2]*m[t+64>>2],e=a+356|0):(m[t+64>>2]=m[a+340>>2]*m[t+64>>2],e=a+352|0),m[i+68>>2]=m[e>>2]*m[t+68>>2]}w=n+400|0},r[859]=fh,r[860]=Th,r[861]=kh,r[862]=function(e){return 21996},r[863]=Oh,r[864]=function(e){return v(v(r[h[h[(e|=0)>>2]+48>>2]](e)))},r[865]=function(e,t,n){e|=0,t|=0,n|=0;var i,r,o=0,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0);if(o=h[t+52>>2],i=h[o+32>>2],t=h[i>>2],(0|(r=h[o+24>>2]))>=2){for(s=m[n>>2],c=m[n+4>>2],l=m[n+8>>2],a=v(v(v(s*m[t+8>>2])+v(c*m[t+12>>2]))+v(l*m[t+16>>2])),n=0,t=1;o=h[(t<<2)+i>>2],a=(o=(u=v(v(v(s*m[o+8>>2])+v(c*m[o+12>>2]))+v(l*m[o+16>>2])))>a)?u:a,n=o?t:n,(0|r)!=(0|(t=t+1|0)););t=h[(n<<2)+i>>2]}n=h[t+12>>2],h[e>>2]=h[t+8>>2],h[e+4>>2]=n,n=h[t+20>>2],h[e+8>>2]=h[t+16>>2],h[e+12>>2]=n},r[866]=function(e,t,n){e|=0,n|=0,r[h[h[(t|=0)>>2]+64>>2]](e,t,n)},r[867]=Th,r[868]=function(e){return 32},r[869]=Jh,r[870]=function(e,t,n){e|=0,t|=0,n|=0;var i,a=0,s=0,c=v(0),l=v(0),u=0,p=0,f=0,_=v(0),b=v(0),y=v(0),C=v(0);if(w=i=w-448|0,n=h[n+36>>2],a=h[t+36>>2],t=h[e+24>>2],!d[h[t+1140>>2]+(h[a+380>>2]+g(h[n+380>>2],h[t+1112>>2])|0)|0]||(0|t)!=h[e+28>>2]|!h[t+1132>>2]){if(h[4+(t=i+392|0)>>2]=35,h[t+8>>2]=0,h[t>>2]=13316,h[t+44>>2]=1025758986,h[t+20>>2]=1065353216,h[t+24>>2]=0,h[t+12>>2]=1065353216,h[t+16>>2]=1065353216,h[t>>2]=13444,h[i+444>>2]=a,h[i+392>>2]=21856,h[i+436>>2]=0,h[4+(t=i+336|0)>>2]=35,h[t+8>>2]=0,h[t>>2]=13316,h[t+44>>2]=1025758986,h[t+20>>2]=1065353216,h[t+24>>2]=0,h[t+12>>2]=1065353216,h[t+16>>2]=1065353216,h[t>>2]=13444,h[i+388>>2]=n,h[i+336>>2]=21856,h[i+380>>2]=0,1&o[26880]||Vl(26880)&&(1&o[26932]||Vl(26932)&&(h[6722]=0,h[6723]=0,h[6721]=1065353216,h[6724]=0,h[6725]=0,h[6727]=0,h[6728]=0,h[6726]=1065353216,h[6729]=0,h[6730]=0,h[6731]=1065353216,h[6732]=0,Fu(26932)),h[6716]=0,h[6717]=0,h[6718]=0,h[6719]=0,t=h[6724],h[6706]=h[6723],h[6707]=t,t=h[6722],h[6704]=h[6721],h[6705]=t,t=h[6726],h[6708]=h[6725],h[6709]=t,t=h[6728],h[6710]=h[6727],h[6711]=t,t=h[6730],h[6712]=h[6729],h[6713]=t,t=h[6732],h[6714]=h[6731],h[6715]=t,Fu(26880)),1&o[26880]||Vl(26880)&&(1&o[26932]||Vl(26932)&&(h[6722]=0,h[6723]=0,h[6721]=1065353216,h[6724]=0,h[6725]=0,h[6727]=0,h[6728]=0,h[6726]=1065353216,h[6729]=0,h[6730]=0,h[6731]=1065353216,h[6732]=0,Fu(26932)),h[6716]=0,h[6717]=0,h[6718]=0,h[6719]=0,t=h[6724],h[6706]=h[6723],h[6707]=t,t=h[6722],h[6704]=h[6721],h[6705]=t,t=h[6726],h[6708]=h[6725],h[6709]=t,t=h[6728],h[6710]=h[6727],h[6711]=t,t=h[6730],h[6712]=h[6729],h[6713]=t,t=h[6732],h[6714]=h[6731],h[6715]=t,Fu(26880)),c=m[n+232>>2],l=m[a+232>>2],_=m[n+236>>2],b=m[a+236>>2],y=m[n+228>>2],C=m[a+228>>2],h[i+76>>2]=0,m[i+64>>2]=C-y,m[i+72>>2]=b-_,m[i+68>>2]=l-c,op(i+392|0,i+336|0,26816,i- -64|0,i+280|0)&&(h[i+84>>2]=0,h[i+88>>2]=0,h[i+76>>2]=0,h[i+80>>2]=0,h[i+24>>2]=0,h[i+8>>2]=0,h[i+52>>2]=0,h[i+56>>2]=0,h[i+48>>2]=a,h[i+36>>2]=0,h[i+40>>2]=0,h[i+32>>2]=n,h[i+68>>2]=0,h[i+72>>2]=0,o[i+216|0]=0,h[i+64>>2]=21376,t=h[i+52>>2],h[i+16>>2]=h[i+48>>2],h[i+20>>2]=t,t=h[i+36>>2],h[i>>2]=h[i+32>>2],h[i+4>>2]=t,fe(e,i+280|0,i+16|0,i,i- -64|0))){if(h[7717]=h[7717]+1,t=ji(4+(n=0|r[h[6606]](216,16))|0,0,212),h[n>>2]=21376,Vn(t,i- -64|4,100),t=h[i+180>>2],h[n+112>>2]=h[i+176>>2],h[n+116>>2]=t,t=h[i+172>>2],h[n+104>>2]=h[i+168>>2],h[n+108>>2]=t,t=h[i+196>>2],h[n+128>>2]=h[i+192>>2],h[n+132>>2]=t,t=h[i+188>>2],h[n+120>>2]=h[i+184>>2],h[n+124>>2]=t,t=h[i+204>>2],h[n+136>>2]=h[i+200>>2],h[n+140>>2]=t,t=h[i+212>>2],h[n+144>>2]=h[i+208>>2],h[n+148>>2]=t,o[n+152|0]=d[i+216|0],h[n+212>>2]=h[i+276>>2],t=h[i+272>>2],h[n+204>>2]=h[i+268>>2],h[n+208>>2]=t,t=h[i+264>>2],h[n+196>>2]=h[i+260>>2],h[n+200>>2]=t,t=h[i+256>>2],h[n+188>>2]=h[i+252>>2],h[n+192>>2]=t,t=h[i+248>>2],h[n+180>>2]=h[i+244>>2],h[n+184>>2]=t,t=h[i+240>>2],h[n+172>>2]=h[i+236>>2],h[n+176>>2]=t,t=h[i+232>>2],h[n+164>>2]=h[i+228>>2],h[n+168>>2]=t,t=h[i+224>>2],h[n+156>>2]=h[i+220>>2],h[n+160>>2]=t,a=h[e+24>>2],(0|(s=h[a+852>>2]))==h[a+856>>2]&&!((0|s)>=(0|(u=s?s<<1:1)))){if(u&&(h[7717]=h[7717]+1,p=0|r[h[6606]](u<<2,16),s=h[a+852>>2]),(0|s)>=1)for(t=0;h[(f=t<<2)+p>>2]=h[h[a+860>>2]+f>>2],(0|s)!=(0|(t=t+1|0)););(t=h[a+860>>2])&&(d[a+864|0]&&(t&&(h[7718]=h[7718]+1,r[h[6607]](t)),s=h[a+852>>2]),h[a+860>>2]=0),h[a+860>>2]=p,h[a+856>>2]=u,o[a+864|0]=1}h[h[a+860>>2]+(s<<2)>>2]=n,h[a+852>>2]=s+1,t=h[e+24>>2],c=m[t+348>>2],e=h[e+28>>2],l=m[e+348>>2],m[n+64>>2]=m[n+64>>2]*(c>l?c:l),m[n+68>>2]=m[n+68>>2]*v(v(m[t+360>>2]+m[e+360>>2])*v(.5))}}else h[7688]=h[7688]+1;w=i+448|0},r[871]=Jh,r[872]=function(e,t,n){e|=0,t|=0,n|=0;var i,a,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=0,b=0,y=v(0),A=v(0),x=v(0),T=0,E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0),q=v(0),J=v(0),$=v(0),ee=v(0),te=v(0),ne=0,ie=v(0),re=v(0),oe=0;if(a=h[n+36>>2],_=h[a+12>>2],D=m[_+8>>2],i=h[t+36>>2],Q=m[i+8>>2],K=v(D-Q),n=h[a+8>>2],re=m[n+8>>2],L=v(re-Q),k=v(K-L),t=h[a+16>>2],N=m[t+12>>2],Z=m[i+12>>2],V=v(N-Z),z=m[n+12>>2],F=v(z-Z),c=v(V-F),E=m[_+12>>2],q=v(E-Z),j=v(q-F),w=m[t+8>>2],U=v(w-Q),s=v(U-L),G=v(v(k*c)-v(j*s)),P=m[t+16>>2],J=m[i+16>>2],H=v(P-J),$=m[n+16>>2],B=v($-J),u=v(H-B),A=m[_+16>>2],ee=v(A-J),W=v(ee-B),X=v(v(j*u)-v(W*c)),Y=v(v(W*s)-v(k*u)),(s=v(v(G*G)+v(v(X*X)+v(Y*Y))))>v(1.1920928955078125e-7)?(u=v(34028234663852886e22),s=v(v(1)/v(S(s))),p=v(G*s),l=v(X*s),c=v(Y*s),f=v(v(B*p)+v(v(L*l)+v(F*c))),(s=v(f*f))v(0)&&(p=v(V-x),l=v(U-O),ie=v(G*v(v(p*I)-v(c*l))),te=c,c=v(H-y),v(ie+v(v(X*v(v(te*c)-v(u*p)))+v(Y*v(v(u*l)-v(c*I)))))>v(0)&&(u=s,v(v(G*v(v(R*l)-v(p*M)))+v(v(X*v(v(p*f)-v(c*R)))+v(Y*v(v(c*M)-v(f*l)))))>v(0)))||(s=v(v(v(k*k)+v(j*j))+v(W*W)),u=v(34028234663852886e22),s>v(1.1920928955078125e-7)&&(x=(y=v(v(-v(v(v(L*k)+v(F*j))+v(B*W)))/s))v(1.1920928955078125e-7)&&(s=(s=v(v(-v(v(v(K*l)+v(q*f))+v(ee*c)))/s))v(1.1920928955078125e-7)&&(s=(s=v(v(-v(v(v(U*l)+v(V*f))+v(H*c)))/s))>2]),c=v(s*s),s=v(Z-m[i+28>>2]),c=v(c+v(s*s)),s=v(J-m[i+32>>2]),s=v(S(v(c+v(s*s)))),f=v(m[e+12>>2]+v(s+s)),u>2],w=v(c*A),l=m[n+88>>2],P=v(p*A),c=m[_+88>>2],$=v(s*A),s=m[t+88>>2],A=l<=v(0)||c<=v(0)||s<=v(0)?v(0):v(v(v(w*l)+v(P*c))+v($*s)),(z=v(E+A))>v(0))){if(b=h[e+4>>2],c=m[b+316>>2],e=h[e+8>>2],p=c>(s=m[e+316>>2])?c:s,l=v(v(E/z)*m[b+332>>2]),c=v(v(A/z)*m[e+332>>2]),u=v(v(-1)/v(S(u))),s=v(u*y),y=v(u*x),u=v(O*u),(0|(e=h[b+832>>2]))==h[b+836>>2]&&!((0|e)>=(0|(ne=e?e<<1:1)))){if(ne&&(h[7717]=h[7717]+1,oe=0|r[h[6606]](g(ne,56),16),e=h[b+832>>2]),(0|e)>=1)for(n=0;_=(t=g(n,56))+oe|0,T=t+h[b+840>>2]|0,t=h[T+4>>2],h[_>>2]=h[T>>2],h[_+4>>2]=t,t=h[T+52>>2],h[_+48>>2]=h[T+48>>2],h[_+52>>2]=t,t=h[T+44>>2],h[_+40>>2]=h[T+40>>2],h[_+44>>2]=t,t=h[T+36>>2],h[_+32>>2]=h[T+32>>2],h[_+36>>2]=t,t=h[T+28>>2],h[_+24>>2]=h[T+24>>2],h[_+28>>2]=t,t=h[T+20>>2],h[_+16>>2]=h[T+16>>2],h[_+20>>2]=t,t=h[T+12>>2],h[_+8>>2]=h[T+8>>2],h[_+12>>2]=t,(0|(n=n+1|0))!=(0|e););(e=h[b+840>>2])&&(d[b+844|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[b+840>>2]=0),h[b+840>>2]=oe,h[b+836>>2]=ne,o[b+844|0]=1,e=h[b+832>>2]}e=h[b+840>>2]+g(e,56)|0,m[e+48>>2]=l,m[e+44>>2]=p,m[e+40>>2]=f,m[e+24>>2]=u,m[e+8>>2]=w,h[e+4>>2]=a,h[e>>2]=i,m[e+52>>2]=c,h[e+36>>2]=0,m[e+32>>2]=s,m[e+28>>2]=y,h[e+20>>2]=0,m[e+16>>2]=$,m[e+12>>2]=P,h[b+832>>2]=h[b+832>>2]+1}},r[873]=function(e,t,n){e|=0,t=v(t),n=v(n);var i,r=0,o=v(0),a=v(0),s=v(0),c=v(0),l=0,u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=0;if((0|(i=h[e+732>>2]))>=1)for(b=h[e+740>>2];r=g(l,52)+b|0,(o=m[r+24>>2])>v(0)&&(a=m[r+28>>2],e=h[r+12>>2],r=h[r+8>>2],u=m[r+8>>2],n=v(m[e+8>>2]-u),p=m[r+12>>2],s=v(m[e+12>>2]-p),d=m[r+16>>2],c=v(m[e+16>>2]-d),f=v(v(v(n*n)+v(s*s))+v(c*c)),(_=v(a+f))>v(1.1920928955078125e-7)&&(a=v(v(v(a-f)/v(o*_))*t),o=v(a*m[r+88>>2]),m[r+16>>2]=d-v(c*o),m[r+12>>2]=p-v(s*o),m[r+8>>2]=u-v(n*o),o=n,n=v(a*m[e+88>>2]),m[e+8>>2]=m[e+8>>2]+v(o*n),m[e+16>>2]=v(c*n)+m[e+16>>2],m[e+12>>2]=v(s*n)+m[e+12>>2])),(0|i)!=(0|(l=l+1|0)););},r[874]=function(e,t,n){e|=0,t=v(t),n=v(n);var i,r,o=0,a=0,s=v(0),c=0,l=v(0),u=v(0),p=v(0),d=v(0),f=0,_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0);if(w=i=w-16|0,(0|(r=h[e+792>>2]))>=1)for(t=v(m[e+336>>2]*t),n=m[e+452>>2];o=h[e+800>>2]+g(f,96)|0,P=m[o+36>>2],O=m[o+28>>2],M=m[o+32>>2],R=m[o+52>>2],I=m[o+44>>2],D=m[o+48>>2],c=h[o>>2],s=m[c+16>>2],a=h[o+20>>2],p=m[a+332>>2],L=s,_=m[o+92>>2],b=m[o+24>>2],l=m[o+4>>2],y=m[o+8>>2],C=m[o+12>>2],A=m[c+8>>2],u=m[o+84>>2],d=m[a+336>>2],T=m[o+80>>2],x=v(v(t*v(v(v(v(v(l*m[a+4>>2])+v(y*m[a+8>>2]))+v(C*m[a+12>>2]))+m[a+52>>2])-A))+v(v(n*v(v(v(p*u)-v(d*T))+m[a+312>>2]))-v(A-m[c+24>>2]))),S=m[c+12>>2],N=d,d=m[o+76>>2],E=m[a+328>>2],u=v(v(t*v(v(v(v(v(l*m[a+20>>2])+v(y*m[a+24>>2]))+v(C*m[a+28>>2]))+m[a+56>>2])-S))+v(v(n*v(m[a+316>>2]+v(v(N*d)-v(u*E))))-v(S-m[c+28>>2]))),s=v(v(t*v(v(v(v(v(l*m[a+36>>2])+v(y*m[a+40>>2]))+v(C*m[a+44>>2]))+m[a+60>>2])-s))+v(v(n*v(v(v(T*E)-v(p*d))+m[a+320>>2]))-v(s-m[c+32>>2]))),p=v(b*v(v(v(x*m[o+60>>2])+v(u*m[o- -64>>2]))+v(s*m[o+68>>2]))),m[c+16>>2]=L+v(_*p),l=v(b*v(v(v(x*I)+v(u*D))+v(s*R))),m[c+12>>2]=S+v(_*l),s=v(b*v(v(v(x*O)+v(u*M))+v(P*s))),m[c+8>>2]=A+v(_*s),h[i+12>>2]=0,m[i+8>>2]=-p,m[i+4>>2]=-l,m[i>>2]=-s,na(a,i,o+76|0),(0|r)!=(0|(f=f+1|0)););w=i+16|0},r[875]=function(e,t,n){e|=0,t=v(t),n=v(n);var i,o,a=0,s=v(0),c=v(0),l=0,u=v(0),p=v(0),d=v(0),f=0,_=v(0),b=0,y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0);if(w=i=w-16|0,n=m[e+452>>2],a=h[e+192>>2],S=v(r[h[h[a>>2]+48>>2]](a)),(0|(o=h[e+812>>2]))>=1)for(;a=h[e+820>>2]+g(b,104)|0,l=h[a>>2],(f=h[l+236>>2]<<30>>31&l)?(c=m[f+332>>2],d=m[a+84>>2],_=m[f+336>>2],u=m[a+80>>2],s=v(n*v(v(v(c*d)-v(_*u))+m[f+312>>2])),p=m[f+328>>2],y=c,c=m[a+76>>2],u=v(n*v(v(v(u*p)-v(y*c))+m[f+320>>2])),c=v(n*v(m[f+316>>2]+v(v(_*c)-v(d*p))))):(s=v(0),u=v(0),c=v(0)),l=h[a+24>>2],T=m[l+8>>2],p=v(v(T-m[l+24>>2])-s),s=m[a+4>>2],E=m[l+12>>2],C=v(v(E-m[l+28>>2])-c),c=m[a+8>>2],A=m[l+16>>2],x=v(v(A-m[l+32>>2])-u),u=m[a+12>>2],(d=v(v(v(p*s)+v(C*c))+v(x*u)))<=v(1.1920928955078125e-7)&&(P=m[a+20>>2],O=m[a+36>>2],M=m[a+28>>2],R=m[a+32>>2],I=m[a+52>>2],D=m[a+44>>2],L=m[a+48>>2],N=m[a+68>>2],F=m[a+60>>2],B=m[a- -64>>2],_=m[a+96>>2],k=m[a+100>>2],h[i+12>>2]=0,p=v(p-v(_*v(p-v(s*d)))),y=s,s=v(P+v(v(v(T*s)+v(E*c))+v(A*u))),s=v(k*(s>2]=u,d=v(v(v(p*D)+v(c*L))+v(s*I)),m[i+4>>2]=d,s=v(v(v(M*p)+v(R*c))+v(O*s)),m[i>>2]=s,c=s,s=m[a+92>>2],m[l+8>>2]=m[l+8>>2]-v(c*s),m[l+12>>2]=m[l+12>>2]-v(d*s),m[l+16>>2]=A-v(u*s),f&&na(f,i,a+76|0)),(0|o)!=(0|(b=b+1|0)););w=i+16|0},r[876]=function(e,t,n){e|=0,t=v(t),n=v(n);var i,r=0,o=0,a=v(0),s=0,c=0,l=v(0),u=0,p=v(0),d=v(0),f=v(0),_=v(0),b=0,y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=0;if((0|(i=h[e+832>>2]))>=1)for(O=h[e+840>>2];e=r=g(b,56)+O|0,x=v(0),S=v(0),T=v(0),u=h[r>>2],y=m[u+8>>2],o=h[r+4>>2],s=h[o+8>>2],a=m[r+8>>2],c=h[o+12>>2],l=m[r+12>>2],o=h[o+16>>2],t=m[r+16>>2],E=v(v(v(m[s+8>>2]*a)+v(m[c+8>>2]*l))+v(m[o+8>>2]*t)),P=v(v(y-m[u+24>>2])-v(E-v(v(v(a*m[s+24>>2])+v(l*m[c+24>>2]))+v(t*m[o+24>>2])))),f=m[r+24>>2],C=m[u+12>>2],p=v(v(v(a*m[s+12>>2])+v(l*m[c+12>>2]))+v(t*m[o+12>>2])),d=v(v(C-m[u+28>>2])-v(p-v(v(v(a*m[s+28>>2])+v(l*m[c+28>>2]))+v(t*m[o+28>>2])))),_=m[r+28>>2],A=m[u+16>>2],n=v(v(v(a*m[s+16>>2])+v(l*m[c+16>>2]))+v(t*m[o+16>>2])),t=v(v(A-m[u+32>>2])-v(n-v(v(v(a*m[s+32>>2])+v(l*m[c+32>>2]))+v(t*m[o+32>>2])))),a=m[r+32>>2],(l=v(v(v(P*f)+v(d*_))+v(t*a)))>2]-v(v(v(v(y*f)+v(C*_))+v(A*a))-v(v(v(E*f)+v(p*_))+v(n*a)))),T=v(v(a*n)+v(0)),x=v(v(f*n)+v(0)),S=v(v(_*n)+v(0))),n=m[r+48>>2],a=v(t-v(a*l)),t=m[r+44>>2],p=v(T-v(a*t)),m[u+16>>2]=A+v(n*p),d=v(S-v(t*v(d-v(_*l)))),m[u+12>>2]=C+v(n*d),a=n,n=v(x-v(t*v(P-v(f*l)))),m[u+8>>2]=y+v(a*n),t=v(m[r+52>>2]*m[e+8>>2]),m[s+8>>2]=m[s+8>>2]-v(n*t),m[s+12>>2]=m[s+12>>2]-v(d*t),m[s+16>>2]=m[s+16>>2]-v(p*t),t=v(m[r+52>>2]*m[r+12>>2]),m[c+8>>2]=m[c+8>>2]-v(n*t),m[c+12>>2]=m[c+12>>2]-v(d*t),m[c+16>>2]=m[c+16>>2]-v(p*t),t=v(m[r+52>>2]*m[r+16>>2]),m[o+8>>2]=m[o+8>>2]-v(n*t),m[o+12>>2]=m[o+12>>2]-v(d*t),m[o+16>>2]=m[o+16>>2]-v(p*t),(0|i)!=(0|(b=b+1|0)););},r[877]=jh,r[878]=Jh,r[879]=function(e,t,n,i,o){t|=0,n|=0,i|=0,o|=0;var a=0;i=(e=d[16+(e|=0)|0])?t:n,e=h[(e?n:t)+8>>2];e:{t:if(!((0|(t=h[e+268>>2]))<1)){for(o=h[i+8>>2],a=h[e+276>>2],n=0;;){if(h[(n<<2)+a>>2]!=(0|o)){if((0|t)!=(0|(n=n+1|0)))continue;break t}break}if((0|t)!=(0|n))break e}t=h[e+284>>2],r[h[h[t>>2]+36>>2]](t,e,i)}},r[880]=uh,r[881]=qh,r[882]=function(e){return h[12+(e|=0)>>2]=22300,h[e>>2]=22272,kr(e+12|0),dr(e+72|0),0|e},r[883]=function(e){h[12+(e|=0)>>2]=22300,h[e>>2]=22272,kr(e+12|0),dr(e+72|0),Se(e)},r[884]=function(e,t,n,i,o){t|=0,n|=0,i|=0,o|=0;var a=0;n=d[8+(e|=0)|0]?t:n,h[h[n+4>>2]+4>>2]+-21>>>0<=8&&(a=e+12|0,t=h[h[n+8>>2]+192>>2],function(e,t,n,i,o){var a,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0);w=a=w-32|0,h[e+52>>2]=i,h[e+44>>2]=o,m[e+56>>2]=t+v(.05999999865889549),i=h[e+4>>2],r[h[h[i>>2]+28>>2]](i,a+16|0,a),n=h[n+12>>2],t=m[n+20>>2],d=m[n+36>>2],f=m[n+24>>2],l=m[n+40>>2],g=m[n+56>>2],x=m[n+52>>2],S=m[n+4>>2],_=m[n+8>>2],u=m[e+56>>2],E=m[n+48>>2],p=m[n+32>>2],c=m[n>>2],s=m[n+16>>2],C=m[a+24>>2],b=m[a+8>>2],A=m[a+16>>2],R=m[a>>2],I=m[a+20>>2],D=m[a+4>>2],h[e+40>>2]=0,h[e+24>>2]=0,P=v(v(R+A)*v(.5)),O=v(v(D+I)*v(.5)),M=v(v(b+C)*v(.5)),x=v(-x),L=v(v(v(v(c*P)+v(s*O))+v(p*M))+v(v(v(s*x)-v(c*E))-v(p*g))),N=v(c*v(0)),T=v(s*v(0)),C=v(u+v(v(b-C)*v(.5))),b=v(v(y(v(p+v(N+T))))*C),T=v(c+T),c=v(p*v(0)),p=v(u+v(v(R-A)*v(.5))),A=v(v(y(v(T+c)))*p),s=v(y(v(v(N+s)+c))),c=v(u+v(v(D-I)*v(.5))),s=v(b+v(A+v(s*c))),m[e+28>>2]=L+s,m[e+12>>2]=L-s,s=v(v(v(v(P*_)+v(O*f))+v(M*l))+v(v(v(f*x)-v(_*E))-v(l*g))),u=v(_*v(0)),b=v(f*v(0)),A=v(v(y(v(l+v(u+b))))*C),l=v(l*v(0)),f=v(A+v(v(v(y(v(v(_+b)+l)))*p)+v(v(y(v(v(u+f)+l)))*c))),m[e+36>>2]=s+f,l=v(v(v(v(P*S)+v(O*t))+v(M*d))+v(v(v(t*x)-v(S*E))-v(d*g))),_=v(S*v(0)),g=v(t*v(0)),u=v(v(y(v(d+v(_+g))))*C),d=v(d*v(0)),t=v(u+v(v(v(y(v(v(S+g)+d)))*p)+v(v(y(v(v(_+t)+d)))*c))),m[e+32>>2]=l+t,m[e+20>>2]=s-f,m[e+16>>2]=l-t,w=a+32|0}(a,v(r[h[h[t>>2]+48>>2]](t)),n,i,o),r[h[h[t>>2]+64>>2]](t,a,e+24|0,e+40|0))},r[885]=function(e,t,n,i,o){e|=0,t|=0,n|=0,i|=0,o|=0;var a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),D=v(0),L=v(0),N=v(0),F=v(0),B=v(0),k=v(0),V=v(0),z=v(0),j=v(0),U=v(0),G=v(0),H=v(0),W=v(0),X=v(0),Y=v(0),Q=v(0),K=v(0),Z=v(0),q=v(0),J=v(0);return w=i=w-240|0,q=v(1),o=d[e+8|0],a=v(m[(e=o?n:t)+116>>2]-m[e+52>>2]),s=v(a*a),a=v(m[e+120>>2]-m[e+56>>2]),s=v(s+v(a*a)),a=v(m[e+124>>2]-m[e+60>>2]),s=v(s+v(a*a)),a=m[e+252>>2],s>2],h[n+4>>2]+-21>>>0>8||(D=m[e+92>>2],L=m[e+76>>2],N=m[e+108>>2],F=m[e+88>>2],B=m[e+72>>2],k=m[e+104>>2],V=m[e+100>>2],z=m[e+84>>2],j=m[e+68>>2],f=m[t+36>>2],_=m[t+20>>2],b=m[t+4>>2],U=m[e+28>>2],G=m[e+12>>2],H=m[e+44>>2],W=m[e+24>>2],X=m[e+8>>2],Y=m[e+40>>2],Q=m[e+36>>2],K=m[e+20>>2],Z=m[e+4>>2],g=m[t+12>>2],E=m[e+116>>2],y=m[t+28>>2],s=m[e+120>>2],C=m[t+44>>2],P=m[e+124>>2],J=v(v(v(g*E)+v(y*s))+v(C*P)),A=m[t+24>>2],O=v(-m[t+56>>2]),x=m[t+8>>2],S=m[t+52>>2],T=m[t+40>>2],M=m[t+60>>2],p=v(v(v(A*O)-v(x*S))-v(T*M)),a=v(p+v(v(v(x*E)+v(A*s))+v(T*P))),c=m[e+56>>2],l=m[e+52>>2],u=m[e+60>>2],h[i+236>>2]=0,I=v(v(v(y*O)-v(g*S))-v(C*M)),R=v(I+v(v(v(g*l)+v(y*c))+v(C*u))),m[i+232>>2]=R,p=v(p+v(v(v(x*l)+v(A*c))+v(T*u))),m[i+228>>2]=p,S=v(v(v(_*O)-v(b*S))-v(f*M)),c=v(S+v(v(v(b*l)+v(_*c))+v(f*u))),m[i+224>>2]=c,O=c,(l=v(S+v(v(v(b*E)+v(_*s))+v(f*P))))>2]=l,O=l),E=p,a>2]=a,E=a),(u=v(I+J))<(s=R)&&(m[i+232>>2]=u,s=u),h[i+220>>2]=0,m[i+216>>2]=R,m[i+212>>2]=p,m[i+208>>2]=c,P=c,c>2]=l,P=l),S=p,p>2]=a,S=a),M=R,R>2]=u,M=u),I=s,s=m[e+248>>2],m[i+232>>2]=I-s,m[i+228>>2]=E-s,m[i+224>>2]=O-s,m[i+216>>2]=s+M,m[i+212>>2]=s+S,m[i+208>>2]=s+P,h[i+128>>2]=0,m[i+124>>2]=u,m[i+120>>2]=a,m[i+116>>2]=l,h[i+112>>2]=0,m[i+108>>2]=v(v(g*L)+v(y*D))+v(C*N),m[i+104>>2]=v(v(g*B)+v(y*F))+v(C*k),m[i+100>>2]=v(v(g*j)+v(y*z))+v(C*V),h[i+96>>2]=0,m[i+92>>2]=v(v(x*L)+v(A*D))+v(T*N),m[i+88>>2]=v(v(x*B)+v(A*F))+v(T*k),m[i+84>>2]=v(v(x*j)+v(A*z))+v(T*V),h[i+80>>2]=0,m[i+76>>2]=v(v(b*L)+v(_*D))+v(f*N),m[i+72>>2]=v(v(b*B)+v(_*F))+v(f*k),h[i- -64>>2]=0,m[i+60>>2]=R,m[i+56>>2]=p,m[i+52>>2]=c,h[i+48>>2]=0,m[i+44>>2]=v(v(g*G)+v(y*U))+v(C*H),m[i+40>>2]=v(v(g*X)+v(y*W))+v(C*Y),m[i+36>>2]=v(v(g*Z)+v(y*K))+v(C*Q),h[i+32>>2]=0,m[i+28>>2]=v(v(x*G)+v(A*U))+v(T*H),m[i+24>>2]=v(v(x*X)+v(A*W))+v(T*Y),m[i+20>>2]=v(v(x*Z)+v(A*K))+v(T*Q),h[i+16>>2]=0,m[i+12>>2]=v(v(b*G)+v(_*U))+v(f*H),m[i+8>>2]=v(v(b*X)+v(_*W))+v(f*Y),m[i+196>>2]=s,m[i+68>>2]=v(v(b*j)+v(_*z))+v(f*V),m[i+4>>2]=v(v(b*Z)+v(_*K))+v(f*Q),h[i>>2]=22416,h[i+200>>2]=h[e+244>>2],n&&(r[h[h[n>>2]+64>>2]](n,i,i+224|0,i+208|0),(a=m[i+200>>2])>2]&&(m[e+244>>2]=a,q=a)))),w=i+240|0,v(q)},r[886]=qh,r[887]=function(e){return h[(e|=0)>>2]=22300,kr(e),dr(e+60|0),0|e},r[888]=function(e){h[(e|=0)>>2]=22300,kr(e),dr(e+60|0),Se(e)},r[889]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a,s=0,c=v(0),l=v(0),u=0,p=v(0),d=v(0),f=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=0,I=0,D=v(0),L=v(0);w=o=w-176|0,a=h[e+48>>2],(s=h[e+52>>2])&&(s=h[s+20>>2])&&1&r[h[h[s>>2]+48>>2]](s)&&(h[o+40>>2]=0,h[o+44>>2]=0,h[o+32>>2]=1065353216,h[o+36>>2]=1065353216,u=h[h[e+52>>2]+20>>2],s=h[e+8>>2],y=m[s+52>>2],d=m[s+12>>2],b=m[s+8>>2],C=m[s+56>>2],A=m[s+28>>2],T=m[s+20>>2],E=m[s+24>>2],P=m[s+60>>2],O=m[s+44>>2],M=m[s+36>>2],f=m[s+40>>2],x=m[s+4>>2],c=m[t+8>>2],l=m[t>>2],p=m[t+4>>2],h[o+148>>2]=0,m[o+144>>2]=P+v(v(v(l*M)+v(p*f))+v(c*O)),m[o+140>>2]=C+v(v(v(l*T)+v(p*E))+v(c*A)),m[o+136>>2]=y+v(v(v(l*x)+v(p*b))+v(c*d)),d=m[s+8>>2],b=m[s+12>>2],c=m[t+20>>2],l=m[t+24>>2],x=m[s+4>>2],p=m[t+16>>2],h[o+20>>2]=0,m[o+16>>2]=P+v(v(v(p*M)+v(c*f))+v(l*O)),m[o+12>>2]=C+v(v(v(p*T)+v(c*E))+v(l*A)),m[o+8>>2]=y+v(v(v(p*x)+v(c*d))+v(l*b)),r[h[h[u>>2]+8>>2]](u,o+136|0,o+8|0,o+32|0),u=h[h[e+52>>2]+20>>2],y=m[s+52>>2],d=m[s+8>>2],b=m[s+12>>2],C=m[s+56>>2],A=m[s+20>>2],T=m[s+24>>2],E=m[s+28>>2],P=m[s+60>>2],O=m[s+36>>2],M=m[s+40>>2],c=m[t+20>>2],f=m[s+44>>2],l=m[t+24>>2],x=m[s+4>>2],p=m[t+16>>2],h[o+148>>2]=0,m[o+144>>2]=P+v(v(v(p*O)+v(c*M))+v(l*f)),m[o+140>>2]=C+v(v(v(p*A)+v(c*T))+v(l*E)),m[o+136>>2]=y+v(v(v(p*x)+v(c*d))+v(l*b)),d=m[s+8>>2],b=m[s+12>>2],c=m[t+36>>2],l=m[t+40>>2],x=m[s+4>>2],p=m[t+32>>2],h[o+20>>2]=0,m[o+16>>2]=P+v(v(v(p*O)+v(c*M))+v(l*f)),m[o+12>>2]=C+v(v(v(p*A)+v(c*T))+v(l*E)),m[o+8>>2]=y+v(v(v(p*x)+v(c*d))+v(l*b)),r[h[h[u>>2]+8>>2]](u,o+136|0,o+8|0,o+32|0),u=h[h[e+52>>2]+20>>2],y=m[s+52>>2],d=m[s+8>>2],b=m[s+12>>2],C=m[s+56>>2],A=m[s+20>>2],T=m[s+24>>2],E=m[s+28>>2],P=m[s+60>>2],O=m[s+36>>2],M=m[s+40>>2],c=m[t+36>>2],f=m[s+44>>2],l=m[t+40>>2],x=m[s+4>>2],p=m[t+32>>2],h[o+148>>2]=0,m[o+144>>2]=P+v(v(v(p*O)+v(c*M))+v(l*f)),m[o+140>>2]=C+v(v(v(p*A)+v(c*T))+v(l*E)),m[o+136>>2]=y+v(v(v(p*x)+v(c*d))+v(l*b)),d=m[s+12>>2],b=m[s+8>>2],x=m[s+4>>2],c=m[t+8>>2],l=m[t>>2],p=m[t+4>>2],h[o+20>>2]=0,m[o+16>>2]=P+v(v(v(l*O)+v(p*M))+v(c*f)),m[o+12>>2]=C+v(v(v(l*A)+v(p*T))+v(c*E)),m[o+8>>2]=y+v(v(v(l*x)+v(p*b))+v(c*d)),r[h[h[u>>2]+8>>2]](u,o+136|0,o+8|0,o+32|0)),h[o+172>>2]=0,s=n<<21|i,h[o+168>>2]=s,h[o+160>>2]=s;e:{t:if(u=g((u=s+(i<<15^-1)|0)>>10^u,9),u=((u^=u>>6)<<11^-1)+u|0,!((u=h[e+108>>2]+-1&(u>>16^u))>>>0>=_[e- -64>>2])&&-1!=(0|(u=h[h[e+72>>2]+(u<<2)>>2]))){for(R=h[e+132>>2];;){if((0|s)!=h[R+(I=u<<2)>>2]){if(-1!=(0|(u=h[h[e+92>>2]+I>>2])))continue;break t}break}if(s=h[e+112>>2]){u=h[4+(s+(u<<3)|0)>>2],t=h[e+8>>2],h[u+8>>2]=h[h[t+192>>2]+8>>2],s=h[e+4>>2],R=h[s+192>>2],h[o+48>>2]=-1,h[o+52>>2]=-1,h[o+44>>2]=s+4,h[o+40>>2]=s,h[o+36>>2]=R,h[o+32>>2]=0,h[o+156>>2]=i,h[o+152>>2]=n,h[o+148>>2]=t+4,h[o+144>>2]=t,h[o+140>>2]=u,h[o+136>>2]=0,t=0|r[h[h[a>>2]+8>>2]](a,o+32|0,o+136|0,0),r[h[h[t>>2]+8>>2]](t,o+32|0,o+136|0,h[e+52>>2],h[e+44>>2]),r[h[h[t>>2]>>2]](t),r[h[h[a>>2]+60>>2]](a,t);break e}}p=m[t+20>>2],T=m[t+36>>2],E=m[t+24>>2],P=m[t+40>>2],y=m[t+4>>2],O=m[t+32>>2],C=m[t+8>>2],A=m[t>>2],M=m[t+16>>2],h[o+124>>2]=0,h[o+108>>2]=0,h[o+92>>2]=0,h[o+76>>2]=0,h[o+60>>2]=0,l=v(M-A),f=v(T-y),d=v(p-y),b=v(O-A),x=c=v(v(l*f)-v(d*b)),D=v(c*c),c=v(P-C),L=v(d*c),d=v(E-C),f=v(L-v(d*f)),l=v(v(d*b)-v(l*c)),d=v(v(1)/v(S(v(D+v(v(f*f)+v(l*l)))))),c=v(v(x*d)*v(.05999999865889549)),m[o+120>>2]=P-c,l=v(v(l*d)*v(.05999999865889549)),m[o+116>>2]=T-l,m[o+104>>2]=E-c,m[o+100>>2]=p-l,m[o+88>>2]=C-c,m[o+84>>2]=y-l,m[o+72>>2]=P+c,m[o+68>>2]=T+l,m[o+56>>2]=E+c,m[o+52>>2]=p+l,h[o+44>>2]=0,p=v(v(f*d)*v(.05999999865889549)),m[o+112>>2]=O-p,m[o+96>>2]=M-p,m[o+80>>2]=A-p,m[o+64>>2]=O+p,m[o+48>>2]=M+p,m[o+40>>2]=C+c,m[o+36>>2]=y+l,m[o+32>>2]=A+p,h[7717]=h[7717]+1,Yn(s=0|r[h[6606]](112,16),o+32|0,6),t=h[e+8>>2],h[s+8>>2]=h[h[t+192>>2]+8>>2],u=h[e+4>>2],R=h[u+192>>2],h[o+152>>2]=-1,h[o+156>>2]=-1,h[o+148>>2]=u+4,h[o+144>>2]=u,h[o+140>>2]=R,h[o+136>>2]=0,h[o+28>>2]=i,h[o+24>>2]=n,h[o+20>>2]=t+4,h[o+16>>2]=t,h[o+12>>2]=s,h[o+8>>2]=0,t=0|r[h[h[a>>2]+8>>2]](a,o+136|0,o+8|0,0),r[h[h[t>>2]+8>>2]](t,o+136|0,o+8|0,h[e+52>>2],h[e+44>>2]),r[h[h[t>>2]>>2]](t),r[h[h[a>>2]+60>>2]](a,t),h[o+172>>2]=s,Bt(e+60|0,o+160|0,o+168|0)}w=o+176|0},r[890]=Jh,r[891]=Mn,r[892]=Yr,r[893]=function(e){(e=Yr(e|=0))&&(h[7718]=h[7718]+1,r[h[6607]](e))},r[894]=function(e){var t=0,n=0,i=0;if(er(e|=0),!(!r[h[h[e>>2]+20>>2]](e)|h[e+328>>2]<1))for(;n=h[h[e+336>>2]+(i<<2)>>2],r[h[h[e>>2]+20>>2]](e)&&(t=0|r[h[h[e>>2]+20>>2]](e),1&r[h[h[t>>2]+48>>2]](t)&&(De(n,h[e+72>>2]),L(n,h[e+72>>2],h[e+344>>2]))),(t=h[e+72>>2])&&2&r[h[h[t>>2]+48>>2]](t)&&(d[e+348|0]&&da(n,h[e+72>>2]),d[e+349|0]&&Va(n,h[e+72>>2]),d[e+350|0]&&Ma(n,h[e+72>>2])),(0|(i=i+1|0))>2];);},r[895]=function(e,t,n,i){e|=0,t|=0,n|=0,i|=0;var o,a,s=0,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0);w=o=w-256|0,Ir(22843),h[o+32>>2]=22900,s=h[t+12>>2],h[o+76>>2]=h[t+8>>2],h[o+80>>2]=s,s=h[t+4>>2],h[o+68>>2]=h[t>>2],h[o+72>>2]=s,s=h[n+12>>2],h[o+92>>2]=h[n+8>>2],h[o+96>>2]=s,s=h[n>>2],a=h[n+4>>2],h[o+104>>2]=0,h[o+108>>2]=0,h[o+112>>2]=0,h[o+116>>2]=0,h[o+124>>2]=0,h[o+128>>2]=0,h[o+120>>2]=1065353216,h[o+132>>2]=0,h[o+136>>2]=0,h[o+140>>2]=1065353216,h[o+144>>2]=0,h[o+84>>2]=s,h[o+88>>2]=a,h[o+248>>2]=i,h[o+100>>2]=1065353216,h[o+244>>2]=e,i=h[o+72>>2],h[o+148>>2]=h[o+68>>2],h[o+152>>2]=i,i=h[o+80>>2],h[o+156>>2]=h[o+76>>2],h[o+160>>2]=i,h[o+164>>2]=1065353216,h[o+176>>2]=0,h[o+180>>2]=0,h[o+168>>2]=0,h[o+172>>2]=0,h[o+184>>2]=1065353216,h[o+196>>2]=0,h[o+200>>2]=0,h[o+188>>2]=0,h[o+192>>2]=0,h[o+204>>2]=1065353216,h[o+208>>2]=0,i=h[n+12>>2],h[o+220>>2]=h[n+8>>2],h[o+224>>2]=i,i=h[n+4>>2],h[o+212>>2]=h[n>>2],h[o+216>>2]=i,p=v(m[n>>2]-m[t>>2]),c=v(m[n+4>>2]-m[t+4>>2]),l=v(m[n+8>>2]-m[t+8>>2]),u=v(v(1)/v(S(v(v(v(p*p)+v(c*c))+v(l*l))))),d=(l=v(l*u))==v(0)?v(1.0000000150474662e30):v(v(1)/l),m[o+44>>2]=d,f=(c=v(c*u))==v(0)?v(1.0000000150474662e30):v(v(1)/c),m[o+40>>2]=f,h[o+60>>2]=d>2]=f>2]=p,h[o+52>>2]=p>2]=v(v(u*v(m[o+84>>2]-m[o+68>>2]))+v(c*v(m[o+88>>2]-m[o+72>>2])))+v(l*v(m[o+92>>2]-m[o+76>>2])),e=h[e+68>>2],h[o+24>>2]=0,h[o+28>>2]=0,h[o+16>>2]=0,h[o+20>>2]=0,h[o+8>>2]=0,h[o+12>>2]=0,h[o>>2]=0,h[o+4>>2]=0,r[h[h[e>>2]+24>>2]](e,t,n,o+32|0,o+16|0,o),Bo(),w=o+256|0},r[896]=function(e,t){e|=0;var n=0,i=0,r=0,o=0;if(!(t|=0)|8!=h[t+236>>2])Qu(e,t);else{e:if(!((0|(n=h[e+328>>2]))<1)){for(r=h[e+336>>2];;){if(h[(o=(i<<2)+r|0)>>2]!=(0|t)){if((0|n)!=(0|(i=i+1|0)))continue;break e}break}(0|i)>=(0|n)||(i=(n=n+-1|0)<<2,h[o>>2]=h[i+r>>2],h[i+h[e+336>>2]>>2]=t,h[e+328>>2]=n)}Qr(e,t)}},r[897]=function(e,t){e|=0;var n=0,i=0,o=0,a=0,s=0,c=0,l=0,u=0,p=0;if(r[h[h[(t|=0)>>2]+32>>2]](t),function(e,t){var n,i;i=0|r[h[h[t>>2]+16>>2]](t,104,1),n=ji(h[i+8>>2],0,104),h[n+88>>2]=h[e+248>>2],h[n+92>>2]=h[e+252>>2],h[n+96>>2]=h[e+256>>2],h[n+100>>2]=h[e+260>>2],h[n>>2]=h[e+92>>2],h[n+4>>2]=h[e+96>>2],h[n+8>>2]=h[e+100>>2],h[n+12>>2]=h[e+104>>2],h[n+16>>2]=h[e+108>>2],h[n+20>>2]=h[e+116>>2],h[n+24>>2]=h[e+120>>2],h[n+28>>2]=h[e+124>>2],h[n+32>>2]=h[e+128>>2],h[n+36>>2]=h[e+132>>2],h[n+40>>2]=h[e+140>>2],h[n+44>>2]=h[e+144>>2],h[n+48>>2]=h[e+148>>2],h[n+52>>2]=h[e+152>>2],h[n+56>>2]=h[e+168>>2],h[n+60>>2]=h[e+172>>2],h[n+64>>2]=h[e+112>>2],h[n+68>>2]=h[e+156>>2],h[n+72>>2]=h[e+160>>2],h[n+76>>2]=h[e+164>>2],h[n+80>>2]=h[e+136>>2],r[h[h[t>>2]+20>>2]](t,i,18516,1145853764,n)}(e,t),(0|(n=h[e+8>>2]))>=1)for(;i=h[h[e+16>>2]+(o<<2)>>2],8&d[i+236|0]&&(s=t,c=0|r[h[h[i>>2]+16>>2]](i),l=1,a=h[h[t>>2]+16>>2],n=0|r[a](0|s,0|c,0|l),l=t,c=n,s=0|r[h[h[i>>2]+20>>2]](i,h[n+8>>2],t),u=1497645651,p=i,a=h[h[t>>2]+20>>2],r[a](0|l,0|c,0|s,0|u,0|p),n=h[e+8>>2]),(0|(o=o+1|0))<(0|n););qi(e,t),Qt(e,t),r[h[h[t>>2]+36>>2]](t)},r[898]=function(e){return 4},r[899]=function(e,t){Aa(e|=0,t=v(t)),Ir(22788),e=h[e+452>>2],r[h[h[e>>2]+24>>2]](e,t),Bo()},r[900]=function(e,t){e|=0,t=v(t);var n=0,i=0;if(n=h[e+452>>2],i=e+324|0,r[h[h[n>>2]+16>>2]](n,i,0),n=h[e+452>>2],r[h[h[n>>2]+12>>2]](n),wr(e,t),Ir(22822),h[e+328>>2]&&function(e){var t=0,n=0,i=0,o=0,a=0,s=0,c=0,l=0;if(!((0|(o=h[e+4>>2]))<1)){for(i=h[e+12>>2];s=(0|s)>(0|(n=h[h[i+(t<<2)>>2]+384>>2]))?s:n,(0|o)!=(0|(t=t+1|0)););if((0|o)>=1)for(t=0;;){if(n=h[h[e+12>>2]+(t<<2)>>2],h[n+852>>2]>=1)for(i=0;a=h[h[n+860>>2]+(i<<2)>>2],r[h[h[a>>2]+8>>2]](a,m[n+452>>2],s),(0|(i=i+1|0))>2];);if((0|o)==(0|(t=t+1|0)))break}if((0|s)>=1)for(i=0;;){if(n=0,(0|o)>0)for(;;){if(a=h[h[e+12>>2]+(n<<2)>>2],(0|(c=h[a+852>>2]))>=1)for(t=0;l=h[h[a+860>>2]+(t<<2)>>2],r[h[h[l>>2]+12>>2]](l,m[a+452>>2],v(1)),(0|c)!=(0|(t=t+1|0)););if((0|o)==(0|(n=n+1|0)))break}if((0|s)==(0|(i=i+1|0)))break}if(!((0|o)<1))for(t=0;Cr(h[h[e+12>>2]+(t<<2)>>2]),(0|o)!=(0|(t=t+1|0)););}}(i),n=h[e+452>>2],r[h[h[n>>2]+28>>2]](n,v(m[n+12>>2]*t)),Bo(),h[e+328>>2]>=1)for(n=0;Wi(i=h[h[e+336>>2]+(n<<2)>>2],i),(0|(n=n+1|0))>2];);e=h[e+452>>2],r[h[h[e>>2]+32>>2]](e)},r[901]=Jh,r[902]=function(e,t){t|=0;var n,i=0;return n=h[216+(e|=0)>>2],m[n+4>>2]!=v(0)&&(i=1,t=h[t>>2],r[h[h[n>>2]+8>>2]](n,h[t+188>>2])&&Ei(e+68|0,e+132|0,t,h[t+192>>2],t+4|0,h[e+216>>2])),0|i},r[903]=jh,r[904]=Jh,r[905]=function(e,t,n,i,o){e|=0,n|=0,e=h[8+(t|=0)>>2],t=h[e+284>>2],r[h[h[t>>2]+40>>2]](t,e,h[n+8>>2])},r[906]=uh,r[907]=Mr,r[908]=function(e){e|=0,(e=h[7705])&&Se(e)},r[909]=function(e){ep(30824)},r[910]=function(e,t){e|=0,t|=0;var n=0;return(e=0|r[h[6608]](3+(e+t|0)|0))&&(h[(n=3+(e+t|0)&0-t)-4>>2]=e),0|n},r[911]=function(e){(e|=0)&&r[h[6609]](h[e+-4>>2])},r[912]=function(e){return 0|k(e|=0)},r[913]=Jh,r[914]=jh,r[915]=Jh,r[916]=rd,r[917]=rd,r[918]=function(e,t,n){n|=0;var i,o=0;return w=i=w+-64|0,o=1,jl(e|=0,t|=0,0)||(o=0,t&&(t=function(e){var t,n,i,o=0;w=t=w+-64|0,o=h[e>>2],n=h[o+-4>>2],i=h[o+-8>>2],h[t+20>>2]=0,h[t+16>>2]=26120,h[t+12>>2]=e,h[t+8>>2]=26168,o=0,ji(t+24|0,0,39),e=e+i|0;e:if(jl(n,26168,0))h[t+56>>2]=1,r[h[h[n>>2]+20>>2]](n,t+8|0,e,e,1,0),o=1==h[t+32>>2]?e:0;else{r[h[h[n>>2]+24>>2]](n,t+8|0,e,1,0);t:switch(h[t+44>>2]){case 0:o=1==h[t+48>>2]&&1==h[t+36>>2]&&1==h[t+40>>2]?h[t+28>>2]:0;break e;case 1:break t;default:break e}1!=h[t+32>>2]&&h[t+48>>2]|1!=h[t+36>>2]|1!=h[t+40>>2]||(o=h[t+24>>2])}return w=t- -64|0,o}(t),o=0,t&&(h[i+20>>2]=-1,h[i+16>>2]=e,h[i+12>>2]=0,h[i+8>>2]=t,ji(i+24|0,0,39),h[i+56>>2]=1,r[h[h[t>>2]+28>>2]](t,i+8|0,h[n>>2],1),o=0,1==h[i+32>>2]&&(h[n>>2]=h[i+24>>2],o=1)))),w=i- -64|0,0|o},r[919]=function(e,t,n,i,r,o){n|=0,i|=0,r|=0,o|=0,jl(e|=0,h[8+(t|=0)>>2],o)&&To(t,n,i,r)},r[920]=function(e,t,n,i,r){if(n|=0,i|=0,r|=0,jl(e|=0,h[8+(t|=0)>>2],r))1==h[t+28>>2]|h[t+4>>2]!=(0|n)||(h[t+28>>2]=i);else e:if(jl(e,h[t>>2],r)){if(h[t+20>>2]==(0|n)||h[t+16>>2]==(0|n)){if(1!=(0|i))break e;return void(h[t+32>>2]=1)}h[t+20>>2]=n,h[t+32>>2]=i,h[t+40>>2]=h[t+40>>2]+1,1!=h[t+36>>2]|2!=h[t+24>>2]||(o[t+54|0]=1),h[t+44>>2]=4}},r[921]=function(e,t,n,i){n|=0,i|=0,jl(e|=0,h[8+(t|=0)>>2],0)&&wa(t,n,i)},r[922]=Jh,r[923]=function(e,t,n,i,o,a){n|=0,i|=0,o|=0,a|=0,jl(e|=0,h[8+(t|=0)>>2],a)?To(t,n,i,o):(e=h[e+8>>2],r[h[h[e>>2]+20>>2]](e,t,n,i,o,a))},r[924]=function(e,t,n,i,a){if(n|=0,i|=0,a|=0,jl(e|=0,h[8+(t|=0)>>2],a))1==h[t+28>>2]|h[t+4>>2]!=(0|n)||(h[t+28>>2]=i);else e:{if(jl(e,h[t>>2],a)){if(h[t+20>>2]==(0|n)||h[t+16>>2]==(0|n)){if(1!=(0|i))break e;return void(h[t+32>>2]=1)}h[t+32>>2]=i;t:if(4!=h[t+44>>2]){if(p[t+52>>1]=0,e=h[e+8>>2],r[h[h[e>>2]+20>>2]](e,t,n,n,1,a),d[t+53|0]){if(h[t+44>>2]=3,!d[t+52|0])break t;break e}h[t+44>>2]=4}if(h[t+20>>2]=n,h[t+40>>2]=h[t+40>>2]+1,1!=h[t+36>>2]|2!=h[t+24>>2])break e;return void(o[t+54|0]=1)}e=h[e+8>>2],r[h[h[e>>2]+24>>2]](e,t,n,i,a)}},r[925]=function(e,t,n,i){n|=0,i|=0,jl(e|=0,h[8+(t|=0)>>2],0)?wa(t,n,i):(e=h[e+8>>2],r[h[h[e>>2]+28>>2]](e,t,n,i))},r[926]=Jh,r[927]=function(e,t,n,i,r,a){n|=0,i|=0,r|=0,a|=0;var s=0,c=0,l=0,u=0,f=0,_=0;if(jl(e|=0,h[8+(t|=0)>>2],a))To(t,n,i,r);else{c=d[t+53|0],s=h[e+12>>2],o[t+53|0]=0,l=d[t+52|0],o[t+52|0]=0,bc(u=e+16|0,t,n,i,r,a),c|=f=d[t+53|0],l|=_=d[t+52|0];e:if(!((0|s)<2))for(u=u+(s<<3)|0,s=e+24|0;;){if(d[t+54|0])break e;t:{if(_){if(1==h[t+24>>2])break e;if(2&d[e+8|0])break t;break e}if(f&&!(1&o[e+8|0]))break e}if(p[t+52>>1]=0,bc(s,t,n,i,r,a),c|=f=d[t+53|0],l|=_=d[t+52|0],!((s=s+8|0)>>>0>>0))break}o[t+53|0]=0!=(255&c),o[t+52|0]=0!=(255&l)}},r[928]=function(e,t,n,i,r){n|=0,i|=0,r|=0;var a=0,s=0,c=0,l=0,u=0;if(jl(e|=0,h[8+(t|=0)>>2],r))1==h[t+28>>2]|h[t+4>>2]!=(0|n)||(h[t+28>>2]=i);else e:{if(jl(e,h[t>>2],r)){if(h[t+20>>2]==(0|n)||h[t+16>>2]==(0|n)){if(1!=(0|i))break e;return void(h[t+32>>2]=1)}if(h[t+32>>2]=i,4!=h[t+44>>2]){l=(a=e+16|0)+(h[e+12>>2]<<3)|0,u=t;t:{n:{for(;!(a>>>0>=l>>>0||(p[t+52>>1]=0,bc(a,t,n,n,1,r),d[t+54|0]));){i:if(d[t+53|0]){if(d[t+52|0]){if(i=1,1==h[t+24>>2])break n;if(c=1,s=1,2&d[e+8|0])break i;break n}if(c=1,i=s,!(1&o[e+8|0]))break n}a=a+8|0}if(i=s,e=4,!c)break t}e=3}if(h[u+44>>2]=e,1&i)break e}if(h[t+20>>2]=n,h[t+40>>2]=h[t+40>>2]+1,1!=h[t+36>>2]|2!=h[t+24>>2])break e;return void(o[t+54|0]=1)}if(s=h[e+12>>2],yc(a=e+16|0,t,n,i,r),!((0|s)<2))if(s=a+(s<<3)|0,a=e+24|0,e=h[e+8>>2],1==h[t+36>>2]||2&e)for(;;){if(d[t+54|0])break e;if(yc(a,t,n,i,r),!((a=a+8|0)>>>0>>0))break}else{if(!(1&e))for(;;){if(d[t+54|0]|1==h[t+36>>2])break e;if(yc(a,t,n,i,r),!((a=a+8|0)>>>0>>0))break e}for(;;){if(d[t+54|0]|(1==h[t+24>>2]?1==h[t+36>>2]:0))break e;if(yc(a,t,n,i,r),!((a=a+8|0)>>>0>>0))break}}}},r[929]=function(e,t,n,i){n|=0,i|=0;var r,o=0;if(jl(e|=0,h[8+(t|=0)>>2],0))wa(t,n,i);else{o=h[e+12>>2],ys(r=e+16|0,t,n,i);e:if(!((0|o)<2))for(o=(o<<3)+r|0,e=e+24|0;;){if(ys(e,t,n,i),d[t+54|0])break e;if(!((e=e+8|0)>>>0>>0))break}}},{__wasm_call_ctors:function(){!function(){var e;e=Tl(8),h[7705]=e,P(0|e,0),h[7707]=0,h[7708]=0,h[7706]=23024,h[7709]=0,h[7710]=0,h[7711]=0,h[7712]=0,h[7713]=0,h[7714]=0,wl(30824)}()},__em_js__array_bounds_check_error:function(){return 1024},emscripten_bind_btCollisionWorld_getDispatcher_0:ml,emscripten_bind_btCollisionWorld_rayTest_3:hs,emscripten_bind_btCollisionWorld_getPairCache_0:Ju,emscripten_bind_btCollisionWorld_getDispatchInfo_0:Ol,emscripten_bind_btCollisionWorld_addCollisionObject_1:Mc,emscripten_bind_btCollisionWorld_addCollisionObject_2:Xs,emscripten_bind_btCollisionWorld_addCollisionObject_3:Wa,emscripten_bind_btCollisionWorld_removeCollisionObject_1:jc,emscripten_bind_btCollisionWorld_getBroadphase_0:vl,emscripten_bind_btCollisionWorld_convexSweepTest_5:la,emscripten_bind_btCollisionWorld_contactPairTest_3:js,emscripten_bind_btCollisionWorld_contactTest_2:Ac,emscripten_bind_btCollisionWorld_updateSingleAabb_1:$l,emscripten_bind_btCollisionWorld_setDebugDrawer_1:Xc,emscripten_bind_btCollisionWorld_getDebugDrawer_0:Fl,emscripten_bind_btCollisionWorld_debugDrawWorld_0:zu,emscripten_bind_btCollisionWorld_debugDrawObject_3:us,emscripten_bind_btCollisionWorld___destroy___0:ou,emscripten_bind_btCollisionShape_setLocalScaling_1:zc,emscripten_bind_btCollisionShape_getLocalScaling_0:Dl,emscripten_bind_btCollisionShape_calculateLocalInertia_2:Zs,emscripten_bind_btCollisionShape_setMargin_1:kc,emscripten_bind_btCollisionShape_getMargin_0:pl,emscripten_bind_btCollisionShape___destroy___0:ou,emscripten_bind_btCollisionObject_setAnisotropicFriction_2:Sc,emscripten_bind_btCollisionObject_getCollisionShape_0:_l,emscripten_bind_btCollisionObject_setContactProcessingThreshold_1:Os,emscripten_bind_btCollisionObject_setActivationState_1:fc,emscripten_bind_btCollisionObject_forceActivationState_1:Bl,emscripten_bind_btCollisionObject_activate_0:Pp,emscripten_bind_btCollisionObject_activate_1:Ul,emscripten_bind_btCollisionObject_isActive_0:qu,emscripten_bind_btCollisionObject_isKinematicObject_0:Nc,emscripten_bind_btCollisionObject_isStaticObject_0:Fc,emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0:Bc,emscripten_bind_btCollisionObject_getRestitution_0:rl,emscripten_bind_btCollisionObject_getFriction_0:ol,emscripten_bind_btCollisionObject_getRollingFriction_0:al,emscripten_bind_btCollisionObject_setRestitution_1:Hl,emscripten_bind_btCollisionObject_setFriction_1:Wl,emscripten_bind_btCollisionObject_setRollingFriction_1:Xl,emscripten_bind_btCollisionObject_getWorldTransform_0:Il,emscripten_bind_btCollisionObject_getCollisionFlags_0:hl,emscripten_bind_btCollisionObject_setCollisionFlags_1:Rs,emscripten_bind_btCollisionObject_setWorldTransform_1:Kl,emscripten_bind_btCollisionObject_setCollisionShape_1:Vc,emscripten_bind_btCollisionObject_setCcdMotionThreshold_1:Es,emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1:Ps,emscripten_bind_btCollisionObject_getUserIndex_0:fl,emscripten_bind_btCollisionObject_setUserIndex_1:Ds,emscripten_bind_btCollisionObject_getUserPointer_0:fl,emscripten_bind_btCollisionObject_setUserPointer_1:Ds,emscripten_bind_btCollisionObject_getBroadphaseHandle_0:dl,emscripten_bind_btCollisionObject___destroy___0:ru,emscripten_bind_btDynamicsWorld_addAction_1:Gc,emscripten_bind_btDynamicsWorld_removeAction_1:Zc,emscripten_bind_btDynamicsWorld_getSolverInfo_0:Ml,emscripten_bind_btDynamicsWorld_setInternalTickCallback_1:kl,emscripten_bind_btDynamicsWorld_setInternalTickCallback_2:vc,emscripten_bind_btDynamicsWorld_setInternalTickCallback_3:Fs,emscripten_bind_btDynamicsWorld_getDispatcher_0:ml,emscripten_bind_btDynamicsWorld_rayTest_3:hs,emscripten_bind_btDynamicsWorld_getPairCache_0:Ju,emscripten_bind_btDynamicsWorld_getDispatchInfo_0:Ol,emscripten_bind_btDynamicsWorld_addCollisionObject_1:Mc,emscripten_bind_btDynamicsWorld_addCollisionObject_2:Xs,emscripten_bind_btDynamicsWorld_addCollisionObject_3:Wa,emscripten_bind_btDynamicsWorld_removeCollisionObject_1:jc,emscripten_bind_btDynamicsWorld_getBroadphase_0:vl,emscripten_bind_btDynamicsWorld_convexSweepTest_5:la,emscripten_bind_btDynamicsWorld_contactPairTest_3:js,emscripten_bind_btDynamicsWorld_contactTest_2:Ac,emscripten_bind_btDynamicsWorld_updateSingleAabb_1:$l,emscripten_bind_btDynamicsWorld_setDebugDrawer_1:Xc,emscripten_bind_btDynamicsWorld_getDebugDrawer_0:Fl,emscripten_bind_btDynamicsWorld_debugDrawWorld_0:zu,emscripten_bind_btDynamicsWorld_debugDrawObject_3:us,emscripten_bind_btDynamicsWorld___destroy___0:ou,emscripten_bind_btTypedConstraint_enableFeedback_1:Ts,emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0:sl,emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1:Is,emscripten_bind_btTypedConstraint_getParam_2:ms,emscripten_bind_btTypedConstraint_setParam_3:is,emscripten_bind_btTypedConstraint___destroy___0:ou,emscripten_bind_btConcaveShape_setLocalScaling_1:zc,emscripten_bind_btConcaveShape_getLocalScaling_0:Dl,emscripten_bind_btConcaveShape_calculateLocalInertia_2:Zs,emscripten_bind_btConcaveShape___destroy___0:ou,emscripten_bind_btCapsuleShape_btCapsuleShape_2:function(e,t){var n,i;return e=v(e),t=v(t),w=n=w-16|0,m[n+12>>2]=e,m[n+8>>2]=t,function(e,t,n){h[e+4>>2]=35,h[e+8>>2]=0,h[e>>2]=13316,h[e+44>>2]=1025758986,h[e+20>>2]=1065353216,h[e+24>>2]=0,h[e+12>>2]=1065353216,h[e+16>>2]=1065353216,h[e>>2]=13444,h[e+52>>2]=1,h[e+4>>2]=10,h[e>>2]=14020,h[e+40>>2]=0,m[e+36>>2]=t,m[e+32>>2]=n*v(.5),m[e+28>>2]=t}(i=El(56),m[n+12>>2],m[n+8>>2]),w=n+16|0,0|i},emscripten_bind_btCapsuleShape_setMargin_1:kc,emscripten_bind_btCapsuleShape_getMargin_0:pl,emscripten_bind_btCapsuleShape_getUpAxis_0:gl,emscripten_bind_btCapsuleShape_getRadius_0:ku,emscripten_bind_btCapsuleShape_getHalfHeight_0:Vu,emscripten_bind_btCapsuleShape_setLocalScaling_1:zc,emscripten_bind_btCapsuleShape_getLocalScaling_0:Dl,emscripten_bind_btCapsuleShape_calculateLocalInertia_2:Zs,emscripten_bind_btCapsuleShape___destroy___0:ou,emscripten_bind_btIDebugDraw_drawLine_3:fs,emscripten_bind_btIDebugDraw_drawContactPoint_5:$o,emscripten_bind_btIDebugDraw_reportErrorWarning_1:Qc,emscripten_bind_btIDebugDraw_draw3dText_2:$s,emscripten_bind_btIDebugDraw_setDebugMode_1:qc,emscripten_bind_btIDebugDraw_getDebugMode_0:Nl,emscripten_bind_btIDebugDraw___destroy___0:ou,emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0:function(){var e,t,n;return w=e=w-32|0,t=Tl(92),Pc(n=e+8|0),rt(t,n),w=e+32|0,0|t},emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,rt(e=Tl(92),h[t+12>>2]),w=t+16|0,0|e},emscripten_bind_btDefaultCollisionConfiguration___destroy___0:ou,emscripten_bind_btTriangleMeshShape_setLocalScaling_1:zc,emscripten_bind_btTriangleMeshShape_getLocalScaling_0:Dl,emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2:Zs,emscripten_bind_btTriangleMeshShape___destroy___0:ou,emscripten_bind_btGhostObject_btGhostObject_0:function(){var e;return function(e){Ki(e),o[e+280|0]=1,h[e>>2]=4040,h[e+276>>2]=0,h[e+268>>2]=0,h[e+272>>2]=0,h[e+236>>2]=4}(e=El(284)),0|e},emscripten_bind_btGhostObject_getNumOverlappingObjects_0:$u,emscripten_bind_btGhostObject_getOverlappingObject_1:yl,emscripten_bind_btGhostObject_setAnisotropicFriction_2:Sc,emscripten_bind_btGhostObject_getCollisionShape_0:_l,emscripten_bind_btGhostObject_setContactProcessingThreshold_1:Os,emscripten_bind_btGhostObject_setActivationState_1:fc,emscripten_bind_btGhostObject_forceActivationState_1:Bl,emscripten_bind_btGhostObject_activate_0:Pp,emscripten_bind_btGhostObject_activate_1:Ul,emscripten_bind_btGhostObject_isActive_0:qu,emscripten_bind_btGhostObject_isKinematicObject_0:Nc,emscripten_bind_btGhostObject_isStaticObject_0:Fc,emscripten_bind_btGhostObject_isStaticOrKinematicObject_0:Bc,emscripten_bind_btGhostObject_getRestitution_0:rl,emscripten_bind_btGhostObject_getFriction_0:ol,emscripten_bind_btGhostObject_getRollingFriction_0:al,emscripten_bind_btGhostObject_setRestitution_1:Hl,emscripten_bind_btGhostObject_setFriction_1:Wl,emscripten_bind_btGhostObject_setRollingFriction_1:Xl,emscripten_bind_btGhostObject_getWorldTransform_0:Il,emscripten_bind_btGhostObject_getCollisionFlags_0:hl,emscripten_bind_btGhostObject_setCollisionFlags_1:Rs,emscripten_bind_btGhostObject_setWorldTransform_1:Kl,emscripten_bind_btGhostObject_setCollisionShape_1:Vc,emscripten_bind_btGhostObject_setCcdMotionThreshold_1:Es,emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1:Ps,emscripten_bind_btGhostObject_getUserIndex_0:fl,emscripten_bind_btGhostObject_setUserIndex_1:Ds,emscripten_bind_btGhostObject_getUserPointer_0:fl,emscripten_bind_btGhostObject_setUserPointer_1:Ds,emscripten_bind_btGhostObject_getBroadphaseHandle_0:dl,emscripten_bind_btGhostObject___destroy___0:ru,emscripten_bind_btConeShape_btConeShape_2:function(e,t){var n,i;return e=v(e),t=v(t),w=n=w-16|0,m[n+12>>2]=e,m[n+8>>2]=t,function(e,t,n){h[e+4>>2]=35,h[e+8>>2]=0,h[e>>2]=13316,h[e+44>>2]=1025758986,h[e+20>>2]=1065353216,h[e+24>>2]=0,h[e+12>>2]=1065353216,h[e+16>>2]=1065353216,h[e>>2]=13444,m[e+60>>2]=n,m[e+56>>2]=t,h[e>>2]=10900,h[e+72>>2]=2,h[e+64>>2]=0,h[e+68>>2]=1,h[e+4>>2]=11,m[e+36>>2]=t,m[e+32>>2]=n,m[e+28>>2]=t,m[e+52>>2]=t/v(S(v(v(t*t)+v(n*n))))}(i=El(76),m[n+12>>2],m[n+8>>2]),w=n+16|0,0|i},emscripten_bind_btConeShape_setLocalScaling_1:zc,emscripten_bind_btConeShape_getLocalScaling_0:Dl,emscripten_bind_btConeShape_calculateLocalInertia_2:Zs,emscripten_bind_btConeShape___destroy___0:ou,emscripten_bind_btActionInterface_updateAction_2:qs,emscripten_bind_btActionInterface___destroy___0:ou,emscripten_bind_btVector3_btVector3_0:function(){var e;return e=El(16),h[12+(w-16|0)>>2]=e,0|e},emscripten_bind_btVector3_btVector3_3:function(e,t,n){var i,r;return e=v(e),t=v(t),n=v(n),w=i=w-16|0,m[i+12>>2]=e,m[i+8>>2]=t,m[i+4>>2]=n,bs(r=El(16),i+12|0,i+8|0,i+4|0),w=i+16|0,0|r},emscripten_bind_btVector3_length_0:Du,emscripten_bind_btVector3_x_0:bl,emscripten_bind_btVector3_y_0:ll,emscripten_bind_btVector3_z_0:ul,emscripten_bind_btVector3_setX_1:Bs,emscripten_bind_btVector3_setY_1:Ls,emscripten_bind_btVector3_setZ_1:Ns,emscripten_bind_btVector3_setValue_3:function(e,t,n,i){var r;e|=0,t=v(t),n=v(n),i=v(i),w=r=w-16|0,h[r+12>>2]=e,m[r+8>>2]=t,m[r+4>>2]=n,m[r>>2]=i,bs(h[r+12>>2],r+8|0,r+4|0,r),w=r+16|0},emscripten_bind_btVector3_normalize_0:wp,emscripten_bind_btVector3_rotate_2:function(e,t,n){var i;return e|=0,t|=0,n=v(n),w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,m[i+20>>2]=n,1&o[26464]||Vl(26464)&&(h[12+(w-16|0)>>2]=26448,Fu(26464)),Vr(i,h[i+28>>2],h[i+24>>2],m[i+20>>2]),e=h[i+4>>2],h[6612]=h[i>>2],h[6613]=e,e=h[i+12>>2],h[6614]=h[i+8>>2],h[6615]=e,w=i+32|0,26448},emscripten_bind_btVector3_dot_1:Kc,emscripten_bind_btVector3_op_mul_1:Pl,emscripten_bind_btVector3_op_add_1:Cl,emscripten_bind_btVector3_op_sub_1:Al,emscripten_bind_btVector3___destroy___0:rp,emscripten_bind_btVehicleRaycaster_castRay_3:Za,emscripten_bind_btVehicleRaycaster___destroy___0:ou,emscripten_bind_btQuadWord_x_0:bl,emscripten_bind_btQuadWord_y_0:ll,emscripten_bind_btQuadWord_z_0:ul,emscripten_bind_btQuadWord_w_0:cl,emscripten_bind_btQuadWord_setX_1:Bs,emscripten_bind_btQuadWord_setY_1:Ls,emscripten_bind_btQuadWord_setZ_1:Ns,emscripten_bind_btQuadWord_setW_1:Ms,emscripten_bind_btQuadWord___destroy___0:tp,emscripten_bind_btCylinderShape_btCylinderShape_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,tr(e=El(56),h[t+12>>2]),w=t+16|0,0|e},emscripten_bind_btCylinderShape_setMargin_1:kc,emscripten_bind_btCylinderShape_getMargin_0:pl,emscripten_bind_btCylinderShape_setLocalScaling_1:zc,emscripten_bind_btCylinderShape_getLocalScaling_0:Dl,emscripten_bind_btCylinderShape_calculateLocalInertia_2:Zs,emscripten_bind_btCylinderShape___destroy___0:ou,emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4:function(e,t,n,i){var r;return e|=0,t|=0,n|=0,i|=0,w=r=w-16|0,h[r+12>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,h[r>>2]=i,$t(e=El(324),h[r+12>>2],h[r+8>>2],h[r+4>>2]),w=r+16|0,0|e},emscripten_bind_btDiscreteDynamicsWorld_setGravity_1:Uc,emscripten_bind_btDiscreteDynamicsWorld_getGravity_0:function(e){var t;return e|=0,w=t=w-32|0,h[t+28>>2]=e,1&o[26484]||Vl(26484)&&(h[12+(w-16|0)>>2]=26468,Fu(26484)),e=h[t+28>>2],r[h[h[e>>2]+76>>2]](t+8|0,e),e=h[t+12>>2],h[6617]=h[t+8>>2],h[6618]=e,e=h[t+20>>2],h[6619]=h[t+16>>2],h[6620]=e,w=t+32|0,26468},emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1:Hc,emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3:Xa,emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1:Wc,emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1:Dc,emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2:Js,emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1:Yc,emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1:ws,emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2:za,emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3:ka,emscripten_bind_btDiscreteDynamicsWorld_setContactAddedCallback_1:oc,emscripten_bind_btDiscreteDynamicsWorld_setContactProcessedCallback_1:ac,emscripten_bind_btDiscreteDynamicsWorld_setContactDestroyedCallback_1:tc,emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0:ml,emscripten_bind_btDiscreteDynamicsWorld_rayTest_3:hs,emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0:Ju,emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0:Ol,emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1:Oc,emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2:Hs,emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3:Wa,emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1:jc,emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0:vl,emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5:la,emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3:js,emscripten_bind_btDiscreteDynamicsWorld_contactTest_2:Ac,emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1:$l,emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1:Xc,emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0:Fl,emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0:zu,emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3:us,emscripten_bind_btDiscreteDynamicsWorld_addAction_1:Gc,emscripten_bind_btDiscreteDynamicsWorld_removeAction_1:Zc,emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0:Ml,emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_1:kl,emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_2:vc,emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_3:Fs,emscripten_bind_btDiscreteDynamicsWorld___destroy___0:ou,emscripten_bind_btConvexShape_setLocalScaling_1:zc,emscripten_bind_btConvexShape_getLocalScaling_0:Dl,emscripten_bind_btConvexShape_calculateLocalInertia_2:Zs,emscripten_bind_btConvexShape_setMargin_1:kc,emscripten_bind_btConvexShape_getMargin_0:pl,emscripten_bind_btConvexShape___destroy___0:ou,emscripten_bind_btDispatcher_getNumManifolds_0:Ll,emscripten_bind_btDispatcher_getManifoldByIndexInternal_1:_c,emscripten_bind_btDispatcher___destroy___0:ou,emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3:function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,o[i+7|0]=n,Pe(e=El(1312),h[i+12>>2],h[i+8>>2],1&o[i+7|0]),w=i+16|0,0|e},emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5:function(e,t,n,i,r){var a;return e|=0,t|=0,n|=0,i|=0,r|=0,w=a=w-32|0,h[a+28>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,o[a+15|0]=r,Qe(e=El(1312),h[a+28>>2],h[a+24>>2],h[a+20>>2],h[a+16>>2],1&o[a+15|0]),w=a+32|0,0|e},emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1:Yl,emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1:Ql,emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1:Zl,emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1:ql,emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0:Rl,emscripten_bind_btGeneric6DofConstraint_enableFeedback_1:Ts,emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0:sl,emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1:Is,emscripten_bind_btGeneric6DofConstraint_getParam_2:ms,emscripten_bind_btGeneric6DofConstraint_setParam_3:is,emscripten_bind_btGeneric6DofConstraint___destroy___0:ou,emscripten_bind_btStridingMeshInterface_setScaling_1:Jl,emscripten_bind_btStridingMeshInterface___destroy___0:ou,emscripten_bind_btMotionState_getWorldTransform_1:Jc,emscripten_bind_btMotionState_setWorldTransform_1:Vc,emscripten_bind_btMotionState___destroy___0:ou,emscripten_bind_ConvexResultCallback_hasHit_0:el,emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0:Up,emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1:Cu,emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0:Bp,emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1:cu,emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0:Mp,emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1:Ru,emscripten_bind_ConvexResultCallback___destroy___0:ou,emscripten_bind_ContactResultCallback_addSingleResult_7:Eo,emscripten_bind_ContactResultCallback___destroy___0:ou,emscripten_bind_btSoftBodySolver___destroy___0:ou,emscripten_bind_RayResultCallback_hasHit_0:il,emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0:Lp,emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1:au,emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0:Np,emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1:su,emscripten_bind_RayResultCallback_get_m_closestHitFraction_0:Mp,emscripten_bind_RayResultCallback_set_m_closestHitFraction_1:Ru,emscripten_bind_RayResultCallback_get_m_collisionObject_0:jp,emscripten_bind_RayResultCallback_set_m_collisionObject_1:Lu,emscripten_bind_RayResultCallback___destroy___0:ou,emscripten_bind_btMatrix3x3_setEulerZYX_3:function(e,t,n,i){var r;e|=0,t=v(t),n=v(n),i=v(i),w=r=w-16|0,h[r+12>>2]=e,m[r+8>>2]=t,m[r+4>>2]=n,m[r>>2]=i,function(e,t,n,i){var r;w=r=w-96|0,h[r+92>>2]=e,m[r+88>>2]=t,m[r+84>>2]=n,m[r+80>>2]=i,e=h[r+92>>2],m[r+76>>2]=up(m[r+88>>2]),m[r+72>>2]=up(m[r+84>>2]),m[r+68>>2]=up(m[r+80>>2]),m[r+64>>2]=lp(m[r+88>>2]),m[r+60>>2]=lp(m[r+84>>2]),m[r+56>>2]=lp(m[r+80>>2]),m[r+52>>2]=m[r+76>>2]*m[r+68>>2],m[r+48>>2]=m[r+76>>2]*m[r+56>>2],m[r+44>>2]=m[r+64>>2]*m[r+68>>2],m[r+40>>2]=m[r+64>>2]*m[r+56>>2],m[r+36>>2]=m[r+72>>2]*m[r+68>>2],m[r+32>>2]=v(m[r+60>>2]*m[r+44>>2])-m[r+48>>2],m[r+28>>2]=v(m[r+60>>2]*m[r+52>>2])+m[r+40>>2],m[r+24>>2]=m[r+72>>2]*m[r+56>>2],m[r+20>>2]=v(m[r+60>>2]*m[r+40>>2])+m[r+52>>2],m[r+16>>2]=v(m[r+60>>2]*m[r+48>>2])-m[r+44>>2],m[r+12>>2]=-m[r+60>>2],m[r+8>>2]=m[r+72>>2]*m[r+64>>2],m[r+4>>2]=m[r+72>>2]*m[r+76>>2],Fo(e,r+36|0,r+32|0,r+28|0,r+24|0,r+20|0,r+16|0,r+12|0,r+8|0,r+4|0),w=r+96|0}(h[r+12>>2],m[r+8>>2],m[r+4>>2],m[r>>2]),w=r+16|0},emscripten_bind_btMatrix3x3_getRotation_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,lt(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btMatrix3x3_getRow_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,1&o[26504]||Vl(26504)&&(h[12+(w-16|0)>>2]=26488,Fu(26504)),t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,e=h[e+12>>2]+(h[e+8>>2]<<4)|0,t=h[e+4>>2],h[6622]=h[e>>2],h[6623]=t,t=h[e+12>>2],h[6624]=h[e+8>>2],h[6625]=t,w=n+16|0,26488},emscripten_bind_btMatrix3x3___destroy___0:tp,emscripten_bind_btScalarArray_size_0:Sl,emscripten_bind_btScalarArray_at_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,w=n+16|0,v(m[h[h[e+12>>2]+12>>2]+(h[e+8>>2]<<2)>>2])},emscripten_bind_btScalarArray___destroy___0:Ku,emscripten_bind_Material_get_m_kLST_0:Mp,emscripten_bind_Material_set_m_kLST_1:Ru,emscripten_bind_Material_get_m_kAST_0:Rp,emscripten_bind_Material_set_m_kAST_1:Iu,emscripten_bind_Material_get_m_kVST_0:Tp,emscripten_bind_Material_set_m_kVST_1:Su,emscripten_bind_Material_get_m_flags_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[h[t+12>>2]+16>>2]},emscripten_bind_Material_set_m_flags_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]+16>>2]=h[n+8>>2]},emscripten_bind_Material___destroy___0:tp,emscripten_bind_btDispatcherInfo_get_m_timeStep_0:Fp,emscripten_bind_btDispatcherInfo_set_m_timeStep_1:ju,emscripten_bind_btDispatcherInfo_get_m_stepCount_0:zp,emscripten_bind_btDispatcherInfo_set_m_stepCount_1:Nu,emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0:jp,emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1:Lu,emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0:Tp,emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1:Su,emscripten_bind_btDispatcherInfo_get_m_useContinuous_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,1&o[h[t+12>>2]+16|0]},emscripten_bind_btDispatcherInfo_set_m_useContinuous_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,o[n+11|0]=t,o[h[n+12>>2]+16|0]=1&o[n+11|0]},emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,1&o[h[t+12>>2]+24|0]},emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,o[n+11|0]=t,o[h[n+12>>2]+24|0]=1&o[n+11|0]},emscripten_bind_btDispatcherInfo_get_m_enableSPU_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,1&o[h[t+12>>2]+25|0]},emscripten_bind_btDispatcherInfo_set_m_enableSPU_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,o[n+11|0]=t,o[h[n+12>>2]+25|0]=1&o[n+11|0]},emscripten_bind_btDispatcherInfo_get_m_useEpa_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,1&o[h[t+12>>2]+26|0]},emscripten_bind_btDispatcherInfo_set_m_useEpa_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,o[n+11|0]=t,o[h[n+12>>2]+26|0]=1&o[n+11|0]},emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0:hp,emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1:uu,emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,1&o[h[t+12>>2]+32|0]},emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,o[n+11|0]=t,o[h[n+12>>2]+32|0]=1&o[n+11|0]},emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0:yp,emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1:bu,emscripten_bind_btDispatcherInfo___destroy___0:tp,emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0:lh,emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1:gs,emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0:th,emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1:cs,emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0:Qp,emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1:ts,emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0:dp,emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1:pu,emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0:fp,emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1:hu,emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0:mp,emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1:du,emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0:bp,emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1:fu,emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0:gp,emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1:_u,emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0:vp,emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1:mu,emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0:Cp,emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1:gu,emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0:Op,emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1:vu,emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,1&o[h[t+12>>2]+80|0]},emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,o[n+11|0]=t,o[h[n+12>>2]+80|0]=1&o[n+11|0]},emscripten_bind_btWheelInfoConstructionInfo___destroy___0:tp,emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,ap(e=El(96),h[t+12>>2],1),w=t+16|0,0|e},emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,o[n+11|0]=t,ap(e=El(96),h[n+12>>2],1&o[n+11|0]),w=n+16|0,0|e},emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1:zc,emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0:Dl,emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2:Zs,emscripten_bind_btConvexTriangleMeshShape_setMargin_1:kc,emscripten_bind_btConvexTriangleMeshShape_getMargin_0:pl,emscripten_bind_btConvexTriangleMeshShape___destroy___0:ou,emscripten_bind_btBroadphaseInterface_getOverlappingPairCache_0:Ll,emscripten_bind_btBroadphaseInterface___destroy___0:ou,emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3:function(e,t,n){var i,r,o;return e=v(e),t|=0,n|=0,w=i=w-48|0,m[i+44>>2]=e,h[i+40>>2]=t,h[i+36>>2]=n,t=Tl(140),e=m[i+44>>2],n=h[i+40>>2],o=h[i+36>>2],m[i+12>>2]=0,m[i+8>>2]=0,m[i+4>>2]=0,bs(r=i+16|0,i+12|0,i+8|0,i+4|0),fr(t,e,n,o,r),w=i+48|0,0|t},emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4:function(e,t,n,i){var r;return e=v(e),t|=0,n|=0,i|=0,w=r=w-16|0,m[r+12>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,h[r>>2]=i,fr(t=Tl(140),m[r+12>>2],h[r+8>>2],h[r+4>>2],h[r>>2]),w=r+16|0,0|t},emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0:Ap,emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1:Eu,emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+96>>2])},emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+96>>2]=m[n+8>>2]},emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+100>>2])},emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+100>>2]=m[n+8>>2]},emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+104>>2])},emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+104>>2]=m[n+8>>2]},emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+108>>2])},emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+108>>2]=m[n+8>>2]},emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+112>>2])},emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+112>>2]=m[n+8>>2]},emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+116>>2])},emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+116>>2]=m[n+8>>2]},emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,1&o[h[t+12>>2]+120|0]},emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,o[n+11|0]=t,o[h[n+12>>2]+120|0]=1&o[n+11|0]},emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+124>>2])},emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+124>>2]=m[n+8>>2]},emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+128>>2])},emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+128>>2]=m[n+8>>2]},emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+132>>2])},emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+132>>2]=m[n+8>>2]},emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+136>>2])},emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+136>>2]=m[n+8>>2]},emscripten_bind_btRigidBodyConstructionInfo___destroy___0:tp,emscripten_bind_btCollisionConfiguration___destroy___0:ou,emscripten_bind_btPersistentManifold_btPersistentManifold_0:function(){var e;return function(e){h[e>>2]=1025,h[e+124>>2]=0,h[e+128>>2]=0,o[e+120|0]=0,h[e+116>>2]=0,h[e+132>>2]=0,h[e+136>>2]=0,h[e+140>>2]=0,h[e+144>>2]=0,h[e+148>>2]=0,h[e+152>>2]=0,h[e+308>>2]=0,h[e+312>>2]=0,o[e+304|0]=0,h[e+300>>2]=0,h[e+316>>2]=0,h[e+320>>2]=0,h[e+324>>2]=0,h[e+328>>2]=0,h[e+332>>2]=0,h[e+336>>2]=0,h[e+492>>2]=0,h[e+496>>2]=0,o[e+488|0]=0,h[e+484>>2]=0,h[e+500>>2]=0,h[e+504>>2]=0,h[e+508>>2]=0,h[e+512>>2]=0,h[e+516>>2]=0,h[e+520>>2]=0,o[e+672|0]=0,h[e+668>>2]=0,h[e+676>>2]=0,h[e+680>>2]=0,h[e+684>>2]=0,h[e+688>>2]=0,h[e+692>>2]=0,h[e+696>>2]=0,h[e+700>>2]=0,h[e+704>>2]=0,h[e+748>>2]=0,h[e+768>>2]=0,h[e+740>>2]=0,h[e+744>>2]=0}(e=El(772)),0|e},emscripten_bind_btPersistentManifold_getBody0_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+740>>2]},emscripten_bind_btPersistentManifold_getBody1_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+744>>2]},emscripten_bind_btPersistentManifold_getNumContacts_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+748>>2]},emscripten_bind_btPersistentManifold_getContactPoint_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,w=n+16|0,(h[e+12>>2]+4|0)+g(h[e+8>>2],184)|0},emscripten_bind_btPersistentManifold___destroy___0:rp,emscripten_bind_btCompoundShape_btCompoundShape_0:function(){var e;return Wr(e=El(92),1),0|e},emscripten_bind_btCompoundShape_btCompoundShape_1:function(e){var t;return e|=0,w=t=w-16|0,o[t+15|0]=e,Wr(e=El(92),1&o[t+15|0]),w=t+16|0,0|e},emscripten_bind_btCompoundShape_addChildShape_2:function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,Nn(h[i+12>>2],h[i+8>>2],h[i+4>>2]),w=i+16|0},emscripten_bind_btCompoundShape_removeChildShape_1:Gc,emscripten_bind_btCompoundShape_removeChildShapeByIndex_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Ot(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btCompoundShape_getNumChildShapes_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=function(e){var t;return w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2]+12,w=t+16|0,h[h[e+12>>2]+4>>2]}(h[t+12>>2]),w=t+16|0,0|e},emscripten_bind_btCompoundShape_getChildShape_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=function(e,t){var n;return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2]+12,h[e+8>>2]=t,w=n+16|0,h[64+(h[h[e+12>>2]+12>>2]+g(h[e+8>>2],80)|0)>>2]}(h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btCompoundShape_updateChildTransform_2:function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,Ai(h[i+12>>2],h[i+8>>2],h[i+4>>2],1),w=i+16|0},emscripten_bind_btCompoundShape_updateChildTransform_3:function(e,t,n,i){var r;e|=0,t|=0,n|=0,i|=0,w=r=w-16|0,h[r+12>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,o[r+3|0]=i,Ai(h[r+12>>2],h[r+8>>2],h[r+4>>2],1&o[r+3|0]),w=r+16|0},emscripten_bind_btCompoundShape_setMargin_1:kc,emscripten_bind_btCompoundShape_getMargin_0:pl,emscripten_bind_btCompoundShape_setLocalScaling_1:zc,emscripten_bind_btCompoundShape_getLocalScaling_0:Dl,emscripten_bind_btCompoundShape_calculateLocalInertia_2:Zs,emscripten_bind_btCompoundShape___destroy___0:ou,emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,ho(e=Tl(80),h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_ClosestConvexResultCallback_hasHit_0:el,emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+12|0},emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1:function(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+12>>2]=h[e>>2],h[t+16>>2]=n,n=h[e+12>>2],h[t+20>>2]=h[e+8>>2],h[t+24>>2]=n},emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0:Yp,emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1:function(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+28>>2]=h[e>>2],h[t+32>>2]=n,n=h[e+12>>2],h[t+36>>2]=h[e+8>>2],h[t+40>>2]=n},emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+44|0},emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1:function(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+44>>2]=h[e>>2],h[t+48>>2]=n,n=h[e+12>>2],h[t+52>>2]=h[e+8>>2],h[t+56>>2]=n},emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+60|0},emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1:function(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+60>>2]=h[e>>2],h[t+64>>2]=n,n=h[e+12>>2],h[t+68>>2]=h[e+8>>2],h[t+72>>2]=n},emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0:Up,emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1:Cu,emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0:Bp,emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1:cu,emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0:Mp,emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1:Ru,emscripten_bind_ClosestConvexResultCallback___destroy___0:ou,emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t,n){var i;w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,Ec(e=h[i+12>>2]),h[e>>2]=1296,Yu(e+20|0),t=h[i+8>>2],n=h[t+4>>2],h[e+40>>2]=h[t>>2],h[e+44>>2]=n,n=h[t+12>>2],h[e+48>>2]=h[t+8>>2],h[e+52>>2]=n,t=h[i+4>>2],n=h[t+4>>2],h[e+56>>2]=h[t>>2],h[e+60>>2]=n,n=h[t+12>>2],h[e+64>>2]=h[t+8>>2],h[e+68>>2]=n,Yu(e+72|0),Yu(e+92|0),Yu(e+112|0),w=i+16|0}(e=Tl(132),h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_AllHitsRayResultCallback_hasHit_0:il,emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0:Zp,emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Xu(h[n+12>>2]+20|0,h[n+8>>2]),w=n+16|0},emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0:qp,emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1:os,emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0:Jp,emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1:as,emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0:$p,emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Wu(h[n+12>>2]+72|0,h[n+8>>2]),w=n+16|0},emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0:Kp,emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Wu(h[n+12>>2]+92|0,h[n+8>>2]),w=n+16|0},emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+112|0},emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Ra(h[n+12>>2],h[n+8>>2]),w=n+16|0}(h[n+12>>2]+112|0,h[n+8>>2]),w=n+16|0},emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0:Lp,emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1:au,emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0:Np,emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1:su,emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0:Mp,emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1:Ru,emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0:jp,emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1:Lu,emscripten_bind_AllHitsRayResultCallback___destroy___0:ou,emscripten_bind_tMaterialArray_size_0:Sl,emscripten_bind_tMaterialArray_at_1:es,emscripten_bind_tMaterialArray___destroy___0:Ku,emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,function(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=w-16|0,e=h[n+12>>2],h[t+12>>2]=e,h[h[t+12>>2]>>2]=1452,h[e>>2]=20032,h[e+4>>2]=h[n+8>>2],w=n+16|0}(e=Tl(8),h[t+12>>2]),w=t+16|0,0|e},emscripten_bind_btDefaultVehicleRaycaster_castRay_3:Za,emscripten_bind_btDefaultVehicleRaycaster___destroy___0:ou,emscripten_bind_btEmptyShape_btEmptyShape_0:function(){var e;return e=El(32),h[e+4>>2]=35,h[e+8>>2]=0,h[e+12>>2]=0,h[e>>2]=14720,h[e+4>>2]=27,h[e>>2]=13156,0|e},emscripten_bind_btEmptyShape_setLocalScaling_1:zc,emscripten_bind_btEmptyShape_getLocalScaling_0:Dl,emscripten_bind_btEmptyShape_calculateLocalInertia_2:Zs,emscripten_bind_btEmptyShape___destroy___0:ou,emscripten_bind_btConstraintSetting_btConstraintSetting_0:function(){var e,t=0;return e=Tl(12),h[12+(t=w-16|0)>>2]=e,t=h[t+12>>2],m[t>>2]=.30000001192092896,m[t+4>>2]=1,m[t+8>>2]=0,0|e},emscripten_bind_btConstraintSetting_get_m_tau_0:Fp,emscripten_bind_btConstraintSetting_set_m_tau_1:ju,emscripten_bind_btConstraintSetting_get_m_damping_0:Mp,emscripten_bind_btConstraintSetting_set_m_damping_1:Ru,emscripten_bind_btConstraintSetting_get_m_impulseClamp_0:Rp,emscripten_bind_btConstraintSetting_set_m_impulseClamp_1:Iu,emscripten_bind_btConstraintSetting___destroy___0:tp,emscripten_bind_LocalShapeInfo_get_m_shapePart_0:Hp,emscripten_bind_LocalShapeInfo_set_m_shapePart_1:Gu,emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0:zp,emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1:Nu,emscripten_bind_LocalShapeInfo___destroy___0:tp,emscripten_bind_btRigidBody_btRigidBody_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,function(e,t){Ki(e),o[e+500|0]=1,h[e>>2]=17792,h[e+496>>2]=0,h[e+488>>2]=0,h[e+492>>2]=0,Me(e,t)}(e=El(616),h[t+12>>2]),w=t+16|0,0|e},emscripten_bind_btRigidBody_getCenterOfMassTransform_0:Il,emscripten_bind_btRigidBody_setCenterOfMassTransform_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,en(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btRigidBody_setSleepingThresholds_2:function(e,t,n){var i;e|=0,t=v(t),n=v(n),w=i=w-16|0,h[i+12>>2]=e,m[i+8>>2]=t,m[i+4>>2]=n,function(e,t,n){var i=0;h[12+(i=w-16|0)>>2]=e,m[i+8>>2]=t,m[i+4>>2]=n,e=h[i+12>>2],m[e+472>>2]=m[i+8>>2],m[e+476>>2]=m[i+4>>2]}(h[i+12>>2],m[i+8>>2],m[i+4>>2]),w=i+16|0},emscripten_bind_btRigidBody_getLinearDamping_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,v(m[h[e+12>>2]+444>>2])},emscripten_bind_btRigidBody_getAngularDamping_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,v(m[h[e+12>>2]+448>>2])},emscripten_bind_btRigidBody_setDamping_2:function(e,t,n){var i;e|=0,t=v(t),n=v(n),w=i=w-16|0,h[i+12>>2]=e,m[i+8>>2]=t,m[i+4>>2]=n,function(e,t,n){var i;m[8+(i=w-16|0)>>2]=n,m[i+12>>2]=t,h[i+4>>2]=0,h[i>>2]=1065353216,h[e+444>>2]=h[(tv(1)?i:i+12|0)>>2],h[i+4>>2]=0,h[i>>2]=1065353216,h[e+448>>2]=h[(nv(1)?i:i+8|0)>>2]}(h[i+12>>2],m[i+8>>2],m[i+4>>2]),w=i+16|0},emscripten_bind_btRigidBody_setMassProps_2:function(e,t,n){var i;e|=0,t=v(t),n|=0,w=i=w-16|0,h[i+12>>2]=e,m[i+8>>2]=t,h[i+4>>2]=n,zr(h[i+12>>2],m[i+8>>2],h[i+4>>2]),w=i+16|0},emscripten_bind_btRigidBody_getLinearFactor_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+348|0},emscripten_bind_btRigidBody_setLinearFactor_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n,i=0;w=n=w-32|0,h[n+28>>2]=e,h[n+24>>2]=t,e=h[n+24>>2],i=h[e+4>>2],t=h[n+28>>2],h[t+348>>2]=h[e>>2],h[t+352>>2]=i,i=h[e+12>>2],h[t+356>>2]=h[e+8>>2],h[t+360>>2]=i,sa(e=n+8|0,t+348|0,t+344|0),i=h[e+4>>2],h[t+560>>2]=h[e>>2],h[t+564>>2]=i,i=h[e+12>>2],h[t+568>>2]=h[e+8>>2],h[t+572>>2]=i,w=n+32|0}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btRigidBody_applyTorque_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Ic(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btRigidBody_applyLocalTorque_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n,i;w=n=w-48|0,h[n+44>>2]=e,h[n+40>>2]=t,t=w-16|0,e=h[n+44>>2],h[t+12>>2]=e+4,lo(i=n+8|0,h[t+12>>2],h[n+40>>2]),ra(t=n+24|0,i,e+544|0),Ya(e+428|0,t),w=n+48|0}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btRigidBody_applyForce_2:function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,function(e,t,n){var i;w=i=w-48|0,h[i+44>>2]=e,h[i+40>>2]=t,h[i+36>>2]=n,wc(e=h[i+44>>2],h[i+40>>2]),t=h[i+36>>2],ra(i,h[i+40>>2],e+348|0),Ro(n=i+16|0,t,i),Ic(e,n),w=i+48|0}(h[i+12>>2],h[i+8>>2],h[i+4>>2]),w=i+16|0},emscripten_bind_btRigidBody_applyCentralForce_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,wc(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btRigidBody_applyCentralLocalForce_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n,i;w=n=w-48|0,h[n+44>>2]=e,h[n+40>>2]=t,t=w-16|0,e=h[n+44>>2],h[t+12>>2]=e+4,lo(i=n+8|0,h[t+12>>2],h[n+40>>2]),ra(t=n+24|0,i,e+348|0),Ya(e+412|0,t),w=n+48|0}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btRigidBody_applyTorqueImpulse_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Ys(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btRigidBody_applyImpulse_2:function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,na(h[i+12>>2],h[i+8>>2],h[i+4>>2]),w=i+16|0},emscripten_bind_btRigidBody_applyCentralImpulse_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Qs(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btRigidBody_updateInertiaTensor_0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,Fi(h[t+12>>2]),w=t+16|0},emscripten_bind_btRigidBody_getLinearVelocity_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+312|0},emscripten_bind_btRigidBody_getAngularVelocity_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+328|0},emscripten_bind_btRigidBody_setLinearVelocity_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[e+260>>2]=h[e+260>>2]+1,t=h[n+8>>2],n=h[t+4>>2],h[e+312>>2]=h[t>>2],h[e+316>>2]=n,n=h[t+12>>2],h[e+320>>2]=h[t+8>>2],h[e+324>>2]=n}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btRigidBody_setAngularVelocity_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[e+260>>2]=h[e+260>>2]+1,t=h[n+8>>2],n=h[t+4>>2],h[e+328>>2]=h[t>>2],h[e+332>>2]=n,n=h[t+12>>2],h[e+336>>2]=h[t+8>>2],h[e+340>>2]=n}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btRigidBody_getMotionState_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+480>>2]},emscripten_bind_btRigidBody_setMotionState_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[e+480>>2]=h[n+8>>2],h[e+480>>2]&&(t=h[n+8>>2],r[h[h[t>>2]+8>>2]](t,e+4|0)),w=n+16|0}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btRigidBody_getAngularFactor_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+544|0},emscripten_bind_btRigidBody_setAngularFactor_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[e+260>>2]=h[e+260>>2]+1,t=h[n+8>>2],n=h[t+4>>2],h[e+544>>2]=h[t>>2],h[e+548>>2]=n,n=h[t+12>>2],h[e+552>>2]=h[t+8>>2],h[e+556>>2]=n}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btRigidBody_upcast_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=function(e){var t;return w=t=w-16|0,h[t+8>>2]=e,h[12+(e=w-16|0)>>2]=h[t+8>>2],2&h[h[e+12>>2]+236>>2]?h[t+12>>2]=h[t+8>>2]:h[t+12>>2]=0,w=t+16|0,h[t+12>>2]}(h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btRigidBody_getAabb_2:function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,e=h[i+12>>2],t=h[e+192>>2],r[h[h[t>>2]+8>>2]](t,e+4|0,h[i+8>>2],h[i+4>>2]),w=i+16|0},emscripten_bind_btRigidBody_applyGravity_0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,Qa(h[t+12>>2]),w=t+16|0},emscripten_bind_btRigidBody_getGravity_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+380|0},emscripten_bind_btRigidBody_setGravity_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Uo(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btRigidBody_getBroadphaseProxy_0:dl,emscripten_bind_btRigidBody_clearForces_0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,function(e){var t;w=t=w-32|0,h[t+28>>2]=e,e=h[t+28>>2],m[t+24>>2]=0,m[t+20>>2]=0,m[t+16>>2]=0,bs(e+412|0,t+24|0,t+20|0,t+16|0),m[t+12>>2]=0,m[t+8>>2]=0,m[t+4>>2]=0,bs(e+428|0,t+12|0,t+8|0,t+4|0),w=t+32|0}(h[t+12>>2]),w=t+16|0},emscripten_bind_btRigidBody_setAnisotropicFriction_2:Sc,emscripten_bind_btRigidBody_getCollisionShape_0:_l,emscripten_bind_btRigidBody_setContactProcessingThreshold_1:Os,emscripten_bind_btRigidBody_setActivationState_1:fc,emscripten_bind_btRigidBody_forceActivationState_1:Bl,emscripten_bind_btRigidBody_activate_0:Pp,emscripten_bind_btRigidBody_activate_1:Ul,emscripten_bind_btRigidBody_isActive_0:qu,emscripten_bind_btRigidBody_isKinematicObject_0:Nc,emscripten_bind_btRigidBody_isStaticObject_0:Fc,emscripten_bind_btRigidBody_isStaticOrKinematicObject_0:Bc,emscripten_bind_btRigidBody_getRestitution_0:rl,emscripten_bind_btRigidBody_getFriction_0:ol,emscripten_bind_btRigidBody_getRollingFriction_0:al,emscripten_bind_btRigidBody_setRestitution_1:Hl,emscripten_bind_btRigidBody_setFriction_1:Wl,emscripten_bind_btRigidBody_setRollingFriction_1:Xl,emscripten_bind_btRigidBody_getWorldTransform_0:Il,emscripten_bind_btRigidBody_getCollisionFlags_0:hl,emscripten_bind_btRigidBody_setCollisionFlags_1:Rs,emscripten_bind_btRigidBody_setWorldTransform_1:Kl,emscripten_bind_btRigidBody_setCollisionShape_1:Vc,emscripten_bind_btRigidBody_setCcdMotionThreshold_1:Es,emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1:Ps,emscripten_bind_btRigidBody_getUserIndex_0:fl,emscripten_bind_btRigidBody_setUserIndex_1:Ds,emscripten_bind_btRigidBody_getUserPointer_0:fl,emscripten_bind_btRigidBody_setUserPointer_1:Ds,emscripten_bind_btRigidBody_getBroadphaseHandle_0:dl,emscripten_bind_btRigidBody___destroy___0:ru,emscripten_bind_btIndexedMeshArray_size_0:Sl,emscripten_bind_btIndexedMeshArray_at_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,w=n+16|0,h[h[e+12>>2]+12>>2]+(h[e+8>>2]<<5)|0},emscripten_bind_btIndexedMeshArray___destroy___0:Ku,emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0:function(){var e;return po(e=Tl(196),0),0|e},emscripten_bind_btDbvtBroadphase___destroy___0:ou,emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9:function(e,t,n,i,r,a,s,c,l){var u;return e|=0,t|=0,n|=0,i=v(i),r=v(r),a=v(a),s|=0,c|=0,l|=0,w=u=w-48|0,h[u+44>>2]=e,h[u+40>>2]=t,h[u+36>>2]=n,m[u+32>>2]=i,m[u+28>>2]=r,m[u+24>>2]=a,h[u+20>>2]=s,h[u+16>>2]=c,o[u+15|0]=l,function(e,t,n,i,r,a,s,c,l,u){h[e+4>>2]=35,h[e+8>>2]=0,h[e+12>>2]=0,h[e>>2]=14720,h[e>>2]=15492,function(e,t,n,i,r,a,s,c,l,u){var p=v(0),d=v(0),f=v(0),_=v(0);h[e+108>>2]=1065353216,h[e+112>>2]=1065353216,h[e+104>>2]=c,o[e+101|0]=0,o[e+102|0]=0,o[e+100|0]=u,h[e+96>>2]=l,h[e+92>>2]=i,m[e+88>>2]=r,m[e+76>>2]=s,m[e+72>>2]=a,h[e+68>>2]=n,h[e+64>>2]=t,h[e+4>>2]=24,h[e+116>>2]=1065353216,h[e+120>>2]=0,r=v(n+-1|0),m[e+84>>2]=r,p=v(t+-1|0),m[e+80>>2]=p;e:{t:{switch(0|c){default:d=m[e+40>>2],f=m[e+24>>2],r=m[e+36>>2],_=m[e+20>>2],s=m[e+32>>2],a=m[e+16>>2];break e;case 0:m[e+32>>2]=s,m[e+16>>2]=a,h[e+44>>2]=0,m[e+40>>2]=r,m[e+36>>2]=p,h[e+28>>2]=0,h[e+20>>2]=0,h[e+24>>2]=0,d=r,r=p;break e;case 1:m[e+32>>2]=p,h[e+16>>2]=0,h[e+44>>2]=0,m[e+40>>2]=r,m[e+36>>2]=s,h[e+24>>2]=0,h[e+28>>2]=0,m[e+20>>2]=a,d=r,r=s,_=a,a=v(0);break t;case 2:}m[e+32>>2]=p,h[e+16>>2]=0,h[e+20>>2]=0,h[e+44>>2]=0,m[e+40>>2]=s,m[e+36>>2]=r,h[e+28>>2]=0,m[e+24>>2]=a,d=s}f=a,s=p,a=v(0)}h[e+60>>2]=0,m[e+56>>2]=v(f+d)*v(.5),m[e+52>>2]=v(_+r)*v(.5),m[e+48>>2]=v(a+s)*v(.5)}(e,t,n,i,r,a,s,c,l,u)}(e=El(124),h[u+44>>2],h[u+40>>2],h[u+36>>2],m[u+32>>2],m[u+28>>2],m[u+24>>2],h[u+20>>2],h[u+16>>2],1&o[u+15|0]),w=u+48|0,0|e},emscripten_bind_btHeightfieldTerrainShape_setMargin_1:kc,emscripten_bind_btHeightfieldTerrainShape_getMargin_0:pl,emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1:zc,emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0:Dl,emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2:Zs,emscripten_bind_btHeightfieldTerrainShape___destroy___0:ou,emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0:function(){var e;return Tc(e=Tl(40)),0|e},emscripten_bind_btDefaultSoftBodySolver___destroy___0:ou,emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,function(e,t){var n=0,i=0;for(h[e+4>>2]=2,h[e>>2]=4196,h[e+5256>>2]=t,h[e+28>>2]=7088,h[e+60>>2]=78,o[e+24|0]=1,h[e+20>>2]=0,h[e+12>>2]=0,h[e+16>>2]=0,h[e+64>>2]=r[h[h[t>>2]+12>>2]](t),h[e+68>>2]=r[h[h[t>>2]+8>>2]](t);;){for(t=0;i=h[e+5256>>2],h[72+((g(n,144)+e|0)+(t<<2)|0)>>2]=r[h[h[i>>2]+16>>2]](i,n,t),36!=(0|(t=t+1|0)););if(36==(0|(n=n+1|0)))break}}(e=Tl(5260),h[t+12>>2]),w=t+16|0,0|e},emscripten_bind_btCollisionDispatcher_getNumManifolds_0:Ll,emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1:_c,emscripten_bind_btCollisionDispatcher___destroy___0:ou,emscripten_bind_btAxisSweep3_btAxisSweep3_2:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,_h(e=El(116),h[n+12>>2],h[n+8>>2],16384,0,0),w=n+16|0,0|e},emscripten_bind_btAxisSweep3_btAxisSweep3_3:function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,_h(e=El(116),h[i+12>>2],h[i+8>>2],65535&h[i+4>>2],0,0),w=i+16|0,0|e},emscripten_bind_btAxisSweep3_btAxisSweep3_4:function(e,t,n,i){var r;return e|=0,t|=0,n|=0,i|=0,w=r=w-16|0,h[r+12>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,h[r>>2]=i,_h(e=El(116),h[r+12>>2],h[r+8>>2],65535&h[r+4>>2],h[r>>2],0),w=r+16|0,0|e},emscripten_bind_btAxisSweep3_btAxisSweep3_5:function(e,t,n,i,r){var a;return e|=0,t|=0,n|=0,i|=0,r|=0,w=a=w-32|0,h[a+28>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,o[a+15|0]=r,_h(e=El(116),h[a+28>>2],h[a+24>>2],65535&h[a+20>>2],h[a+16>>2],1&o[a+15|0]),w=a+32|0,0|e},emscripten_bind_btAxisSweep3___destroy___0:ou,emscripten_bind_VoidPtr___destroy___0:tp,emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0:function(){var e;return function(e){var t;w=t=w-32|0,h[t+28>>2]=e,e=h[t+28>>2],m[e>>2]=1.2000000476837158,m[e+4>>2]=0,m[e+8>>2]=0,m[e+12>>2]=1e3,m[t+24>>2]=0,m[t+20>>2]=0,m[t+16>>2]=0,bs(e+16|0,t+24|0,t+20|0,t+16|0),h[e+32>>2]=0,h[e+36>>2]=0,m[t+12>>2]=0,m[t+8>>2]=-10,m[t+4>>2]=0,bs(e+40|0,t+12|0,t+8|0,t+4|0),sh(e+56|0),w=t+32|0}(e=Tl(100)),0|e},emscripten_bind_btSoftBodyWorldInfo_get_air_density_0:Fp,emscripten_bind_btSoftBodyWorldInfo_set_air_density_1:ju,emscripten_bind_btSoftBodyWorldInfo_get_water_density_0:Mp,emscripten_bind_btSoftBodyWorldInfo_set_water_density_1:Ru,emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0:Rp,emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1:Iu,emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0:Tp,emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1:Su,emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0:th,emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1:cs,emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[h[t+12>>2]+32>>2]},emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]+32>>2]=h[n+8>>2]},emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[h[t+12>>2]+36>>2]},emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]+36>>2]=h[n+8>>2]},emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0:qp,emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1:os,emscripten_bind_btSoftBodyWorldInfo___destroy___0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,(e=h[t+12>>2])&&(function(e){var t=0;w=t=w-16|0,h[t+12>>2]=e,oh(h[t+12>>2]+56|0),w=t+16|0}(e),Se(e)),w=t+16|0},emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t,n){var i,r;Ba(e,5,t),h[e>>2]=19548,t=h[n+12>>2],h[e+308>>2]=h[n+8>>2],h[e+312>>2]=t,t=h[n+4>>2],h[e+300>>2]=h[n>>2],h[e+304>>2]=t,t=h[n+28>>2],h[e+324>>2]=h[n+24>>2],h[e+328>>2]=t,t=h[n+20>>2],h[e+316>>2]=h[n+16>>2],h[e+320>>2]=t,t=h[n+36>>2],h[e+332>>2]=h[n+32>>2],h[e+336>>2]=t,t=h[n+44>>2],h[e+340>>2]=h[n+40>>2],h[e+344>>2]=t,t=h[n+56>>2],i=h[n+60>>2],r=h[n+48>>2],n=h[n+52>>2],o[e+527|0]=0,h[e+356>>2]=t,h[e+360>>2]=i,h[e+348>>2]=r,h[e+352>>2]=n,t=h[e+304>>2],h[e+364>>2]=h[e+300>>2],h[e+368>>2]=t,t=h[e+312>>2],h[e+372>>2]=h[e+308>>2],h[e+376>>2]=t,t=h[e+320>>2],h[e+380>>2]=h[e+316>>2],h[e+384>>2]=t,t=h[e+328>>2],h[e+388>>2]=h[e+324>>2],h[e+392>>2]=t,t=h[e+344>>2],h[e+404>>2]=h[e+340>>2],h[e+408>>2]=t,t=h[e+336>>2],h[e+396>>2]=h[e+332>>2],h[e+400>>2]=t,o[e+552|0]=0,o[e+526|0]=0,p[e+524>>1]=0,h[e+420>>2]=0,h[e+424>>2]=0,h[e+412>>2]=0,h[e+416>>2]=0,h[e+572>>2]=-1082130432,h[e+452>>2]=1566444395,h[e+444>>2]=1566444395,h[e+448>>2]=1566444395,h[e+604>>2]=0,h[e+596>>2]=0,h[e+600>>2]=1060320051,h[e+592>>2]=0,h[e+456>>2]=1028443341,h[e+436>>2]=1065353216,h[e+440>>2]=1008981770,h[e+428>>2]=1065353216,h[e+432>>2]=1050253722}(e=El(608),h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4:function(e,t,n,i){var r;return e|=0,t|=0,n|=0,i|=0,w=r=w-16|0,h[r+12>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,h[r>>2]=i,function(e,t,n,i,r){ja(e,5,t,n),h[e>>2]=19548,t=h[i+12>>2],h[e+308>>2]=h[i+8>>2],h[e+312>>2]=t,t=h[i+4>>2],h[e+300>>2]=h[i>>2],h[e+304>>2]=t,t=h[i+28>>2],h[e+324>>2]=h[i+24>>2],h[e+328>>2]=t,t=h[i+20>>2],h[e+316>>2]=h[i+16>>2],h[e+320>>2]=t,t=h[i+44>>2],h[e+340>>2]=h[i+40>>2],h[e+344>>2]=t,t=h[i+36>>2],h[e+332>>2]=h[i+32>>2],h[e+336>>2]=t,t=h[i+60>>2],h[e+356>>2]=h[i+56>>2],h[e+360>>2]=t,t=h[i+52>>2],h[e+348>>2]=h[i+48>>2],h[e+352>>2]=t,t=h[r+12>>2],h[e+372>>2]=h[r+8>>2],h[e+376>>2]=t,t=h[r+4>>2],h[e+364>>2]=h[r>>2],h[e+368>>2]=t,t=h[r+20>>2],h[e+380>>2]=h[r+16>>2],h[e+384>>2]=t,t=h[r+28>>2],h[e+388>>2]=h[r+24>>2],h[e+392>>2]=t,t=h[r+36>>2],h[e+396>>2]=h[r+32>>2],h[e+400>>2]=t,t=h[r+44>>2],h[e+404>>2]=h[r+40>>2],h[e+408>>2]=t,t=h[r+52>>2],h[e+412>>2]=h[r+48>>2],h[e+416>>2]=t,t=h[r+60>>2],h[e+420>>2]=h[r+56>>2],h[e+424>>2]=t,o[e+552|0]=0,h[e+572>>2]=-1082130432,h[e+524>>2]=0,h[e+444>>2]=1566444395,h[e+448>>2]=1566444395,h[e+592>>2]=0,h[e+428>>2]=1065353216,h[e+432>>2]=1050253722,h[e+436>>2]=1065353216,h[e+440>>2]=1008981770,h[e+596>>2]=0,h[e+600>>2]=1060320051,h[e+604>>2]=0,h[e+452>>2]=1566444395,h[e+456>>2]=1028443341}(e=El(608),h[r+12>>2],h[r+8>>2],h[r+4>>2],h[r>>2]),w=r+16|0,0|e},emscripten_bind_btConeTwistConstraint_setLimit_2:function(e,t,n){var i;e|=0,t|=0,n=v(n),w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,m[i+4>>2]=n,function(e,t,n){var i;h[12+(i=w-16|0)>>2]=e,h[i+8>>2]=t,m[i+4>>2]=n,e=h[i+12>>2];e:{t:switch(h[i+8>>2]+-3|0){case 0:m[e+452>>2]=m[i+4>>2];break e;case 1:m[e+448>>2]=m[i+4>>2];break e;case 2:break t;default:break e}m[e+444>>2]=m[i+4>>2]}}(h[i+12>>2],h[i+8>>2],m[i+4>>2]),w=i+16|0},emscripten_bind_btConeTwistConstraint_setAngularOnly_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,o[n+11|0]=t,t=1&o[n+11|0],h[12+(e=w-16|0)>>2]=h[n+12>>2],o[e+11|0]=t,o[h[e+12>>2]+524|0]=1&o[e+11|0],w=n+16|0},emscripten_bind_btConeTwistConstraint_setDamping_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,m[h[e+12>>2]+440>>2]=m[e+8>>2],w=n+16|0},emscripten_bind_btConeTwistConstraint_enableMotor_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,o[n+11|0]=t,t=1&o[n+11|0],h[12+(e=w-16|0)>>2]=h[n+12>>2],o[e+11|0]=t,o[h[e+12>>2]+552|0]=1&o[e+11|0],w=n+16|0},emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1:function(e,t){var n,i;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,i=h[e+12>>2],m[i+572>>2]=m[e+8>>2],o[i+553|0]=0,w=n+16|0},emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1:function(e,t){var n,i;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,i=h[e+12>>2],m[i+572>>2]=m[e+8>>2],o[i+553|0]=1,w=n+16|0},emscripten_bind_btConeTwistConstraint_setMotorTarget_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n,i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),h=v(0),d=v(0),f=v(0),_=v(0),b=v(0);w=n=w-48|0,lt(e+364|0,n+16|0),i=m[t+4>>2],r=m[t+8>>2],o=m[t>>2],a=m[t+12>>2],s=m[n+24>>2],c=m[n+20>>2],l=m[n+28>>2],u=m[n+16>>2],lt(e+300|0,n),p=v(v(s*r)+v(v(v(u*o)+v(l*a))+v(c*i))),h=m[n+12>>2],d=v(v(v(v(l*o)-v(u*a))-v(c*r))+v(s*i)),f=m[n>>2],_=v(v(u*r)+v(v(v(l*i)-v(c*a))-v(s*o))),b=m[n+4>>2],i=v(v(c*o)+v(v(v(l*r)-v(s*a))-v(u*i))),r=m[n+8>>2],m[n+44>>2]=v(v(v(p*h)-v(d*f))-v(_*b))-v(i*r),m[n+40>>2]=v(v(v(i*h)+v(p*r))+v(d*b))-v(f*_),m[n+36>>2]=v(v(f*i)+v(v(h*_)+v(p*b)))-v(d*r),m[n+32>>2]=v(v(v(p*f)+v(d*h))+v(_*r))-v(i*b),Ze(e,n+32|0),w=n+48|0}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Ze(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btConeTwistConstraint_enableFeedback_1:Ts,emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0:sl,emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1:Is,emscripten_bind_btConeTwistConstraint_getParam_2:ms,emscripten_bind_btConeTwistConstraint_setParam_3:is,emscripten_bind_btConeTwistConstraint___destroy___0:ou,emscripten_bind_btHingeConstraint_btHingeConstraint_2:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Xt(e=El(764),h[n+12>>2],h[n+8>>2],0),w=n+16|0,0|e},emscripten_bind_btHingeConstraint_btHingeConstraint_3:function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,o[i+7|0]=n,Xt(e=El(764),h[i+12>>2],h[i+8>>2],1&o[i+7|0]),w=i+16|0,0|e},emscripten_bind_btHingeConstraint_btHingeConstraint_4:function(e,t,n,i){var r;return e|=0,t|=0,n|=0,i|=0,w=r=w-16|0,h[r+12>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,h[r>>2]=i,Un(e=El(764),h[r+12>>2],h[r+8>>2],h[r+4>>2],h[r>>2],0),w=r+16|0,0|e},emscripten_bind_btHingeConstraint_btHingeConstraint_5:function(e,t,n,i,r){var a;return e|=0,t|=0,n|=0,i|=0,r|=0,w=a=w-32|0,h[a+28>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,o[a+15|0]=r,Un(e=El(764),h[a+28>>2],h[a+24>>2],h[a+20>>2],h[a+16>>2],1&o[a+15|0]),w=a+32|0,0|e},emscripten_bind_btHingeConstraint_btHingeConstraint_6:function(e,t,n,i,r,o){var a;return e|=0,t|=0,n|=0,i|=0,r|=0,o|=0,w=a=w-32|0,h[a+28>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,h[a+12>>2]=r,h[a+8>>2]=o,tt(e=El(764),h[a+28>>2],h[a+24>>2],h[a+20>>2],h[a+16>>2],h[a+12>>2],h[a+8>>2],0),w=a+32|0,0|e},emscripten_bind_btHingeConstraint_btHingeConstraint_7:function(e,t,n,i,r,a,s){var c;return e|=0,t|=0,n|=0,i|=0,r|=0,a|=0,s|=0,w=c=w-32|0,h[c+28>>2]=e,h[c+24>>2]=t,h[c+20>>2]=n,h[c+16>>2]=i,h[c+12>>2]=r,h[c+8>>2]=a,o[c+7|0]=s,tt(e=El(764),h[c+28>>2],h[c+24>>2],h[c+20>>2],h[c+16>>2],h[c+12>>2],h[c+8>>2],1&o[c+7|0]),w=c+32|0,0|e},emscripten_bind_btHingeConstraint_setLimit_4:function(e,t,n,i,r){var o;e|=0,t=v(t),n=v(n),i=v(i),r=v(r),w=o=w-32|0,h[o+28>>2]=e,m[o+24>>2]=t,m[o+20>>2]=n,m[o+16>>2]=i,m[o+12>>2]=r,Da(h[o+28>>2],m[o+24>>2],m[o+20>>2],m[o+16>>2],m[o+12>>2],v(1)),w=o+32|0},emscripten_bind_btHingeConstraint_setLimit_5:function(e,t,n,i,r,o){var a;e|=0,t=v(t),n=v(n),i=v(i),r=v(r),o=v(o),w=a=w-32|0,h[a+28>>2]=e,m[a+24>>2]=t,m[a+20>>2]=n,m[a+16>>2]=i,m[a+12>>2]=r,m[a+8>>2]=o,Da(h[a+28>>2],m[a+24>>2],m[a+20>>2],m[a+16>>2],m[a+12>>2],m[a+8>>2]),w=a+32|0},emscripten_bind_btHingeConstraint_enableAngularMotor_3:function(e,t,n,i){var r;e|=0,t|=0,n=v(n),i=v(i),w=r=w-16|0,h[r+12>>2]=e,o[r+11|0]=t,m[r+4>>2]=n,m[r>>2]=i,function(e,t,n,i){var r=0;h[12+(r=w-16|0)>>2]=e,o[r+11|0]=t,m[r+4>>2]=n,m[r>>2]=i,e=h[r+12>>2],o[e+737|0]=1&o[r+11|0],m[e+680>>2]=m[r+4>>2],m[e+684>>2]=m[r>>2]}(h[r+12>>2],1&o[r+11|0],m[r+4>>2],m[r>>2]),w=r+16|0},emscripten_bind_btHingeConstraint_setAngularOnly_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,o[n+11|0]=t,t=1&o[n+11|0],h[12+(e=w-16|0)>>2]=h[n+12>>2],o[e+11|0]=t,o[h[e+12>>2]+736|0]=1&o[e+11|0],w=n+16|0},emscripten_bind_btHingeConstraint_enableMotor_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,o[n+11|0]=t,t=1&o[n+11|0],h[12+(e=w-16|0)>>2]=h[n+12>>2],o[e+11|0]=t,o[h[e+12>>2]+737|0]=1&o[e+11|0],w=n+16|0},emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,m[h[e+12>>2]+684>>2]=m[e+8>>2],w=n+16|0},emscripten_bind_btHingeConstraint_setMotorTarget_2:function(e,t,n){var i;e|=0,t=v(t),n=v(n),w=i=w-16|0,h[i+12>>2]=e,m[i+8>>2]=t,m[i+4>>2]=n,mc(h[i+12>>2],m[i+8>>2],m[i+4>>2]),w=i+16|0},emscripten_bind_btHingeConstraint_enableFeedback_1:Ts,emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0:sl,emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1:Is,emscripten_bind_btHingeConstraint_getParam_2:ms,emscripten_bind_btHingeConstraint_setParam_3:is,emscripten_bind_btHingeConstraint___destroy___0:ou,emscripten_bind_btConeShapeZ_btConeShapeZ_2:function(e,t){var n,i;return e=v(e),t=v(t),w=n=w-16|0,m[n+12>>2]=e,m[n+8>>2]=t,function(e,t,n){h[e+4>>2]=35,h[e+8>>2]=0,h[e>>2]=13316,h[e+44>>2]=1025758986,h[e+20>>2]=1065353216,h[e+24>>2]=0,h[e+12>>2]=1065353216,h[e+16>>2]=1065353216,h[e>>2]=13444,m[e+60>>2]=n,m[e+56>>2]=t,h[e+4>>2]=11,h[e+72>>2]=1,h[e+64>>2]=0,h[e+68>>2]=2,h[e>>2]=11e3,m[e+36>>2]=n,m[e+28>>2]=t,m[e+32>>2]=t,m[e+52>>2]=t/v(S(v(v(t*t)+v(n*n))))}(i=El(76),m[n+12>>2],m[n+8>>2]),w=n+16|0,0|i},emscripten_bind_btConeShapeZ_setLocalScaling_1:zc,emscripten_bind_btConeShapeZ_getLocalScaling_0:Dl,emscripten_bind_btConeShapeZ_calculateLocalInertia_2:Zs,emscripten_bind_btConeShapeZ___destroy___0:ou,emscripten_bind_btConeShapeX_btConeShapeX_2:function(e,t){var n,i;return e=v(e),t=v(t),w=n=w-16|0,m[n+12>>2]=e,m[n+8>>2]=t,function(e,t,n){h[e+4>>2]=35,h[e+8>>2]=0,h[e>>2]=13316,h[e+44>>2]=1025758986,h[e+20>>2]=1065353216,h[e+24>>2]=0,h[e+12>>2]=1065353216,h[e+16>>2]=1065353216,h[e>>2]=13444,m[e+60>>2]=n,m[e+56>>2]=t,h[e+4>>2]=11,h[e+72>>2]=2,h[e+64>>2]=1,h[e+68>>2]=0,h[e>>2]=11100,m[e+32>>2]=t,m[e+36>>2]=t,m[e+28>>2]=n,m[e+52>>2]=t/v(S(v(v(t*t)+v(n*n))))}(i=El(76),m[n+12>>2],m[n+8>>2]),w=n+16|0,0|i},emscripten_bind_btConeShapeX_setLocalScaling_1:zc,emscripten_bind_btConeShapeX_getLocalScaling_0:Dl,emscripten_bind_btConeShapeX_calculateLocalInertia_2:Zs,emscripten_bind_btConeShapeX___destroy___0:ou,emscripten_bind_btTriangleMesh_btTriangleMesh_0:function(){var e;return vn(e=El(172),1,1),0|e},emscripten_bind_btTriangleMesh_btTriangleMesh_1:function(e){var t;return e|=0,w=t=w-16|0,o[t+15|0]=e,vn(e=El(172),1&o[t+15|0],1),w=t+16|0,0|e},emscripten_bind_btTriangleMesh_btTriangleMesh_2:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,o[n+15|0]=e,o[n+14|0]=t,vn(e=El(172),1&o[n+15|0],1&o[n+14|0]),w=n+16|0,0|e},emscripten_bind_btTriangleMesh_addTriangle_3:function(e,t,n,i){var r;e|=0,t|=0,n|=0,i|=0,w=r=w-16|0,h[r+12>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,h[r>>2]=i,Gl(h[r+12>>2],h[r+8>>2],h[r+4>>2],h[r>>2],0),w=r+16|0},emscripten_bind_btTriangleMesh_addTriangle_4:function(e,t,n,i,r){var a;e|=0,t|=0,n|=0,i|=0,r|=0,w=a=w-32|0,h[a+28>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,o[a+15|0]=r,Gl(h[a+28>>2],h[a+24>>2],h[a+20>>2],h[a+16>>2],1&o[a+15|0]),w=a+32|0},emscripten_bind_btTriangleMesh_findOrAddVertex_2:function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,o[i+7|0]=n,e=ke(h[i+12>>2],h[i+8>>2],1&o[i+7|0]),w=i+16|0,0|e},emscripten_bind_btTriangleMesh_addIndex_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,qn(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btTriangleMesh_getIndexedMeshArray_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+20|0},emscripten_bind_btTriangleMesh_setScaling_1:Jl,emscripten_bind_btTriangleMesh___destroy___0:ou,emscripten_bind_btConvexHullShape_btConvexHullShape_0:function(){var e;return Yn(e=El(112),0,0),0|e},emscripten_bind_btConvexHullShape_btConvexHullShape_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,Yn(e=El(112),h[t+12>>2],0),w=t+16|0,0|e},emscripten_bind_btConvexHullShape_btConvexHullShape_2:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Yn(e=El(112),h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btConvexHullShape_addPoint_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Ji(h[n+12>>2],h[n+8>>2],1),w=n+16|0},emscripten_bind_btConvexHullShape_addPoint_2:function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,o[i+7|0]=n,Ji(h[i+12>>2],h[i+8>>2],1&o[i+7|0]),w=i+16|0},emscripten_bind_btConvexHullShape_setMargin_1:kc,emscripten_bind_btConvexHullShape_getMargin_0:pl,emscripten_bind_btConvexHullShape_getNumVertices_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],e=0|r[h[h[e>>2]+96>>2]](e),w=t+16|0,0|e},emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],e=1&r[h[h[e>>2]+92>>2]](e,h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btConvexHullShape_recalcLocalAabb_0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,or(h[t+12>>2]),w=t+16|0},emscripten_bind_btConvexHullShape_getConvexPolyhedron_0:gl,emscripten_bind_btConvexHullShape_setLocalScaling_1:zc,emscripten_bind_btConvexHullShape_getLocalScaling_0:Dl,emscripten_bind_btConvexHullShape_calculateLocalInertia_2:Zs,emscripten_bind_btConvexHullShape___destroy___0:ou,emscripten_bind_btVehicleTuning_btVehicleTuning_0:function(){var e;return function(e){var t;h[12+(t=w-16|0)>>2]=e,e=h[t+12>>2],m[e>>2]=5.880000114440918,m[e+4>>2]=.8299999833106995,m[e+8>>2]=.8799999952316284,m[e+12>>2]=500,m[e+16>>2]=10.5,m[e+20>>2]=6e3}(e=Tl(24)),0|e},emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0:Fp,emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1:ju,emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0:Mp,emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1:Ru,emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0:Rp,emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1:Iu,emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0:Tp,emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1:Su,emscripten_bind_btVehicleTuning_get_m_frictionSlip_0:_p,emscripten_bind_btVehicleTuning_set_m_frictionSlip_1:Au,emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0:Sp,emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1:xu,emscripten_bind_btCollisionObjectWrapper_getWorldTransform_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+12>>2]},emscripten_bind_btCollisionObjectWrapper_getCollisionObject_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+8>>2]},emscripten_bind_btCollisionObjectWrapper_getCollisionShape_0:Sl,emscripten_bind_btShapeHull_btShapeHull_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,function(e,t){o[e+16|0]=1,h[e+44>>2]=t,h[e+12>>2]=0,h[e+4>>2]=0,h[e+8>>2]=0,h[e+40>>2]=0,o[e+36|0]=1,h[e+32>>2]=0,h[e+24>>2]=0,h[e+28>>2]=0}(e=El(48),h[t+12>>2]),w=t+16|0,0|e},emscripten_bind_btShapeHull_buildHull_1:function(e,t){var n;return e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,e=1&function(e){var t,n=0,i=0,a=0,s=0,c=0,l=0,u=0,p=0;if(w=t=w-1136|0,c=42,a=h[e+44>>2],(0|(n=0|r[h[h[a>>2]+84>>2]](a)))>=1)for(a=0;i=h[e+44>>2],r[h[h[i>>2]+88>>2]](i,a,t+144|0),Ne(),i=h[t+156>>2],h[(l=28008+(s=c<<4)|0)>>2]=h[t+152>>2],h[l+4>>2]=i,i=h[t+148>>2],h[(s=s+28e3|0)>>2]=h[t+144>>2],h[s+4>>2]=i,c=c+1|0,(0|n)!=(0|(a=a+1|0)););for(a=0;n=h[e+44>>2],Ne(),i=a<<4,r[h[h[n>>2]+64>>2]](t+16|0,n,i+28e3|0),s=h[t+28>>2],h[8+(i=n=i+(t+144|0)|0)>>2]=h[t+24>>2],h[i+12>>2]=s,i=h[t+20>>2],h[n>>2]=h[t+16>>2],h[n+4>>2]=i,(0|c)!=(0|(a=a+1|0)););if(h[t+132>>2]=4096,h[t+136>>2]=4096,h[t+124>>2]=16,h[t+128>>2]=981668463,h[t+116>>2]=c,h[t+112>>2]=1,h[t+120>>2]=t+144,o[t+108|0]=1,n=0,h[t+104>>2]=0,h[t+96>>2]=0,h[t+100>>2]=0,h[t+84>>2]=0,o[t+88|0]=1,h[t+76>>2]=0,h[t+80>>2]=0,h[t+36>>2]=0,o[t+40|0]=1,o[t+68|0]=1,h[t+28>>2]=0,h[t+32>>2]=0,h[t- -64>>2]=0,h[t+56>>2]=0,h[t+60>>2]=0,h[t+44>>2]=0,h[t+48>>2]=0,h[t+20>>2]=0,o[t+16|0]=1,1!=(0|oe(t+72|0,t+112|0,t+16|0))){if(n=i=h[t+20>>2],(0|(a=h[e+4>>2]))<(0|i)){if(h[e+8>>2]<(0|i)){if(i?(h[7717]=h[7717]+1,c=0|r[h[6606]](i<<4,16),n=h[e+4>>2]):(c=0,n=a),(0|(u=n))>=1)for(n=0;l=(s=n<<4)+c|0,s=s+h[e+12>>2]|0,p=h[s+4>>2],h[l>>2]=h[s>>2],h[l+4>>2]=p,p=h[s+12>>2],h[l+8>>2]=h[s+8>>2],h[l+12>>2]=p,(0|u)!=(0|(n=n+1|0)););(n=h[e+12>>2])&&(d[e+16|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+12>>2]=0),h[e+12>>2]=c,o[e+16|0]=1,h[e+8>>2]=i}for(;s=h[t+4>>2],n=h[e+12>>2]+(a<<4)|0,h[n>>2]=h[t>>2],h[n+4>>2]=s,s=h[t+12>>2],h[n+8>>2]=h[t+8>>2],h[n+12>>2]=s,(0|i)!=(0|(a=a+1|0)););n=h[t+20>>2]}if(h[e+4>>2]=i,(0|n)>=1)for(a=0;i=(n=a<<4)+h[e+12>>2]|0,n=n+h[t+36>>2]|0,c=h[n+4>>2],h[i>>2]=h[n>>2],h[i+4>>2]=c,s=h[n+12>>2],h[i+8>>2]=h[n+8>>2],h[i+12>>2]=s,(0|(a=a+1|0))>2];);if(i=h[t+48>>2],h[e+40>>2]=i,a=i,(0|i)>(0|(s=h[e+24>>2]))){e:if(h[e+28>>2]>=(0|i))c=h[e+32>>2];else{a=0,n=s,c=0,i&&(h[7717]=h[7717]+1,c=0|r[h[6606]](i<<2,16),n=h[e+24>>2]),l=h[e+32>>2];t:{if((0|n)>=1)for(;;)if(h[(u=a<<2)+c>>2]=h[l+u>>2],(0|(a=a+1|0))==(0|n))break t;if(!l){h[e+32>>2]=c,h[e+28>>2]=i,o[e+36|0]=1;break e}}d[e+36|0]&&l&&(h[7718]=h[7718]+1,r[h[6607]](l)),h[e+32>>2]=c,o[e+36|0]=1,h[e+28>>2]=i}ji((s<<2)+c|0,0,i-s<<2),a=h[e+40>>2]}if(h[e+24>>2]=i,n=1,(0|a)>=1)for(i=h[e+32>>2],a=0,s=h[t+64>>2];h[(c=a<<2)+i>>2]=h[s+c>>2],(0|(a=a+1|0))>2];);yo(t+16|0)}return(e=h[t+64>>2])&&(d[t+68|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[t+64>>2]=0),h[t+64>>2]=0,o[t+68|0]=1,h[t+56>>2]=0,h[t+60>>2]=0,(e=h[t+36>>2])&&(d[t+40|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[t+36>>2]=0),(e=h[t+104>>2])&&(d[t+108|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[t+104>>2]=0),h[t+104>>2]=0,o[t+108|0]=1,h[t+96>>2]=0,h[t+100>>2]=0,(e=h[t+84>>2])&&(d[t+88|0]&&e&&(h[7718]=h[7718]+1,r[h[6607]](e)),h[t+84>>2]=0),w=t+1136|0,n}(h[n+12>>2]),w=n+16|0,0|e},emscripten_bind_btShapeHull_numVertices_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,w=t+16|0,h[h[t+12>>2]+4>>2]},emscripten_bind_btShapeHull_getVertexPointer_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=function(e){var t;return w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],h[e+8>>2]=0,w=t+16|0,h[h[e+12>>2]+12>>2]+(h[e+8>>2]<<4)|0}(h[t+12>>2]),w=t+16|0,0|e},emscripten_bind_btShapeHull___destroy___0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,(e=h[t+12>>2])&&(function(e){var t,n=0;(n=h[e+32>>2])&&(d[e+36|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+32>>2]=0),h[e+32>>2]=0,o[e+36|0]=1,h[e+24>>2]=0,h[e+28>>2]=0,n=0,(t=h[e+12>>2])&&(d[e+16|0]&&(t&&(h[7718]=h[7718]+1,r[h[6607]](t)),n=h[e+32>>2]),h[e+12>>2]=0),h[e+12>>2]=0,o[e+16|0]=1,h[e+4>>2]=0,h[e+8>>2]=0,n&&d[e+36|0]?(n&&(h[7718]=h[7718]+1,r[h[6607]](n)),o[e+36|0]=1,h[e+32>>2]=0,h[e+24>>2]=0,h[e+28>>2]=0,(n=h[e+12>>2])&&(d[e+16|0]&&n&&(h[7718]=h[7718]+1,r[h[6607]](n)),h[e+12>>2]=0)):(h[e+32>>2]=0,o[e+36|0]=1,h[e+24>>2]=0,h[e+28>>2]=0),h[e+12>>2]=0,o[e+16|0]=1,h[e+4>>2]=0,h[e+8>>2]=0}(e),eu(e)),w=t+16|0},emscripten_bind_btDefaultMotionState_btDefaultMotionState_0:function(){var e;return pa(e=El(200),Ta(),Ta()),0|e},emscripten_bind_btDefaultMotionState_btDefaultMotionState_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,pa(e=El(200),h[t+12>>2],Ta()),w=t+16|0,0|e},emscripten_bind_btDefaultMotionState_btDefaultMotionState_2:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,pa(e=El(200),h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btDefaultMotionState_getWorldTransform_1:Jc,emscripten_bind_btDefaultMotionState_setWorldTransform_1:Vc,emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0:ch,emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Pa(h[n+12>>2]+4|0,h[n+8>>2]),w=n+16|0},emscripten_bind_btDefaultMotionState___destroy___0:ou,emscripten_bind_btWheelInfo_btWheelInfo_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,ui(e=Tl(284),h[t+12>>2]),w=t+16|0,0|e},emscripten_bind_btWheelInfo_getSuspensionRestLength_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,w=t+16|0,v(m[h[t+12>>2]+204>>2])},emscripten_bind_btWheelInfo_updateWheel_2:function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,function(e,t){var n=v(0),i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0);if(d[e+84|0])return n=m[e>>2],i=m[e+4>>2],s=m[e+8>>2],(r=v(v(v(n*m[e+52>>2])+v(i*m[e+56>>2]))+v(s*m[e+60>>2])))>=v(-.10000000149011612)?(h[e+272>>2]=0,void(m[e+268>>2]=10)):(r=v(v(-1)/r),a=n,n=m[t+332>>2],o=v(m[e+24>>2]-m[t+60>>2]),c=v(m[e+20>>2]-m[t+56>>2]),l=m[t+336>>2],u=v(a*v(v(v(n*o)-v(c*l))+m[t+312>>2])),p=i,i=v(m[e+16>>2]-m[t+52>>2]),a=o,o=m[t+328>>2],m[e+272>>2]=r*v(v(u+v(p*v(v(v(i*l)-v(a*o))+m[t+316>>2])))+v(s*v(v(v(c*o)-v(i*n))+m[t+320>>2]))),void(m[e+268>>2]=r));h[e+272>>2]=0,h[e+12>>2]=0,h[e+32>>2]=h[e+204>>2],m[e>>2]=-m[e+52>>2],m[e+8>>2]=-m[e+60>>2],m[e+4>>2]=-m[e+56>>2],m[e+268>>2]=1}(h[i+12>>2],h[i+8>>2]),w=i+16|0},emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+216>>2])},emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+216>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_frictionSlip_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+228>>2])},emscripten_bind_btWheelInfo_set_m_frictionSlip_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+228>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_engineForce_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+252>>2])},emscripten_bind_btWheelInfo_set_m_engineForce_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+252>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_rollInfluence_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+244>>2])},emscripten_bind_btWheelInfo_set_m_rollInfluence_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+244>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+204>>2])},emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+204>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_wheelsRadius_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+212>>2])},emscripten_bind_btWheelInfo_set_m_wheelsRadius_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+212>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+220>>2])},emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+220>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+224>>2])},emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+224>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_steering_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+232>>2])},emscripten_bind_btWheelInfo_set_m_steering_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+232>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+248>>2])},emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+248>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+208>>2])},emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+208>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+276>>2])},emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+276>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,1&o[h[t+12>>2]+260|0]},emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,o[n+11|0]=t,o[h[n+12>>2]+260|0]=1&o[n+11|0]},emscripten_bind_btWheelInfo_get_m_raycastInfo_0:lh,emscripten_bind_btWheelInfo_set_m_raycastInfo_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Vn(h[n+12>>2],h[n+8>>2],92),w=n+16|0},emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+156|0},emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1:function(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+156>>2]=h[e>>2],h[t+160>>2]=n,n=h[e+12>>2],h[t+164>>2]=h[e+8>>2],h[t+168>>2]=n},emscripten_bind_btWheelInfo_get_m_worldTransform_0:Kp,emscripten_bind_btWheelInfo_set_m_worldTransform_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Pa(h[n+12>>2]+92|0,h[n+8>>2]),w=n+16|0},emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+172|0},emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1:function(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+172>>2]=h[e>>2],h[t+176>>2]=n,n=h[e+12>>2],h[t+180>>2]=h[e+8>>2],h[t+184>>2]=n},emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+188|0},emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1:function(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+188>>2]=h[e>>2],h[t+192>>2]=n,n=h[e+12>>2],h[t+196>>2]=h[e+8>>2],h[t+200>>2]=n},emscripten_bind_btWheelInfo_get_m_rotation_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+236>>2])},emscripten_bind_btWheelInfo_set_m_rotation_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+236>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_deltaRotation_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+240>>2])},emscripten_bind_btWheelInfo_set_m_deltaRotation_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+240>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_brake_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+256>>2])},emscripten_bind_btWheelInfo_set_m_brake_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+256>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+268>>2])},emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+268>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+272>>2])},emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+272>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo_get_m_skidInfo_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+280>>2])},emscripten_bind_btWheelInfo_set_m_skidInfo_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+280>>2]=m[n+8>>2]},emscripten_bind_btWheelInfo___destroy___0:tp,emscripten_bind_btVector4_btVector4_0:function(){var e;return nu(e=El(16)),0|e},emscripten_bind_btVector4_btVector4_4:function(e,t,n,i){var r,o;return e=v(e),t=v(t),n=v(n),i=v(i),w=r=w-16|0,m[r+12>>2]=e,m[r+8>>2]=t,m[r+4>>2]=n,m[r>>2]=i,function(e,t,n,i,r){var o;w=o=w-32|0,h[o+28>>2]=e,h[o+24>>2]=t,h[o+20>>2]=n,h[o+16>>2]=i,h[o+12>>2]=r,bs(e=h[o+28>>2],h[o+24>>2],h[o+20>>2],h[o+16>>2]),m[e+12>>2]=m[h[o+12>>2]>>2],w=o+32|0}(o=El(16),r+12|0,r+8|0,r+4|0,r),w=r+16|0,0|o},emscripten_bind_btVector4_w_0:cl,emscripten_bind_btVector4_setValue_4:Ga,emscripten_bind_btVector4_length_0:Du,emscripten_bind_btVector4_x_0:bl,emscripten_bind_btVector4_y_0:ll,emscripten_bind_btVector4_z_0:ul,emscripten_bind_btVector4_setX_1:Bs,emscripten_bind_btVector4_setY_1:Ls,emscripten_bind_btVector4_setZ_1:Ns,emscripten_bind_btVector4_normalize_0:wp,emscripten_bind_btVector4_rotate_2:function(e,t,n){var i;return e|=0,t|=0,n=v(n),w=i=w-32|0,h[i+28>>2]=e,h[i+24>>2]=t,m[i+20>>2]=n,1&o[26524]||Vl(26524)&&(h[12+(w-16|0)>>2]=26508,Fu(26524)),Vr(i,h[i+28>>2],h[i+24>>2],m[i+20>>2]),e=h[i+4>>2],h[6627]=h[i>>2],h[6628]=e,e=h[i+12>>2],h[6629]=h[i+8>>2],h[6630]=e,w=i+32|0,26508},emscripten_bind_btVector4_dot_1:Kc,emscripten_bind_btVector4_op_mul_1:Pl,emscripten_bind_btVector4_op_add_1:Cl,emscripten_bind_btVector4_op_sub_1:Al,emscripten_bind_btVector4___destroy___0:rp,emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0:function(){var e;return Pc(e=Tl(24)),0|e},emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0:tp,emscripten_bind_Anchor_get_m_node_0:Hp,emscripten_bind_Anchor_set_m_node_1:Gu,emscripten_bind_Anchor_get_m_local_0:ch,emscripten_bind_Anchor_set_m_local_1:ds,emscripten_bind_Anchor_get_m_body_0:kp,emscripten_bind_Anchor_set_m_body_1:wu,emscripten_bind_Anchor_get_m_influence_0:Ep,emscripten_bind_Anchor_set_m_influence_1:Tu,emscripten_bind_Anchor_get_m_c0_0:Yp,emscripten_bind_Anchor_set_m_c0_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,uo(h[n+12>>2]+28|0,h[n+8>>2]),w=n+16|0},emscripten_bind_Anchor_get_m_c1_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+76|0},emscripten_bind_Anchor_set_m_c1_1:function(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+76>>2]=h[e>>2],h[t+80>>2]=n,n=h[e+12>>2],h[t+84>>2]=h[e+8>>2],h[t+88>>2]=n},emscripten_bind_Anchor_get_m_c2_0:Ap,emscripten_bind_Anchor_set_m_c2_1:Eu,emscripten_bind_Anchor___destroy___0:tp,emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0:lh,emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1:gs,emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0:th,emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1:cs,emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0:xp,emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1:yu,emscripten_bind_btVehicleRaycasterResult___destroy___0:tp,emscripten_bind_btVector3Array_size_0:Sl,emscripten_bind_btVector3Array_at_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,w=n+16|0,h[h[e+12>>2]+12>>2]+(h[e+8>>2]<<4)|0},emscripten_bind_btVector3Array___destroy___0:Ku,emscripten_bind_btConstraintSolver___destroy___0:ou,emscripten_bind_btRaycastVehicle_btRaycastVehicle_3:function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,function(e,t,n){h[e>>2]=19996,h[e+104>>2]=0,h[e+100>>2]=n,o[e+20|0]=1,h[e+16>>2]=0,o[e+40|0]=1,h[e+8>>2]=0,h[e+12>>2]=0,h[e+36>>2]=0,o[e+60|0]=1,h[e+28>>2]=0,h[e+32>>2]=0,h[e+56>>2]=0,o[e+80|0]=1,h[e+48>>2]=0,h[e+52>>2]=0,h[e+76>>2]=0,o[e+148|0]=1,h[e+68>>2]=0,h[e+72>>2]=0,h[e+144>>2]=0,h[e+136>>2]=0,h[e+140>>2]=0,h[e+128>>2]=1,h[e+120>>2]=0,h[e+124>>2]=2,h[e+116>>2]=t,h[e+108>>2]=0,h[e+112>>2]=0}(e=Tl(152),h[i+8>>2],h[i+4>>2]),w=i+16|0,0|e},emscripten_bind_btRaycastVehicle_applyEngineForce_2:function(e,t,n){var i;e|=0,t=v(t),n|=0,w=i=w-16|0,h[i+12>>2]=e,m[i+8>>2]=t,h[i+4>>2]=n,m[252+(h[h[i+12>>2]+144>>2]+g(h[i+4>>2],284)|0)>>2]=m[i+8>>2],w=i+16|0},emscripten_bind_btRaycastVehicle_setSteeringValue_2:function(e,t,n){var i;e|=0,t=v(t),n|=0,w=i=w-16|0,h[i+12>>2]=e,m[i+8>>2]=t,h[i+4>>2]=n,m[232+(h[h[i+12>>2]+144>>2]+g(h[i+4>>2],284)|0)>>2]=m[i+8>>2],w=i+16|0},emscripten_bind_btRaycastVehicle_getWheelTransformWS_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,w=n+16|0,92+(h[h[n+12>>2]+144>>2]+g(h[n+8>>2],284)|0)|0},emscripten_bind_btRaycastVehicle_updateWheelTransform_2:function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,o[i+7|0]=n,ht(h[i+12>>2],h[i+8>>2],1&o[i+7|0]),w=i+16|0},emscripten_bind_btRaycastVehicle_addWheel_7:function(e,t,n,i,a,s,c,l){var u;return e|=0,t|=0,n|=0,i|=0,a=v(a),s=v(s),c|=0,l|=0,w=u=w-32|0,h[u+28>>2]=e,h[u+24>>2]=t,h[u+20>>2]=n,h[u+16>>2]=i,m[u+12>>2]=a,m[u+8>>2]=s,h[u+4>>2]=c,o[u+3|0]=l,e=function(e,t,n,i,a,s,c,l){var u,p,f,_,b,v,y,C,A,x,S,T,E=0,P=0,O=0,M=0;if(w=u=w-288|0,O=h[t+12>>2],h[u+248>>2]=h[t+8>>2],h[u+252>>2]=O,O=h[t+4>>2],h[u+240>>2]=h[t>>2],h[u+244>>2]=O,t=h[n+12>>2],h[u+264>>2]=h[n+8>>2],h[u+268>>2]=t,t=h[n+4>>2],h[u+256>>2]=h[n>>2],h[u+260>>2]=t,t=h[i+12>>2],h[u+280>>2]=h[i+8>>2],h[u+284>>2]=t,t=h[i+4>>2],h[u+272>>2]=h[i>>2],h[u+276>>2]=t,f=h[c>>2],_=h[c+4>>2],b=h[c+8>>2],v=h[c+16>>2],y=h[c+12>>2],C=h[c+20>>2],t=h[u+252>>2],h[u+196>>2]=h[u+248>>2],h[u+200>>2]=t,t=h[u+244>>2],h[u+188>>2]=h[u+240>>2],h[u+192>>2]=t,t=h[u+268>>2],h[u+212>>2]=h[u+264>>2],h[u+216>>2]=t,t=h[u+260>>2],h[u+204>>2]=h[u+256>>2],h[u+208>>2]=t,t=h[u+284>>2],h[u+228>>2]=h[u+280>>2],h[u+232>>2]=t,t=h[u+276>>2],h[u+220>>2]=h[u+272>>2],h[u+224>>2]=t,(0|(t=h[e+136>>2]))==h[e+140>>2]&&!((0|t)>=(0|(P=t?t<<1:1)))){if(P&&(h[7717]=h[7717]+1,M=0|r[h[6606]](g(P,284),16),t=h[e+136>>2]),(0|t)>=1)for(n=0;E=Vn((c=g(n,284))+M|0,i=c+h[e+144>>2]|0,92),c=h[i+104>>2],h[E+100>>2]=h[i+100>>2],h[E+104>>2]=c,c=h[i+96>>2],h[E+92>>2]=h[i+92>>2],h[E+96>>2]=c,c=h[i+120>>2],h[E+116>>2]=h[i+116>>2],h[E+120>>2]=c,c=h[i+112>>2],h[E+108>>2]=h[i+108>>2],h[E+112>>2]=c,c=h[i+136>>2],h[E+132>>2]=h[i+132>>2],h[E+136>>2]=c,c=h[i+128>>2],h[E+124>>2]=h[i+124>>2],h[E+128>>2]=c,c=h[i+144>>2],h[E+140>>2]=h[i+140>>2],h[E+144>>2]=c,c=h[i+152>>2],h[E+148>>2]=h[i+148>>2],h[E+152>>2]=c,Vn(E+156|0,i+156|0,128),(0|(n=n+1|0))!=(0|t););(t=h[e+144>>2])&&(d[e+148|0]&&t&&(h[7718]=h[7718]+1,r[h[6607]](t)),h[e+144>>2]=0),h[e+144>>2]=M,h[e+140>>2]=P,o[e+148|0]=1,t=h[e+136>>2]}return p=Vn(h[e+144>>2]+g(t,284)|0,u+32|0,92),t=h[u+136>>2],h[p+100>>2]=h[u+132>>2],h[p+104>>2]=t,t=h[u+128>>2],h[p+92>>2]=h[u+124>>2],h[p+96>>2]=t,t=h[u+152>>2],h[p+116>>2]=h[u+148>>2],h[p+120>>2]=t,t=h[u+144>>2],h[p+108>>2]=h[u+140>>2],h[p+112>>2]=t,t=h[u+168>>2],h[p+132>>2]=h[u+164>>2],h[p+136>>2]=t,t=h[u+160>>2],h[p+124>>2]=h[u+156>>2],h[p+128>>2]=t,t=h[u+184>>2],h[p+148>>2]=h[u+180>>2],h[p+152>>2]=t,t=h[u+176>>2],h[p+140>>2]=h[u+172>>2],h[p+144>>2]=t,A=h[u+228>>2],x=h[u+232>>2],S=h[u+220>>2],T=h[u+224>>2],E=h[u+212>>2],P=h[u+216>>2],M=h[u+204>>2],O=h[u+208>>2],c=h[u+196>>2],i=h[u+200>>2],n=h[u+188>>2],t=h[u+192>>2],m[p+204>>2]=a,h[p+208>>2]=y,m[p+212>>2]=s,h[p+216>>2]=f,h[p+220>>2]=_,h[p+224>>2]=b,h[p+228>>2]=v,h[p+248>>2]=C,h[p+232>>2]=0,h[p+236>>2]=0,h[p+240>>2]=0,h[p+244>>2]=1036831949,h[p+252>>2]=0,h[p+256>>2]=0,h[p+156>>2]=n,h[p+160>>2]=t,h[p+164>>2]=c,h[p+168>>2]=i,h[p+172>>2]=M,h[p+176>>2]=O,h[p+180>>2]=E,h[p+184>>2]=P,h[p+188>>2]=S,h[p+192>>2]=T,h[p+196>>2]=A,h[p+200>>2]=x,o[p+260|0]=l,n=d[u+28|0]|d[u+29|0]<<8|d[u+30|0]<<16|d[u+31|0]<<24,t=d[u+24|0]|d[u+25|0]<<8|d[u+26|0]<<16|d[u+27|0]<<24,o[p+276|0]=t,o[p+277|0]=t>>>8,o[p+278|0]=t>>>16,o[p+279|0]=t>>>24,o[p+280|0]=n,o[p+281|0]=n>>>8,o[p+282|0]=n>>>16,o[p+283|0]=n>>>24,n=d[u+21|0]|d[u+22|0]<<8|d[u+23|0]<<16|d[u+24|0]<<24,t=d[u+17|0]|d[u+18|0]<<8|d[u+19|0]<<16|d[u+20|0]<<24,o[p+269|0]=t,o[p+270|0]=t>>>8,o[p+271|0]=t>>>16,o[p+272|0]=t>>>24,o[p+273|0]=n,o[p+274|0]=n>>>8,o[p+275|0]=n>>>16,o[p+276|0]=n>>>24,n=d[u+13|0]|d[u+14|0]<<8|d[u+15|0]<<16|d[u+16|0]<<24,t=d[u+9|0]|d[u+10|0]<<8|d[u+11|0]<<16|d[u+12|0]<<24,o[p+261|0]=t,o[p+262|0]=t>>>8,o[p+263|0]=t>>>16,o[p+264|0]=t>>>24,o[p+265|0]=n,o[p+266|0]=n>>>8,o[p+267|0]=n>>>16,o[p+268|0]=n>>>24,t=h[e+136>>2],h[e+136>>2]=t+1,fn(e,t=h[e+144>>2]+g(t,284)|0,0),ht(e,h[e+136>>2]+-1|0,0),w=u+288|0,t}(h[u+28>>2],h[u+24>>2],h[u+20>>2],h[u+16>>2],m[u+12>>2],m[u+8>>2],h[u+4>>2],1&o[u+3|0]),w=u+32|0,0|e},emscripten_bind_btRaycastVehicle_getNumWheels_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=function(e){var t;return w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2]+132,w=t+16|0,h[h[e+12>>2]+4>>2]}(h[t+12>>2]),w=t+16|0,0|e},emscripten_bind_btRaycastVehicle_getRigidBody_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+116>>2]},emscripten_bind_btRaycastVehicle_getWheelInfo_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,w=n+16|0,h[h[n+12>>2]+144>>2]+g(h[n+8>>2],284)|0},emscripten_bind_btRaycastVehicle_setBrake_2:function(e,t,n){var i;e|=0,t=v(t),n|=0,w=i=w-16|0,h[i+12>>2]=e,m[i+8>>2]=t,h[i+4>>2]=n,m[256+(h[h[i+12>>2]+144>>2]+g(h[i+4>>2],284)|0)>>2]=m[i+8>>2],w=i+16|0},emscripten_bind_btRaycastVehicle_setCoordinateSystem_3:function(e,t,n,i){var o;e|=0,t|=0,n|=0,i|=0,w=o=w-16|0,h[o+12>>2]=e,h[o+8>>2]=t,h[o+4>>2]=n,h[o>>2]=i,e=h[o+12>>2],r[h[h[e>>2]+24>>2]](e,h[o+8>>2],h[o+4>>2],h[o>>2]),w=o+16|0},emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,v(m[h[e+12>>2]+112>>2])},emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,w=t+16|0,h[h[t+12>>2]+116>>2]+4|0},emscripten_bind_btRaycastVehicle_rayCast_1:function(e,t){e|=0,t|=0;var n,i=v(0);return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,i=Kt(h[n+12>>2],h[n+8>>2]),w=n+16|0,v(i)},emscripten_bind_btRaycastVehicle_updateVehicle_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+16>>2]](e,m[n+8>>2]),w=n+16|0},emscripten_bind_btRaycastVehicle_resetSuspension_0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,function(e){var t=0,n=0,i=v(0);if(h[e+136>>2]>=1)for(;t=h[e+144>>2]+g(n,284)|0,i=m[t+204>>2],h[t+12>>2]=0,h[t+268>>2]=1065353216,h[t+272>>2]=0,m[t+32>>2]=i,m[t+8>>2]=-m[t+60>>2],m[t+4>>2]=-m[t+56>>2],m[t>>2]=-m[t+52>>2],(0|(n=n+1|0))>2];);}(h[t+12>>2]),w=t+16|0},emscripten_bind_btRaycastVehicle_getSteeringValue_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,w=n+16|0,v(m[232+(h[h[n+12>>2]+144>>2]+g(h[n+8>>2],284)|0)>>2])},emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,fn(h[n+12>>2],h[n+8>>2],1),w=n+16|0},emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2:function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,o[i+7|0]=n,fn(h[i+12>>2],h[i+8>>2],1&o[i+7|0]),w=i+16|0},emscripten_bind_btRaycastVehicle_setPitchControl_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,m[h[e+12>>2]+104>>2]=m[e+8>>2],w=n+16|0},emscripten_bind_btRaycastVehicle_updateSuspension_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,function(e){var t=0,n=v(0),i=0,r=v(0);if(h[e+136>>2]>=1)for(r=v(v(1)/m[h[e+116>>2]+344>>2]);n=v(0),t=h[e+144>>2]+g(i,284)|0,d[t+84|0]&&(n=m[t+272>>2],n=v(A(v(r*v(v(v(m[t+216>>2]*v(m[t+204>>2]-m[t+32>>2]))*m[t+268>>2])-v(n*m[(n>2]))),v(0)))),m[t+276>>2]=n,(0|(i=i+1|0))>2];);}(h[n+12>>2]),w=n+16|0},emscripten_bind_btRaycastVehicle_updateFriction_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+20>>2]](e,m[n+8>>2]),w=n+16|0},emscripten_bind_btRaycastVehicle_getRightAxis_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+120>>2]},emscripten_bind_btRaycastVehicle_getUpAxis_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+124>>2]},emscripten_bind_btRaycastVehicle_getForwardAxis_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+128>>2]},emscripten_bind_btRaycastVehicle_getForwardVector_0:function(e){var t;return e|=0,w=t=w-32|0,h[t+28>>2]=e,1&o[26544]||Vl(26544)&&(h[12+(w-16|0)>>2]=26528,Fu(26544)),function(e,t){var n,i=0,r=0,o=0,a=0;w=n=w-16|0,h[n+12>>2]=t,t=h[n+12>>2],h[n+8>>2]=h[t+116>>2]+4,h[12+(r=w-16|0)>>2]=h[n+8>>2],h[12+(i=w-16|0)>>2]=h[r+12>>2],h[i+8>>2]=0,h[12+(r=w-16|0)>>2]=h[i+12>>2]+(h[i+8>>2]<<4),r=h[r+12>>2]+(h[t+128>>2]<<2)|0,h[12+(o=w-16|0)>>2]=h[n+8>>2],h[12+(i=w-16|0)>>2]=h[o+12>>2],h[i+8>>2]=1,h[12+(o=w-16|0)>>2]=h[i+12>>2]+(h[i+8>>2]<<4),o=h[o+12>>2]+(h[t+128>>2]<<2)|0,h[12+(a=w-16|0)>>2]=h[n+8>>2],h[12+(i=w-16|0)>>2]=h[a+12>>2],h[i+8>>2]=2,h[12+(a=w-16|0)>>2]=h[i+12>>2]+(h[i+8>>2]<<4),bs(e,r,o,h[a+12>>2]+(h[t+128>>2]<<2)|0),w=n+16|0}(t+8|0,h[t+28>>2]),e=h[t+12>>2],h[6632]=h[t+8>>2],h[6633]=e,e=h[t+20>>2],h[6634]=h[t+16>>2],h[6635]=e,w=t+32|0,26528},emscripten_bind_btRaycastVehicle_getUserConstraintType_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+84>>2]},emscripten_bind_btRaycastVehicle_setUserConstraintType_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,h[h[e+12>>2]+84>>2]=h[e+8>>2],w=n+16|0},emscripten_bind_btRaycastVehicle_setUserConstraintId_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,h[h[e+12>>2]+88>>2]=h[e+8>>2],w=n+16|0},emscripten_bind_btRaycastVehicle_getUserConstraintId_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[h[e+12>>2]+88>>2]},emscripten_bind_btRaycastVehicle_updateAction_2:qs,emscripten_bind_btRaycastVehicle___destroy___0:ou,emscripten_bind_btCylinderShapeX_btCylinderShapeX_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,tr(e=El(56),h[t+12>>2]),h[e+52>>2]=0,h[e>>2]=15728,w=t+16|0,0|e},emscripten_bind_btCylinderShapeX_setMargin_1:kc,emscripten_bind_btCylinderShapeX_getMargin_0:pl,emscripten_bind_btCylinderShapeX_setLocalScaling_1:zc,emscripten_bind_btCylinderShapeX_getLocalScaling_0:Dl,emscripten_bind_btCylinderShapeX_calculateLocalInertia_2:Zs,emscripten_bind_btCylinderShapeX___destroy___0:ou,emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,tr(e=El(56),h[t+12>>2]),h[e+52>>2]=2,h[e>>2]=15832,w=t+16|0,0|e},emscripten_bind_btCylinderShapeZ_setMargin_1:kc,emscripten_bind_btCylinderShapeZ_getMargin_0:pl,emscripten_bind_btCylinderShapeZ_setLocalScaling_1:zc,emscripten_bind_btCylinderShapeZ_getLocalScaling_0:Dl,emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2:Zs,emscripten_bind_btCylinderShapeZ___destroy___0:ou,emscripten_bind_btConvexPolyhedron_get_m_vertices_0:ch,emscripten_bind_btConvexPolyhedron_set_m_vertices_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Wu(h[n+12>>2]+4|0,h[n+8>>2]),w=n+16|0},emscripten_bind_btConvexPolyhedron_get_m_faces_0:eh,emscripten_bind_btConvexPolyhedron_set_m_faces_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Mo(h[n+12>>2],h[n+8>>2]),w=n+16|0}(h[n+12>>2]+24|0,h[n+8>>2]),w=n+16|0},emscripten_bind_btConvexPolyhedron___destroy___0:ou,emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0:function(){var e;return Pr(e=El(196)),0|e},emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0:ou,emscripten_bind_tAnchorArray_size_0:Sl,emscripten_bind_tAnchorArray_at_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,1&o[26644]||Vl(26644)&&(nl(26548),Fu(26644)),t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,function(e){var t,n=0,i=0;w=t=w-16|0,h[t+12>>2]=26548,h[t+8>>2]=e,n=h[t+8>>2],i=h[n+4>>2],e=h[t+12>>2],h[e>>2]=h[n>>2],h[e+4>>2]=i,h[e+24>>2]=h[n+24>>2],i=h[n+20>>2],h[e+16>>2]=h[n+16>>2],h[e+20>>2]=i,i=h[n+12>>2],h[e+8>>2]=h[n+8>>2],h[e+12>>2]=i,uo(e+28|0,h[t+8>>2]+28|0),n=h[t+8>>2],i=h[n+80>>2],h[e+76>>2]=h[n+76>>2],h[e+80>>2]=i,h[e+92>>2]=h[n+92>>2],i=h[n+88>>2],h[e+84>>2]=h[n+84>>2],h[e+88>>2]=i,w=t+16|0}(h[h[e+12>>2]+12>>2]+g(h[e+8>>2],96)|0),w=n+16|0,26548},emscripten_bind_tAnchorArray_clear_0:Dp,emscripten_bind_tAnchorArray_push_back_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,co(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_tAnchorArray_pop_back_0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],e=h[e+12>>2],h[e+4>>2]=h[e+4>>2]+-1,w=t+16|0},emscripten_bind_tAnchorArray___destroy___0:Ku,emscripten_bind_RaycastInfo_get_m_contactNormalWS_0:lh,emscripten_bind_RaycastInfo_set_m_contactNormalWS_1:gs,emscripten_bind_RaycastInfo_get_m_contactPointWS_0:th,emscripten_bind_RaycastInfo_set_m_contactPointWS_1:cs,emscripten_bind_RaycastInfo_get_m_suspensionLength_0:xp,emscripten_bind_RaycastInfo_set_m_suspensionLength_1:yu,emscripten_bind_RaycastInfo_get_m_hardPointWS_0:rh,emscripten_bind_RaycastInfo_set_m_hardPointWS_1:ls,emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0:Wp,emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1:qa,emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0:Xp,emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1:Ja,emscripten_bind_RaycastInfo_get_m_isInContact_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,1&o[h[t+12>>2]+84|0]},emscripten_bind_RaycastInfo_set_m_isInContact_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,o[n+11|0]=t,o[h[n+12>>2]+84|0]=1&o[n+11|0]},emscripten_bind_RaycastInfo_get_m_groundObject_0:Vp,emscripten_bind_RaycastInfo_set_m_groundObject_1:Pu,emscripten_bind_RaycastInfo___destroy___0:tp,emscripten_bind_btMultiSphereShape_btMultiSphereShape_3:function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,Wt(e=El(128),h[i+12>>2],h[i+8>>2],h[i+4>>2]),w=i+16|0,0|e},emscripten_bind_btMultiSphereShape_setLocalScaling_1:zc,emscripten_bind_btMultiSphereShape_getLocalScaling_0:Dl,emscripten_bind_btMultiSphereShape_calculateLocalInertia_2:Zs,emscripten_bind_btMultiSphereShape___destroy___0:ou,emscripten_bind_btSoftBody_btSoftBody_4:function(e,t,n,i){var r;return e|=0,t|=0,n|=0,i|=0,w=r=w-16|0,h[r+12>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,h[r>>2]=i,Ee(e=El(1252),h[r+12>>2],h[r+8>>2],h[r+4>>2],h[r>>2]),w=r+16|0,0|e},emscripten_bind_btSoftBody_checkLink_2:function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,e=1&function(e,t,n){var i,r=0,o=0,a=0;if((0|(i=h[e+732>>2]))>=1)for(n=(r=h[e+720>>2])+g(n,104)|0,t=r+g(t,104)|0,a=h[e+740>>2],e=0;;){if(r=g(e,52)+a|0,!((0|t)!=(0|(o=h[r+8>>2]))|(0|n)!=h[r+12>>2]))return 1;if(!((0|n)!=(0|o)|(0|t)!=h[r+12>>2]))return 1;if((0|i)==(0|(e=e+1|0)))break}return 0}(h[i+12>>2],h[i+8>>2],h[i+4>>2]),w=i+16|0,0|e},emscripten_bind_btSoftBody_checkFace_3:function(e,t,n,i){var r;return e|=0,t|=0,n|=0,i|=0,w=r=w-16|0,h[r+12>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,h[r>>2]=i,e=1&function(e,t,n,i){var r,o,a=0,s=0;if((0|(r=h[e+752>>2]))<1)return 0;i=(a=h[e+720>>2])+g(i,104)|0,n=a+g(n,104)|0,t=a+g(t,104)|0,o=h[e+760>>2],e=0;e:{for(;;){if(a=g(e,44)+o|0,((0|n)==(0|(s=h[a+8>>2]))||(0|s)==(0|i)|(0|t)==(0|s))&&((0|n)==(0|(s=h[a+12>>2]))||(0|s)==(0|i)|(0|t)==(0|s))&&(0|(a=h[a+16>>2]))==(0|i)|(0|t)==(0|a)|(0|n)==(0|a))break e;if((0|r)==(0|(e=e+1|0)))break}return 0}return 1}(h[r+12>>2],h[r+8>>2],h[r+4>>2],h[r>>2]),w=r+16|0,0|e},emscripten_bind_btSoftBody_appendMaterial_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=Ti(h[t+12>>2]),w=t+16|0,0|e},emscripten_bind_btSoftBody_appendNode_2:function(e,t,n){var i;e|=0,t|=0,n=v(n),w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,m[i+4>>2]=n,Yt(h[i+12>>2],h[i+8>>2],m[i+4>>2]),w=i+16|0},emscripten_bind_btSoftBody_appendLink_4:function(e,t,n,i,r){var a;e|=0,t|=0,n|=0,i|=0,r|=0,w=a=w-32|0,h[a+28>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,o[a+15|0]=r,sp(h[a+28>>2],h[a+24>>2],h[a+20>>2],h[a+16>>2],1&o[a+15|0]),w=a+32|0},emscripten_bind_btSoftBody_appendFace_4:function(e,t,n,i,r){var o;e|=0,t|=0,n|=0,i|=0,r|=0,w=o=w-32|0,h[o+28>>2]=e,h[o+24>>2]=t,h[o+20>>2]=n,h[o+16>>2]=i,h[o+12>>2]=r,vr(h[o+28>>2],h[o+24>>2],h[o+20>>2],h[o+16>>2],h[o+12>>2]),w=o+32|0},emscripten_bind_btSoftBody_appendTetra_5:function(e,t,n,i,r,a){var s;e|=0,t|=0,n|=0,i|=0,r|=0,a|=0,w=s=w-32|0,h[s+28>>2]=e,h[s+24>>2]=t,h[s+20>>2]=n,h[s+16>>2]=i,h[s+12>>2]=r,h[s+8>>2]=a,function(e,t,n,i,r,a){var s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0);ur(e,a),a=h[e+780>>2]+g(h[e+772>>2],104)|0,t=h[e+720>>2]+g(t,104)|0,h[a+-96>>2]=t,n=h[e+720>>2]+g(n,104)|0,h[a+-92>>2]=n,i=h[e+720>>2]+g(i,104)|0,h[a+-88>>2]=i,r=h[e+720>>2]+g(r,104)|0,h[a+-84>>2]=r,s=m[t+16>>2],u=v(m[r+16>>2]-s),c=m[t+8>>2],p=v(m[i+8>>2]-c),l=m[t+12>>2],d=v(m[r+12>>2]-l),f=v(m[i+12>>2]-l),_=v(m[r+8>>2]-c),b=v(v(m[n+16>>2]-s)*v(v(p*d)-v(f*_))),s=v(m[i+16>>2]-s),m[a+-80>>2]=b+v(v(v(m[n+8>>2]-c)*v(v(f*u)-v(s*d)))+v(v(m[n+12>>2]-l)*v(v(s*_)-v(p*u)))),o[e+924|0]=1}(h[s+28>>2],h[s+24>>2],h[s+20>>2],h[s+16>>2],h[s+12>>2],h[s+8>>2]),w=s+32|0},emscripten_bind_btSoftBody_appendAnchor_4:function(e,t,n,i,r){var a;e|=0,t|=0,n|=0,i|=0,r=v(r),w=a=w-32|0,h[a+28>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,o[a+19|0]=i,m[a+12>>2]=r,function(e,t,n,i,r){var o,a,s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0);w=o=w-16|0,a=h[e+720>>2]+g(t,104)|0,c=m[a+16>>2],l=m[a+12>>2],u=m[a+8>>2],f=m[n+20>>2],_=m[n+36>>2],b=m[n+40>>2],y=m[n+24>>2],C=m[n+8>>2],p=m[n+60>>2],A=m[n+44>>2],x=m[n+28>>2],s=m[n+56>>2],d=m[n+52>>2],S=m[n+12>>2],T=m[n+4>>2],h[o+12>>2]=0,s=v(-s),m[o+8>>2]=v(v(v(x*s)-v(S*d))-v(A*p))+v(v(v(S*u)+v(x*l))+v(A*c)),m[o+4>>2]=v(v(v(y*s)-v(C*d))-v(b*p))+v(v(v(C*u)+v(y*l))+v(b*c)),m[o>>2]=v(v(v(f*s)-v(T*d))-v(_*p))+v(v(v(T*u)+v(f*l))+v(_*c)),hi(e,t,n,o,i,r),w=o+16|0}(h[a+28>>2],h[a+24>>2],h[a+20>>2],1&o[a+19|0],m[a+12>>2]),w=a+32|0},emscripten_bind_btSoftBody_addForce_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n,i=0,r=0;if((0|(n=h[e+712>>2]))>=1)for(r=h[e+720>>2],e=0;i=g(e,104)+r|0,m[i+88>>2]>v(0)&&(m[i+56>>2]=m[t>>2]+m[i+56>>2],m[i+60>>2]=m[t+4>>2]+m[i+60>>2],m[(i=i- -64|0)>>2]=m[t+8>>2]+m[i>>2]),(0|n)!=(0|(e=e+1|0)););}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btSoftBody_addForce_2:function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,function(e,t,n){e=h[e+720>>2]+g(n,104)|0,m[e+88>>2]>v(0)&&(m[e+56>>2]=m[t>>2]+m[e+56>>2],m[e+60>>2]=m[t+4>>2]+m[e+60>>2],m[(e=e- -64|0)>>2]=m[t+8>>2]+m[e>>2])}(h[i+12>>2],h[i+8>>2],h[i+4>>2]),w=i+16|0},emscripten_bind_btSoftBody_addAeroForceToNode_2:function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,et(h[i+12>>2],h[i+8>>2],h[i+4>>2]),w=i+16|0},emscripten_bind_btSoftBody_getTotalMass_0:function(e){e|=0;var t,n=v(0);return w=t=w-16|0,h[t+12>>2]=e,n=function(e){var t,n=v(0),i=0,r=v(0);if((0|(t=h[e+712>>2]))>=1)for(i=h[e+720>>2],e=0;r=n,n=m[88+(g(e,104)+i|0)>>2],n=v(r+(n>v(0)?v(v(1)/n):v(0))),(0|t)!=(0|(e=e+1|0)););return n}(h[t+12>>2]),w=t+16|0,v(n)},emscripten_bind_btSoftBody_setTotalMass_2:function(e,t,n){var i;e|=0,t=v(t),n|=0,w=i=w-16|0,h[i+12>>2]=e,m[i+8>>2]=t,o[i+7|0]=n,function(e,t,n){var i,r=v(0),a=0,s=0,c=v(0),l=v(0),u=v(0),p=0,d=v(0),f=0,_=v(0),b=0,y=v(0);i=h[e+712>>2];e:{if(n){if((0|i)>=1)for(s=h[e+720>>2],n=0;h[88+(s+g(n,104)|0)>>2]=0,(0|i)!=(0|(n=n+1|0)););if((0|(f=h[e+752>>2]))>=1)for(b=h[e+760>>2];a=g(p,44)+b|0,n=h[a+8>>2],s=h[a+12>>2],r=m[n+8>>2],_=v(m[s+8>>2]-r),a=h[a+16>>2],c=m[n+12>>2],l=v(m[a+12>>2]-c),c=v(m[s+12>>2]-c),r=v(m[a+8>>2]-r),u=v(v(_*l)-v(c*r)),y=v(u*u),d=c,c=m[n+16>>2],u=v(m[a+16>>2]-c),c=v(m[s+16>>2]-c),l=v(v(d*u)-v(c*l)),r=v(v(c*r)-v(_*u)),r=v(S(v(y+v(v(l*l)+v(r*r))))),m[n+88>>2]=r+m[n+88>>2],m[s+88>>2]=r+m[s+88>>2],m[a+88>>2]=r+m[a+88>>2],(0|f)!=(0|(p=p+1|0)););if((0|i)<1)break e;for(s=h[e+720>>2],n=0;a=s+g(n,104)|0,m[a+88>>2]=v(1)/m[a+88>>2],(0|i)!=(0|(n=n+1|0)););}if(!((0|i)<1)){for(s=h[e+720>>2],n=0,r=v(0);d=r,r=m[88+(s+g(n,104)|0)>>2],r=v(d+(r>v(0)?v(v(1)/r):v(0))),(0|i)!=(0|(n=n+1|0)););if(!((0|i)<1))for(t=v(v(v(1)/r)*t),s=h[e+720>>2],n=0;a=s+g(n,104)|0,m[a+88>>2]=m[a+88>>2]/t,(0|i)!=(0|(n=n+1|0)););}}o[e+924|0]=1}(h[i+12>>2],m[i+8>>2],1&o[i+7|0]),w=i+16|0},emscripten_bind_btSoftBody_setMass_2:function(e,t,n){var i;e|=0,t|=0,n=v(n),w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,m[i+4>>2]=n,e=h[i+12>>2],n=m[i+4>>2],m[88+(h[e+720>>2]+g(h[i+8>>2],104)|0)>>2]=n>v(0)?v(v(1)/n):v(0),o[e+924|0]=1,w=i+16|0},emscripten_bind_btSoftBody_transform_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Xe(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btSoftBody_translate_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n,i=0;w=n=w+-64|0,h[n+12>>2]=0,h[n+16>>2]=0,h[n+24>>2]=0,h[n+28>>2]=0,h[n+20>>2]=1065353216,h[n+40>>2]=1065353216,h[n+44>>2]=0,h[n+4>>2]=0,h[n+8>>2]=0,h[n>>2]=1065353216,h[n+32>>2]=0,h[n+36>>2]=0,i=h[t+12>>2],h[n+56>>2]=h[t+8>>2],h[n+60>>2]=i,i=h[t+4>>2],h[n+48>>2]=h[t>>2],h[n+52>>2]=i,Xe(e,n),w=n- -64|0}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btSoftBody_rotate_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n,i=v(0),r=v(0),o=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0);w=n=w+-64|0,h[n+56>>2]=0,h[n+60>>2]=0,h[n+48>>2]=0,h[n+52>>2]=0,o=m[t+12>>2],s=m[t+8>>2],i=m[t>>2],r=m[t+4>>2],h[n+44>>2]=0,h[n+28>>2]=0,l=v(v(2)/v(v(v(v(i*i)+v(r*r))+v(s*s))+v(o*o))),u=v(s*l),a=v(r*u),c=v(i*l),p=v(o*c),m[n+36>>2]=a+p,m[n+24>>2]=a-p,a=v(i*c),c=r,r=v(r*l),l=v(c*r),m[n+40>>2]=v(1)-v(a+l),s=v(s*u),m[n+20>>2]=v(1)-v(a+s),h[n+12>>2]=0,a=v(i*u),c=v(o*r),m[n+32>>2]=a-c,i=v(i*r),o=v(o*u),m[n+16>>2]=i+o,m[n+8>>2]=a+c,m[n+4>>2]=i-o,m[n>>2]=v(1)-v(l+s),Xe(e,n),w=n- -64|0}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btSoftBody_scale_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n,i=0,o=v(0),a=v(0),s=v(0),c=v(0),l=0,u=0,p=0;if(w=n=w-32|0,i=h[e+192>>2],o=v(r[h[h[i>>2]+48>>2]](i)),(0|(u=h[e+712>>2]))>=1)for(p=e+928|0;i=h[e+720>>2]+g(l,104)|0,a=v(m[t>>2]*m[i+8>>2]),m[i+8>>2]=a,s=v(m[t+4>>2]*m[i+12>>2]),m[i+12>>2]=s,c=v(m[t+8>>2]*m[i+16>>2]),m[i+16>>2]=c,m[i+24>>2]=m[t>>2]*m[i+24>>2],m[i+28>>2]=m[t+4>>2]*m[i+28>>2],m[i+32>>2]=m[t+8>>2]*m[i+32>>2],h[n+28>>2]=0,m[n+24>>2]=o+c,m[n+20>>2]=o+s,m[n+16>>2]=o+a,h[n+12>>2]=0,m[n+8>>2]=c-o,m[n+4>>2]=s-o,m[n>>2]=a-o,ao(p,h[i+96>>2],n),(0|u)!=(0|(l=l+1|0)););Pn(e);e:if(t=h[e+928>>2]){if(i=h[e+192>>2],o=v(r[h[h[i>>2]+48>>2]](i)),a=m[t>>2],s=m[t+4>>2],c=m[t+8>>2],h[e+904>>2]=0,m[e+900>>2]=c-o,m[e+896>>2]=s-o,m[e+892>>2]=a-o,a=m[t+20>>2],s=m[t+24>>2],c=m[t+16>>2],h[e+920>>2]=0,m[e+916>>2]=o+s,m[e+912>>2]=o+a,m[(t=e+908|0)>>2]=o+c,!(i=h[e+188>>2]))break e;l=h[e+684>>2],u=h[l+32>>2],r[h[h[u>>2]+16>>2]](u,i,e+892|0,t,h[l+36>>2])}else h[e+892>>2]=0,h[e+896>>2]=0,h[e+916>>2]=0,h[e+920>>2]=0,h[e+908>>2]=0,h[e+912>>2]=0,h[e+900>>2]=0,h[e+904>>2]=0;jr(e),w=n+32|0}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btSoftBody_generateClusters_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=B(h[n+12>>2],h[n+8>>2],8192),w=n+16|0,0|e},emscripten_bind_btSoftBody_generateClusters_2:function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,e=B(h[i+12>>2],h[i+8>>2],h[i+4>>2]),w=i+16|0,0|e},emscripten_bind_btSoftBody_generateBendingConstraints_2:function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,e=ce(h[i+12>>2],h[i+8>>2],h[i+4>>2]),w=i+16|0,0|e},emscripten_bind_btSoftBody_upcast_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=function(e){var t;return w=t=w-16|0,h[t+8>>2]=e,h[12+(e=w-16|0)>>2]=h[t+8>>2],8!=h[h[e+12>>2]+236>>2]?h[t+12>>2]=0:h[t+12>>2]=h[t+8>>2],w=t+16|0,h[t+12>>2]}(h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btSoftBody_setAnisotropicFriction_2:Sc,emscripten_bind_btSoftBody_getCollisionShape_0:_l,emscripten_bind_btSoftBody_setContactProcessingThreshold_1:Os,emscripten_bind_btSoftBody_setActivationState_1:fc,emscripten_bind_btSoftBody_forceActivationState_1:Bl,emscripten_bind_btSoftBody_activate_0:Pp,emscripten_bind_btSoftBody_activate_1:Ul,emscripten_bind_btSoftBody_isActive_0:qu,emscripten_bind_btSoftBody_isKinematicObject_0:Nc,emscripten_bind_btSoftBody_isStaticObject_0:Fc,emscripten_bind_btSoftBody_isStaticOrKinematicObject_0:Bc,emscripten_bind_btSoftBody_getRestitution_0:rl,emscripten_bind_btSoftBody_getFriction_0:ol,emscripten_bind_btSoftBody_getRollingFriction_0:al,emscripten_bind_btSoftBody_setRestitution_1:Hl,emscripten_bind_btSoftBody_setFriction_1:Wl,emscripten_bind_btSoftBody_setRollingFriction_1:Xl,emscripten_bind_btSoftBody_getWorldTransform_0:Il,emscripten_bind_btSoftBody_getCollisionFlags_0:hl,emscripten_bind_btSoftBody_setCollisionFlags_1:Rs,emscripten_bind_btSoftBody_setWorldTransform_1:Kl,emscripten_bind_btSoftBody_setCollisionShape_1:Vc,emscripten_bind_btSoftBody_setCcdMotionThreshold_1:Es,emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1:Ps,emscripten_bind_btSoftBody_getUserIndex_0:fl,emscripten_bind_btSoftBody_setUserIndex_1:Ds,emscripten_bind_btSoftBody_getUserPointer_0:fl,emscripten_bind_btSoftBody_setUserPointer_1:Ds,emscripten_bind_btSoftBody_getBroadphaseHandle_0:dl,emscripten_bind_btSoftBody_get_m_cfg_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+288|0},emscripten_bind_btSoftBody_set_m_cfg_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Vn(e=h[n+12>>2],h[n+8>>2],104),Xu(e+104|0,h[n+8>>2]+104|0),Xu(e+124|0,h[n+8>>2]+124|0),Xu(e+144|0,h[n+8>>2]+144|0),w=n+16|0}(h[n+12>>2]+288|0,h[n+8>>2]),w=n+16|0},emscripten_bind_btSoftBody_get_m_nodes_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+708|0},emscripten_bind_btSoftBody_set_m_nodes_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,ia(h[n+12>>2],h[n+8>>2]),w=n+16|0}(h[n+12>>2]+708|0,h[n+8>>2]),w=n+16|0},emscripten_bind_btSoftBody_get_m_faces_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+748|0},emscripten_bind_btSoftBody_set_m_faces_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,mo(h[n+12>>2],h[n+8>>2]),w=n+16|0}(h[n+12>>2]+748|0,h[n+8>>2]),w=n+16|0},emscripten_bind_btSoftBody_get_m_materials_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+868|0},emscripten_bind_btSoftBody_set_m_materials_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Xu(h[n+12>>2]+868|0,h[n+8>>2]),w=n+16|0},emscripten_bind_btSoftBody_get_m_anchors_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+788|0},emscripten_bind_btSoftBody_set_m_anchors_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,ua(h[n+12>>2],h[n+8>>2]),w=n+16|0}(h[n+12>>2]+788|0,h[n+8>>2]),w=n+16|0},emscripten_bind_btSoftBody___destroy___0:ru,emscripten_bind_btIntArray_size_0:Sl,emscripten_bind_btIntArray_at_1:es,emscripten_bind_btIntArray___destroy___0:Ku,emscripten_bind_Config_get_kVCF_0:Mp,emscripten_bind_Config_set_kVCF_1:Ru,emscripten_bind_Config_get_kDP_0:Rp,emscripten_bind_Config_set_kDP_1:Iu,emscripten_bind_Config_get_kDG_0:Tp,emscripten_bind_Config_set_kDG_1:Su,emscripten_bind_Config_get_kLF_0:_p,emscripten_bind_Config_set_kLF_1:Au,emscripten_bind_Config_get_kPR_0:Sp,emscripten_bind_Config_set_kPR_1:xu,emscripten_bind_Config_get_kVC_0:Ep,emscripten_bind_Config_set_kVC_1:Tu,emscripten_bind_Config_get_kDF_0:hp,emscripten_bind_Config_set_kDF_1:uu,emscripten_bind_Config_get_kMT_0:xp,emscripten_bind_Config_set_kMT_1:yu,emscripten_bind_Config_get_kCHR_0:yp,emscripten_bind_Config_set_kCHR_1:bu,emscripten_bind_Config_get_kKHR_0:pp,emscripten_bind_Config_set_kKHR_1:lu,emscripten_bind_Config_get_kSHR_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+44>>2])},emscripten_bind_Config_set_kSHR_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+44>>2]=m[n+8>>2]},emscripten_bind_Config_get_kAHR_0:dp,emscripten_bind_Config_set_kAHR_1:pu,emscripten_bind_Config_get_kSRHR_CL_0:fp,emscripten_bind_Config_set_kSRHR_CL_1:hu,emscripten_bind_Config_get_kSKHR_CL_0:mp,emscripten_bind_Config_set_kSKHR_CL_1:du,emscripten_bind_Config_get_kSSHR_CL_0:bp,emscripten_bind_Config_set_kSSHR_CL_1:fu,emscripten_bind_Config_get_kSR_SPLT_CL_0:gp,emscripten_bind_Config_set_kSR_SPLT_CL_1:_u,emscripten_bind_Config_get_kSK_SPLT_CL_0:vp,emscripten_bind_Config_set_kSK_SPLT_CL_1:mu,emscripten_bind_Config_get_kSS_SPLT_CL_0:Cp,emscripten_bind_Config_set_kSS_SPLT_CL_1:gu,emscripten_bind_Config_get_maxvolume_0:Op,emscripten_bind_Config_set_maxvolume_1:vu,emscripten_bind_Config_get_timescale_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+80>>2])},emscripten_bind_Config_set_timescale_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+80>>2]=m[n+8>>2]},emscripten_bind_Config_get_viterations_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[h[t+12>>2]+84>>2]},emscripten_bind_Config_set_viterations_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]+84>>2]=h[n+8>>2]},emscripten_bind_Config_get_piterations_0:Vp,emscripten_bind_Config_set_piterations_1:Pu,emscripten_bind_Config_get_diterations_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[h[t+12>>2]+92>>2]},emscripten_bind_Config_set_diterations_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]+92>>2]=h[n+8>>2]},emscripten_bind_Config_get_citerations_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[h[t+12>>2]+96>>2]},emscripten_bind_Config_set_citerations_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]+96>>2]=h[n+8>>2]},emscripten_bind_Config_get_collisions_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[h[t+12>>2]+100>>2]},emscripten_bind_Config_set_collisions_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]+100>>2]=h[n+8>>2]},emscripten_bind_Config___destroy___0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,(e=h[t+12>>2])&&(function(e){var t;w=t=w-16|0,h[t+12>>2]=e,Dp((e=h[t+12>>2])+144|0),Dp(e+124|0),Dp(e+104|0),w=t+16|0}(e),Se(e)),w=t+16|0},emscripten_bind_Node_get_m_x_0:ah,emscripten_bind_Node_set_m_x_1:ps,emscripten_bind_Node_get_m_q_0:eh,emscripten_bind_Node_set_m_q_1:$a,emscripten_bind_Node_get_m_v_0:qp,emscripten_bind_Node_set_m_v_1:os,emscripten_bind_Node_get_m_f_0:Jp,emscripten_bind_Node_set_m_f_1:as,emscripten_bind_Node_get_m_n_0:$p,emscripten_bind_Node_set_m_n_1:function(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+72>>2]=h[e>>2],h[t+76>>2]=n,n=h[e+12>>2],h[t+80>>2]=h[e+8>>2],h[t+84>>2]=n},emscripten_bind_Node_get_m_im_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,v(m[h[t+12>>2]+88>>2])},emscripten_bind_Node_set_m_im_1:function(e,t){var n;e|=0,t=v(t),h[12+(n=w-16|0)>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+88>>2]=m[n+8>>2]},emscripten_bind_Node_get_m_area_0:Ap,emscripten_bind_Node_set_m_area_1:Eu,emscripten_bind_Node___destroy___0:tp,emscripten_bind_btGhostPairCallback_btGhostPairCallback_0:function(){var e;return function(e){var t,n;w=t=w-16|0,h[t+12>>2]=e,e=w-16|0,n=h[t+12>>2],h[e+12>>2]=n,h[h[e+12>>2]>>2]=1712,h[n>>2]=1612,w=t+16|0}(e=Tl(4)),0|e},emscripten_bind_btGhostPairCallback___destroy___0:ou,emscripten_bind_btOverlappingPairCallback___destroy___0:ou,emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3:function(e,t,n){var i;return e|=0,t|=0,n=v(n),w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,m[i+4>>2]=n,Xr(e=El(184),h[i+12>>2],h[i+8>>2],m[i+4>>2],1),w=i+16|0,0|e},emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4:function(e,t,n,i){var r;return e|=0,t|=0,n=v(n),i|=0,w=r=w-16|0,h[r+12>>2]=e,h[r+8>>2]=t,m[r+4>>2]=n,h[r>>2]=i,Xr(e=El(184),h[r+12>>2],h[r+8>>2],m[r+4>>2],h[r>>2]),w=r+16|0,0|e},emscripten_bind_btKinematicCharacterController_setUpAxis_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[n+8>>2]<0&&(h[n+8>>2]=0),h[n+8>>2]>2&&(h[n+8>>2]=2),h[e+176>>2]=h[n+8>>2]}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btKinematicCharacterController_setWalkDirection_1:Xc,emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2:function(e,t,n){var i;e|=0,t|=0,n=v(n),w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,m[i+4>>2]=n,e=h[i+12>>2],r[h[h[e>>2]+20>>2]](e,h[i+8>>2],m[i+4>>2]),w=i+16|0},emscripten_bind_btKinematicCharacterController_warp_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+28>>2]](e,h[n+8>>2]),w=n+16|0},emscripten_bind_btKinematicCharacterController_preStep_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],r[h[h[e>>2]+32>>2]](e,h[n+8>>2]),w=n+16|0},emscripten_bind_btKinematicCharacterController_playerStep_2:function(e,t,n){var i;e|=0,t|=0,n=v(n),w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,m[i+4>>2]=n,e=h[i+12>>2],r[h[h[e>>2]+36>>2]](e,h[i+8>>2],m[i+4>>2]),w=i+16|0},emscripten_bind_btKinematicCharacterController_setFallSpeed_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+24>>2]=m[n+8>>2],w=n+16|0},emscripten_bind_btKinematicCharacterController_setJumpSpeed_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+28>>2]=m[n+8>>2],w=n+16|0},emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+32>>2]=m[n+8>>2],w=n+16|0},emscripten_bind_btKinematicCharacterController_canJump_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],e=1&r[h[h[e>>2]+40>>2]](e),w=t+16|0,0|e},emscripten_bind_btKinematicCharacterController_jump_0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],r[h[h[e>>2]+44>>2]](e),w=t+16|0},emscripten_bind_btKinematicCharacterController_setGravity_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+44>>2]=m[n+8>>2],w=n+16|0},emscripten_bind_btKinematicCharacterController_getGravity_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,w=t+16|0,v(m[h[t+12>>2]+44>>2])},emscripten_bind_btKinematicCharacterController_setMaxSlope_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,e=h[n+12>>2],t=m[n+8>>2],m[e+36>>2]=t,m[e+40>>2]=Ri(t),w=n+16|0},emscripten_bind_btKinematicCharacterController_getMaxSlope_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,w=t+16|0,v(m[h[t+12>>2]+36>>2])},emscripten_bind_btKinematicCharacterController_getGhostObject_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,w=t+16|0,h[h[t+12>>2]+8>>2]},emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,o[n+11|0]=t,t=1&o[n+11|0],h[12+(e=w-16|0)>>2]=h[n+12>>2],o[e+11|0]=t,o[h[e+12>>2]+170|0]=1&o[e+11|0],w=n+16|0},emscripten_bind_btKinematicCharacterController_onGround_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],e=1&r[h[h[e>>2]+48>>2]](e),w=t+16|0,0|e},emscripten_bind_btKinematicCharacterController_setUpInterpolate_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,o[n+11|0]=t,e=h[n+12>>2],r[h[h[e>>2]+52>>2]](e,1&o[n+11|0]),w=n+16|0},emscripten_bind_btKinematicCharacterController_updateAction_2:qs,emscripten_bind_btKinematicCharacterController___destroy___0:ou,emscripten_bind_btSoftBodyArray_size_0:Sl,emscripten_bind_btSoftBodyArray_at_1:es,emscripten_bind_btSoftBodyArray___destroy___0:Ku,emscripten_bind_btFaceArray_size_0:Sl,emscripten_bind_btFaceArray_at_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,w=n+16|0,h[h[e+12>>2]+12>>2]+g(h[e+8>>2],36)|0},emscripten_bind_btFaceArray___destroy___0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,(e=h[t+12>>2])&&(function(e){var t=0;w=t=w-16|0,h[t+12>>2]=e,function(e){var t,n;w=t=w-16|0,h[t+12>>2]=e,n=w-16|0,e=h[t+12>>2],h[n+12>>2]=e,Ia(e,h[h[n+12>>2]+4>>2]),Lc(e),iu(e),w=t+16|0}(h[t+12>>2]),w=t+16|0}(e),Se(e)),w=t+16|0},emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2:function(e,t){var n;return e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,function(e,t,n){var i=v(0),r=v(0),o=v(0);h[e+4>>2]=35,h[e+8>>2]=0,h[e+12>>2]=0,h[e>>2]=14720,h[e>>2]=12652,i=m[t+8>>2],r=m[t>>2],o=m[t+4>>2],t=h[t+12>>2],h[e+68>>2]=0,h[e+72>>2]=0,m[e+64>>2]=n,h[e+60>>2]=t,h[e+76>>2]=0,h[e+80>>2]=0,h[e+4>>2]=28,n=v(v(1)/v(S(v(v(v(r*r)+v(o*o))+v(i*i))))),m[e+56>>2]=i*n,m[e+52>>2]=o*n,m[e+48>>2]=r*n}(e=El(84),h[n+12>>2],m[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btStaticPlaneShape_setLocalScaling_1:zc,emscripten_bind_btStaticPlaneShape_getLocalScaling_0:Dl,emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2:Zs,emscripten_bind_btStaticPlaneShape___destroy___0:ou,emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1:Yc,emscripten_bind_btOverlappingPairCache_getNumOverlappingPairs_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],e=0|r[h[h[e>>2]+36>>2]](e),w=t+16|0,v(v(0|e))},emscripten_bind_btOverlappingPairCache___destroy___0:ou,emscripten_bind_btIndexedMesh_get_m_numTriangles_0:Hp,emscripten_bind_btIndexedMesh_set_m_numTriangles_1:Gu,emscripten_bind_btIndexedMesh___destroy___0:rp,emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5:function(e,t,n,i,a){var s;return e|=0,t|=0,n|=0,i|=0,a|=0,w=s=w-32|0,h[s+28>>2]=e,h[s+24>>2]=t,h[s+20>>2]=n,h[s+16>>2]=i,h[s+12>>2]=a,function(e,t,n,i,a){var s;if($t(e,t,n,i),o[e+340|0]=1,h[e>>2]=22608,i=0,h[e+336>>2]=0,h[e+368>>2]=0,h[e+372>>2]=0,h[e+360>>2]=0,h[e+364>>2]=1148846080,h[e+352>>2]=1067030938,h[e+356>>2]=0,h[e+328>>2]=0,h[e+332>>2]=0,h[e+376>>2]=0,h[e+380>>2]=0,h[e+384>>2]=0,h[e+388>>2]=0,h[e+392>>2]=0,o[e+424|0]=1,h[e+404>>2]=0,h[e+396>>2]=-1054867456,h[e+400>>2]=0,h[e+420>>2]=0,o[e+456|0]=0,h[e+452>>2]=a,h[e+412>>2]=0,h[e+416>>2]=0,a||(h[7717]=h[7717]+1,Tc(a=0|r[h[6606]](40,16)),o[e+456|0]=1,h[e+452>>2]=a),o[e+350|0]=0,p[e+348>>1]=1,h[e+344>>2]=4302,h[e+388>>2]=t,h[e+384>>2]=n,Hi(n=e+408|0),(0|(s=h[e+412>>2]))>=1)for(;;){if(t=h[e+420>>2]+(i<<2)|0,a=h[t>>2],h[t>>2]=0,a)for(;t=h[a+280>>2],Se(a),a=t;);if((0|s)==(0|(i=i+1|0)))break}h[e+360>>2]=0,h[e+352>>2]=1067030938,h[e+356>>2]=0,h[e+444>>2]=1,h[e+448>>2]=1,h[e+436>>2]=0,h[e+428>>2]=1048576e3,h[e+432>>2]=0,h[e+392>>2]=0,h[e+376>>2]=0,h[e+380>>2]=0,h[e+368>>2]=0,h[e+372>>2]=0,h[e+404>>2]=0,h[e+396>>2]=-1054867456,h[e+400>>2]=0,Hi(n)}(e=El(460),h[s+28>>2],h[s+24>>2],h[s+20>>2],h[s+12>>2]),w=s+32|0,0|e},emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3:function(e,t,n,i){var a;e|=0,t|=0,n|=0,i|=0,w=a=w-16|0,h[a+12>>2]=e,h[a+8>>2]=t,p[a+6>>1]=n,p[a+4>>1]=i,function(e,t,n,i){var a=0,s=0,c=0,l=0,u=0;if((0|(a=h[e+328>>2]))==h[e+332>>2]&&!((0|a)>=(0|(c=a?a<<1:1)))){if(c&&(h[7717]=h[7717]+1,l=0|r[h[6606]](c<<2,16),a=h[e+328>>2]),(0|a)>=1)for(;h[(u=s<<2)+l>>2]=h[h[e+336>>2]+u>>2],(0|(s=s+1|0))!=(0|a););(s=h[e+336>>2])&&(d[e+340|0]&&(s&&(h[7718]=h[7718]+1,r[h[6607]](s)),a=h[e+328>>2]),h[e+336>>2]=0),h[e+336>>2]=l,h[e+332>>2]=c,o[e+340|0]=1}h[h[e+336>>2]+(a<<2)>>2]=t,h[e+328>>2]=a+1,h[t+284>>2]=h[e+452>>2],Xn(e,t,n,i)}(h[a+12>>2],h[a+8>>2],p[a+6>>1],p[a+4>>1]),w=a+16|0},emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0,i=0,r=0,o=0;e:if(!((0|(n=h[e+328>>2]))<1)){for(r=h[e+336>>2];;){if(h[(o=(i<<2)+r|0)>>2]!=(0|t)){if((0|n)!=(0|(i=i+1|0)))continue;break e}break}(0|i)>=(0|n)||(i=(n=n+-1|0)<<2,h[o>>2]=h[i+r>>2],h[i+h[e+336>>2]>>2]=t,h[e+328>>2]=n)}Qr(e,t)}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1:jc,emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+352|0},emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+324|0},emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0:ml,emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3:hs,emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0:Ju,emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0:Ol,emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1:Oc,emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2:Hs,emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3:Wa,emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0:vl,emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5:la,emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3:js,emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2:Ac,emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1:$l,emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1:Xc,emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0:Fl,emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0:zu,emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3:us,emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1:Uc,emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0:function(e){var t;return e|=0,w=t=w-32|0,h[t+28>>2]=e,1&o[26664]||Vl(26664)&&(h[12+(w-16|0)>>2]=26648,Fu(26664)),e=h[t+28>>2],r[h[h[e>>2]+76>>2]](t+8|0,e),e=h[t+12>>2],h[6662]=h[t+8>>2],h[6663]=e,e=h[t+20>>2],h[6664]=h[t+16>>2],h[6665]=e,w=t+32|0,26648},emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1:Hc,emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3:Xa,emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1:Wc,emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1:Dc,emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2:Js,emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1:Yc,emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1:ws,emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2:za,emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3:ka,emscripten_bind_btSoftRigidDynamicsWorld_setContactAddedCallback_1:oc,emscripten_bind_btSoftRigidDynamicsWorld_setContactProcessedCallback_1:ac,emscripten_bind_btSoftRigidDynamicsWorld_setContactDestroyedCallback_1:tc,emscripten_bind_btSoftRigidDynamicsWorld_addAction_1:Gc,emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1:Zc,emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0:Ml,emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_1:kl,emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_2:vc,emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_3:Fs,emscripten_bind_btSoftRigidDynamicsWorld___destroy___0:ou,emscripten_bind_btFixedConstraint_btFixedConstraint_4:function(e,t,n,i){var r;return e|=0,t|=0,n|=0,i|=0,w=r=w-16|0,h[r+12>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,h[r>>2]=i,function(e,t,n,i,r){var o,a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0);w=o=w-32|0,ja(e,11,t,n),h[e>>2]=18812,t=h[i+52>>2],h[e+48>>2]=h[i+48>>2],h[e+52>>2]=t,t=h[i+60>>2],h[e+56>>2]=h[i+56>>2],h[e+60>>2]=t,t=h[r+52>>2],h[e+64>>2]=h[r+48>>2],h[e+68>>2]=t,t=h[r+60>>2],h[e+72>>2]=h[r+56>>2],h[e+76>>2]=t,lt(i,o+16|0),lt(r,o),a=m[o+12>>2],s=m[o+28>>2],c=m[o>>2],l=m[o+16>>2],u=m[o+4>>2],p=m[o+20>>2],d=m[o+8>>2],f=m[o+24>>2],m[e+92>>2]=v(v(v(a*s)+v(c*l))+v(u*p))+v(d*f),m[e+88>>2]=v(c*p)+v(v(v(a*f)-v(d*s))-v(u*l)),m[e+84>>2]=v(d*l)+v(v(v(a*p)-v(u*s))-v(c*f)),m[e+80>>2]=v(v(v(a*l)-v(c*s))-v(d*p))+v(u*f),w=o+32|0}(e=El(96),h[r+12>>2],h[r+8>>2],h[r+4>>2],h[r>>2]),w=r+16|0,0|e},emscripten_bind_btFixedConstraint_enableFeedback_1:Ts,emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0:sl,emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1:Is,emscripten_bind_btFixedConstraint_getParam_2:ms,emscripten_bind_btFixedConstraint_setParam_3:is,emscripten_bind_btFixedConstraint___destroy___0:ou,emscripten_bind_btTransform_btTransform_0:function(){var e;return Bu(e=Tl(64)),0|e},emscripten_bind_btTransform_btTransform_2:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,xa(e=Tl(64),h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btTransform_setIdentity_0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,Rc(h[t+12>>2]),w=t+16|0},emscripten_bind_btTransform_setOrigin_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,ss(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btTransform_setRotation_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,nn(h[n+12>>2],h[n+8>>2]),w=n+16|0}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btTransform_getOrigin_0:Rl,emscripten_bind_btTransform_getRotation_0:function(e){e|=0;var t,n=0;return w=t=w-32|0,h[t+28>>2]=e,1&o[26684]||Vl(26684)&&(nu(26668),Fu(26684)),function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=t,t=h[n+12>>2],nu(e),lt(t,e),w=n+16|0}(e=t+8|0,h[t+28>>2]),n=h[e+4>>2],h[6667]=h[e>>2],h[6668]=n,n=h[e+12>>2],h[6669]=h[e+8>>2],h[6670]=n,w=t+32|0,26668},emscripten_bind_btTransform_getBasis_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]},emscripten_bind_btTransform_setFromOpenGLMatrix_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,sc(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btTransform_inverse_0:function(e){var t;return e|=0,w=t=w-80|0,h[t+76>>2]=e,1&o[26752]||Vl(26752)&&(Bu(26688),Fu(26752)),Ks(e=t+8|0,h[t+76>>2]),Pa(26688,e),w=t+80|0,26688},emscripten_bind_btTransform_op_mul_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=ic(h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btTransform___destroy___0:tp,emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t,n){var i;w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,Ec(e=h[i+12>>2]),h[e>>2]=1740,t=h[i+8>>2],n=h[t+4>>2],h[e+20>>2]=h[t>>2],h[e+24>>2]=n,n=h[t+12>>2],h[e+28>>2]=h[t+8>>2],h[e+32>>2]=n,t=h[i+4>>2],n=h[t+4>>2],h[e+36>>2]=h[t>>2],h[e+40>>2]=n,n=h[t+12>>2],h[e+44>>2]=h[t+8>>2],h[e+48>>2]=n,h[12+(w-16|0)>>2]=e+52,h[12+(w-16|0)>>2]=e+68,w=i+16|0}(e=Tl(84),h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_ClosestRayResultCallback_hasHit_0:il,emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0:Zp,emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1:ns,emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0:rh,emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1:ls,emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0:Wp,emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1:qa,emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0:Xp,emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1:Ja,emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0:Lp,emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1:au,emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0:Np,emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1:su,emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0:Mp,emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1:Ru,emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0:jp,emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1:Lu,emscripten_bind_ClosestRayResultCallback___destroy___0:ou,emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0:function(){var e,t,n;return w=e=w-32|0,t=Tl(112),Pc(n=e+8|0),si(t,n),w=e+32|0,0|t},emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,si(e=Tl(112),h[t+12>>2]),w=t+16|0,0|e},emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0:ou,emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0:function(){var e;return e=Tl(8),h[e>>2]=0,h[e+4>>2]=0,function(e){var t,n;w=t=w-16|0,h[t+12>>2]=e,e=w-16|0,n=h[t+12>>2],h[e+12>>2]=n,e=h[e+12>>2],h[e>>2]=1944,p[e+4>>1]=1,p[e+6>>1]=65535,h[n>>2]=1824,w=t+16|0}(e),0|e},emscripten_bind_ConcreteContactResultCallback_addSingleResult_7:Eo,emscripten_bind_ConcreteContactResultCallback___destroy___0:ou,emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,o[n+11|0]=t,ma(e=El(76),h[n+12>>2],1&o[n+11|0],1),w=n+16|0,0|e},emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3:function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,o[i+11|0]=t,o[i+10|0]=n,ma(e=El(76),h[i+12>>2],1&o[i+11|0],1&o[i+10|0]),w=i+16|0,0|e},emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1:zc,emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0:Dl,emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2:Zs,emscripten_bind_btBvhTriangleMeshShape___destroy___0:ou,emscripten_bind_btConstCollisionObjectArray_size_0:Sl,emscripten_bind_btConstCollisionObjectArray_at_1:es,emscripten_bind_btConstCollisionObjectArray___destroy___0:Ku,emscripten_bind_btSliderConstraint_btSliderConstraint_3:function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,o[i+7|0]=n,function(e,t,n,i){var r,a,s=0,c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0),x=v(0),S=v(0),T=v(0),E=v(0),P=v(0),O=v(0),M=v(0),R=v(0),I=v(0),w=v(0),D=v(0),L=v(0);ja(e,7,ca(),t),o[e+48|0]=0,h[e>>2]=19436,s=h[n+12>>2],h[e+124>>2]=h[n+8>>2],h[e+128>>2]=s,s=h[n+4>>2],h[e+116>>2]=h[n>>2],h[e+120>>2]=s,s=h[n+28>>2],h[e+140>>2]=h[n+24>>2],h[e+144>>2]=s,s=h[n+20>>2],h[e+132>>2]=h[n+16>>2],h[e+136>>2]=s,s=h[n+36>>2],h[e+148>>2]=h[n+32>>2],h[e+152>>2]=s,s=h[n+44>>2],h[e+156>>2]=h[n+40>>2],h[e+160>>2]=s,s=h[n+56>>2],r=h[n+60>>2],a=h[n+52>>2],n=h[n+48>>2],o[e+180|0]=i,h[e+164>>2]=n,h[e+168>>2]=a,h[e+172>>2]=s,h[e+176>>2]=r,w=m[t+52>>2],D=m[t+56>>2],L=m[t+60>>2],y=m[e+172>>2],C=m[e+164>>2],A=m[e+168>>2],c=m[t+8>>2],l=m[t+12>>2],u=m[t+28>>2],p=m[t+20>>2],d=m[t+24>>2],x=m[e+132>>2],S=m[e+148>>2],T=m[e+152>>2],E=m[e+120>>2],P=m[e+136>>2],f=m[t+44>>2],O=m[e+156>>2],_=m[t+36>>2],M=m[e+124>>2],b=m[t+40>>2],R=m[e+140>>2],g=m[t+4>>2],I=m[e+116>>2],h[e+288>>2]=1065353216,h[e+292>>2]=0,h[e+280>>2]=1065353216,h[e+284>>2]=1060320051,h[e+272>>2]=1065353216,h[e+276>>2]=0,h[e+264>>2]=1065353216,h[e+268>>2]=1060320051,h[e+224>>2]=0,h[e+228>>2]=0,h[e+216>>2]=1065353216,h[e+220>>2]=1060320051,h[e+208>>2]=0,h[e+212>>2]=0,h[e+200>>2]=1065353216,h[e+204>>2]=1060320051,h[e+192>>2]=0,h[e+196>>2]=0,h[e+184>>2]=1065353216,h[e+188>>2]=-1082130432,h[e+112>>2]=0,h[e+96>>2]=0,h[e+80>>2]=0,h[e- -64>>2]=0,m[e+92>>2]=v(v(M*_)+v(R*b))+v(O*f),m[e+88>>2]=v(v(E*_)+v(P*b))+v(T*f),m[e+84>>2]=v(v(I*_)+v(x*b))+v(S*f),m[e+76>>2]=v(v(M*p)+v(R*d))+v(O*u),m[e+72>>2]=v(v(E*p)+v(P*d))+v(T*u),m[e+68>>2]=v(v(I*p)+v(x*d))+v(S*u),m[e+60>>2]=v(v(g*M)+v(c*R))+v(l*O),m[e+56>>2]=v(v(g*E)+v(c*P))+v(l*T),m[e+52>>2]=v(v(I*g)+v(x*c))+v(S*l),m[e+108>>2]=L+v(v(v(_*C)+v(b*A))+v(f*y)),m[e+104>>2]=D+v(v(v(p*C)+v(d*A))+v(u*y)),m[e+100>>2]=w+v(v(v(g*C)+v(c*A))+v(l*y)),h[e+1124>>2]=0,h[e+1116>>2]=0,h[e+1120>>2]=0,o[e+1096|0]=0,h[e+256>>2]=1065353216,h[e+260>>2]=0,h[e+248>>2]=1065353216,h[e+252>>2]=1060320051,h[e+240>>2]=1065353216,h[e+244>>2]=0,h[e+232>>2]=1065353216,h[e+236>>2]=1060320051,h[e+1100>>2]=0,h[e+1104>>2]=0,h[e+300>>2]=0,o[0|(t=e+1105|0)]=0,o[t+1|0]=0,o[t+2|0]=0,o[t+3|0]=0,o[t+4|0]=0,o[t+5|0]=0,o[t+6|0]=0,o[t+7|0]=0,o[e+49|0]=1,re(e,h[e+28>>2]+4|0,h[e+32>>2]+4|0)}(e=El(1128),h[i+12>>2],h[i+8>>2],1&o[i+7|0]),w=i+16|0,0|e},emscripten_bind_btSliderConstraint_btSliderConstraint_5:function(e,t,n,i,r){var a;return e|=0,t|=0,n|=0,i|=0,r|=0,w=a=w-32|0,h[a+28>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,o[a+15|0]=r,function(e,t,n,i,r,a){ja(e,7,t,n),o[e+48|0]=0,h[e>>2]=19436,t=h[i+12>>2],h[e+60>>2]=h[i+8>>2],h[e+64>>2]=t,t=h[i+4>>2],h[e+52>>2]=h[i>>2],h[e+56>>2]=t,t=h[i+28>>2],h[e+76>>2]=h[i+24>>2],h[e+80>>2]=t,t=h[i+20>>2],h[e+68>>2]=h[i+16>>2],h[e+72>>2]=t,t=h[i+44>>2],h[e+92>>2]=h[i+40>>2],h[e+96>>2]=t,t=h[i+36>>2],h[e+84>>2]=h[i+32>>2],h[e+88>>2]=t,t=h[i+60>>2],h[e+108>>2]=h[i+56>>2],h[e+112>>2]=t,t=h[i+52>>2],h[e+100>>2]=h[i+48>>2],h[e+104>>2]=t,t=h[r+12>>2],h[e+124>>2]=h[r+8>>2],h[e+128>>2]=t,t=h[r+4>>2],h[e+116>>2]=h[r>>2],h[e+120>>2]=t,t=h[r+28>>2],h[e+140>>2]=h[r+24>>2],h[e+144>>2]=t,t=h[r+20>>2],h[e+132>>2]=h[r+16>>2],h[e+136>>2]=t,t=h[r+44>>2],h[e+156>>2]=h[r+40>>2],h[e+160>>2]=t,t=h[r+36>>2],h[e+148>>2]=h[r+32>>2],h[e+152>>2]=t,t=h[r+60>>2],h[e+172>>2]=h[r+56>>2],h[e+176>>2]=t,t=h[r+52>>2],h[e+164>>2]=h[r+48>>2],h[e+168>>2]=t,h[e+288>>2]=1065353216,h[e+292>>2]=0,h[e+280>>2]=1065353216,h[e+284>>2]=1060320051,h[e+272>>2]=1065353216,h[e+276>>2]=0,h[e+264>>2]=1065353216,h[e+268>>2]=1060320051,h[e+224>>2]=0,h[e+228>>2]=0,h[e+216>>2]=1065353216,h[e+220>>2]=1060320051,h[e+208>>2]=0,h[e+212>>2]=0,h[e+200>>2]=1065353216,h[e+204>>2]=1060320051,h[e+192>>2]=0,h[e+196>>2]=0,h[e+184>>2]=1065353216,h[e+188>>2]=-1082130432,o[e+180|0]=a,h[e+1124>>2]=0,h[e+1116>>2]=0,h[e+1120>>2]=0,o[e+1096|0]=0,h[e+256>>2]=1065353216,h[e+260>>2]=0,h[e+248>>2]=1065353216,h[e+252>>2]=1060320051,h[e+240>>2]=1065353216,h[e+244>>2]=0,h[e+232>>2]=1065353216,h[e+236>>2]=1060320051,h[e+300>>2]=0,o[0|(t=e+1105|0)]=0,o[t+1|0]=0,o[t+2|0]=0,o[t+3|0]=0,o[t+4|0]=0,o[t+5|0]=0,o[t+6|0]=0,o[t+7|0]=0,h[e+1100>>2]=0,h[e+1104>>2]=0,o[e+49|0]=1,re(e,h[e+28>>2]+4|0,h[e+32>>2]+4|0)}(e=El(1128),h[a+28>>2],h[a+24>>2],h[a+20>>2],h[a+16>>2],1&o[a+15|0]),w=a+32|0,0|e},emscripten_bind_btSliderConstraint_setLowerLinLimit_1:Os,emscripten_bind_btSliderConstraint_setUpperLinLimit_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],m[e+8>>2]=t,m[h[e+12>>2]+188>>2]=m[e+8>>2],w=n+16|0},emscripten_bind_btSliderConstraint_setLowerAngLimit_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+192>>2]=ko(m[n+8>>2]),w=n+16|0}(h[n+12>>2],m[n+8>>2]),w=n+16|0},emscripten_bind_btSliderConstraint_setUpperAngLimit_1:function(e,t){var n;e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,m[h[n+12>>2]+196>>2]=ko(m[n+8>>2]),w=n+16|0}(h[n+12>>2],m[n+8>>2]),w=n+16|0},emscripten_bind_btSliderConstraint_enableFeedback_1:Ts,emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0:sl,emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1:Is,emscripten_bind_btSliderConstraint_getParam_2:ms,emscripten_bind_btSliderConstraint_setParam_3:is,emscripten_bind_btSliderConstraint___destroy___0:ou,emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0:function(){var e;return function(e){var t;Ki(e),h[e+276>>2]=0,o[e+280|0]=1,h[e+268>>2]=0,h[e+272>>2]=0,h[e+236>>2]=4,h[e>>2]=4084,h[7717]=h[7717]+1,cr(t=0|r[h[6606]](76,16)),h[e+284>>2]=t}(e=El(288)),0|e},emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2:Sc,emscripten_bind_btPairCachingGhostObject_getCollisionShape_0:_l,emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1:Os,emscripten_bind_btPairCachingGhostObject_setActivationState_1:fc,emscripten_bind_btPairCachingGhostObject_forceActivationState_1:Bl,emscripten_bind_btPairCachingGhostObject_activate_0:Pp,emscripten_bind_btPairCachingGhostObject_activate_1:Ul,emscripten_bind_btPairCachingGhostObject_isActive_0:qu,emscripten_bind_btPairCachingGhostObject_isKinematicObject_0:Nc,emscripten_bind_btPairCachingGhostObject_isStaticObject_0:Fc,emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0:Bc,emscripten_bind_btPairCachingGhostObject_getRestitution_0:rl,emscripten_bind_btPairCachingGhostObject_getFriction_0:ol,emscripten_bind_btPairCachingGhostObject_getRollingFriction_0:al,emscripten_bind_btPairCachingGhostObject_setRestitution_1:Hl,emscripten_bind_btPairCachingGhostObject_setFriction_1:Wl,emscripten_bind_btPairCachingGhostObject_setRollingFriction_1:Xl,emscripten_bind_btPairCachingGhostObject_getWorldTransform_0:Il,emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0:hl,emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1:Rs,emscripten_bind_btPairCachingGhostObject_setWorldTransform_1:Kl,emscripten_bind_btPairCachingGhostObject_setCollisionShape_1:Vc,emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1:Es,emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1:Ps,emscripten_bind_btPairCachingGhostObject_getUserIndex_0:fl,emscripten_bind_btPairCachingGhostObject_setUserIndex_1:Ds,emscripten_bind_btPairCachingGhostObject_getUserPointer_0:fl,emscripten_bind_btPairCachingGhostObject_setUserPointer_1:Ds,emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0:dl,emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0:$u,emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1:yl,emscripten_bind_btPairCachingGhostObject___destroy___0:ru,emscripten_bind_btManifoldPoint_getPositionWorldOnA_0:Rl,emscripten_bind_btManifoldPoint_getPositionWorldOnB_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+32|0},emscripten_bind_btManifoldPoint_getAppliedImpulse_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,+m[h[e+12>>2]+120>>2]},emscripten_bind_btManifoldPoint_getDistance_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,+m[h[e+12>>2]+80>>2]},emscripten_bind_btManifoldPoint_get_m_localPointA_0:lh,emscripten_bind_btManifoldPoint_set_m_localPointA_1:gs,emscripten_bind_btManifoldPoint_get_m_localPointB_0:th,emscripten_bind_btManifoldPoint_set_m_localPointB_1:cs,emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0:Qp,emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1:ts,emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+48|0},emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1:ss,emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]- -64|0},emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1:function(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+64>>2]=h[e>>2],h[t+68>>2]=n,n=h[e+12>>2],h[t+72>>2]=h[e+8>>2],h[t+76>>2]=n},emscripten_bind_btManifoldPoint_get_m_userPersistentData_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[h[t+12>>2]+112>>2]},emscripten_bind_btManifoldPoint_set_m_userPersistentData_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[h[n+12>>2]+112>>2]=h[n+8>>2]},emscripten_bind_btManifoldPoint___destroy___0:tp,emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t,n){var i=0,r=v(0),a=v(0),s=v(0),c=v(0),l=v(0),u=v(0),p=v(0),d=v(0),f=v(0),_=v(0),b=v(0),g=v(0),y=v(0),C=v(0),A=v(0);Ba(e,3,t),h[e>>2]=19160,i=h[n+4>>2],h[e+300>>2]=h[n>>2],h[e+304>>2]=i,i=h[n+12>>2],h[e+308>>2]=h[n+8>>2],h[e+312>>2]=i,c=m[t+52>>2],l=m[t+8>>2],u=m[t+12>>2],p=m[t+56>>2],d=m[t+20>>2],f=m[t+24>>2],_=m[t+28>>2],b=m[t+60>>2],g=m[t+36>>2],y=m[t+40>>2],r=m[n+8>>2],C=m[t+44>>2],A=m[t+4>>2],a=m[n>>2],s=m[n+4>>2],h[e+356>>2]=0,h[e+348>>2]=1050253722,h[e+352>>2]=1065353216,o[e+344|0]=0,h[e+328>>2]=0,h[e+332>>2]=0,m[e+324>>2]=b+v(v(v(a*g)+v(s*y))+v(r*C)),m[e+320>>2]=p+v(v(v(a*d)+v(s*f))+v(r*_)),m[e+316>>2]=c+v(v(v(a*A)+v(s*l))+v(r*u))}(e=El(360),h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4:function(e,t,n,i){var r;return e|=0,t|=0,n|=0,i|=0,w=r=w-16|0,h[r+12>>2]=e,h[r+8>>2]=t,h[r+4>>2]=n,h[r>>2]=i,function(e,t,n,i,r){ja(e,3,t,n),h[e>>2]=19160,t=h[i+4>>2],h[e+300>>2]=h[i>>2],h[e+304>>2]=t,t=h[i+12>>2],h[e+308>>2]=h[i+8>>2],h[e+312>>2]=t,t=h[r+4>>2],h[e+316>>2]=h[r>>2],h[e+320>>2]=t,t=h[r+12>>2],h[e+324>>2]=h[r+8>>2],h[e+328>>2]=t,h[e+356>>2]=0,h[e+348>>2]=1050253722,h[e+352>>2]=1065353216,o[e+344|0]=0,h[e+332>>2]=0}(e=El(360),h[r+12>>2],h[r+8>>2],h[r+4>>2],h[r>>2]),w=r+16|0,0|e},emscripten_bind_btPoint2PointConstraint_setPivotA_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+300>>2]=h[e>>2],h[t+304>>2]=n,n=h[e+12>>2],h[t+308>>2]=h[e+8>>2],h[t+312>>2]=n}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btPoint2PointConstraint_setPivotB_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,t=h[n+12>>2],e=h[n+8>>2],n=h[e+4>>2],h[t+316>>2]=h[e>>2],h[t+320>>2]=n,n=h[e+12>>2],h[t+324>>2]=h[e+8>>2],h[t+328>>2]=n}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btPoint2PointConstraint_getPivotInA_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+300|0},emscripten_bind_btPoint2PointConstraint_getPivotInB_0:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,h[12+(e=w-16|0)>>2]=h[t+12>>2],w=t+16|0,h[e+12>>2]+316|0},emscripten_bind_btPoint2PointConstraint_enableFeedback_1:Ts,emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0:sl,emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1:Is,emscripten_bind_btPoint2PointConstraint_getParam_2:ms,emscripten_bind_btPoint2PointConstraint_setParam_3:is,emscripten_bind_btPoint2PointConstraint_get_m_setting_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,h[t+12>>2]+348|0},emscripten_bind_btPoint2PointConstraint_set_m_setting_1:function(e,t){e|=0,t|=0;var n=0;h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],t=h[n+8>>2],n=h[t+4>>2],h[e+348>>2]=h[t>>2],h[e+352>>2]=n,h[e+356>>2]=h[t+8>>2]},emscripten_bind_btPoint2PointConstraint___destroy___0:ou,emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0:function(){return 0|Tl(1)},emscripten_bind_btSoftBodyHelpers_CreateRope_5:function(e,t,n,i,a,s){var c;return e|=0,t|=0,n|=0,i|=0,a|=0,s|=0,w=c=w-32|0,h[c+28>>2]=e,h[c+24>>2]=t,h[c+20>>2]=n,h[c+16>>2]=i,h[c+12>>2]=a,h[c+8>>2]=s,e=function(e,t,n,i,a){var s,c,l,u=0,p=0,d=v(0),f=v(0),_=v(0),b=v(0),y=0,C=v(0),A=v(0),x=v(0),S=v(0);if(h[7717]=h[7717]+1,s=i+2|0,c=0|r[h[6606]]((268435455&s)!=(0|s)?-1:s<<4,16),l=Tl((1073741823&s)!=(0|s)?-1:s<<2),(0|i)>=-1)for(y=(0|s)>1?s:1,C=v(i+1|0);A=m[n>>2],f=m[t>>2],x=m[n+4>>2],_=m[t+4>>2],S=m[n+8>>2],b=m[t+8>>2],h[12+(p=(u<<4)+c|0)>>2]=0,d=v(v(0|u)/C),m[p+8>>2]=b+v(d*v(S-b)),m[p+4>>2]=_+v(d*v(x-_)),m[p>>2]=f+v(d*v(A-f)),h[(u<<2)+l>>2]=1065353216,(0|y)!=(0|(u=u+1|0)););if(h[7717]=h[7717]+1,e=Ee(0|r[h[6606]](1252,16),e,s,c,l),1&a&&(m[h[e+720>>2]+88>>2]=0,o[e+924|0]=1),2&a&&(m[88+(h[e+720>>2]+g(i+1|0,104)|0)>>2]=0,o[e+924|0]=1),c&&c&&(h[7718]=h[7718]+1,r[h[6607]](c)),Se(l),(0|i)>=0)for(t=(0|s)>2?s:2,u=1;sp(e,u+-1|0,u,0,0),(0|t)!=(0|(u=u+1|0)););return e}(h[c+24>>2],h[c+20>>2],h[c+16>>2],h[c+12>>2],h[c+8>>2]),w=c+32|0,0|e},emscripten_bind_btSoftBodyHelpers_CreatePatch_9:function(e,t,n,i,a,s,c,l,u,p){var d;return e|=0,t|=0,n|=0,i|=0,a|=0,s|=0,c|=0,l|=0,u|=0,p|=0,w=d=w-48|0,h[d+44>>2]=e,h[d+40>>2]=t,h[d+36>>2]=n,h[d+32>>2]=i,h[d+28>>2]=a,h[d+24>>2]=s,h[d+20>>2]=c,h[d+16>>2]=l,h[d+12>>2]=u,o[d+11|0]=p,e=function(e,t,n,i,a,s,c,l,u){var p=0,d=0,f=0,_=v(0),b=v(0),y=0,C=v(0),A=0,x=0,S=v(0),T=v(0),E=v(0),P=0,O=v(0),M=v(0),R=v(0),I=0;if(!((0|s)<2|(0|c)<2)){for(O=v(s+-1|0),M=v(c+-1|0),h[7717]=h[7717]+1,p=g(s,c),f=0|r[h[6606]]((0|p)!=(268435455&p)?-1:p<<4,16),y=Tl((0|p)!=(1073741823&p)?-1:p<<2);;){for(S=m[t+8>>2],_=v(v(0|A)/M),S=v(S+v(_*v(m[i+8>>2]-S))),T=m[n+8>>2],T=v(v(T+v(_*v(m[a+8>>2]-T)))-S),C=m[n+4>>2],b=v(C+v(_*v(m[a+4>>2]-C))),C=m[t+4>>2],C=v(C+v(_*v(m[i+4>>2]-C))),R=v(b-C),b=m[n>>2],E=v(b+v(_*v(m[a>>2]-b))),b=m[t>>2],b=v(b+v(_*v(m[i>>2]-b))),E=v(E-b),I=g(s,A),d=0;h[12+(x=f+((P=d+I|0)<<4)|0)>>2]=0,_=v(v(0|d)/O),m[x+8>>2]=S+v(T*_),m[x+4>>2]=C+v(R*_),m[x>>2]=b+v(E*_),h[y+(P<<2)>>2]=1065353216,(0|(d=d+1|0))!=(0|s););if((0|(A=A+1|0))==(0|c))break}for(h[7717]=h[7717]+1,p=Ee(0|r[h[6606]](1252,16),e,p,f,y),1&l&&(m[h[p+720>>2]+88>>2]=0,o[p+924|0]=1),2&l&&(m[88+(h[p+720>>2]+g(s+-1|0,104)|0)>>2]=0,o[p+924|0]=1),4&l&&(m[88+(h[p+720>>2]+g(g(c+-1|0,s),104)|0)>>2]=0,o[p+924|0]=1),8&l&&(m[88+(h[p+720>>2]+g((g(c+-1|0,s)+s|0)-1|0,104)|0)>>2]=0,o[p+924|0]=1),f&&f&&(h[7718]=h[7718]+1,r[h[6607]](f)),Se(y),x=(0|s)>0,i=0;;){if(n=c,x)for(A=g(i,s),l=g(e=i+1|0,s),d=0;;){t=d,a=d+A|0;e:{t:{if((0|(d=d+1|0))<(0|s)){if(sp(p,a,f=d+A|0,0,0),(0|e)>=(0|c))break e;if(sp(p,a,y=t+l|0,0,0),!(t+i&1))break t;if(vr(p,a,f,t=l+d|0,0),vr(p,a,t,y,0),!u)break e;sp(p,a,t,0,0);break e}if((0|e)>=(0|c))break e;sp(p,a,t+l|0,0,0);break e}vr(p,y,a,f,0),vr(p,y,f,l+d|0,0),u&&sp(p,f,y,0,0)}if((0|s)==(0|d))break}else e=i+1|0;if((0|n)==(0|(i=e)))break}}return p}(h[d+40>>2],h[d+36>>2],h[d+32>>2],h[d+28>>2],h[d+24>>2],h[d+20>>2],h[d+16>>2],h[d+12>>2],1&o[d+11|0]),w=d+48|0,0|e},emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10:function(e,t,n,i,r,a,s,c,l,u,p){var d;return e|=0,t|=0,n|=0,i|=0,r|=0,a|=0,s|=0,c|=0,l|=0,u|=0,p|=0,w=d=w-48|0,h[d+44>>2]=e,h[d+40>>2]=t,h[d+36>>2]=n,h[d+32>>2]=i,h[d+28>>2]=r,h[d+24>>2]=a,h[d+20>>2]=s,h[d+16>>2]=c,h[d+12>>2]=l,o[d+11|0]=u,h[d+4>>2]=p,e=Je(h[d+40>>2],h[d+36>>2],h[d+32>>2],h[d+28>>2],h[d+24>>2],h[d+20>>2],h[d+16>>2],h[d+12>>2],1&o[d+11|0],h[d+4>>2]),w=d+48|0,0|e},emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4:function(e,t,n,i,o){var a;return e|=0,t|=0,n|=0,i|=0,o|=0,w=a=w-32|0,h[a+28>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,h[a+12>>2]=o,e=function(e,t,n,i){var o,a,s=0,c=0,l=0,u=v(0),p=v(0),d=0,f=0,_=v(0),b=v(0),g=v(0),y=v(0);w=a=w-16|0,o=i+3|0;e:if((0|i)>=-2){for(h[7717]=h[7717]+1,d=0|r[h[6606]](o<<4,16);s=h[a+4>>2],h[(f=(l<<4)+d|0)>>2]=h[a>>2],h[f+4>>2]=s,s=h[a+12>>2],h[f+8>>2]=h[a+8>>2],h[f+12>>2]=s,(0|o)!=(0|(l=l+1|0)););for(_=v(0|o),s=d;;){if(p=v(0),u=v(.5),l=c,c)for(;p=1&l?v(p+u):p,u=v(u*v(.5)),l>>=1;);if(h[s+12>>2]=0,u=v(v(p+p)+v(-1)),m[s+8>>2]=u,p=v(v(v(v(c<<1)*v(3.1415927410125732))+v(3.1415927410125732))/_),u=v(S(v(v(1)-v(u*u)))),m[s+4>>2]=wi(p)*u,m[s>>2]=Ri(p)*u,s=s+16|0,(0|(c=c+1|0))==(0|o))break}if((0|i)>=-2){for(i=(0|o)>1?o:1,s=0;b=m[t>>2],g=m[n>>2],y=m[t+4>>2],_=m[n+4>>2],p=m[t+8>>2],u=m[n+8>>2],h[12+(c=(s<<4)+d|0)>>2]=0,m[c+8>>2]=p+v(u*m[c+8>>2]),m[c+4>>2]=y+v(_*m[c+4>>2]),m[c>>2]=b+v(g*m[c>>2]),(0|i)!=(0|(s=s+1|0)););l=Rn(e,d,o,1)}else if(l=Rn(e,d,o,1),!d)break e;d&&(h[7718]=h[7718]+1,r[h[6607]](d))}else l=Rn(e,0,o,1);return w=a+16|0,l}(h[a+24>>2],h[a+20>>2],h[a+16>>2],h[a+12>>2]),w=a+32|0,0|e},emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5:function(e,t,n,i,a,s){var c;return e|=0,t|=0,n|=0,i|=0,a|=0,s|=0,w=c=w-32|0,h[c+28>>2]=e,h[c+24>>2]=t,h[c+20>>2]=n,h[c+16>>2]=i,h[c+12>>2]=a,o[c+11|0]=s,e=function(e,t,n,i,a){var s,c,l=0,u=0,p=0,f=0,_=0,m=0,b=0,v=0,y=0,C=0;if(w=s=w-16|0,c=g(i,3),(0|i)>=1)for(l=(0|c)>1?c:1;u=(0|(_=h[(p<<2)+n>>2]))>(0|u)?_:u,(0|l)!=(0|(p=p+1|0)););if((l=g(_=u+1|0,_))&&(h[7717]=h[7717]+1,ji(m=0|r[h[6606]](l,16),0,l)),!((0|u)<=-1)){for(p=0,h[7717]=h[7717]+1,v=0|r[h[6606]](_<<4,16);b=h[(l=s)+4>>2],h[(f=(p<<4)+v|0)>>2]=h[l>>2],h[f+4>>2]=b,b=h[l+12>>2],h[f+8>>2]=h[l+8>>2],h[f+12>>2]=b,l=(0|u)!=(0|p),p=p+1|0,l;);if(!((0|u)<0))for(f=(((0|(l=g(u,3)+3|0))>3?l:3)+-1>>>0)/3|0,p=0,u=0;b=h[4+(l=(p<<2)+t|0)>>2],y=h[l>>2],C=h[l+8>>2],h[12+(l=(u<<4)+v|0)>>2]=0,h[l+8>>2]=C,h[l>>2]=y,h[l+4>>2]=b,p=p+3|0,l=(0|u)!=(0|f),u=u+1|0,l;);}if(p=0,h[7717]=h[7717]+1,e=Ee(0|r[h[6606]](1252,16),e,_,v,0),(0|i)>=1)for(;t=h[4+(i=(p<<2)+n|0)>>2],l=h[i>>2],u=g(l,_),i=h[i+8>>2],d[0|(f=(u+i|0)+m|0)]||(o[0|f]=1,o[(l+g(i,_)|0)+m|0]=1,sp(e,i,l,0,0)),f=g(t,_),d[0|(b=(f+l|0)+m|0)]||(o[0|b]=1,o[(t+u|0)+m|0]=1,sp(e,l,t,0,0)),u=(t+g(i,_)|0)+m|0,d[0|u]||(o[0|u]=1,o[(i+f|0)+m|0]=1,sp(e,t,i,0,0)),vr(e,l,t,i,0),(0|(p=p+3|0))<(0|c););return a&&ct(e),v&&v&&(h[7718]=h[7718]+1,r[h[6607]](v)),m&&m&&(h[7718]=h[7718]+1,r[h[6607]](m)),w=s+16|0,e}(h[c+24>>2],h[c+20>>2],h[c+16>>2],h[c+12>>2],1&o[c+11|0]),w=c+32|0,0|e},emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4:function(e,t,n,i,r){var a;return e|=0,t|=0,n|=0,i|=0,r|=0,w=a=w-32|0,h[a+28>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,o[a+15|0]=r,e=Rn(h[a+24>>2],h[a+20>>2],h[a+16>>2],1&o[a+15|0]),w=a+32|0,0|e},emscripten_bind_btSoftBodyHelpers___destroy___0:tp,emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,p[h[t+12>>2]+4>>1]},emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,p[h[n+12>>2]+4>>1]=h[n+8>>2]},emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,p[h[t+12>>2]+6>>1]},emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,p[h[n+12>>2]+6>>1]=h[n+8>>2]},emscripten_bind_btBroadphaseProxy___destroy___0:rp,emscripten_bind_tNodeArray_size_0:Sl,emscripten_bind_tNodeArray_at_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,w=n+16|0,h[h[e+12>>2]+12>>2]+g(h[e+8>>2],104)|0},emscripten_bind_tNodeArray___destroy___0:Ku,emscripten_bind_btBoxShape_btBoxShape_1:function(e){var t;return e|=0,w=t=w-16|0,h[t+12>>2]=e,function(e,t){var n,i=v(0),o=v(0),a=v(0),s=0,c=v(0),l=v(0),u=v(0);La(e),h[e+4>>2]=0,h[e>>2]=14828,n=e,i=m[t>>2],o=m[t+8>>2],a=m[t+4>>2],(i=v(m[((i>2]*v(.10000000149011612)))>2]?(fo(e,i),s=h[e>>2]):s=14828,i=v(r[h[s+48>>2]](n)),o=v(r[h[h[e>>2]+48>>2]](e)),a=v(r[h[h[e>>2]+48>>2]](e)),c=m[t>>2],l=m[t+4>>2],u=m[t+8>>2],h[e+40>>2]=0,m[e+36>>2]=v(u*m[e+20>>2])-a,m[e+32>>2]=v(l*m[e+16>>2])-o,m[e+28>>2]=v(c*m[e+12>>2])-i}(e=El(56),h[t+12>>2]),w=t+16|0,0|e},emscripten_bind_btBoxShape_setMargin_1:kc,emscripten_bind_btBoxShape_getMargin_0:pl,emscripten_bind_btBoxShape_setLocalScaling_1:zc,emscripten_bind_btBoxShape_getLocalScaling_0:Dl,emscripten_bind_btBoxShape_calculateLocalInertia_2:Zs,emscripten_bind_btBoxShape___destroy___0:ou,emscripten_bind_btFace_get_m_indices_0:lh,emscripten_bind_btFace_set_m_indices_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,Xu(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btFace_get_m_plane_1:function(e,t){var n;return e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,v(m[(h[n+12>>2]+20|0)+(h[n+8>>2]<<2)>>2])},emscripten_bind_btFace_set_m_plane_2:function(e,t,n){var i;e|=0,t|=0,n=v(n),h[12+(i=w-16|0)>>2]=e,h[i+8>>2]=t,m[i+4>>2]=n,m[(h[i+12>>2]+20|0)+(h[i+8>>2]<<2)>>2]=m[i+4>>2]},emscripten_bind_btFace___destroy___0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,(e=h[t+12>>2])&&(oh(e),Se(e)),w=t+16|0},emscripten_bind_DebugDrawer_DebugDrawer_0:function(){var e;return e=Tl(4),h[e>>2]=0,function(e){var t,n;w=t=w-16|0,h[t+12>>2]=e,e=w-16|0,n=h[t+12>>2],h[e+12>>2]=n,h[h[e+12>>2]>>2]=2428,h[n>>2]=2276,w=t+16|0}(e),0|e},emscripten_bind_DebugDrawer_drawLine_3:fs,emscripten_bind_DebugDrawer_drawContactPoint_5:$o,emscripten_bind_DebugDrawer_reportErrorWarning_1:Qc,emscripten_bind_DebugDrawer_draw3dText_2:$s,emscripten_bind_DebugDrawer_setDebugMode_1:qc,emscripten_bind_DebugDrawer_getDebugMode_0:Nl,emscripten_bind_DebugDrawer___destroy___0:ou,emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2:function(e,t){var n,i;return e=v(e),t=v(t),w=n=w-16|0,m[n+12>>2]=e,m[n+8>>2]=t,function(e,t,n){h[e+4>>2]=35,h[e+8>>2]=0,h[e>>2]=13316,h[e+44>>2]=1025758986,h[e+20>>2]=1065353216,h[e+24>>2]=0,h[e+12>>2]=1065353216,h[e+16>>2]=1065353216,h[e>>2]=13444,h[e+52>>2]=0,h[e>>2]=14120,h[e+4>>2]=10,h[e+40>>2]=0,m[e+36>>2]=t,m[e+32>>2]=t,m[e+28>>2]=n*v(.5)}(i=El(56),m[n+12>>2],m[n+8>>2]),w=n+16|0,0|i},emscripten_bind_btCapsuleShapeX_setMargin_1:kc,emscripten_bind_btCapsuleShapeX_getMargin_0:pl,emscripten_bind_btCapsuleShapeX_getUpAxis_0:gl,emscripten_bind_btCapsuleShapeX_getRadius_0:ku,emscripten_bind_btCapsuleShapeX_getHalfHeight_0:Vu,emscripten_bind_btCapsuleShapeX_setLocalScaling_1:zc,emscripten_bind_btCapsuleShapeX_getLocalScaling_0:Dl,emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2:Zs,emscripten_bind_btCapsuleShapeX___destroy___0:ou,emscripten_bind_btQuaternion_btQuaternion_4:function(e,t,n,i){var r,o;return e=v(e),t=v(t),n=v(n),i=v(i),w=r=w-16|0,m[r+12>>2]=e,m[r+8>>2]=t,m[r+4>>2]=n,m[r>>2]=i,As(o=Tl(16),r+12|0,r+8|0,r+4|0,r),w=r+16|0,0|o},emscripten_bind_btQuaternion_setValue_4:Ga,emscripten_bind_btQuaternion_setEulerZYX_3:function(e,t,n,i){var r;e|=0,t=v(t),n=v(n),i=v(i),w=r=w-16|0,h[r+12>>2]=e,m[r+8>>2]=t,m[r+4>>2]=n,m[r>>2]=i,function(e,t,n,i){var r;w=r=w-80|0,h[r+76>>2]=e,h[r+72>>2]=t,h[r+68>>2]=n,h[r+64>>2]=i,e=h[r+76>>2],m[r+60>>2]=m[h[r+72>>2]>>2]*v(.5),m[r+56>>2]=m[h[r+68>>2]>>2]*v(.5),m[r+52>>2]=m[h[r+64>>2]>>2]*v(.5),m[r+48>>2]=up(m[r+60>>2]),m[r+44>>2]=lp(m[r+60>>2]),m[r+40>>2]=up(m[r+56>>2]),m[r+36>>2]=lp(m[r+56>>2]),m[r+32>>2]=up(m[r+52>>2]),m[r+28>>2]=lp(m[r+52>>2]),m[r+24>>2]=v(v(m[r+28>>2]*m[r+40>>2])*m[r+48>>2])-v(v(m[r+32>>2]*m[r+36>>2])*m[r+44>>2]),m[r+20>>2]=v(v(m[r+32>>2]*m[r+36>>2])*m[r+48>>2])+v(v(m[r+28>>2]*m[r+40>>2])*m[r+44>>2]),m[r+16>>2]=v(v(m[r+32>>2]*m[r+40>>2])*m[r+44>>2])-v(v(m[r+28>>2]*m[r+36>>2])*m[r+48>>2]),m[r+12>>2]=v(v(m[r+32>>2]*m[r+40>>2])*m[r+48>>2])+v(v(m[r+28>>2]*m[r+36>>2])*m[r+44>>2]),va(e,r+24|0,r+20|0,r+16|0,r+12|0),w=r+80|0}(h[r+12>>2],r+8|0,r+4|0,r),w=r+16|0},emscripten_bind_btQuaternion_setRotation_2:function(e,t,n){var i;e|=0,t|=0,n=v(n),w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,m[i+4>>2]=n,function(e,t,n){var i;w=i=w-48|0,h[i+44>>2]=e,h[i+40>>2]=t,h[i+36>>2]=n,e=h[i+44>>2],m[i+32>>2]=$c(h[i+40>>2]),m[i+28>>2]=lp(v(m[h[i+36>>2]>>2]*v(.5)))/m[i+32>>2],h[12+(t=w-16|0)>>2]=h[i+40>>2],m[i+24>>2]=m[h[t+12>>2]>>2]*m[i+28>>2],h[12+(t=w-16|0)>>2]=h[i+40>>2],m[i+20>>2]=m[h[t+12>>2]+4>>2]*m[i+28>>2],h[12+(t=w-16|0)>>2]=h[i+40>>2],m[i+16>>2]=m[h[t+12>>2]+8>>2]*m[i+28>>2],m[i+12>>2]=up(v(m[h[i+36>>2]>>2]*v(.5))),va(e,i+24|0,i+20|0,i+16|0,i+12|0),w=i+48|0}(h[i+12>>2],h[i+8>>2],i+4|0),w=i+16|0},emscripten_bind_btQuaternion_normalize_0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,function(e){var t;w=t=w-16|0,h[t+12>>2]=e,e=h[t+12>>2],m[t+8>>2]=tl(e),Cc(e,t+8|0),w=t+16|0}(h[t+12>>2]),w=t+16|0},emscripten_bind_btQuaternion_length2_0:function(e){e|=0;var t,n=v(0);return w=t=w-16|0,h[t+12>>2]=e,n=Hu(h[t+12>>2]),w=t+16|0,v(n)},emscripten_bind_btQuaternion_length_0:function(e){e|=0;var t,n=v(0);return w=t=w-16|0,h[t+12>>2]=e,n=tl(h[t+12>>2]),w=t+16|0,v(n)},emscripten_bind_btQuaternion_dot_1:function(e,t){e|=0,t|=0;var n,i=v(0);return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,i=Ao(h[n+12>>2],h[n+8>>2]),w=n+16|0,v(i)},emscripten_bind_btQuaternion_normalized_0:function(e){e|=0;var t,n=0;return w=t=w-32|0,h[t+28>>2]=e,1&o[26772]||Vl(26772)&&(nu(26756),Fu(26772)),function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=t,t=h[n+12>>2],m[n+8>>2]=tl(t),function(e,t,n){var i=0;w=i=w-16|0,h[i+12>>2]=t,h[i+8>>2]=n,t=h[i+12>>2],m[i+4>>2]=v(1)/m[h[i+8>>2]>>2],function(e,t,n){var i;w=i=w-32|0,h[i+28>>2]=t,h[i+24>>2]=n,n=w-16|0,t=h[i+28>>2],h[n+12>>2]=t,m[i+20>>2]=m[h[n+12>>2]>>2]*m[h[i+24>>2]>>2],h[12+(n=w-16|0)>>2]=t,m[i+16>>2]=m[h[n+12>>2]+4>>2]*m[h[i+24>>2]>>2],h[12+(n=w-16|0)>>2]=t,m[i+12>>2]=m[h[n+12>>2]+8>>2]*m[h[i+24>>2]>>2],m[i+8>>2]=m[t+12>>2]*m[h[i+24>>2]>>2],As(e,i+20|0,i+16|0,i+12|0,i+8|0),w=i+32|0}(e,t,i+4|0),w=i+16|0}(e,t,n+8|0),w=n+16|0}(e=t+8|0,h[t+28>>2]),n=h[e+4>>2],h[6689]=h[e>>2],h[6690]=n,n=h[e+12>>2],h[6691]=h[e+8>>2],h[6692]=n,w=t+32|0,26756},emscripten_bind_btQuaternion_getAxis_0:function(e){var t;return e|=0,w=t=w-32|0,h[t+28>>2]=e,1&o[26792]||Vl(26792)&&(h[12+(w-16|0)>>2]=26776,Fu(26792)),function(e,t){var n,i=0;w=n=w-48|0,h[n+44>>2]=t,t=h[n+44>>2],m[n+40>>2]=v(1)-v(m[t+12>>2]*m[t+12>>2]),m[n+40>>2]>2]=1,m[n+32>>2]=0,m[n+28>>2]=0,bs(e,n+36|0,n+32|0,n+28|0)):(m[12+(i=w-16|0)>>2]=m[n+40>>2],m[n+24>>2]=v(1)/v(S(m[i+12>>2])),m[n+20>>2]=m[t>>2]*m[n+24>>2],m[n+16>>2]=m[t+4>>2]*m[n+24>>2],m[n+12>>2]=m[t+8>>2]*m[n+24>>2],bs(e,n+20|0,n+16|0,n+12|0)),w=n+48|0}(t+8|0,h[t+28>>2]),e=h[t+12>>2],h[6694]=h[t+8>>2],h[6695]=e,e=h[t+20>>2],h[6696]=h[t+16>>2],h[6697]=e,w=t+32|0,26776},emscripten_bind_btQuaternion_inverse_0:function(e){e|=0;var t,n=0;return w=t=w-32|0,h[t+28>>2]=e,1&o[26812]||Vl(26812)&&(nu(26796),Fu(26812)),function(e,t){var n=0;w=n=w-16|0,h[n+12>>2]=t,t=h[n+12>>2],m[n+8>>2]=-m[t>>2],m[n+4>>2]=-m[t+4>>2],m[n>>2]=-m[t+8>>2],As(e,n+8|0,n+4|0,n,t+12|0),w=n+16|0}(e=t+8|0,h[t+28>>2]),n=h[e+4>>2],h[6699]=h[e>>2],h[6700]=n,n=h[e+12>>2],h[6701]=h[e+8>>2],h[6702]=n,w=t+32|0,26796},emscripten_bind_btQuaternion_getAngle_0:function(e){e|=0;var t,n=v(0);return w=t=w-16|0,h[t+12>>2]=e,n=function(e){var t;return w=t=w-16|0,h[t+12>>2]=e,m[t+8>>2]=v(2)*lc(m[h[t+12>>2]+12>>2]),w=t+16|0,m[t+8>>2]}(h[t+12>>2]),w=t+16|0,v(n)},emscripten_bind_btQuaternion_getAngleShortestPath_0:function(e){e|=0;var t,n=v(0);return w=t=w-16|0,h[t+12>>2]=e,n=function(e){var t;return w=t=w-16|0,h[t+12>>2]=e,Ao(e=h[t+12>>2],e)>2]=v(2)*lc(m[e+12>>2]):m[t+8>>2]=v(2)*lc(v(-m[e+12>>2])),w=t+16|0,m[t+8>>2]}(h[t+12>>2]),w=t+16|0,v(n)},emscripten_bind_btQuaternion_angle_1:function(e,t){e|=0,t|=0;var n,i=v(0);return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,i=function(e,t){var n,i=v(0);return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],i=v(Hu(e)*Hu(h[n+8>>2])),m[12+(t=w-16|0)>>2]=i,m[n+4>>2]=S(m[t+12>>2]),i=lc(v(Ao(e,h[n+8>>2])/m[n+4>>2])),w=n+16|0,i}(h[n+12>>2],h[n+8>>2]),w=n+16|0,v(i)},emscripten_bind_btQuaternion_angleShortestPath_1:function(e,t){e|=0,t|=0;var n,i=v(0);return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,i=Oo(h[n+12>>2],h[n+8>>2]),w=n+16|0,v(i)},emscripten_bind_btQuaternion_op_add_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=function(e,t){var n;return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],m[e>>2]=m[e>>2]+m[h[t+12>>2]>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],m[e+4>>2]=m[e+4>>2]+m[h[t+12>>2]+4>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],m[e+8>>2]=m[e+8>>2]+m[h[t+12>>2]+8>>2],m[e+12>>2]=m[e+12>>2]+m[h[n+8>>2]+12>>2],w=n+16|0,e}(h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btQuaternion_op_sub_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=function(e,t){var n;return w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=h[n+12>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],m[e>>2]=m[e>>2]-m[h[t+12>>2]>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],m[e+4>>2]=m[e+4>>2]-m[h[t+12>>2]+4>>2],h[12+(t=w-16|0)>>2]=h[n+8>>2],m[e+8>>2]=m[e+8>>2]-m[h[t+12>>2]+8>>2],m[e+12>>2]=m[e+12>>2]-m[h[n+8>>2]+12>>2],w=n+16|0,e}(h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btQuaternion_op_mul_1:function(e,t){var n;return e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,e=ya(h[n+12>>2],n+8|0),w=n+16|0,0|e},emscripten_bind_btQuaternion_op_mulq_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,e=function(e,t){var n,i=v(0),r=v(0);return w=n=w-32|0,h[n+28>>2]=e,h[n+24>>2]=t,e=h[n+28>>2],i=m[e+12>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],i=v(v(i*m[h[t+12>>2]>>2])+v(m[e>>2]*m[h[n+24>>2]+12>>2])),r=m[e+4>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],i=v(i+v(r*m[h[t+12>>2]+8>>2])),r=m[e+8>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],m[n+20>>2]=i-v(r*m[h[t+12>>2]+4>>2]),i=m[e+12>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],i=v(v(i*m[h[t+12>>2]+4>>2])+v(m[e+4>>2]*m[h[n+24>>2]+12>>2])),r=m[e+8>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],i=v(i+v(r*m[h[t+12>>2]>>2])),r=m[e>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],m[n+16>>2]=i-v(r*m[h[t+12>>2]+8>>2]),i=m[e+12>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],i=v(v(i*m[h[t+12>>2]+8>>2])+v(m[e+8>>2]*m[h[n+24>>2]+12>>2])),r=m[e>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],i=v(i+v(r*m[h[t+12>>2]+4>>2])),r=m[e+4>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],m[n+12>>2]=i-v(r*m[h[t+12>>2]>>2]),i=v(m[e+12>>2]*m[h[n+24>>2]+12>>2]),r=m[e>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],i=v(i-v(r*m[h[t+12>>2]>>2])),r=m[e+4>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],i=v(i-v(r*m[h[t+12>>2]+4>>2])),r=m[e+8>>2],h[12+(t=w-16|0)>>2]=h[n+24>>2],m[n+8>>2]=i-v(r*m[h[t+12>>2]+8>>2]),va(e,n+20|0,n+16|0,n+12|0,n+8|0),w=n+32|0,e}(h[n+12>>2],h[n+8>>2]),w=n+16|0,0|e},emscripten_bind_btQuaternion_op_div_1:function(e,t){var n;return e|=0,t=v(t),w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,e=Cc(h[n+12>>2],n+8|0),w=n+16|0,0|e},emscripten_bind_btQuaternion_x_0:bl,emscripten_bind_btQuaternion_y_0:ll,emscripten_bind_btQuaternion_z_0:ul,emscripten_bind_btQuaternion_w_0:cl,emscripten_bind_btQuaternion_setX_1:Bs,emscripten_bind_btQuaternion_setY_1:Ls,emscripten_bind_btQuaternion_setZ_1:Ns,emscripten_bind_btQuaternion_setW_1:Ms,emscripten_bind_btQuaternion___destroy___0:tp,emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2:function(e,t){var n,i;return e=v(e),t=v(t),w=n=w-16|0,m[n+12>>2]=e,m[n+8>>2]=t,function(e,t,n){h[e+4>>2]=35,h[e+8>>2]=0,h[e>>2]=13316,h[e+44>>2]=1025758986,h[e+20>>2]=1065353216,h[e+24>>2]=0,h[e+12>>2]=1065353216,h[e+16>>2]=1065353216,h[e>>2]=13444,h[e+52>>2]=2,h[e>>2]=14220,h[e+4>>2]=10,h[e+40>>2]=0,m[e+36>>2]=n*v(.5),m[e+32>>2]=t,m[e+28>>2]=t}(i=El(56),m[n+12>>2],m[n+8>>2]),w=n+16|0,0|i},emscripten_bind_btCapsuleShapeZ_setMargin_1:kc,emscripten_bind_btCapsuleShapeZ_getMargin_0:pl,emscripten_bind_btCapsuleShapeZ_getUpAxis_0:gl,emscripten_bind_btCapsuleShapeZ_getRadius_0:ku,emscripten_bind_btCapsuleShapeZ_getHalfHeight_0:Vu,emscripten_bind_btCapsuleShapeZ_setLocalScaling_1:zc,emscripten_bind_btCapsuleShapeZ_getLocalScaling_0:Dl,emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2:Zs,emscripten_bind_btCapsuleShapeZ___destroy___0:ou,emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0:function(e){var t;return e|=0,h[12+(t=w-16|0)>>2]=e,0!=h[h[t+12>>2]+44>>2]|0},emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1:function(e,t){var n;e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,o[n+11|0]=t,h[h[n+12>>2]+44>>2]=1&o[n+11|0]},emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0:function(e){e|=0;var t,n=v(0);return h[12+(t=w-16|0)>>2]=e,n=m[h[t+12>>2]+48>>2],0|(e=v(y(n))>2]=e,h[n+8>>2]=t,m[h[n+12>>2]+48>>2]=h[n+8>>2]},emscripten_bind_btContactSolverInfo_get_m_numIterations_0:kp,emscripten_bind_btContactSolverInfo_set_m_numIterations_1:wu,emscripten_bind_btContactSolverInfo___destroy___0:tp,emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3:function(e,t,n){var i;return e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,o[i+7|0]=n,function(e,t,n,i){Pe(e,t,n,i),o[0|(t=e+1309|0)]=0,o[t+1|0]=0,o[t+2|0]=0,o[t+3|0]=0,h[e+4>>2]=9,h[e>>2]=19020,o[0|(t=e+1313|0)]=0,o[t+1|0]=0,h[(t=e+1316|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1324|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1332|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1340|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1348|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1356|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1380|0)>>2]=1065353216,h[t+4>>2]=1065353216,h[(t=e+1372|0)>>2]=1065353216,h[t+4>>2]=1065353216,h[e+1364>>2]=1065353216,h[e+1368>>2]=1065353216}(e=El(1388),h[i+12>>2],h[i+8>>2],1&o[i+7|0]),w=i+16|0,0|e},emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5:function(e,t,n,i,r){var a;return e|=0,t|=0,n|=0,i|=0,r|=0,w=a=w-32|0,h[a+28>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,o[a+15|0]=r,function(e,t,n,i,r,a){Qe(e,t,n,i,r,a),o[0|(t=e+1309|0)]=0,o[t+1|0]=0,o[t+2|0]=0,o[t+3|0]=0,h[e+4>>2]=9,h[e>>2]=19020,o[0|(t=e+1313|0)]=0,o[t+1|0]=0,h[(t=e+1316|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1324|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1332|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1340|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1348|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1356|0)>>2]=0,h[t+4>>2]=0,h[(t=e+1380|0)>>2]=1065353216,h[t+4>>2]=1065353216,h[(t=e+1372|0)>>2]=1065353216,h[t+4>>2]=1065353216,h[e+1364>>2]=1065353216,h[e+1368>>2]=1065353216}(e=El(1388),h[a+28>>2],h[a+24>>2],h[a+20>>2],h[a+16>>2],1&o[a+15|0]),w=a+32|0,0|e},emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2:function(e,t,n){var i;e|=0,t|=0,n|=0,w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,o[i+7|0]=n,function(e,t,n){var i=0;o[1309+(i=e+t|0)|0]=n,(0|t)<=2?o[i+788|0]=n:o[720+((t<<6)+e|0)|0]=n}(h[i+12>>2],h[i+8>>2],1&o[i+7|0]),w=i+16|0},emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2:function(e,t,n){var i;e|=0,t|=0,n=v(n),w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,m[i+4>>2]=n,m[1340+(h[i+12>>2]+(h[i+8>>2]<<2)|0)>>2]=m[i+4>>2],w=i+16|0},emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2:function(e,t,n){var i;e|=0,t|=0,n=v(n),w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,m[i+4>>2]=n,m[1364+(h[i+12>>2]+(h[i+8>>2]<<2)|0)>>2]=m[i+4>>2],w=i+16|0},emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_0:function(e){var t;e|=0,w=t=w-16|0,h[t+12>>2]=e,function(e){var t,n=0,i=0;gh(e),h[e+1316>>2]=h[e+1256>>2],t=h[4+(i=e+1260|0)>>2],h[(n=e+1320|0)>>2]=h[i>>2],h[n+4>>2]=t,h[e+1328>>2]=h[e+1192>>2],n=e+1332|0,i=h[4+(e=e+1196|0)>>2],h[n>>2]=h[e>>2],h[n+4>>2]=i}(h[t+12>>2]),w=t+16|0},emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_1:function(e,t){var n;e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,function(e,t){gh(e),h[1316+(e=(t<<2)+e|0)>>2]=h[((0|t)<3?e+1256|0:e+1180|0)>>2]}(h[n+12>>2],h[n+8>>2]),w=n+16|0},emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_2:function(e,t,n){var i;e|=0,t|=0,n=v(n),w=i=w-16|0,h[i+12>>2]=e,h[i+8>>2]=t,m[i+4>>2]=n,m[1316+(h[i+12>>2]+(h[i+8>>2]<<2)|0)>>2]=m[i+4>>2],w=i+16|0},emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1:Yl,emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1:Ql,emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1:Zl,emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1:ql,emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0:Rl,emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1:Ts,emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0:sl,emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1:Is,emscripten_bind_btGeneric6DofSpringConstraint_getParam_2:ms,emscripten_bind_btGeneric6DofSpringConstraint_setParam_3:is,emscripten_bind_btGeneric6DofSpringConstraint___destroy___0:ou,emscripten_bind_btSphereShape_btSphereShape_1:function(e){var t,n;return e=v(e),w=t=w-16|0,m[t+12>>2]=e,function(e,t){var n,i;w=n=w-16|0,h[n+12>>2]=e,m[n+8>>2]=t,i=h[n+12>>2],h[(e=i)+4>>2]=35,h[e+8>>2]=0,h[e>>2]=13316,h[e+44>>2]=1025758986,h[e+20>>2]=1065353216,h[e+24>>2]=0,h[e+12>>2]=1065353216,h[e+16>>2]=1065353216,h[e>>2]=13444,h[e>>2]=11556,h[e+4>>2]=8,t=m[n+8>>2],h[12+(e=w-16|0)>>2]=i+28,m[e+8>>2]=t,m[h[e+12>>2]>>2]=m[e+8>>2],m[i+44>>2]=m[n+8>>2],w=n+16|0}(n=El(52),m[t+12>>2]),w=t+16|0,0|n},emscripten_bind_btSphereShape_setMargin_1:kc,emscripten_bind_btSphereShape_getMargin_0:pl,emscripten_bind_btSphereShape_setLocalScaling_1:zc,emscripten_bind_btSphereShape_getLocalScaling_0:Dl,emscripten_bind_btSphereShape_calculateLocalInertia_2:Zs,emscripten_bind_btSphereShape___destroy___0:ou,emscripten_bind_Face_get_m_n_1:function(e,t){var n;return e|=0,t|=0,h[12+(n=w-16|0)>>2]=e,h[n+8>>2]=t,h[(h[n+12>>2]+8|0)+(h[n+8>>2]<<2)>>2]},emscripten_bind_Face_set_m_n_2:function(e,t,n){var i;e|=0,t|=0,n|=0,h[12+(i=w-16|0)>>2]=e,h[i+8>>2]=t,h[i+4>>2]=n,h[(h[i+12>>2]+8|0)+(h[i+8>>2]<<2)>>2]=h[i+4>>2]},emscripten_bind_Face_get_m_normal_0:Zp,emscripten_bind_Face_set_m_normal_1:ns,emscripten_bind_Face_get_m_ra_0:yp,emscripten_bind_Face_set_m_ra_1:bu,emscripten_bind_Face___destroy___0:tp,emscripten_bind_tFaceArray_size_0:Sl,emscripten_bind_tFaceArray_at_1:function(e,t){var n;return e|=0,t|=0,w=n=w-16|0,h[n+12>>2]=e,h[n+8>>2]=t,t=h[n+8>>2],h[12+(e=w-16|0)>>2]=h[n+12>>2],h[e+8>>2]=t,w=n+16|0,h[h[e+12>>2]+12>>2]+g(h[e+8>>2],44)|0},emscripten_bind_tFaceArray___destroy___0:Ku,emscripten_bind_LocalConvexResult_LocalConvexResult_5:function(e,t,n,i,r){var o;return e|=0,t|=0,n|=0,i|=0,r=v(r),w=o=w-32|0,h[o+28>>2]=e,h[o+24>>2]=t,h[o+20>>2]=n,h[o+16>>2]=i,m[o+12>>2]=r,function(e,t,n,i,r,o){var a;h[28+(a=w-32|0)>>2]=e,h[a+24>>2]=t,h[a+20>>2]=n,h[a+16>>2]=i,h[a+12>>2]=r,m[a+8>>2]=o,e=h[a+28>>2],h[e>>2]=h[a+24>>2],h[e+4>>2]=h[a+20>>2],t=h[a+16>>2],n=h[t+4>>2],h[e+8>>2]=h[t>>2],h[e+12>>2]=n,n=h[t+12>>2],h[e+16>>2]=h[t+8>>2],h[e+20>>2]=n,t=h[a+12>>2],n=h[t+4>>2],h[e+24>>2]=h[t>>2],h[e+28>>2]=n,n=h[t+12>>2],h[e+32>>2]=h[t+8>>2],h[e+36>>2]=n,m[e+40>>2]=m[a+8>>2]}(e=Tl(44),h[o+28>>2],h[o+24>>2],h[o+20>>2],h[o+16>>2],m[o+12>>2]),w=o+32|0,0|e},emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0:Hp,emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1:Gu,emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0:zp,emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1:Nu,emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0:ah,emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1:ps,emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0:eh,emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1:$a,emscripten_bind_LocalConvexResult_get_m_hitFraction_0:pp,emscripten_bind_LocalConvexResult_set_m_hitFraction_1:lu,emscripten_bind_LocalConvexResult___destroy___0:tp,emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP:ed,emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP:td,emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM:nd,emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM:id,emscripten_enum_PHY_ScalarType_PHY_FLOAT:function(){return 0},emscripten_enum_PHY_ScalarType_PHY_DOUBLE:ed,emscripten_enum_PHY_ScalarType_PHY_INTEGER:td,emscripten_enum_PHY_ScalarType_PHY_SHORT:nd,emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88:id,emscripten_enum_PHY_ScalarType_PHY_UCHAR:function(){return 5},malloc:k,free:Se,__growWasmMemory:function(e){return 0|T()},dynCall_vi:function(e,t){t|=0,r[e|=0](t)},dynCall_v:function(e){r[e|=0]()}}}({Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:1/0,Math:Math},e,t.buffer)}(le,P,O)}}_=null,t.wasmBinary&&(C=t.wasmBinary),t.noExitRuntime&&t.noExitRuntime;var T=Error,E={};C=[],"object"!=typeof E&&x("no native wasm support detected");var P,O=new function(e){var t=Array(930);return t.grow=function(){930<=t.length&&q("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH."),t.push(null)},t.set=function(e,n){t[e]=n},t.get=function(e){return t[e]},t}({initial:930,maximum:930,element:"anyfunc"}),M=!1;function R(e,t){e||q("Assertion failed: "+t)}var I,w,D,L,N,F,B="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,k=t.INITIAL_MEMORY||67108864;(P=t.wasmMemory?t.wasmMemory:new function(){return{buffer:new ArrayBuffer(k/65536*65536),grow:function(e){return sT(e)}}})&&(I=P.buffer),k=I.byteLength;var V=I;function z(e){for(;0>>16)*i+n*(t>>>16)<<16)|0}),!Math.fround){var Y=new Float32Array(1);Math.fround=function(e){return Y[0]=e,Y[0]}}Math.clz32||(Math.clz32=function(e){var t=32,n=e>>16;return n&&(t-=16,e=n),(n=e>>8)&&(t-=8,e=n),(n=e>>4)&&(t-=4,e=n),(n=e>>2)&&(t-=2,e=n),e>>1?t-2:t-e}),Math.trunc||(Math.trunc=function(e){return 0>e?Math.ceil(e):Math.floor(e)});var Q=0,K=null,Z=null;function q(e){throw t.onAbort&&t.onAbort(e),A(e+=""),x(e),M=!0,new T("abort("+e+"). Build with -s ASSERTIONS=1 for more info.")}function J(e,t){return String.prototype.startsWith?e.startsWith(t):0===e.indexOf(t)}t.preloadedImages={},t.preloadedAudios={};var $="data:application/octet-stream;base64,",ee="";if(!J(ee,$)){var te=ee;ee=t.locateFile?t.locateFile(te,y):y+te}function ne(){try{if(C)return new Uint8Array(C);var e=ce(ee);if(e)return e;if(b)return b(ee);throw"both async and sync fetching of the wasm failed"}catch(e){q(e)}}var ie={1960:function(e,n,i,r,o,a,s,c){if(!(e=t.getCache(t.ConcreteContactResultCallback)[e]).hasOwnProperty("addSingleResult"))throw"a JSImplementation must implement all functions, you forgot ConcreteContactResultCallback::addSingleResult.";return e.addSingleResult(n,i,r,o,a,s,c)},2520:function(e,n,i,r){if(!(e=t.getCache(t.DebugDrawer)[e]).hasOwnProperty("drawLine"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawLine.";e.drawLine(n,i,r)},2745:function(e,n,i,r,o,a){if(!(e=t.getCache(t.DebugDrawer)[e]).hasOwnProperty("drawContactPoint"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawContactPoint.";e.drawContactPoint(n,i,r,o,a)},3002:function(e,n){if(!(e=t.getCache(t.DebugDrawer)[e]).hasOwnProperty("reportErrorWarning"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::reportErrorWarning.";e.reportErrorWarning(n)},3249:function(e,n,i){if(!(e=t.getCache(t.DebugDrawer)[e]).hasOwnProperty("draw3dText"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::draw3dText.";e.draw3dText(n,i)},3476:function(e,n){if(!(e=t.getCache(t.DebugDrawer)[e]).hasOwnProperty("setDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::setDebugMode.";e.setDebugMode(n)},3705:function(e){if(!(e=t.getCache(t.DebugDrawer)[e]).hasOwnProperty("getDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::getDebugMode.";return e.getDebugMode()}};U.push({la:function(){ue()}});var re=[];function oe(e,t){var n;for(re.length=0,t>>=2;n=D[e++];)re.push(105>n?F[++t>>1]:L[t]),++t;return re}function ae(e){for(var t=[],n=0;n>4,r=(15&r)<<4|o>>2;var s=(3&o)<<6|a;t+=String.fromCharCode(i),64!==o&&(t+=String.fromCharCode(r)),64!==a&&(t+=String.fromCharCode(s))}while(n>2]=t/1e3|0,L[e+4>>2]=t%1e3*1e3|0,0},memory:P,table:O};!function(){function e(e){t.asm=e.exports,Q--,t.monitorRunDependencies&&t.monitorRunDependencies(Q),0==Q&&(null!==K&&(clearInterval(K),K=null),Z&&(e=Z,Z=null,e()))}function n(t){e(t.instance)}function i(e){return(C||!p&&!h||"function"!=typeof fetch||J(ee,"file://")?new l((function(e){e(ne())})):fetch(ee,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ee+"'";return e.arrayBuffer()})).catch((function(){return ne()}))).then((function(){return{then:function(e){e({instance:new S})}}})).then(e,(function(e){x("failed to asynchronously prepare wasm: "+e),q(e)}))}var r={env:le,wasi_snapshot_preview1:le};if(Q++,t.monitorRunDependencies&&t.monitorRunDependencies(Q),t.instantiateWasm)try{return t.instantiateWasm(r,e)}catch(e){return x("Module.instantiateWasm callback failed with error: "+e),!1}!function(){if(C||"function"!=typeof E.instantiateStreaming||J(ee,$)||J(ee,"file://")||"function"!=typeof fetch)return i(n);fetch(ee,{credentials:"same-origin"}).then((function(e){return E.instantiateStreaming(e,r).then(n,(function(e){return x("wasm streaming compile failed: "+e),x("falling back to ArrayBuffer instantiation"),i(n)}))}))}()}();var ue=t.___wasm_call_ctors=function(){return(ue=t.___wasm_call_ctors=t.asm.__wasm_call_ctors).apply(null,arguments)};t.___em_js__array_bounds_check_error=function(){return(t.___em_js__array_bounds_check_error=t.asm.__em_js__array_bounds_check_error).apply(null,arguments)};var pe=t._emscripten_bind_btCollisionWorld_getDispatcher_0=function(){return(pe=t._emscripten_bind_btCollisionWorld_getDispatcher_0=t.asm.emscripten_bind_btCollisionWorld_getDispatcher_0).apply(null,arguments)},he=t._emscripten_bind_btCollisionWorld_rayTest_3=function(){return(he=t._emscripten_bind_btCollisionWorld_rayTest_3=t.asm.emscripten_bind_btCollisionWorld_rayTest_3).apply(null,arguments)},de=t._emscripten_bind_btCollisionWorld_getPairCache_0=function(){return(de=t._emscripten_bind_btCollisionWorld_getPairCache_0=t.asm.emscripten_bind_btCollisionWorld_getPairCache_0).apply(null,arguments)},fe=t._emscripten_bind_btCollisionWorld_getDispatchInfo_0=function(){return(fe=t._emscripten_bind_btCollisionWorld_getDispatchInfo_0=t.asm.emscripten_bind_btCollisionWorld_getDispatchInfo_0).apply(null,arguments)},_e=t._emscripten_bind_btCollisionWorld_addCollisionObject_1=function(){return(_e=t._emscripten_bind_btCollisionWorld_addCollisionObject_1=t.asm.emscripten_bind_btCollisionWorld_addCollisionObject_1).apply(null,arguments)},me=t._emscripten_bind_btCollisionWorld_addCollisionObject_2=function(){return(me=t._emscripten_bind_btCollisionWorld_addCollisionObject_2=t.asm.emscripten_bind_btCollisionWorld_addCollisionObject_2).apply(null,arguments)},be=t._emscripten_bind_btCollisionWorld_addCollisionObject_3=function(){return(be=t._emscripten_bind_btCollisionWorld_addCollisionObject_3=t.asm.emscripten_bind_btCollisionWorld_addCollisionObject_3).apply(null,arguments)},ge=t._emscripten_bind_btCollisionWorld_removeCollisionObject_1=function(){return(ge=t._emscripten_bind_btCollisionWorld_removeCollisionObject_1=t.asm.emscripten_bind_btCollisionWorld_removeCollisionObject_1).apply(null,arguments)},ve=t._emscripten_bind_btCollisionWorld_getBroadphase_0=function(){return(ve=t._emscripten_bind_btCollisionWorld_getBroadphase_0=t.asm.emscripten_bind_btCollisionWorld_getBroadphase_0).apply(null,arguments)},ye=t._emscripten_bind_btCollisionWorld_convexSweepTest_5=function(){return(ye=t._emscripten_bind_btCollisionWorld_convexSweepTest_5=t.asm.emscripten_bind_btCollisionWorld_convexSweepTest_5).apply(null,arguments)},Ce=t._emscripten_bind_btCollisionWorld_contactPairTest_3=function(){return(Ce=t._emscripten_bind_btCollisionWorld_contactPairTest_3=t.asm.emscripten_bind_btCollisionWorld_contactPairTest_3).apply(null,arguments)},Ae=t._emscripten_bind_btCollisionWorld_contactTest_2=function(){return(Ae=t._emscripten_bind_btCollisionWorld_contactTest_2=t.asm.emscripten_bind_btCollisionWorld_contactTest_2).apply(null,arguments)},xe=t._emscripten_bind_btCollisionWorld_updateSingleAabb_1=function(){return(xe=t._emscripten_bind_btCollisionWorld_updateSingleAabb_1=t.asm.emscripten_bind_btCollisionWorld_updateSingleAabb_1).apply(null,arguments)},Se=t._emscripten_bind_btCollisionWorld_setDebugDrawer_1=function(){return(Se=t._emscripten_bind_btCollisionWorld_setDebugDrawer_1=t.asm.emscripten_bind_btCollisionWorld_setDebugDrawer_1).apply(null,arguments)},Te=t._emscripten_bind_btCollisionWorld_getDebugDrawer_0=function(){return(Te=t._emscripten_bind_btCollisionWorld_getDebugDrawer_0=t.asm.emscripten_bind_btCollisionWorld_getDebugDrawer_0).apply(null,arguments)},Ee=t._emscripten_bind_btCollisionWorld_debugDrawWorld_0=function(){return(Ee=t._emscripten_bind_btCollisionWorld_debugDrawWorld_0=t.asm.emscripten_bind_btCollisionWorld_debugDrawWorld_0).apply(null,arguments)},Pe=t._emscripten_bind_btCollisionWorld_debugDrawObject_3=function(){return(Pe=t._emscripten_bind_btCollisionWorld_debugDrawObject_3=t.asm.emscripten_bind_btCollisionWorld_debugDrawObject_3).apply(null,arguments)},Oe=t._emscripten_bind_btCollisionWorld___destroy___0=function(){return(Oe=t._emscripten_bind_btCollisionWorld___destroy___0=t.asm.emscripten_bind_btCollisionWorld___destroy___0).apply(null,arguments)},Me=t._emscripten_bind_btCollisionShape_setLocalScaling_1=function(){return(Me=t._emscripten_bind_btCollisionShape_setLocalScaling_1=t.asm.emscripten_bind_btCollisionShape_setLocalScaling_1).apply(null,arguments)},Re=t._emscripten_bind_btCollisionShape_getLocalScaling_0=function(){return(Re=t._emscripten_bind_btCollisionShape_getLocalScaling_0=t.asm.emscripten_bind_btCollisionShape_getLocalScaling_0).apply(null,arguments)},Ie=t._emscripten_bind_btCollisionShape_calculateLocalInertia_2=function(){return(Ie=t._emscripten_bind_btCollisionShape_calculateLocalInertia_2=t.asm.emscripten_bind_btCollisionShape_calculateLocalInertia_2).apply(null,arguments)},we=t._emscripten_bind_btCollisionShape_setMargin_1=function(){return(we=t._emscripten_bind_btCollisionShape_setMargin_1=t.asm.emscripten_bind_btCollisionShape_setMargin_1).apply(null,arguments)},De=t._emscripten_bind_btCollisionShape_getMargin_0=function(){return(De=t._emscripten_bind_btCollisionShape_getMargin_0=t.asm.emscripten_bind_btCollisionShape_getMargin_0).apply(null,arguments)},Le=t._emscripten_bind_btCollisionShape___destroy___0=function(){return(Le=t._emscripten_bind_btCollisionShape___destroy___0=t.asm.emscripten_bind_btCollisionShape___destroy___0).apply(null,arguments)},Ne=t._emscripten_bind_btCollisionObject_setAnisotropicFriction_2=function(){return(Ne=t._emscripten_bind_btCollisionObject_setAnisotropicFriction_2=t.asm.emscripten_bind_btCollisionObject_setAnisotropicFriction_2).apply(null,arguments)},Fe=t._emscripten_bind_btCollisionObject_getCollisionShape_0=function(){return(Fe=t._emscripten_bind_btCollisionObject_getCollisionShape_0=t.asm.emscripten_bind_btCollisionObject_getCollisionShape_0).apply(null,arguments)},Be=t._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1=function(){return(Be=t._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1=t.asm.emscripten_bind_btCollisionObject_setContactProcessingThreshold_1).apply(null,arguments)},ke=t._emscripten_bind_btCollisionObject_setActivationState_1=function(){return(ke=t._emscripten_bind_btCollisionObject_setActivationState_1=t.asm.emscripten_bind_btCollisionObject_setActivationState_1).apply(null,arguments)},Ve=t._emscripten_bind_btCollisionObject_forceActivationState_1=function(){return(Ve=t._emscripten_bind_btCollisionObject_forceActivationState_1=t.asm.emscripten_bind_btCollisionObject_forceActivationState_1).apply(null,arguments)},ze=t._emscripten_bind_btCollisionObject_activate_0=function(){return(ze=t._emscripten_bind_btCollisionObject_activate_0=t.asm.emscripten_bind_btCollisionObject_activate_0).apply(null,arguments)},je=t._emscripten_bind_btCollisionObject_activate_1=function(){return(je=t._emscripten_bind_btCollisionObject_activate_1=t.asm.emscripten_bind_btCollisionObject_activate_1).apply(null,arguments)},Ue=t._emscripten_bind_btCollisionObject_isActive_0=function(){return(Ue=t._emscripten_bind_btCollisionObject_isActive_0=t.asm.emscripten_bind_btCollisionObject_isActive_0).apply(null,arguments)},Ge=t._emscripten_bind_btCollisionObject_isKinematicObject_0=function(){return(Ge=t._emscripten_bind_btCollisionObject_isKinematicObject_0=t.asm.emscripten_bind_btCollisionObject_isKinematicObject_0).apply(null,arguments)},He=t._emscripten_bind_btCollisionObject_isStaticObject_0=function(){return(He=t._emscripten_bind_btCollisionObject_isStaticObject_0=t.asm.emscripten_bind_btCollisionObject_isStaticObject_0).apply(null,arguments)},We=t._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0=function(){return(We=t._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0=t.asm.emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0).apply(null,arguments)},Xe=t._emscripten_bind_btCollisionObject_getRestitution_0=function(){return(Xe=t._emscripten_bind_btCollisionObject_getRestitution_0=t.asm.emscripten_bind_btCollisionObject_getRestitution_0).apply(null,arguments)},Ye=t._emscripten_bind_btCollisionObject_getFriction_0=function(){return(Ye=t._emscripten_bind_btCollisionObject_getFriction_0=t.asm.emscripten_bind_btCollisionObject_getFriction_0).apply(null,arguments)},Qe=t._emscripten_bind_btCollisionObject_getRollingFriction_0=function(){return(Qe=t._emscripten_bind_btCollisionObject_getRollingFriction_0=t.asm.emscripten_bind_btCollisionObject_getRollingFriction_0).apply(null,arguments)},Ke=t._emscripten_bind_btCollisionObject_setRestitution_1=function(){return(Ke=t._emscripten_bind_btCollisionObject_setRestitution_1=t.asm.emscripten_bind_btCollisionObject_setRestitution_1).apply(null,arguments)},Ze=t._emscripten_bind_btCollisionObject_setFriction_1=function(){return(Ze=t._emscripten_bind_btCollisionObject_setFriction_1=t.asm.emscripten_bind_btCollisionObject_setFriction_1).apply(null,arguments)},qe=t._emscripten_bind_btCollisionObject_setRollingFriction_1=function(){return(qe=t._emscripten_bind_btCollisionObject_setRollingFriction_1=t.asm.emscripten_bind_btCollisionObject_setRollingFriction_1).apply(null,arguments)},Je=t._emscripten_bind_btCollisionObject_getWorldTransform_0=function(){return(Je=t._emscripten_bind_btCollisionObject_getWorldTransform_0=t.asm.emscripten_bind_btCollisionObject_getWorldTransform_0).apply(null,arguments)},$e=t._emscripten_bind_btCollisionObject_getCollisionFlags_0=function(){return($e=t._emscripten_bind_btCollisionObject_getCollisionFlags_0=t.asm.emscripten_bind_btCollisionObject_getCollisionFlags_0).apply(null,arguments)},et=t._emscripten_bind_btCollisionObject_setCollisionFlags_1=function(){return(et=t._emscripten_bind_btCollisionObject_setCollisionFlags_1=t.asm.emscripten_bind_btCollisionObject_setCollisionFlags_1).apply(null,arguments)},tt=t._emscripten_bind_btCollisionObject_setWorldTransform_1=function(){return(tt=t._emscripten_bind_btCollisionObject_setWorldTransform_1=t.asm.emscripten_bind_btCollisionObject_setWorldTransform_1).apply(null,arguments)},nt=t._emscripten_bind_btCollisionObject_setCollisionShape_1=function(){return(nt=t._emscripten_bind_btCollisionObject_setCollisionShape_1=t.asm.emscripten_bind_btCollisionObject_setCollisionShape_1).apply(null,arguments)},it=t._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1=function(){return(it=t._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1=t.asm.emscripten_bind_btCollisionObject_setCcdMotionThreshold_1).apply(null,arguments)},rt=t._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1=function(){return(rt=t._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1=t.asm.emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1).apply(null,arguments)},ot=t._emscripten_bind_btCollisionObject_getUserIndex_0=function(){return(ot=t._emscripten_bind_btCollisionObject_getUserIndex_0=t.asm.emscripten_bind_btCollisionObject_getUserIndex_0).apply(null,arguments)},at=t._emscripten_bind_btCollisionObject_setUserIndex_1=function(){return(at=t._emscripten_bind_btCollisionObject_setUserIndex_1=t.asm.emscripten_bind_btCollisionObject_setUserIndex_1).apply(null,arguments)},st=t._emscripten_bind_btCollisionObject_getUserPointer_0=function(){return(st=t._emscripten_bind_btCollisionObject_getUserPointer_0=t.asm.emscripten_bind_btCollisionObject_getUserPointer_0).apply(null,arguments)},ct=t._emscripten_bind_btCollisionObject_setUserPointer_1=function(){return(ct=t._emscripten_bind_btCollisionObject_setUserPointer_1=t.asm.emscripten_bind_btCollisionObject_setUserPointer_1).apply(null,arguments)},lt=t._emscripten_bind_btCollisionObject_getBroadphaseHandle_0=function(){return(lt=t._emscripten_bind_btCollisionObject_getBroadphaseHandle_0=t.asm.emscripten_bind_btCollisionObject_getBroadphaseHandle_0).apply(null,arguments)},ut=t._emscripten_bind_btCollisionObject___destroy___0=function(){return(ut=t._emscripten_bind_btCollisionObject___destroy___0=t.asm.emscripten_bind_btCollisionObject___destroy___0).apply(null,arguments)},pt=t._emscripten_bind_btDynamicsWorld_addAction_1=function(){return(pt=t._emscripten_bind_btDynamicsWorld_addAction_1=t.asm.emscripten_bind_btDynamicsWorld_addAction_1).apply(null,arguments)},ht=t._emscripten_bind_btDynamicsWorld_removeAction_1=function(){return(ht=t._emscripten_bind_btDynamicsWorld_removeAction_1=t.asm.emscripten_bind_btDynamicsWorld_removeAction_1).apply(null,arguments)},dt=t._emscripten_bind_btDynamicsWorld_getSolverInfo_0=function(){return(dt=t._emscripten_bind_btDynamicsWorld_getSolverInfo_0=t.asm.emscripten_bind_btDynamicsWorld_getSolverInfo_0).apply(null,arguments)},ft=t._emscripten_bind_btDynamicsWorld_setInternalTickCallback_1=function(){return(ft=t._emscripten_bind_btDynamicsWorld_setInternalTickCallback_1=t.asm.emscripten_bind_btDynamicsWorld_setInternalTickCallback_1).apply(null,arguments)},_t=t._emscripten_bind_btDynamicsWorld_setInternalTickCallback_2=function(){return(_t=t._emscripten_bind_btDynamicsWorld_setInternalTickCallback_2=t.asm.emscripten_bind_btDynamicsWorld_setInternalTickCallback_2).apply(null,arguments)},mt=t._emscripten_bind_btDynamicsWorld_setInternalTickCallback_3=function(){return(mt=t._emscripten_bind_btDynamicsWorld_setInternalTickCallback_3=t.asm.emscripten_bind_btDynamicsWorld_setInternalTickCallback_3).apply(null,arguments)},bt=t._emscripten_bind_btDynamicsWorld_getDispatcher_0=function(){return(bt=t._emscripten_bind_btDynamicsWorld_getDispatcher_0=t.asm.emscripten_bind_btDynamicsWorld_getDispatcher_0).apply(null,arguments)},gt=t._emscripten_bind_btDynamicsWorld_rayTest_3=function(){return(gt=t._emscripten_bind_btDynamicsWorld_rayTest_3=t.asm.emscripten_bind_btDynamicsWorld_rayTest_3).apply(null,arguments)},vt=t._emscripten_bind_btDynamicsWorld_getPairCache_0=function(){return(vt=t._emscripten_bind_btDynamicsWorld_getPairCache_0=t.asm.emscripten_bind_btDynamicsWorld_getPairCache_0).apply(null,arguments)},yt=t._emscripten_bind_btDynamicsWorld_getDispatchInfo_0=function(){return(yt=t._emscripten_bind_btDynamicsWorld_getDispatchInfo_0=t.asm.emscripten_bind_btDynamicsWorld_getDispatchInfo_0).apply(null,arguments)},Ct=t._emscripten_bind_btDynamicsWorld_addCollisionObject_1=function(){return(Ct=t._emscripten_bind_btDynamicsWorld_addCollisionObject_1=t.asm.emscripten_bind_btDynamicsWorld_addCollisionObject_1).apply(null,arguments)},At=t._emscripten_bind_btDynamicsWorld_addCollisionObject_2=function(){return(At=t._emscripten_bind_btDynamicsWorld_addCollisionObject_2=t.asm.emscripten_bind_btDynamicsWorld_addCollisionObject_2).apply(null,arguments)},xt=t._emscripten_bind_btDynamicsWorld_addCollisionObject_3=function(){return(xt=t._emscripten_bind_btDynamicsWorld_addCollisionObject_3=t.asm.emscripten_bind_btDynamicsWorld_addCollisionObject_3).apply(null,arguments)},St=t._emscripten_bind_btDynamicsWorld_removeCollisionObject_1=function(){return(St=t._emscripten_bind_btDynamicsWorld_removeCollisionObject_1=t.asm.emscripten_bind_btDynamicsWorld_removeCollisionObject_1).apply(null,arguments)},Tt=t._emscripten_bind_btDynamicsWorld_getBroadphase_0=function(){return(Tt=t._emscripten_bind_btDynamicsWorld_getBroadphase_0=t.asm.emscripten_bind_btDynamicsWorld_getBroadphase_0).apply(null,arguments)},Et=t._emscripten_bind_btDynamicsWorld_convexSweepTest_5=function(){return(Et=t._emscripten_bind_btDynamicsWorld_convexSweepTest_5=t.asm.emscripten_bind_btDynamicsWorld_convexSweepTest_5).apply(null,arguments)},Pt=t._emscripten_bind_btDynamicsWorld_contactPairTest_3=function(){return(Pt=t._emscripten_bind_btDynamicsWorld_contactPairTest_3=t.asm.emscripten_bind_btDynamicsWorld_contactPairTest_3).apply(null,arguments)},Ot=t._emscripten_bind_btDynamicsWorld_contactTest_2=function(){return(Ot=t._emscripten_bind_btDynamicsWorld_contactTest_2=t.asm.emscripten_bind_btDynamicsWorld_contactTest_2).apply(null,arguments)},Mt=t._emscripten_bind_btDynamicsWorld_updateSingleAabb_1=function(){return(Mt=t._emscripten_bind_btDynamicsWorld_updateSingleAabb_1=t.asm.emscripten_bind_btDynamicsWorld_updateSingleAabb_1).apply(null,arguments)},Rt=t._emscripten_bind_btDynamicsWorld_setDebugDrawer_1=function(){return(Rt=t._emscripten_bind_btDynamicsWorld_setDebugDrawer_1=t.asm.emscripten_bind_btDynamicsWorld_setDebugDrawer_1).apply(null,arguments)},It=t._emscripten_bind_btDynamicsWorld_getDebugDrawer_0=function(){return(It=t._emscripten_bind_btDynamicsWorld_getDebugDrawer_0=t.asm.emscripten_bind_btDynamicsWorld_getDebugDrawer_0).apply(null,arguments)},wt=t._emscripten_bind_btDynamicsWorld_debugDrawWorld_0=function(){return(wt=t._emscripten_bind_btDynamicsWorld_debugDrawWorld_0=t.asm.emscripten_bind_btDynamicsWorld_debugDrawWorld_0).apply(null,arguments)},Dt=t._emscripten_bind_btDynamicsWorld_debugDrawObject_3=function(){return(Dt=t._emscripten_bind_btDynamicsWorld_debugDrawObject_3=t.asm.emscripten_bind_btDynamicsWorld_debugDrawObject_3).apply(null,arguments)},Lt=t._emscripten_bind_btDynamicsWorld___destroy___0=function(){return(Lt=t._emscripten_bind_btDynamicsWorld___destroy___0=t.asm.emscripten_bind_btDynamicsWorld___destroy___0).apply(null,arguments)},Nt=t._emscripten_bind_btTypedConstraint_enableFeedback_1=function(){return(Nt=t._emscripten_bind_btTypedConstraint_enableFeedback_1=t.asm.emscripten_bind_btTypedConstraint_enableFeedback_1).apply(null,arguments)},Ft=t._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0=function(){return(Ft=t._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0=t.asm.emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0).apply(null,arguments)},Bt=t._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1=function(){return(Bt=t._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1=t.asm.emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1).apply(null,arguments)},kt=t._emscripten_bind_btTypedConstraint_getParam_2=function(){return(kt=t._emscripten_bind_btTypedConstraint_getParam_2=t.asm.emscripten_bind_btTypedConstraint_getParam_2).apply(null,arguments)},Vt=t._emscripten_bind_btTypedConstraint_setParam_3=function(){return(Vt=t._emscripten_bind_btTypedConstraint_setParam_3=t.asm.emscripten_bind_btTypedConstraint_setParam_3).apply(null,arguments)},zt=t._emscripten_bind_btTypedConstraint___destroy___0=function(){return(zt=t._emscripten_bind_btTypedConstraint___destroy___0=t.asm.emscripten_bind_btTypedConstraint___destroy___0).apply(null,arguments)},jt=t._emscripten_bind_btConcaveShape_setLocalScaling_1=function(){return(jt=t._emscripten_bind_btConcaveShape_setLocalScaling_1=t.asm.emscripten_bind_btConcaveShape_setLocalScaling_1).apply(null,arguments)},Ut=t._emscripten_bind_btConcaveShape_getLocalScaling_0=function(){return(Ut=t._emscripten_bind_btConcaveShape_getLocalScaling_0=t.asm.emscripten_bind_btConcaveShape_getLocalScaling_0).apply(null,arguments)},Gt=t._emscripten_bind_btConcaveShape_calculateLocalInertia_2=function(){return(Gt=t._emscripten_bind_btConcaveShape_calculateLocalInertia_2=t.asm.emscripten_bind_btConcaveShape_calculateLocalInertia_2).apply(null,arguments)},Ht=t._emscripten_bind_btConcaveShape___destroy___0=function(){return(Ht=t._emscripten_bind_btConcaveShape___destroy___0=t.asm.emscripten_bind_btConcaveShape___destroy___0).apply(null,arguments)},Wt=t._emscripten_bind_btCapsuleShape_btCapsuleShape_2=function(){return(Wt=t._emscripten_bind_btCapsuleShape_btCapsuleShape_2=t.asm.emscripten_bind_btCapsuleShape_btCapsuleShape_2).apply(null,arguments)},Xt=t._emscripten_bind_btCapsuleShape_setMargin_1=function(){return(Xt=t._emscripten_bind_btCapsuleShape_setMargin_1=t.asm.emscripten_bind_btCapsuleShape_setMargin_1).apply(null,arguments)},Yt=t._emscripten_bind_btCapsuleShape_getMargin_0=function(){return(Yt=t._emscripten_bind_btCapsuleShape_getMargin_0=t.asm.emscripten_bind_btCapsuleShape_getMargin_0).apply(null,arguments)},Qt=t._emscripten_bind_btCapsuleShape_getUpAxis_0=function(){return(Qt=t._emscripten_bind_btCapsuleShape_getUpAxis_0=t.asm.emscripten_bind_btCapsuleShape_getUpAxis_0).apply(null,arguments)},Kt=t._emscripten_bind_btCapsuleShape_getRadius_0=function(){return(Kt=t._emscripten_bind_btCapsuleShape_getRadius_0=t.asm.emscripten_bind_btCapsuleShape_getRadius_0).apply(null,arguments)},Zt=t._emscripten_bind_btCapsuleShape_getHalfHeight_0=function(){return(Zt=t._emscripten_bind_btCapsuleShape_getHalfHeight_0=t.asm.emscripten_bind_btCapsuleShape_getHalfHeight_0).apply(null,arguments)},qt=t._emscripten_bind_btCapsuleShape_setLocalScaling_1=function(){return(qt=t._emscripten_bind_btCapsuleShape_setLocalScaling_1=t.asm.emscripten_bind_btCapsuleShape_setLocalScaling_1).apply(null,arguments)},Jt=t._emscripten_bind_btCapsuleShape_getLocalScaling_0=function(){return(Jt=t._emscripten_bind_btCapsuleShape_getLocalScaling_0=t.asm.emscripten_bind_btCapsuleShape_getLocalScaling_0).apply(null,arguments)},$t=t._emscripten_bind_btCapsuleShape_calculateLocalInertia_2=function(){return($t=t._emscripten_bind_btCapsuleShape_calculateLocalInertia_2=t.asm.emscripten_bind_btCapsuleShape_calculateLocalInertia_2).apply(null,arguments)},en=t._emscripten_bind_btCapsuleShape___destroy___0=function(){return(en=t._emscripten_bind_btCapsuleShape___destroy___0=t.asm.emscripten_bind_btCapsuleShape___destroy___0).apply(null,arguments)},tn=t._emscripten_bind_btIDebugDraw_drawLine_3=function(){return(tn=t._emscripten_bind_btIDebugDraw_drawLine_3=t.asm.emscripten_bind_btIDebugDraw_drawLine_3).apply(null,arguments)},nn=t._emscripten_bind_btIDebugDraw_drawContactPoint_5=function(){return(nn=t._emscripten_bind_btIDebugDraw_drawContactPoint_5=t.asm.emscripten_bind_btIDebugDraw_drawContactPoint_5).apply(null,arguments)},rn=t._emscripten_bind_btIDebugDraw_reportErrorWarning_1=function(){return(rn=t._emscripten_bind_btIDebugDraw_reportErrorWarning_1=t.asm.emscripten_bind_btIDebugDraw_reportErrorWarning_1).apply(null,arguments)},on=t._emscripten_bind_btIDebugDraw_draw3dText_2=function(){return(on=t._emscripten_bind_btIDebugDraw_draw3dText_2=t.asm.emscripten_bind_btIDebugDraw_draw3dText_2).apply(null,arguments)},an=t._emscripten_bind_btIDebugDraw_setDebugMode_1=function(){return(an=t._emscripten_bind_btIDebugDraw_setDebugMode_1=t.asm.emscripten_bind_btIDebugDraw_setDebugMode_1).apply(null,arguments)},sn=t._emscripten_bind_btIDebugDraw_getDebugMode_0=function(){return(sn=t._emscripten_bind_btIDebugDraw_getDebugMode_0=t.asm.emscripten_bind_btIDebugDraw_getDebugMode_0).apply(null,arguments)},cn=t._emscripten_bind_btIDebugDraw___destroy___0=function(){return(cn=t._emscripten_bind_btIDebugDraw___destroy___0=t.asm.emscripten_bind_btIDebugDraw___destroy___0).apply(null,arguments)},ln=t._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=function(){return(ln=t._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=t.asm.emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0).apply(null,arguments)},un=t._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=function(){return(un=t._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=t.asm.emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1).apply(null,arguments)},pn=t._emscripten_bind_btDefaultCollisionConfiguration___destroy___0=function(){return(pn=t._emscripten_bind_btDefaultCollisionConfiguration___destroy___0=t.asm.emscripten_bind_btDefaultCollisionConfiguration___destroy___0).apply(null,arguments)},hn=t._emscripten_bind_btTriangleMeshShape_setLocalScaling_1=function(){return(hn=t._emscripten_bind_btTriangleMeshShape_setLocalScaling_1=t.asm.emscripten_bind_btTriangleMeshShape_setLocalScaling_1).apply(null,arguments)},dn=t._emscripten_bind_btTriangleMeshShape_getLocalScaling_0=function(){return(dn=t._emscripten_bind_btTriangleMeshShape_getLocalScaling_0=t.asm.emscripten_bind_btTriangleMeshShape_getLocalScaling_0).apply(null,arguments)},fn=t._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=function(){return(fn=t._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=t.asm.emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2).apply(null,arguments)},_n=t._emscripten_bind_btTriangleMeshShape___destroy___0=function(){return(_n=t._emscripten_bind_btTriangleMeshShape___destroy___0=t.asm.emscripten_bind_btTriangleMeshShape___destroy___0).apply(null,arguments)},mn=t._emscripten_bind_btGhostObject_btGhostObject_0=function(){return(mn=t._emscripten_bind_btGhostObject_btGhostObject_0=t.asm.emscripten_bind_btGhostObject_btGhostObject_0).apply(null,arguments)},bn=t._emscripten_bind_btGhostObject_getNumOverlappingObjects_0=function(){return(bn=t._emscripten_bind_btGhostObject_getNumOverlappingObjects_0=t.asm.emscripten_bind_btGhostObject_getNumOverlappingObjects_0).apply(null,arguments)},gn=t._emscripten_bind_btGhostObject_getOverlappingObject_1=function(){return(gn=t._emscripten_bind_btGhostObject_getOverlappingObject_1=t.asm.emscripten_bind_btGhostObject_getOverlappingObject_1).apply(null,arguments)},vn=t._emscripten_bind_btGhostObject_setAnisotropicFriction_2=function(){return(vn=t._emscripten_bind_btGhostObject_setAnisotropicFriction_2=t.asm.emscripten_bind_btGhostObject_setAnisotropicFriction_2).apply(null,arguments)},yn=t._emscripten_bind_btGhostObject_getCollisionShape_0=function(){return(yn=t._emscripten_bind_btGhostObject_getCollisionShape_0=t.asm.emscripten_bind_btGhostObject_getCollisionShape_0).apply(null,arguments)},Cn=t._emscripten_bind_btGhostObject_setContactProcessingThreshold_1=function(){return(Cn=t._emscripten_bind_btGhostObject_setContactProcessingThreshold_1=t.asm.emscripten_bind_btGhostObject_setContactProcessingThreshold_1).apply(null,arguments)},An=t._emscripten_bind_btGhostObject_setActivationState_1=function(){return(An=t._emscripten_bind_btGhostObject_setActivationState_1=t.asm.emscripten_bind_btGhostObject_setActivationState_1).apply(null,arguments)},xn=t._emscripten_bind_btGhostObject_forceActivationState_1=function(){return(xn=t._emscripten_bind_btGhostObject_forceActivationState_1=t.asm.emscripten_bind_btGhostObject_forceActivationState_1).apply(null,arguments)},Sn=t._emscripten_bind_btGhostObject_activate_0=function(){return(Sn=t._emscripten_bind_btGhostObject_activate_0=t.asm.emscripten_bind_btGhostObject_activate_0).apply(null,arguments)},Tn=t._emscripten_bind_btGhostObject_activate_1=function(){return(Tn=t._emscripten_bind_btGhostObject_activate_1=t.asm.emscripten_bind_btGhostObject_activate_1).apply(null,arguments)},En=t._emscripten_bind_btGhostObject_isActive_0=function(){return(En=t._emscripten_bind_btGhostObject_isActive_0=t.asm.emscripten_bind_btGhostObject_isActive_0).apply(null,arguments)},Pn=t._emscripten_bind_btGhostObject_isKinematicObject_0=function(){return(Pn=t._emscripten_bind_btGhostObject_isKinematicObject_0=t.asm.emscripten_bind_btGhostObject_isKinematicObject_0).apply(null,arguments)},On=t._emscripten_bind_btGhostObject_isStaticObject_0=function(){return(On=t._emscripten_bind_btGhostObject_isStaticObject_0=t.asm.emscripten_bind_btGhostObject_isStaticObject_0).apply(null,arguments)},Mn=t._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0=function(){return(Mn=t._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0=t.asm.emscripten_bind_btGhostObject_isStaticOrKinematicObject_0).apply(null,arguments)},Rn=t._emscripten_bind_btGhostObject_getRestitution_0=function(){return(Rn=t._emscripten_bind_btGhostObject_getRestitution_0=t.asm.emscripten_bind_btGhostObject_getRestitution_0).apply(null,arguments)},In=t._emscripten_bind_btGhostObject_getFriction_0=function(){return(In=t._emscripten_bind_btGhostObject_getFriction_0=t.asm.emscripten_bind_btGhostObject_getFriction_0).apply(null,arguments)},wn=t._emscripten_bind_btGhostObject_getRollingFriction_0=function(){return(wn=t._emscripten_bind_btGhostObject_getRollingFriction_0=t.asm.emscripten_bind_btGhostObject_getRollingFriction_0).apply(null,arguments)},Dn=t._emscripten_bind_btGhostObject_setRestitution_1=function(){return(Dn=t._emscripten_bind_btGhostObject_setRestitution_1=t.asm.emscripten_bind_btGhostObject_setRestitution_1).apply(null,arguments)},Ln=t._emscripten_bind_btGhostObject_setFriction_1=function(){return(Ln=t._emscripten_bind_btGhostObject_setFriction_1=t.asm.emscripten_bind_btGhostObject_setFriction_1).apply(null,arguments)},Nn=t._emscripten_bind_btGhostObject_setRollingFriction_1=function(){return(Nn=t._emscripten_bind_btGhostObject_setRollingFriction_1=t.asm.emscripten_bind_btGhostObject_setRollingFriction_1).apply(null,arguments)},Fn=t._emscripten_bind_btGhostObject_getWorldTransform_0=function(){return(Fn=t._emscripten_bind_btGhostObject_getWorldTransform_0=t.asm.emscripten_bind_btGhostObject_getWorldTransform_0).apply(null,arguments)},Bn=t._emscripten_bind_btGhostObject_getCollisionFlags_0=function(){return(Bn=t._emscripten_bind_btGhostObject_getCollisionFlags_0=t.asm.emscripten_bind_btGhostObject_getCollisionFlags_0).apply(null,arguments)},kn=t._emscripten_bind_btGhostObject_setCollisionFlags_1=function(){return(kn=t._emscripten_bind_btGhostObject_setCollisionFlags_1=t.asm.emscripten_bind_btGhostObject_setCollisionFlags_1).apply(null,arguments)},Vn=t._emscripten_bind_btGhostObject_setWorldTransform_1=function(){return(Vn=t._emscripten_bind_btGhostObject_setWorldTransform_1=t.asm.emscripten_bind_btGhostObject_setWorldTransform_1).apply(null,arguments)},zn=t._emscripten_bind_btGhostObject_setCollisionShape_1=function(){return(zn=t._emscripten_bind_btGhostObject_setCollisionShape_1=t.asm.emscripten_bind_btGhostObject_setCollisionShape_1).apply(null,arguments)},jn=t._emscripten_bind_btGhostObject_setCcdMotionThreshold_1=function(){return(jn=t._emscripten_bind_btGhostObject_setCcdMotionThreshold_1=t.asm.emscripten_bind_btGhostObject_setCcdMotionThreshold_1).apply(null,arguments)},Un=t._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=function(){return(Un=t._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=t.asm.emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1).apply(null,arguments)},Gn=t._emscripten_bind_btGhostObject_getUserIndex_0=function(){return(Gn=t._emscripten_bind_btGhostObject_getUserIndex_0=t.asm.emscripten_bind_btGhostObject_getUserIndex_0).apply(null,arguments)},Hn=t._emscripten_bind_btGhostObject_setUserIndex_1=function(){return(Hn=t._emscripten_bind_btGhostObject_setUserIndex_1=t.asm.emscripten_bind_btGhostObject_setUserIndex_1).apply(null,arguments)},Wn=t._emscripten_bind_btGhostObject_getUserPointer_0=function(){return(Wn=t._emscripten_bind_btGhostObject_getUserPointer_0=t.asm.emscripten_bind_btGhostObject_getUserPointer_0).apply(null,arguments)},Xn=t._emscripten_bind_btGhostObject_setUserPointer_1=function(){return(Xn=t._emscripten_bind_btGhostObject_setUserPointer_1=t.asm.emscripten_bind_btGhostObject_setUserPointer_1).apply(null,arguments)},Yn=t._emscripten_bind_btGhostObject_getBroadphaseHandle_0=function(){return(Yn=t._emscripten_bind_btGhostObject_getBroadphaseHandle_0=t.asm.emscripten_bind_btGhostObject_getBroadphaseHandle_0).apply(null,arguments)},Qn=t._emscripten_bind_btGhostObject___destroy___0=function(){return(Qn=t._emscripten_bind_btGhostObject___destroy___0=t.asm.emscripten_bind_btGhostObject___destroy___0).apply(null,arguments)},Kn=t._emscripten_bind_btConeShape_btConeShape_2=function(){return(Kn=t._emscripten_bind_btConeShape_btConeShape_2=t.asm.emscripten_bind_btConeShape_btConeShape_2).apply(null,arguments)},Zn=t._emscripten_bind_btConeShape_setLocalScaling_1=function(){return(Zn=t._emscripten_bind_btConeShape_setLocalScaling_1=t.asm.emscripten_bind_btConeShape_setLocalScaling_1).apply(null,arguments)},qn=t._emscripten_bind_btConeShape_getLocalScaling_0=function(){return(qn=t._emscripten_bind_btConeShape_getLocalScaling_0=t.asm.emscripten_bind_btConeShape_getLocalScaling_0).apply(null,arguments)},Jn=t._emscripten_bind_btConeShape_calculateLocalInertia_2=function(){return(Jn=t._emscripten_bind_btConeShape_calculateLocalInertia_2=t.asm.emscripten_bind_btConeShape_calculateLocalInertia_2).apply(null,arguments)},$n=t._emscripten_bind_btConeShape___destroy___0=function(){return($n=t._emscripten_bind_btConeShape___destroy___0=t.asm.emscripten_bind_btConeShape___destroy___0).apply(null,arguments)},ei=t._emscripten_bind_btActionInterface_updateAction_2=function(){return(ei=t._emscripten_bind_btActionInterface_updateAction_2=t.asm.emscripten_bind_btActionInterface_updateAction_2).apply(null,arguments)},ti=t._emscripten_bind_btActionInterface___destroy___0=function(){return(ti=t._emscripten_bind_btActionInterface___destroy___0=t.asm.emscripten_bind_btActionInterface___destroy___0).apply(null,arguments)},ni=t._emscripten_bind_btVector3_btVector3_0=function(){return(ni=t._emscripten_bind_btVector3_btVector3_0=t.asm.emscripten_bind_btVector3_btVector3_0).apply(null,arguments)},ii=t._emscripten_bind_btVector3_btVector3_3=function(){return(ii=t._emscripten_bind_btVector3_btVector3_3=t.asm.emscripten_bind_btVector3_btVector3_3).apply(null,arguments)},ri=t._emscripten_bind_btVector3_length_0=function(){return(ri=t._emscripten_bind_btVector3_length_0=t.asm.emscripten_bind_btVector3_length_0).apply(null,arguments)},oi=t._emscripten_bind_btVector3_x_0=function(){return(oi=t._emscripten_bind_btVector3_x_0=t.asm.emscripten_bind_btVector3_x_0).apply(null,arguments)},ai=t._emscripten_bind_btVector3_y_0=function(){return(ai=t._emscripten_bind_btVector3_y_0=t.asm.emscripten_bind_btVector3_y_0).apply(null,arguments)},si=t._emscripten_bind_btVector3_z_0=function(){return(si=t._emscripten_bind_btVector3_z_0=t.asm.emscripten_bind_btVector3_z_0).apply(null,arguments)},ci=t._emscripten_bind_btVector3_setX_1=function(){return(ci=t._emscripten_bind_btVector3_setX_1=t.asm.emscripten_bind_btVector3_setX_1).apply(null,arguments)},li=t._emscripten_bind_btVector3_setY_1=function(){return(li=t._emscripten_bind_btVector3_setY_1=t.asm.emscripten_bind_btVector3_setY_1).apply(null,arguments)},ui=t._emscripten_bind_btVector3_setZ_1=function(){return(ui=t._emscripten_bind_btVector3_setZ_1=t.asm.emscripten_bind_btVector3_setZ_1).apply(null,arguments)},pi=t._emscripten_bind_btVector3_setValue_3=function(){return(pi=t._emscripten_bind_btVector3_setValue_3=t.asm.emscripten_bind_btVector3_setValue_3).apply(null,arguments)},hi=t._emscripten_bind_btVector3_normalize_0=function(){return(hi=t._emscripten_bind_btVector3_normalize_0=t.asm.emscripten_bind_btVector3_normalize_0).apply(null,arguments)},di=t._emscripten_bind_btVector3_rotate_2=function(){return(di=t._emscripten_bind_btVector3_rotate_2=t.asm.emscripten_bind_btVector3_rotate_2).apply(null,arguments)},fi=t._emscripten_bind_btVector3_dot_1=function(){return(fi=t._emscripten_bind_btVector3_dot_1=t.asm.emscripten_bind_btVector3_dot_1).apply(null,arguments)},_i=t._emscripten_bind_btVector3_op_mul_1=function(){return(_i=t._emscripten_bind_btVector3_op_mul_1=t.asm.emscripten_bind_btVector3_op_mul_1).apply(null,arguments)},mi=t._emscripten_bind_btVector3_op_add_1=function(){return(mi=t._emscripten_bind_btVector3_op_add_1=t.asm.emscripten_bind_btVector3_op_add_1).apply(null,arguments)},bi=t._emscripten_bind_btVector3_op_sub_1=function(){return(bi=t._emscripten_bind_btVector3_op_sub_1=t.asm.emscripten_bind_btVector3_op_sub_1).apply(null,arguments)},gi=t._emscripten_bind_btVector3___destroy___0=function(){return(gi=t._emscripten_bind_btVector3___destroy___0=t.asm.emscripten_bind_btVector3___destroy___0).apply(null,arguments)},vi=t._emscripten_bind_btVehicleRaycaster_castRay_3=function(){return(vi=t._emscripten_bind_btVehicleRaycaster_castRay_3=t.asm.emscripten_bind_btVehicleRaycaster_castRay_3).apply(null,arguments)},yi=t._emscripten_bind_btVehicleRaycaster___destroy___0=function(){return(yi=t._emscripten_bind_btVehicleRaycaster___destroy___0=t.asm.emscripten_bind_btVehicleRaycaster___destroy___0).apply(null,arguments)},Ci=t._emscripten_bind_btQuadWord_x_0=function(){return(Ci=t._emscripten_bind_btQuadWord_x_0=t.asm.emscripten_bind_btQuadWord_x_0).apply(null,arguments)},Ai=t._emscripten_bind_btQuadWord_y_0=function(){return(Ai=t._emscripten_bind_btQuadWord_y_0=t.asm.emscripten_bind_btQuadWord_y_0).apply(null,arguments)},xi=t._emscripten_bind_btQuadWord_z_0=function(){return(xi=t._emscripten_bind_btQuadWord_z_0=t.asm.emscripten_bind_btQuadWord_z_0).apply(null,arguments)},Si=t._emscripten_bind_btQuadWord_w_0=function(){return(Si=t._emscripten_bind_btQuadWord_w_0=t.asm.emscripten_bind_btQuadWord_w_0).apply(null,arguments)},Ti=t._emscripten_bind_btQuadWord_setX_1=function(){return(Ti=t._emscripten_bind_btQuadWord_setX_1=t.asm.emscripten_bind_btQuadWord_setX_1).apply(null,arguments)},Ei=t._emscripten_bind_btQuadWord_setY_1=function(){return(Ei=t._emscripten_bind_btQuadWord_setY_1=t.asm.emscripten_bind_btQuadWord_setY_1).apply(null,arguments)},Pi=t._emscripten_bind_btQuadWord_setZ_1=function(){return(Pi=t._emscripten_bind_btQuadWord_setZ_1=t.asm.emscripten_bind_btQuadWord_setZ_1).apply(null,arguments)},Oi=t._emscripten_bind_btQuadWord_setW_1=function(){return(Oi=t._emscripten_bind_btQuadWord_setW_1=t.asm.emscripten_bind_btQuadWord_setW_1).apply(null,arguments)},Mi=t._emscripten_bind_btQuadWord___destroy___0=function(){return(Mi=t._emscripten_bind_btQuadWord___destroy___0=t.asm.emscripten_bind_btQuadWord___destroy___0).apply(null,arguments)},Ri=t._emscripten_bind_btCylinderShape_btCylinderShape_1=function(){return(Ri=t._emscripten_bind_btCylinderShape_btCylinderShape_1=t.asm.emscripten_bind_btCylinderShape_btCylinderShape_1).apply(null,arguments)},Ii=t._emscripten_bind_btCylinderShape_setMargin_1=function(){return(Ii=t._emscripten_bind_btCylinderShape_setMargin_1=t.asm.emscripten_bind_btCylinderShape_setMargin_1).apply(null,arguments)},wi=t._emscripten_bind_btCylinderShape_getMargin_0=function(){return(wi=t._emscripten_bind_btCylinderShape_getMargin_0=t.asm.emscripten_bind_btCylinderShape_getMargin_0).apply(null,arguments)},Di=t._emscripten_bind_btCylinderShape_setLocalScaling_1=function(){return(Di=t._emscripten_bind_btCylinderShape_setLocalScaling_1=t.asm.emscripten_bind_btCylinderShape_setLocalScaling_1).apply(null,arguments)},Li=t._emscripten_bind_btCylinderShape_getLocalScaling_0=function(){return(Li=t._emscripten_bind_btCylinderShape_getLocalScaling_0=t.asm.emscripten_bind_btCylinderShape_getLocalScaling_0).apply(null,arguments)},Ni=t._emscripten_bind_btCylinderShape_calculateLocalInertia_2=function(){return(Ni=t._emscripten_bind_btCylinderShape_calculateLocalInertia_2=t.asm.emscripten_bind_btCylinderShape_calculateLocalInertia_2).apply(null,arguments)},Fi=t._emscripten_bind_btCylinderShape___destroy___0=function(){return(Fi=t._emscripten_bind_btCylinderShape___destroy___0=t.asm.emscripten_bind_btCylinderShape___destroy___0).apply(null,arguments)},Bi=t._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4=function(){return(Bi=t._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4=t.asm.emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4).apply(null,arguments)},ki=t._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=function(){return(ki=t._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_setGravity_1).apply(null,arguments)},Vi=t._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=function(){return(Vi=t._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=t.asm.emscripten_bind_btDiscreteDynamicsWorld_getGravity_0).apply(null,arguments)},zi=t._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1=function(){return(zi=t._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1).apply(null,arguments)},ji=t._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3=function(){return(ji=t._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3=t.asm.emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3).apply(null,arguments)},Ui=t._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1=function(){return(Ui=t._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1).apply(null,arguments)},Gi=t._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1=function(){return(Gi=t._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1).apply(null,arguments)},Hi=t._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2=function(){return(Hi=t._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2=t.asm.emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2).apply(null,arguments)},Wi=t._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1=function(){return(Wi=t._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1).apply(null,arguments)},Xi=t._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1=function(){return(Xi=t._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1).apply(null,arguments)},Yi=t._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2=function(){return(Yi=t._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2=t.asm.emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2).apply(null,arguments)},Qi=t._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3=function(){return(Qi=t._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3=t.asm.emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3).apply(null,arguments)},Ki=t._emscripten_bind_btDiscreteDynamicsWorld_setContactAddedCallback_1=function(){return(Ki=t._emscripten_bind_btDiscreteDynamicsWorld_setContactAddedCallback_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_setContactAddedCallback_1).apply(null,arguments)},Zi=t._emscripten_bind_btDiscreteDynamicsWorld_setContactProcessedCallback_1=function(){return(Zi=t._emscripten_bind_btDiscreteDynamicsWorld_setContactProcessedCallback_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_setContactProcessedCallback_1).apply(null,arguments)},qi=t._emscripten_bind_btDiscreteDynamicsWorld_setContactDestroyedCallback_1=function(){return(qi=t._emscripten_bind_btDiscreteDynamicsWorld_setContactDestroyedCallback_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_setContactDestroyedCallback_1).apply(null,arguments)},Ji=t._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0=function(){return(Ji=t._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0=t.asm.emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0).apply(null,arguments)},$i=t._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=function(){return($i=t._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=t.asm.emscripten_bind_btDiscreteDynamicsWorld_rayTest_3).apply(null,arguments)},er=t._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0=function(){return(er=t._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0=t.asm.emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0).apply(null,arguments)},tr=t._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0=function(){return(tr=t._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0=t.asm.emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0).apply(null,arguments)},nr=t._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1=function(){return(nr=t._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1).apply(null,arguments)},ir=t._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2=function(){return(ir=t._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2=t.asm.emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2).apply(null,arguments)},rr=t._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3=function(){return(rr=t._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3=t.asm.emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3).apply(null,arguments)},or=t._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1=function(){return(or=t._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1).apply(null,arguments)},ar=t._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0=function(){return(ar=t._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0=t.asm.emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0).apply(null,arguments)},sr=t._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5=function(){return(sr=t._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5=t.asm.emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5).apply(null,arguments)},cr=t._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3=function(){return(cr=t._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3=t.asm.emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3).apply(null,arguments)},lr=t._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2=function(){return(lr=t._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2=t.asm.emscripten_bind_btDiscreteDynamicsWorld_contactTest_2).apply(null,arguments)},ur=t._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1=function(){return(ur=t._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1).apply(null,arguments)},pr=t._emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1=function(){return(pr=t._emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1).apply(null,arguments)},hr=t._emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0=function(){return(hr=t._emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0=t.asm.emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0).apply(null,arguments)},dr=t._emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0=function(){return(dr=t._emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0=t.asm.emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0).apply(null,arguments)},fr=t._emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3=function(){return(fr=t._emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3=t.asm.emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3).apply(null,arguments)},_r=t._emscripten_bind_btDiscreteDynamicsWorld_addAction_1=function(){return(_r=t._emscripten_bind_btDiscreteDynamicsWorld_addAction_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_addAction_1).apply(null,arguments)},mr=t._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1=function(){return(mr=t._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_removeAction_1).apply(null,arguments)},br=t._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0=function(){return(br=t._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0=t.asm.emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0).apply(null,arguments)},gr=t._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_1=function(){return(gr=t._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_1=t.asm.emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_1).apply(null,arguments)},vr=t._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_2=function(){return(vr=t._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_2=t.asm.emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_2).apply(null,arguments)},yr=t._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_3=function(){return(yr=t._emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_3=t.asm.emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_3).apply(null,arguments)},Cr=t._emscripten_bind_btDiscreteDynamicsWorld___destroy___0=function(){return(Cr=t._emscripten_bind_btDiscreteDynamicsWorld___destroy___0=t.asm.emscripten_bind_btDiscreteDynamicsWorld___destroy___0).apply(null,arguments)},Ar=t._emscripten_bind_btConvexShape_setLocalScaling_1=function(){return(Ar=t._emscripten_bind_btConvexShape_setLocalScaling_1=t.asm.emscripten_bind_btConvexShape_setLocalScaling_1).apply(null,arguments)},xr=t._emscripten_bind_btConvexShape_getLocalScaling_0=function(){return(xr=t._emscripten_bind_btConvexShape_getLocalScaling_0=t.asm.emscripten_bind_btConvexShape_getLocalScaling_0).apply(null,arguments)},Sr=t._emscripten_bind_btConvexShape_calculateLocalInertia_2=function(){return(Sr=t._emscripten_bind_btConvexShape_calculateLocalInertia_2=t.asm.emscripten_bind_btConvexShape_calculateLocalInertia_2).apply(null,arguments)},Tr=t._emscripten_bind_btConvexShape_setMargin_1=function(){return(Tr=t._emscripten_bind_btConvexShape_setMargin_1=t.asm.emscripten_bind_btConvexShape_setMargin_1).apply(null,arguments)},Er=t._emscripten_bind_btConvexShape_getMargin_0=function(){return(Er=t._emscripten_bind_btConvexShape_getMargin_0=t.asm.emscripten_bind_btConvexShape_getMargin_0).apply(null,arguments)},Pr=t._emscripten_bind_btConvexShape___destroy___0=function(){return(Pr=t._emscripten_bind_btConvexShape___destroy___0=t.asm.emscripten_bind_btConvexShape___destroy___0).apply(null,arguments)},Or=t._emscripten_bind_btDispatcher_getNumManifolds_0=function(){return(Or=t._emscripten_bind_btDispatcher_getNumManifolds_0=t.asm.emscripten_bind_btDispatcher_getNumManifolds_0).apply(null,arguments)},Mr=t._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=function(){return(Mr=t._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=t.asm.emscripten_bind_btDispatcher_getManifoldByIndexInternal_1).apply(null,arguments)},Rr=t._emscripten_bind_btDispatcher___destroy___0=function(){return(Rr=t._emscripten_bind_btDispatcher___destroy___0=t.asm.emscripten_bind_btDispatcher___destroy___0).apply(null,arguments)},Ir=t._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3=function(){return(Ir=t._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3=t.asm.emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3).apply(null,arguments)},wr=t._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5=function(){return(wr=t._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5=t.asm.emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5).apply(null,arguments)},Dr=t._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1=function(){return(Dr=t._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1=t.asm.emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1).apply(null,arguments)},Lr=t._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1=function(){return(Lr=t._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1=t.asm.emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1).apply(null,arguments)},Nr=t._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1=function(){return(Nr=t._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1=t.asm.emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1).apply(null,arguments)},Fr=t._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1=function(){return(Fr=t._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1=t.asm.emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1).apply(null,arguments)},Br=t._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0=function(){return(Br=t._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0=t.asm.emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0).apply(null,arguments)},kr=t._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1=function(){return(kr=t._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1=t.asm.emscripten_bind_btGeneric6DofConstraint_enableFeedback_1).apply(null,arguments)},Vr=t._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0=function(){return(Vr=t._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0=t.asm.emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0).apply(null,arguments)},zr=t._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=function(){return(zr=t._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=t.asm.emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1).apply(null,arguments)},jr=t._emscripten_bind_btGeneric6DofConstraint_getParam_2=function(){return(jr=t._emscripten_bind_btGeneric6DofConstraint_getParam_2=t.asm.emscripten_bind_btGeneric6DofConstraint_getParam_2).apply(null,arguments)},Ur=t._emscripten_bind_btGeneric6DofConstraint_setParam_3=function(){return(Ur=t._emscripten_bind_btGeneric6DofConstraint_setParam_3=t.asm.emscripten_bind_btGeneric6DofConstraint_setParam_3).apply(null,arguments)},Gr=t._emscripten_bind_btGeneric6DofConstraint___destroy___0=function(){return(Gr=t._emscripten_bind_btGeneric6DofConstraint___destroy___0=t.asm.emscripten_bind_btGeneric6DofConstraint___destroy___0).apply(null,arguments)},Hr=t._emscripten_bind_btStridingMeshInterface_setScaling_1=function(){return(Hr=t._emscripten_bind_btStridingMeshInterface_setScaling_1=t.asm.emscripten_bind_btStridingMeshInterface_setScaling_1).apply(null,arguments)},Wr=t._emscripten_bind_btStridingMeshInterface___destroy___0=function(){return(Wr=t._emscripten_bind_btStridingMeshInterface___destroy___0=t.asm.emscripten_bind_btStridingMeshInterface___destroy___0).apply(null,arguments)},Xr=t._emscripten_bind_btMotionState_getWorldTransform_1=function(){return(Xr=t._emscripten_bind_btMotionState_getWorldTransform_1=t.asm.emscripten_bind_btMotionState_getWorldTransform_1).apply(null,arguments)},Yr=t._emscripten_bind_btMotionState_setWorldTransform_1=function(){return(Yr=t._emscripten_bind_btMotionState_setWorldTransform_1=t.asm.emscripten_bind_btMotionState_setWorldTransform_1).apply(null,arguments)},Qr=t._emscripten_bind_btMotionState___destroy___0=function(){return(Qr=t._emscripten_bind_btMotionState___destroy___0=t.asm.emscripten_bind_btMotionState___destroy___0).apply(null,arguments)},Kr=t._emscripten_bind_ConvexResultCallback_hasHit_0=function(){return(Kr=t._emscripten_bind_ConvexResultCallback_hasHit_0=t.asm.emscripten_bind_ConvexResultCallback_hasHit_0).apply(null,arguments)},Zr=t._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0=function(){return(Zr=t._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0=t.asm.emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0).apply(null,arguments)},qr=t._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1=function(){return(qr=t._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1=t.asm.emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1).apply(null,arguments)},Jr=t._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0=function(){return(Jr=t._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0=t.asm.emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0).apply(null,arguments)},$r=t._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1=function(){return($r=t._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1=t.asm.emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1).apply(null,arguments)},eo=t._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0=function(){return(eo=t._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0=t.asm.emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0).apply(null,arguments)},to=t._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1=function(){return(to=t._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1=t.asm.emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1).apply(null,arguments)},no=t._emscripten_bind_ConvexResultCallback___destroy___0=function(){return(no=t._emscripten_bind_ConvexResultCallback___destroy___0=t.asm.emscripten_bind_ConvexResultCallback___destroy___0).apply(null,arguments)},io=t._emscripten_bind_ContactResultCallback_addSingleResult_7=function(){return(io=t._emscripten_bind_ContactResultCallback_addSingleResult_7=t.asm.emscripten_bind_ContactResultCallback_addSingleResult_7).apply(null,arguments)},ro=t._emscripten_bind_ContactResultCallback___destroy___0=function(){return(ro=t._emscripten_bind_ContactResultCallback___destroy___0=t.asm.emscripten_bind_ContactResultCallback___destroy___0).apply(null,arguments)},oo=t._emscripten_bind_btSoftBodySolver___destroy___0=function(){return(oo=t._emscripten_bind_btSoftBodySolver___destroy___0=t.asm.emscripten_bind_btSoftBodySolver___destroy___0).apply(null,arguments)},ao=t._emscripten_bind_RayResultCallback_hasHit_0=function(){return(ao=t._emscripten_bind_RayResultCallback_hasHit_0=t.asm.emscripten_bind_RayResultCallback_hasHit_0).apply(null,arguments)},so=t._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0=function(){return(so=t._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0=t.asm.emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0).apply(null,arguments)},co=t._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1=function(){return(co=t._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1=t.asm.emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1).apply(null,arguments)},lo=t._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0=function(){return(lo=t._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0=t.asm.emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0).apply(null,arguments)},uo=t._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1=function(){return(uo=t._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1=t.asm.emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1).apply(null,arguments)},po=t._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0=function(){return(po=t._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0=t.asm.emscripten_bind_RayResultCallback_get_m_closestHitFraction_0).apply(null,arguments)},ho=t._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1=function(){return(ho=t._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1=t.asm.emscripten_bind_RayResultCallback_set_m_closestHitFraction_1).apply(null,arguments)},fo=t._emscripten_bind_RayResultCallback_get_m_collisionObject_0=function(){return(fo=t._emscripten_bind_RayResultCallback_get_m_collisionObject_0=t.asm.emscripten_bind_RayResultCallback_get_m_collisionObject_0).apply(null,arguments)},_o=t._emscripten_bind_RayResultCallback_set_m_collisionObject_1=function(){return(_o=t._emscripten_bind_RayResultCallback_set_m_collisionObject_1=t.asm.emscripten_bind_RayResultCallback_set_m_collisionObject_1).apply(null,arguments)},mo=t._emscripten_bind_RayResultCallback___destroy___0=function(){return(mo=t._emscripten_bind_RayResultCallback___destroy___0=t.asm.emscripten_bind_RayResultCallback___destroy___0).apply(null,arguments)},bo=t._emscripten_bind_btMatrix3x3_setEulerZYX_3=function(){return(bo=t._emscripten_bind_btMatrix3x3_setEulerZYX_3=t.asm.emscripten_bind_btMatrix3x3_setEulerZYX_3).apply(null,arguments)},go=t._emscripten_bind_btMatrix3x3_getRotation_1=function(){return(go=t._emscripten_bind_btMatrix3x3_getRotation_1=t.asm.emscripten_bind_btMatrix3x3_getRotation_1).apply(null,arguments)},vo=t._emscripten_bind_btMatrix3x3_getRow_1=function(){return(vo=t._emscripten_bind_btMatrix3x3_getRow_1=t.asm.emscripten_bind_btMatrix3x3_getRow_1).apply(null,arguments)},yo=t._emscripten_bind_btMatrix3x3___destroy___0=function(){return(yo=t._emscripten_bind_btMatrix3x3___destroy___0=t.asm.emscripten_bind_btMatrix3x3___destroy___0).apply(null,arguments)},Co=t._emscripten_bind_btScalarArray_size_0=function(){return(Co=t._emscripten_bind_btScalarArray_size_0=t.asm.emscripten_bind_btScalarArray_size_0).apply(null,arguments)},Ao=t._emscripten_bind_btScalarArray_at_1=function(){return(Ao=t._emscripten_bind_btScalarArray_at_1=t.asm.emscripten_bind_btScalarArray_at_1).apply(null,arguments)},xo=t._emscripten_bind_btScalarArray___destroy___0=function(){return(xo=t._emscripten_bind_btScalarArray___destroy___0=t.asm.emscripten_bind_btScalarArray___destroy___0).apply(null,arguments)},So=t._emscripten_bind_Material_get_m_kLST_0=function(){return(So=t._emscripten_bind_Material_get_m_kLST_0=t.asm.emscripten_bind_Material_get_m_kLST_0).apply(null,arguments)},To=t._emscripten_bind_Material_set_m_kLST_1=function(){return(To=t._emscripten_bind_Material_set_m_kLST_1=t.asm.emscripten_bind_Material_set_m_kLST_1).apply(null,arguments)},Eo=t._emscripten_bind_Material_get_m_kAST_0=function(){return(Eo=t._emscripten_bind_Material_get_m_kAST_0=t.asm.emscripten_bind_Material_get_m_kAST_0).apply(null,arguments)},Po=t._emscripten_bind_Material_set_m_kAST_1=function(){return(Po=t._emscripten_bind_Material_set_m_kAST_1=t.asm.emscripten_bind_Material_set_m_kAST_1).apply(null,arguments)},Oo=t._emscripten_bind_Material_get_m_kVST_0=function(){return(Oo=t._emscripten_bind_Material_get_m_kVST_0=t.asm.emscripten_bind_Material_get_m_kVST_0).apply(null,arguments)},Mo=t._emscripten_bind_Material_set_m_kVST_1=function(){return(Mo=t._emscripten_bind_Material_set_m_kVST_1=t.asm.emscripten_bind_Material_set_m_kVST_1).apply(null,arguments)},Ro=t._emscripten_bind_Material_get_m_flags_0=function(){return(Ro=t._emscripten_bind_Material_get_m_flags_0=t.asm.emscripten_bind_Material_get_m_flags_0).apply(null,arguments)},Io=t._emscripten_bind_Material_set_m_flags_1=function(){return(Io=t._emscripten_bind_Material_set_m_flags_1=t.asm.emscripten_bind_Material_set_m_flags_1).apply(null,arguments)},wo=t._emscripten_bind_Material___destroy___0=function(){return(wo=t._emscripten_bind_Material___destroy___0=t.asm.emscripten_bind_Material___destroy___0).apply(null,arguments)},Do=t._emscripten_bind_btDispatcherInfo_get_m_timeStep_0=function(){return(Do=t._emscripten_bind_btDispatcherInfo_get_m_timeStep_0=t.asm.emscripten_bind_btDispatcherInfo_get_m_timeStep_0).apply(null,arguments)},Lo=t._emscripten_bind_btDispatcherInfo_set_m_timeStep_1=function(){return(Lo=t._emscripten_bind_btDispatcherInfo_set_m_timeStep_1=t.asm.emscripten_bind_btDispatcherInfo_set_m_timeStep_1).apply(null,arguments)},No=t._emscripten_bind_btDispatcherInfo_get_m_stepCount_0=function(){return(No=t._emscripten_bind_btDispatcherInfo_get_m_stepCount_0=t.asm.emscripten_bind_btDispatcherInfo_get_m_stepCount_0).apply(null,arguments)},Fo=t._emscripten_bind_btDispatcherInfo_set_m_stepCount_1=function(){return(Fo=t._emscripten_bind_btDispatcherInfo_set_m_stepCount_1=t.asm.emscripten_bind_btDispatcherInfo_set_m_stepCount_1).apply(null,arguments)},Bo=t._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0=function(){return(Bo=t._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0=t.asm.emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0).apply(null,arguments)},ko=t._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1=function(){return(ko=t._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1=t.asm.emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1).apply(null,arguments)},Vo=t._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0=function(){return(Vo=t._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0=t.asm.emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0).apply(null,arguments)},zo=t._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1=function(){return(zo=t._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1=t.asm.emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1).apply(null,arguments)},jo=t._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0=function(){return(jo=t._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0=t.asm.emscripten_bind_btDispatcherInfo_get_m_useContinuous_0).apply(null,arguments)},Uo=t._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1=function(){return(Uo=t._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1=t.asm.emscripten_bind_btDispatcherInfo_set_m_useContinuous_1).apply(null,arguments)},Go=t._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0=function(){return(Go=t._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0=t.asm.emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0).apply(null,arguments)},Ho=t._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1=function(){return(Ho=t._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1=t.asm.emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1).apply(null,arguments)},Wo=t._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0=function(){return(Wo=t._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0=t.asm.emscripten_bind_btDispatcherInfo_get_m_enableSPU_0).apply(null,arguments)},Xo=t._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1=function(){return(Xo=t._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1=t.asm.emscripten_bind_btDispatcherInfo_set_m_enableSPU_1).apply(null,arguments)},Yo=t._emscripten_bind_btDispatcherInfo_get_m_useEpa_0=function(){return(Yo=t._emscripten_bind_btDispatcherInfo_get_m_useEpa_0=t.asm.emscripten_bind_btDispatcherInfo_get_m_useEpa_0).apply(null,arguments)},Qo=t._emscripten_bind_btDispatcherInfo_set_m_useEpa_1=function(){return(Qo=t._emscripten_bind_btDispatcherInfo_set_m_useEpa_1=t.asm.emscripten_bind_btDispatcherInfo_set_m_useEpa_1).apply(null,arguments)},Ko=t._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0=function(){return(Ko=t._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0=t.asm.emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0).apply(null,arguments)},Zo=t._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1=function(){return(Zo=t._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1=t.asm.emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1).apply(null,arguments)},qo=t._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=function(){return(qo=t._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=t.asm.emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0).apply(null,arguments)},Jo=t._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1=function(){return(Jo=t._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1=t.asm.emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1).apply(null,arguments)},$o=t._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=function(){return($o=t._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=t.asm.emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0).apply(null,arguments)},ea=t._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1=function(){return(ea=t._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1=t.asm.emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1).apply(null,arguments)},ta=t._emscripten_bind_btDispatcherInfo___destroy___0=function(){return(ta=t._emscripten_bind_btDispatcherInfo___destroy___0=t.asm.emscripten_bind_btDispatcherInfo___destroy___0).apply(null,arguments)},na=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0=function(){return(na=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0=t.asm.emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0).apply(null,arguments)},ia=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1=function(){return(ia=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1=t.asm.emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1).apply(null,arguments)},ra=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0=function(){return(ra=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0=t.asm.emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0).apply(null,arguments)},oa=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1=function(){return(oa=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1=t.asm.emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1).apply(null,arguments)},aa=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0=function(){return(aa=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0=t.asm.emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0).apply(null,arguments)},sa=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1=function(){return(sa=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1=t.asm.emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1).apply(null,arguments)},ca=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0=function(){return(ca=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0=t.asm.emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0).apply(null,arguments)},la=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1=function(){return(la=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1=t.asm.emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1).apply(null,arguments)},ua=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0=function(){return(ua=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0=t.asm.emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0).apply(null,arguments)},pa=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1=function(){return(pa=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1=t.asm.emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1).apply(null,arguments)},ha=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0=function(){return(ha=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0=t.asm.emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0).apply(null,arguments)},da=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1=function(){return(da=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1=t.asm.emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1).apply(null,arguments)},fa=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0=function(){return(fa=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0=t.asm.emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0).apply(null,arguments)},_a=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1=function(){return(_a=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1=t.asm.emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1).apply(null,arguments)},ma=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0=function(){return(ma=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0=t.asm.emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0).apply(null,arguments)},ba=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1=function(){return(ba=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1=t.asm.emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1).apply(null,arguments)},ga=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0=function(){return(ga=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0=t.asm.emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0).apply(null,arguments)},va=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1=function(){return(va=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1=t.asm.emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1).apply(null,arguments)},ya=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0=function(){return(ya=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0=t.asm.emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0).apply(null,arguments)},Ca=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1=function(){return(Ca=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1=t.asm.emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1).apply(null,arguments)},Aa=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0=function(){return(Aa=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0=t.asm.emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0).apply(null,arguments)},xa=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1=function(){return(xa=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1=t.asm.emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1).apply(null,arguments)},Sa=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0=function(){return(Sa=t._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0=t.asm.emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0).apply(null,arguments)},Ta=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1=function(){return(Ta=t._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1=t.asm.emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1).apply(null,arguments)},Ea=t._emscripten_bind_btWheelInfoConstructionInfo___destroy___0=function(){return(Ea=t._emscripten_bind_btWheelInfoConstructionInfo___destroy___0=t.asm.emscripten_bind_btWheelInfoConstructionInfo___destroy___0).apply(null,arguments)},Pa=t._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1=function(){return(Pa=t._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1=t.asm.emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1).apply(null,arguments)},Oa=t._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2=function(){return(Oa=t._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2=t.asm.emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2).apply(null,arguments)},Ma=t._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1=function(){return(Ma=t._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1=t.asm.emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1).apply(null,arguments)},Ra=t._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0=function(){return(Ra=t._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0=t.asm.emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0).apply(null,arguments)},Ia=t._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2=function(){return(Ia=t._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2=t.asm.emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2).apply(null,arguments)},wa=t._emscripten_bind_btConvexTriangleMeshShape_setMargin_1=function(){return(wa=t._emscripten_bind_btConvexTriangleMeshShape_setMargin_1=t.asm.emscripten_bind_btConvexTriangleMeshShape_setMargin_1).apply(null,arguments)},Da=t._emscripten_bind_btConvexTriangleMeshShape_getMargin_0=function(){return(Da=t._emscripten_bind_btConvexTriangleMeshShape_getMargin_0=t.asm.emscripten_bind_btConvexTriangleMeshShape_getMargin_0).apply(null,arguments)},La=t._emscripten_bind_btConvexTriangleMeshShape___destroy___0=function(){return(La=t._emscripten_bind_btConvexTriangleMeshShape___destroy___0=t.asm.emscripten_bind_btConvexTriangleMeshShape___destroy___0).apply(null,arguments)},Na=t._emscripten_bind_btBroadphaseInterface_getOverlappingPairCache_0=function(){return(Na=t._emscripten_bind_btBroadphaseInterface_getOverlappingPairCache_0=t.asm.emscripten_bind_btBroadphaseInterface_getOverlappingPairCache_0).apply(null,arguments)},Fa=t._emscripten_bind_btBroadphaseInterface___destroy___0=function(){return(Fa=t._emscripten_bind_btBroadphaseInterface___destroy___0=t.asm.emscripten_bind_btBroadphaseInterface___destroy___0).apply(null,arguments)},Ba=t._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=function(){return(Ba=t._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=t.asm.emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3).apply(null,arguments)},ka=t._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4=function(){return(ka=t._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4=t.asm.emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4).apply(null,arguments)},Va=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0=function(){return(Va=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0=t.asm.emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0).apply(null,arguments)},za=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1=function(){return(za=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1=t.asm.emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1).apply(null,arguments)},ja=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0=function(){return(ja=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0=t.asm.emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0).apply(null,arguments)},Ua=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1=function(){return(Ua=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1=t.asm.emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1).apply(null,arguments)},Ga=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0=function(){return(Ga=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0=t.asm.emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0).apply(null,arguments)},Ha=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1=function(){return(Ha=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1=t.asm.emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1).apply(null,arguments)},Wa=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0=function(){return(Wa=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0=t.asm.emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0).apply(null,arguments)},Xa=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1=function(){return(Xa=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1=t.asm.emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1).apply(null,arguments)},Ya=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0=function(){return(Ya=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0=t.asm.emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0).apply(null,arguments)},Qa=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1=function(){return(Qa=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1=t.asm.emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1).apply(null,arguments)},Ka=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0=function(){return(Ka=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0=t.asm.emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0).apply(null,arguments)},Za=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=function(){return(Za=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=t.asm.emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1).apply(null,arguments)},qa=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0=function(){return(qa=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0=t.asm.emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0).apply(null,arguments)},Ja=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1=function(){return(Ja=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1=t.asm.emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1).apply(null,arguments)},$a=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0=function(){return($a=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0=t.asm.emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0).apply(null,arguments)},es=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1=function(){return(es=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1=t.asm.emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1).apply(null,arguments)},ts=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0=function(){return(ts=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0=t.asm.emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0).apply(null,arguments)},ns=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1=function(){return(ns=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1=t.asm.emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1).apply(null,arguments)},is=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=function(){return(is=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=t.asm.emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0).apply(null,arguments)},rs=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=function(){return(rs=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=t.asm.emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1).apply(null,arguments)},os=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=function(){return(os=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=t.asm.emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0).apply(null,arguments)},as=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1=function(){return(as=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1=t.asm.emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1).apply(null,arguments)},ss=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0=function(){return(ss=t._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0=t.asm.emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0).apply(null,arguments)},cs=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1=function(){return(cs=t._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1=t.asm.emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1).apply(null,arguments)},ls=t._emscripten_bind_btRigidBodyConstructionInfo___destroy___0=function(){return(ls=t._emscripten_bind_btRigidBodyConstructionInfo___destroy___0=t.asm.emscripten_bind_btRigidBodyConstructionInfo___destroy___0).apply(null,arguments)},us=t._emscripten_bind_btCollisionConfiguration___destroy___0=function(){return(us=t._emscripten_bind_btCollisionConfiguration___destroy___0=t.asm.emscripten_bind_btCollisionConfiguration___destroy___0).apply(null,arguments)},ps=t._emscripten_bind_btPersistentManifold_btPersistentManifold_0=function(){return(ps=t._emscripten_bind_btPersistentManifold_btPersistentManifold_0=t.asm.emscripten_bind_btPersistentManifold_btPersistentManifold_0).apply(null,arguments)},hs=t._emscripten_bind_btPersistentManifold_getBody0_0=function(){return(hs=t._emscripten_bind_btPersistentManifold_getBody0_0=t.asm.emscripten_bind_btPersistentManifold_getBody0_0).apply(null,arguments)},ds=t._emscripten_bind_btPersistentManifold_getBody1_0=function(){return(ds=t._emscripten_bind_btPersistentManifold_getBody1_0=t.asm.emscripten_bind_btPersistentManifold_getBody1_0).apply(null,arguments)},fs=t._emscripten_bind_btPersistentManifold_getNumContacts_0=function(){return(fs=t._emscripten_bind_btPersistentManifold_getNumContacts_0=t.asm.emscripten_bind_btPersistentManifold_getNumContacts_0).apply(null,arguments)},_s=t._emscripten_bind_btPersistentManifold_getContactPoint_1=function(){return(_s=t._emscripten_bind_btPersistentManifold_getContactPoint_1=t.asm.emscripten_bind_btPersistentManifold_getContactPoint_1).apply(null,arguments)},ms=t._emscripten_bind_btPersistentManifold___destroy___0=function(){return(ms=t._emscripten_bind_btPersistentManifold___destroy___0=t.asm.emscripten_bind_btPersistentManifold___destroy___0).apply(null,arguments)},bs=t._emscripten_bind_btCompoundShape_btCompoundShape_0=function(){return(bs=t._emscripten_bind_btCompoundShape_btCompoundShape_0=t.asm.emscripten_bind_btCompoundShape_btCompoundShape_0).apply(null,arguments)},gs=t._emscripten_bind_btCompoundShape_btCompoundShape_1=function(){return(gs=t._emscripten_bind_btCompoundShape_btCompoundShape_1=t.asm.emscripten_bind_btCompoundShape_btCompoundShape_1).apply(null,arguments)},vs=t._emscripten_bind_btCompoundShape_addChildShape_2=function(){return(vs=t._emscripten_bind_btCompoundShape_addChildShape_2=t.asm.emscripten_bind_btCompoundShape_addChildShape_2).apply(null,arguments)},ys=t._emscripten_bind_btCompoundShape_removeChildShape_1=function(){return(ys=t._emscripten_bind_btCompoundShape_removeChildShape_1=t.asm.emscripten_bind_btCompoundShape_removeChildShape_1).apply(null,arguments)},Cs=t._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1=function(){return(Cs=t._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1=t.asm.emscripten_bind_btCompoundShape_removeChildShapeByIndex_1).apply(null,arguments)},As=t._emscripten_bind_btCompoundShape_getNumChildShapes_0=function(){return(As=t._emscripten_bind_btCompoundShape_getNumChildShapes_0=t.asm.emscripten_bind_btCompoundShape_getNumChildShapes_0).apply(null,arguments)},xs=t._emscripten_bind_btCompoundShape_getChildShape_1=function(){return(xs=t._emscripten_bind_btCompoundShape_getChildShape_1=t.asm.emscripten_bind_btCompoundShape_getChildShape_1).apply(null,arguments)},Ss=t._emscripten_bind_btCompoundShape_updateChildTransform_2=function(){return(Ss=t._emscripten_bind_btCompoundShape_updateChildTransform_2=t.asm.emscripten_bind_btCompoundShape_updateChildTransform_2).apply(null,arguments)},Ts=t._emscripten_bind_btCompoundShape_updateChildTransform_3=function(){return(Ts=t._emscripten_bind_btCompoundShape_updateChildTransform_3=t.asm.emscripten_bind_btCompoundShape_updateChildTransform_3).apply(null,arguments)},Es=t._emscripten_bind_btCompoundShape_setMargin_1=function(){return(Es=t._emscripten_bind_btCompoundShape_setMargin_1=t.asm.emscripten_bind_btCompoundShape_setMargin_1).apply(null,arguments)},Ps=t._emscripten_bind_btCompoundShape_getMargin_0=function(){return(Ps=t._emscripten_bind_btCompoundShape_getMargin_0=t.asm.emscripten_bind_btCompoundShape_getMargin_0).apply(null,arguments)},Os=t._emscripten_bind_btCompoundShape_setLocalScaling_1=function(){return(Os=t._emscripten_bind_btCompoundShape_setLocalScaling_1=t.asm.emscripten_bind_btCompoundShape_setLocalScaling_1).apply(null,arguments)},Ms=t._emscripten_bind_btCompoundShape_getLocalScaling_0=function(){return(Ms=t._emscripten_bind_btCompoundShape_getLocalScaling_0=t.asm.emscripten_bind_btCompoundShape_getLocalScaling_0).apply(null,arguments)},Rs=t._emscripten_bind_btCompoundShape_calculateLocalInertia_2=function(){return(Rs=t._emscripten_bind_btCompoundShape_calculateLocalInertia_2=t.asm.emscripten_bind_btCompoundShape_calculateLocalInertia_2).apply(null,arguments)},Is=t._emscripten_bind_btCompoundShape___destroy___0=function(){return(Is=t._emscripten_bind_btCompoundShape___destroy___0=t.asm.emscripten_bind_btCompoundShape___destroy___0).apply(null,arguments)},ws=t._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2=function(){return(ws=t._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2=t.asm.emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2).apply(null,arguments)},Ds=t._emscripten_bind_ClosestConvexResultCallback_hasHit_0=function(){return(Ds=t._emscripten_bind_ClosestConvexResultCallback_hasHit_0=t.asm.emscripten_bind_ClosestConvexResultCallback_hasHit_0).apply(null,arguments)},Ls=t._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0=function(){return(Ls=t._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0=t.asm.emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0).apply(null,arguments)},Ns=t._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1=function(){return(Ns=t._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1=t.asm.emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1).apply(null,arguments)},Fs=t._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0=function(){return(Fs=t._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0=t.asm.emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0).apply(null,arguments)},Bs=t._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1=function(){return(Bs=t._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1=t.asm.emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1).apply(null,arguments)},ks=t._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0=function(){return(ks=t._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0=t.asm.emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0).apply(null,arguments)},Vs=t._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1=function(){return(Vs=t._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1=t.asm.emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1).apply(null,arguments)},zs=t._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0=function(){return(zs=t._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0=t.asm.emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0).apply(null,arguments)},js=t._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1=function(){return(js=t._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1=t.asm.emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1).apply(null,arguments)},Us=t._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0=function(){return(Us=t._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0=t.asm.emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0).apply(null,arguments)},Gs=t._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1=function(){return(Gs=t._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1=t.asm.emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1).apply(null,arguments)},Hs=t._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0=function(){return(Hs=t._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0=t.asm.emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0).apply(null,arguments)},Ws=t._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1=function(){return(Ws=t._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1=t.asm.emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1).apply(null,arguments)},Xs=t._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0=function(){return(Xs=t._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0=t.asm.emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0).apply(null,arguments)},Ys=t._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1=function(){return(Ys=t._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1=t.asm.emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1).apply(null,arguments)},Qs=t._emscripten_bind_ClosestConvexResultCallback___destroy___0=function(){return(Qs=t._emscripten_bind_ClosestConvexResultCallback___destroy___0=t.asm.emscripten_bind_ClosestConvexResultCallback___destroy___0).apply(null,arguments)},Ks=t._emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2=function(){return(Ks=t._emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2=t.asm.emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2).apply(null,arguments)},Zs=t._emscripten_bind_AllHitsRayResultCallback_hasHit_0=function(){return(Zs=t._emscripten_bind_AllHitsRayResultCallback_hasHit_0=t.asm.emscripten_bind_AllHitsRayResultCallback_hasHit_0).apply(null,arguments)},qs=t._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0=function(){return(qs=t._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0=t.asm.emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0).apply(null,arguments)},Js=t._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1=function(){return(Js=t._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1=t.asm.emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1).apply(null,arguments)},$s=t._emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0=function(){return($s=t._emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0=t.asm.emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0).apply(null,arguments)},ec=t._emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1=function(){return(ec=t._emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1=t.asm.emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1).apply(null,arguments)},tc=t._emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0=function(){return(tc=t._emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0=t.asm.emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0).apply(null,arguments)},nc=t._emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1=function(){return(nc=t._emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1=t.asm.emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1).apply(null,arguments)},ic=t._emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0=function(){return(ic=t._emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0=t.asm.emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0).apply(null,arguments)},rc=t._emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1=function(){return(rc=t._emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1=t.asm.emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1).apply(null,arguments)},oc=t._emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0=function(){return(oc=t._emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0=t.asm.emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0).apply(null,arguments)},ac=t._emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1=function(){return(ac=t._emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1=t.asm.emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1).apply(null,arguments)},sc=t._emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0=function(){return(sc=t._emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0=t.asm.emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0).apply(null,arguments)},cc=t._emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1=function(){return(cc=t._emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1=t.asm.emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1).apply(null,arguments)},lc=t._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0=function(){return(lc=t._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0=t.asm.emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0).apply(null,arguments)},uc=t._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1=function(){return(uc=t._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1=t.asm.emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1).apply(null,arguments)},pc=t._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0=function(){return(pc=t._emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0=t.asm.emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0).apply(null,arguments)},hc=t._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1=function(){return(hc=t._emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1=t.asm.emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1).apply(null,arguments)},dc=t._emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0=function(){return(dc=t._emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0=t.asm.emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0).apply(null,arguments)},fc=t._emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1=function(){return(fc=t._emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1=t.asm.emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1).apply(null,arguments)},_c=t._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0=function(){return(_c=t._emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0=t.asm.emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0).apply(null,arguments)},mc=t._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1=function(){return(mc=t._emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1=t.asm.emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1).apply(null,arguments)},bc=t._emscripten_bind_AllHitsRayResultCallback___destroy___0=function(){return(bc=t._emscripten_bind_AllHitsRayResultCallback___destroy___0=t.asm.emscripten_bind_AllHitsRayResultCallback___destroy___0).apply(null,arguments)},gc=t._emscripten_bind_tMaterialArray_size_0=function(){return(gc=t._emscripten_bind_tMaterialArray_size_0=t.asm.emscripten_bind_tMaterialArray_size_0).apply(null,arguments)},vc=t._emscripten_bind_tMaterialArray_at_1=function(){return(vc=t._emscripten_bind_tMaterialArray_at_1=t.asm.emscripten_bind_tMaterialArray_at_1).apply(null,arguments)},yc=t._emscripten_bind_tMaterialArray___destroy___0=function(){return(yc=t._emscripten_bind_tMaterialArray___destroy___0=t.asm.emscripten_bind_tMaterialArray___destroy___0).apply(null,arguments)},Cc=t._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1=function(){return(Cc=t._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1=t.asm.emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1).apply(null,arguments)},Ac=t._emscripten_bind_btDefaultVehicleRaycaster_castRay_3=function(){return(Ac=t._emscripten_bind_btDefaultVehicleRaycaster_castRay_3=t.asm.emscripten_bind_btDefaultVehicleRaycaster_castRay_3).apply(null,arguments)},xc=t._emscripten_bind_btDefaultVehicleRaycaster___destroy___0=function(){return(xc=t._emscripten_bind_btDefaultVehicleRaycaster___destroy___0=t.asm.emscripten_bind_btDefaultVehicleRaycaster___destroy___0).apply(null,arguments)},Sc=t._emscripten_bind_btEmptyShape_btEmptyShape_0=function(){return(Sc=t._emscripten_bind_btEmptyShape_btEmptyShape_0=t.asm.emscripten_bind_btEmptyShape_btEmptyShape_0).apply(null,arguments)},Tc=t._emscripten_bind_btEmptyShape_setLocalScaling_1=function(){return(Tc=t._emscripten_bind_btEmptyShape_setLocalScaling_1=t.asm.emscripten_bind_btEmptyShape_setLocalScaling_1).apply(null,arguments)},Ec=t._emscripten_bind_btEmptyShape_getLocalScaling_0=function(){return(Ec=t._emscripten_bind_btEmptyShape_getLocalScaling_0=t.asm.emscripten_bind_btEmptyShape_getLocalScaling_0).apply(null,arguments)},Pc=t._emscripten_bind_btEmptyShape_calculateLocalInertia_2=function(){return(Pc=t._emscripten_bind_btEmptyShape_calculateLocalInertia_2=t.asm.emscripten_bind_btEmptyShape_calculateLocalInertia_2).apply(null,arguments)},Oc=t._emscripten_bind_btEmptyShape___destroy___0=function(){return(Oc=t._emscripten_bind_btEmptyShape___destroy___0=t.asm.emscripten_bind_btEmptyShape___destroy___0).apply(null,arguments)},Mc=t._emscripten_bind_btConstraintSetting_btConstraintSetting_0=function(){return(Mc=t._emscripten_bind_btConstraintSetting_btConstraintSetting_0=t.asm.emscripten_bind_btConstraintSetting_btConstraintSetting_0).apply(null,arguments)},Rc=t._emscripten_bind_btConstraintSetting_get_m_tau_0=function(){return(Rc=t._emscripten_bind_btConstraintSetting_get_m_tau_0=t.asm.emscripten_bind_btConstraintSetting_get_m_tau_0).apply(null,arguments)},Ic=t._emscripten_bind_btConstraintSetting_set_m_tau_1=function(){return(Ic=t._emscripten_bind_btConstraintSetting_set_m_tau_1=t.asm.emscripten_bind_btConstraintSetting_set_m_tau_1).apply(null,arguments)},wc=t._emscripten_bind_btConstraintSetting_get_m_damping_0=function(){return(wc=t._emscripten_bind_btConstraintSetting_get_m_damping_0=t.asm.emscripten_bind_btConstraintSetting_get_m_damping_0).apply(null,arguments)},Dc=t._emscripten_bind_btConstraintSetting_set_m_damping_1=function(){return(Dc=t._emscripten_bind_btConstraintSetting_set_m_damping_1=t.asm.emscripten_bind_btConstraintSetting_set_m_damping_1).apply(null,arguments)},Lc=t._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0=function(){return(Lc=t._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0=t.asm.emscripten_bind_btConstraintSetting_get_m_impulseClamp_0).apply(null,arguments)},Nc=t._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1=function(){return(Nc=t._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1=t.asm.emscripten_bind_btConstraintSetting_set_m_impulseClamp_1).apply(null,arguments)},Fc=t._emscripten_bind_btConstraintSetting___destroy___0=function(){return(Fc=t._emscripten_bind_btConstraintSetting___destroy___0=t.asm.emscripten_bind_btConstraintSetting___destroy___0).apply(null,arguments)},Bc=t._emscripten_bind_LocalShapeInfo_get_m_shapePart_0=function(){return(Bc=t._emscripten_bind_LocalShapeInfo_get_m_shapePart_0=t.asm.emscripten_bind_LocalShapeInfo_get_m_shapePart_0).apply(null,arguments)},kc=t._emscripten_bind_LocalShapeInfo_set_m_shapePart_1=function(){return(kc=t._emscripten_bind_LocalShapeInfo_set_m_shapePart_1=t.asm.emscripten_bind_LocalShapeInfo_set_m_shapePart_1).apply(null,arguments)},Vc=t._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0=function(){return(Vc=t._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0=t.asm.emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0).apply(null,arguments)},zc=t._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1=function(){return(zc=t._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1=t.asm.emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1).apply(null,arguments)},jc=t._emscripten_bind_LocalShapeInfo___destroy___0=function(){return(jc=t._emscripten_bind_LocalShapeInfo___destroy___0=t.asm.emscripten_bind_LocalShapeInfo___destroy___0).apply(null,arguments)},Uc=t._emscripten_bind_btRigidBody_btRigidBody_1=function(){return(Uc=t._emscripten_bind_btRigidBody_btRigidBody_1=t.asm.emscripten_bind_btRigidBody_btRigidBody_1).apply(null,arguments)},Gc=t._emscripten_bind_btRigidBody_getCenterOfMassTransform_0=function(){return(Gc=t._emscripten_bind_btRigidBody_getCenterOfMassTransform_0=t.asm.emscripten_bind_btRigidBody_getCenterOfMassTransform_0).apply(null,arguments)},Hc=t._emscripten_bind_btRigidBody_setCenterOfMassTransform_1=function(){return(Hc=t._emscripten_bind_btRigidBody_setCenterOfMassTransform_1=t.asm.emscripten_bind_btRigidBody_setCenterOfMassTransform_1).apply(null,arguments)},Wc=t._emscripten_bind_btRigidBody_setSleepingThresholds_2=function(){return(Wc=t._emscripten_bind_btRigidBody_setSleepingThresholds_2=t.asm.emscripten_bind_btRigidBody_setSleepingThresholds_2).apply(null,arguments)},Xc=t._emscripten_bind_btRigidBody_getLinearDamping_0=function(){return(Xc=t._emscripten_bind_btRigidBody_getLinearDamping_0=t.asm.emscripten_bind_btRigidBody_getLinearDamping_0).apply(null,arguments)},Yc=t._emscripten_bind_btRigidBody_getAngularDamping_0=function(){return(Yc=t._emscripten_bind_btRigidBody_getAngularDamping_0=t.asm.emscripten_bind_btRigidBody_getAngularDamping_0).apply(null,arguments)},Qc=t._emscripten_bind_btRigidBody_setDamping_2=function(){return(Qc=t._emscripten_bind_btRigidBody_setDamping_2=t.asm.emscripten_bind_btRigidBody_setDamping_2).apply(null,arguments)},Kc=t._emscripten_bind_btRigidBody_setMassProps_2=function(){return(Kc=t._emscripten_bind_btRigidBody_setMassProps_2=t.asm.emscripten_bind_btRigidBody_setMassProps_2).apply(null,arguments)},Zc=t._emscripten_bind_btRigidBody_getLinearFactor_0=function(){return(Zc=t._emscripten_bind_btRigidBody_getLinearFactor_0=t.asm.emscripten_bind_btRigidBody_getLinearFactor_0).apply(null,arguments)},qc=t._emscripten_bind_btRigidBody_setLinearFactor_1=function(){return(qc=t._emscripten_bind_btRigidBody_setLinearFactor_1=t.asm.emscripten_bind_btRigidBody_setLinearFactor_1).apply(null,arguments)},Jc=t._emscripten_bind_btRigidBody_applyTorque_1=function(){return(Jc=t._emscripten_bind_btRigidBody_applyTorque_1=t.asm.emscripten_bind_btRigidBody_applyTorque_1).apply(null,arguments)},$c=t._emscripten_bind_btRigidBody_applyLocalTorque_1=function(){return($c=t._emscripten_bind_btRigidBody_applyLocalTorque_1=t.asm.emscripten_bind_btRigidBody_applyLocalTorque_1).apply(null,arguments)},el=t._emscripten_bind_btRigidBody_applyForce_2=function(){return(el=t._emscripten_bind_btRigidBody_applyForce_2=t.asm.emscripten_bind_btRigidBody_applyForce_2).apply(null,arguments)},tl=t._emscripten_bind_btRigidBody_applyCentralForce_1=function(){return(tl=t._emscripten_bind_btRigidBody_applyCentralForce_1=t.asm.emscripten_bind_btRigidBody_applyCentralForce_1).apply(null,arguments)},nl=t._emscripten_bind_btRigidBody_applyCentralLocalForce_1=function(){return(nl=t._emscripten_bind_btRigidBody_applyCentralLocalForce_1=t.asm.emscripten_bind_btRigidBody_applyCentralLocalForce_1).apply(null,arguments)},il=t._emscripten_bind_btRigidBody_applyTorqueImpulse_1=function(){return(il=t._emscripten_bind_btRigidBody_applyTorqueImpulse_1=t.asm.emscripten_bind_btRigidBody_applyTorqueImpulse_1).apply(null,arguments)},rl=t._emscripten_bind_btRigidBody_applyImpulse_2=function(){return(rl=t._emscripten_bind_btRigidBody_applyImpulse_2=t.asm.emscripten_bind_btRigidBody_applyImpulse_2).apply(null,arguments)},ol=t._emscripten_bind_btRigidBody_applyCentralImpulse_1=function(){return(ol=t._emscripten_bind_btRigidBody_applyCentralImpulse_1=t.asm.emscripten_bind_btRigidBody_applyCentralImpulse_1).apply(null,arguments)},al=t._emscripten_bind_btRigidBody_updateInertiaTensor_0=function(){return(al=t._emscripten_bind_btRigidBody_updateInertiaTensor_0=t.asm.emscripten_bind_btRigidBody_updateInertiaTensor_0).apply(null,arguments)},sl=t._emscripten_bind_btRigidBody_getLinearVelocity_0=function(){return(sl=t._emscripten_bind_btRigidBody_getLinearVelocity_0=t.asm.emscripten_bind_btRigidBody_getLinearVelocity_0).apply(null,arguments)},cl=t._emscripten_bind_btRigidBody_getAngularVelocity_0=function(){return(cl=t._emscripten_bind_btRigidBody_getAngularVelocity_0=t.asm.emscripten_bind_btRigidBody_getAngularVelocity_0).apply(null,arguments)},ll=t._emscripten_bind_btRigidBody_setLinearVelocity_1=function(){return(ll=t._emscripten_bind_btRigidBody_setLinearVelocity_1=t.asm.emscripten_bind_btRigidBody_setLinearVelocity_1).apply(null,arguments)},ul=t._emscripten_bind_btRigidBody_setAngularVelocity_1=function(){return(ul=t._emscripten_bind_btRigidBody_setAngularVelocity_1=t.asm.emscripten_bind_btRigidBody_setAngularVelocity_1).apply(null,arguments)},pl=t._emscripten_bind_btRigidBody_getMotionState_0=function(){return(pl=t._emscripten_bind_btRigidBody_getMotionState_0=t.asm.emscripten_bind_btRigidBody_getMotionState_0).apply(null,arguments)},hl=t._emscripten_bind_btRigidBody_setMotionState_1=function(){return(hl=t._emscripten_bind_btRigidBody_setMotionState_1=t.asm.emscripten_bind_btRigidBody_setMotionState_1).apply(null,arguments)},dl=t._emscripten_bind_btRigidBody_getAngularFactor_0=function(){return(dl=t._emscripten_bind_btRigidBody_getAngularFactor_0=t.asm.emscripten_bind_btRigidBody_getAngularFactor_0).apply(null,arguments)},fl=t._emscripten_bind_btRigidBody_setAngularFactor_1=function(){return(fl=t._emscripten_bind_btRigidBody_setAngularFactor_1=t.asm.emscripten_bind_btRigidBody_setAngularFactor_1).apply(null,arguments)},_l=t._emscripten_bind_btRigidBody_upcast_1=function(){return(_l=t._emscripten_bind_btRigidBody_upcast_1=t.asm.emscripten_bind_btRigidBody_upcast_1).apply(null,arguments)},ml=t._emscripten_bind_btRigidBody_getAabb_2=function(){return(ml=t._emscripten_bind_btRigidBody_getAabb_2=t.asm.emscripten_bind_btRigidBody_getAabb_2).apply(null,arguments)},bl=t._emscripten_bind_btRigidBody_applyGravity_0=function(){return(bl=t._emscripten_bind_btRigidBody_applyGravity_0=t.asm.emscripten_bind_btRigidBody_applyGravity_0).apply(null,arguments)},gl=t._emscripten_bind_btRigidBody_getGravity_0=function(){return(gl=t._emscripten_bind_btRigidBody_getGravity_0=t.asm.emscripten_bind_btRigidBody_getGravity_0).apply(null,arguments)},vl=t._emscripten_bind_btRigidBody_setGravity_1=function(){return(vl=t._emscripten_bind_btRigidBody_setGravity_1=t.asm.emscripten_bind_btRigidBody_setGravity_1).apply(null,arguments)},yl=t._emscripten_bind_btRigidBody_getBroadphaseProxy_0=function(){return(yl=t._emscripten_bind_btRigidBody_getBroadphaseProxy_0=t.asm.emscripten_bind_btRigidBody_getBroadphaseProxy_0).apply(null,arguments)},Cl=t._emscripten_bind_btRigidBody_clearForces_0=function(){return(Cl=t._emscripten_bind_btRigidBody_clearForces_0=t.asm.emscripten_bind_btRigidBody_clearForces_0).apply(null,arguments)},Al=t._emscripten_bind_btRigidBody_setAnisotropicFriction_2=function(){return(Al=t._emscripten_bind_btRigidBody_setAnisotropicFriction_2=t.asm.emscripten_bind_btRigidBody_setAnisotropicFriction_2).apply(null,arguments)},xl=t._emscripten_bind_btRigidBody_getCollisionShape_0=function(){return(xl=t._emscripten_bind_btRigidBody_getCollisionShape_0=t.asm.emscripten_bind_btRigidBody_getCollisionShape_0).apply(null,arguments)},Sl=t._emscripten_bind_btRigidBody_setContactProcessingThreshold_1=function(){return(Sl=t._emscripten_bind_btRigidBody_setContactProcessingThreshold_1=t.asm.emscripten_bind_btRigidBody_setContactProcessingThreshold_1).apply(null,arguments)},Tl=t._emscripten_bind_btRigidBody_setActivationState_1=function(){return(Tl=t._emscripten_bind_btRigidBody_setActivationState_1=t.asm.emscripten_bind_btRigidBody_setActivationState_1).apply(null,arguments)},El=t._emscripten_bind_btRigidBody_forceActivationState_1=function(){return(El=t._emscripten_bind_btRigidBody_forceActivationState_1=t.asm.emscripten_bind_btRigidBody_forceActivationState_1).apply(null,arguments)},Pl=t._emscripten_bind_btRigidBody_activate_0=function(){return(Pl=t._emscripten_bind_btRigidBody_activate_0=t.asm.emscripten_bind_btRigidBody_activate_0).apply(null,arguments)},Ol=t._emscripten_bind_btRigidBody_activate_1=function(){return(Ol=t._emscripten_bind_btRigidBody_activate_1=t.asm.emscripten_bind_btRigidBody_activate_1).apply(null,arguments)},Ml=t._emscripten_bind_btRigidBody_isActive_0=function(){return(Ml=t._emscripten_bind_btRigidBody_isActive_0=t.asm.emscripten_bind_btRigidBody_isActive_0).apply(null,arguments)},Rl=t._emscripten_bind_btRigidBody_isKinematicObject_0=function(){return(Rl=t._emscripten_bind_btRigidBody_isKinematicObject_0=t.asm.emscripten_bind_btRigidBody_isKinematicObject_0).apply(null,arguments)},Il=t._emscripten_bind_btRigidBody_isStaticObject_0=function(){return(Il=t._emscripten_bind_btRigidBody_isStaticObject_0=t.asm.emscripten_bind_btRigidBody_isStaticObject_0).apply(null,arguments)},wl=t._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0=function(){return(wl=t._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0=t.asm.emscripten_bind_btRigidBody_isStaticOrKinematicObject_0).apply(null,arguments)},Dl=t._emscripten_bind_btRigidBody_getRestitution_0=function(){return(Dl=t._emscripten_bind_btRigidBody_getRestitution_0=t.asm.emscripten_bind_btRigidBody_getRestitution_0).apply(null,arguments)},Ll=t._emscripten_bind_btRigidBody_getFriction_0=function(){return(Ll=t._emscripten_bind_btRigidBody_getFriction_0=t.asm.emscripten_bind_btRigidBody_getFriction_0).apply(null,arguments)},Nl=t._emscripten_bind_btRigidBody_getRollingFriction_0=function(){return(Nl=t._emscripten_bind_btRigidBody_getRollingFriction_0=t.asm.emscripten_bind_btRigidBody_getRollingFriction_0).apply(null,arguments)},Fl=t._emscripten_bind_btRigidBody_setRestitution_1=function(){return(Fl=t._emscripten_bind_btRigidBody_setRestitution_1=t.asm.emscripten_bind_btRigidBody_setRestitution_1).apply(null,arguments)},Bl=t._emscripten_bind_btRigidBody_setFriction_1=function(){return(Bl=t._emscripten_bind_btRigidBody_setFriction_1=t.asm.emscripten_bind_btRigidBody_setFriction_1).apply(null,arguments)},kl=t._emscripten_bind_btRigidBody_setRollingFriction_1=function(){return(kl=t._emscripten_bind_btRigidBody_setRollingFriction_1=t.asm.emscripten_bind_btRigidBody_setRollingFriction_1).apply(null,arguments)},Vl=t._emscripten_bind_btRigidBody_getWorldTransform_0=function(){return(Vl=t._emscripten_bind_btRigidBody_getWorldTransform_0=t.asm.emscripten_bind_btRigidBody_getWorldTransform_0).apply(null,arguments)},zl=t._emscripten_bind_btRigidBody_getCollisionFlags_0=function(){return(zl=t._emscripten_bind_btRigidBody_getCollisionFlags_0=t.asm.emscripten_bind_btRigidBody_getCollisionFlags_0).apply(null,arguments)},jl=t._emscripten_bind_btRigidBody_setCollisionFlags_1=function(){return(jl=t._emscripten_bind_btRigidBody_setCollisionFlags_1=t.asm.emscripten_bind_btRigidBody_setCollisionFlags_1).apply(null,arguments)},Ul=t._emscripten_bind_btRigidBody_setWorldTransform_1=function(){return(Ul=t._emscripten_bind_btRigidBody_setWorldTransform_1=t.asm.emscripten_bind_btRigidBody_setWorldTransform_1).apply(null,arguments)},Gl=t._emscripten_bind_btRigidBody_setCollisionShape_1=function(){return(Gl=t._emscripten_bind_btRigidBody_setCollisionShape_1=t.asm.emscripten_bind_btRigidBody_setCollisionShape_1).apply(null,arguments)},Hl=t._emscripten_bind_btRigidBody_setCcdMotionThreshold_1=function(){return(Hl=t._emscripten_bind_btRigidBody_setCcdMotionThreshold_1=t.asm.emscripten_bind_btRigidBody_setCcdMotionThreshold_1).apply(null,arguments)},Wl=t._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=function(){return(Wl=t._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=t.asm.emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1).apply(null,arguments)},Xl=t._emscripten_bind_btRigidBody_getUserIndex_0=function(){return(Xl=t._emscripten_bind_btRigidBody_getUserIndex_0=t.asm.emscripten_bind_btRigidBody_getUserIndex_0).apply(null,arguments)},Yl=t._emscripten_bind_btRigidBody_setUserIndex_1=function(){return(Yl=t._emscripten_bind_btRigidBody_setUserIndex_1=t.asm.emscripten_bind_btRigidBody_setUserIndex_1).apply(null,arguments)},Ql=t._emscripten_bind_btRigidBody_getUserPointer_0=function(){return(Ql=t._emscripten_bind_btRigidBody_getUserPointer_0=t.asm.emscripten_bind_btRigidBody_getUserPointer_0).apply(null,arguments)},Kl=t._emscripten_bind_btRigidBody_setUserPointer_1=function(){return(Kl=t._emscripten_bind_btRigidBody_setUserPointer_1=t.asm.emscripten_bind_btRigidBody_setUserPointer_1).apply(null,arguments)},Zl=t._emscripten_bind_btRigidBody_getBroadphaseHandle_0=function(){return(Zl=t._emscripten_bind_btRigidBody_getBroadphaseHandle_0=t.asm.emscripten_bind_btRigidBody_getBroadphaseHandle_0).apply(null,arguments)},ql=t._emscripten_bind_btRigidBody___destroy___0=function(){return(ql=t._emscripten_bind_btRigidBody___destroy___0=t.asm.emscripten_bind_btRigidBody___destroy___0).apply(null,arguments)},Jl=t._emscripten_bind_btIndexedMeshArray_size_0=function(){return(Jl=t._emscripten_bind_btIndexedMeshArray_size_0=t.asm.emscripten_bind_btIndexedMeshArray_size_0).apply(null,arguments)},$l=t._emscripten_bind_btIndexedMeshArray_at_1=function(){return($l=t._emscripten_bind_btIndexedMeshArray_at_1=t.asm.emscripten_bind_btIndexedMeshArray_at_1).apply(null,arguments)},eu=t._emscripten_bind_btIndexedMeshArray___destroy___0=function(){return(eu=t._emscripten_bind_btIndexedMeshArray___destroy___0=t.asm.emscripten_bind_btIndexedMeshArray___destroy___0).apply(null,arguments)},tu=t._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0=function(){return(tu=t._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0=t.asm.emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0).apply(null,arguments)},nu=t._emscripten_bind_btDbvtBroadphase___destroy___0=function(){return(nu=t._emscripten_bind_btDbvtBroadphase___destroy___0=t.asm.emscripten_bind_btDbvtBroadphase___destroy___0).apply(null,arguments)},iu=t._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9=function(){return(iu=t._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9=t.asm.emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9).apply(null,arguments)},ru=t._emscripten_bind_btHeightfieldTerrainShape_setMargin_1=function(){return(ru=t._emscripten_bind_btHeightfieldTerrainShape_setMargin_1=t.asm.emscripten_bind_btHeightfieldTerrainShape_setMargin_1).apply(null,arguments)},ou=t._emscripten_bind_btHeightfieldTerrainShape_getMargin_0=function(){return(ou=t._emscripten_bind_btHeightfieldTerrainShape_getMargin_0=t.asm.emscripten_bind_btHeightfieldTerrainShape_getMargin_0).apply(null,arguments)},au=t._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1=function(){return(au=t._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1=t.asm.emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1).apply(null,arguments)},su=t._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0=function(){return(su=t._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0=t.asm.emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0).apply(null,arguments)},cu=t._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2=function(){return(cu=t._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2=t.asm.emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2).apply(null,arguments)},lu=t._emscripten_bind_btHeightfieldTerrainShape___destroy___0=function(){return(lu=t._emscripten_bind_btHeightfieldTerrainShape___destroy___0=t.asm.emscripten_bind_btHeightfieldTerrainShape___destroy___0).apply(null,arguments)},uu=t._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0=function(){return(uu=t._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0=t.asm.emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0).apply(null,arguments)},pu=t._emscripten_bind_btDefaultSoftBodySolver___destroy___0=function(){return(pu=t._emscripten_bind_btDefaultSoftBodySolver___destroy___0=t.asm.emscripten_bind_btDefaultSoftBodySolver___destroy___0).apply(null,arguments)},hu=t._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1=function(){return(hu=t._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1=t.asm.emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1).apply(null,arguments)},du=t._emscripten_bind_btCollisionDispatcher_getNumManifolds_0=function(){return(du=t._emscripten_bind_btCollisionDispatcher_getNumManifolds_0=t.asm.emscripten_bind_btCollisionDispatcher_getNumManifolds_0).apply(null,arguments)},fu=t._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=function(){return(fu=t._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=t.asm.emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1).apply(null,arguments)},_u=t._emscripten_bind_btCollisionDispatcher___destroy___0=function(){return(_u=t._emscripten_bind_btCollisionDispatcher___destroy___0=t.asm.emscripten_bind_btCollisionDispatcher___destroy___0).apply(null,arguments)},mu=t._emscripten_bind_btAxisSweep3_btAxisSweep3_2=function(){return(mu=t._emscripten_bind_btAxisSweep3_btAxisSweep3_2=t.asm.emscripten_bind_btAxisSweep3_btAxisSweep3_2).apply(null,arguments)},bu=t._emscripten_bind_btAxisSweep3_btAxisSweep3_3=function(){return(bu=t._emscripten_bind_btAxisSweep3_btAxisSweep3_3=t.asm.emscripten_bind_btAxisSweep3_btAxisSweep3_3).apply(null,arguments)},gu=t._emscripten_bind_btAxisSweep3_btAxisSweep3_4=function(){return(gu=t._emscripten_bind_btAxisSweep3_btAxisSweep3_4=t.asm.emscripten_bind_btAxisSweep3_btAxisSweep3_4).apply(null,arguments)},vu=t._emscripten_bind_btAxisSweep3_btAxisSweep3_5=function(){return(vu=t._emscripten_bind_btAxisSweep3_btAxisSweep3_5=t.asm.emscripten_bind_btAxisSweep3_btAxisSweep3_5).apply(null,arguments)},yu=t._emscripten_bind_btAxisSweep3___destroy___0=function(){return(yu=t._emscripten_bind_btAxisSweep3___destroy___0=t.asm.emscripten_bind_btAxisSweep3___destroy___0).apply(null,arguments)},Cu=t._emscripten_bind_VoidPtr___destroy___0=function(){return(Cu=t._emscripten_bind_VoidPtr___destroy___0=t.asm.emscripten_bind_VoidPtr___destroy___0).apply(null,arguments)},Au=t._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0=function(){return(Au=t._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0=t.asm.emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0).apply(null,arguments)},xu=t._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0=function(){return(xu=t._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0=t.asm.emscripten_bind_btSoftBodyWorldInfo_get_air_density_0).apply(null,arguments)},Su=t._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1=function(){return(Su=t._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1=t.asm.emscripten_bind_btSoftBodyWorldInfo_set_air_density_1).apply(null,arguments)},Tu=t._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0=function(){return(Tu=t._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0=t.asm.emscripten_bind_btSoftBodyWorldInfo_get_water_density_0).apply(null,arguments)},Eu=t._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1=function(){return(Eu=t._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1=t.asm.emscripten_bind_btSoftBodyWorldInfo_set_water_density_1).apply(null,arguments)},Pu=t._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0=function(){return(Pu=t._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0=t.asm.emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0).apply(null,arguments)},Ou=t._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1=function(){return(Ou=t._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1=t.asm.emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1).apply(null,arguments)},Mu=t._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0=function(){return(Mu=t._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0=t.asm.emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0).apply(null,arguments)},Ru=t._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1=function(){return(Ru=t._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1=t.asm.emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1).apply(null,arguments)},Iu=t._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0=function(){return(Iu=t._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0=t.asm.emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0).apply(null,arguments)},wu=t._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1=function(){return(wu=t._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1=t.asm.emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1).apply(null,arguments)},Du=t._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0=function(){return(Du=t._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0=t.asm.emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0).apply(null,arguments)},Lu=t._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1=function(){return(Lu=t._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1=t.asm.emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1).apply(null,arguments)},Nu=t._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0=function(){return(Nu=t._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0=t.asm.emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0).apply(null,arguments)},Fu=t._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1=function(){return(Fu=t._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1=t.asm.emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1).apply(null,arguments)},Bu=t._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0=function(){return(Bu=t._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0=t.asm.emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0).apply(null,arguments)},ku=t._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1=function(){return(ku=t._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1=t.asm.emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1).apply(null,arguments)},Vu=t._emscripten_bind_btSoftBodyWorldInfo___destroy___0=function(){return(Vu=t._emscripten_bind_btSoftBodyWorldInfo___destroy___0=t.asm.emscripten_bind_btSoftBodyWorldInfo___destroy___0).apply(null,arguments)},zu=t._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2=function(){return(zu=t._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2=t.asm.emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2).apply(null,arguments)},ju=t._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4=function(){return(ju=t._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4=t.asm.emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4).apply(null,arguments)},Uu=t._emscripten_bind_btConeTwistConstraint_setLimit_2=function(){return(Uu=t._emscripten_bind_btConeTwistConstraint_setLimit_2=t.asm.emscripten_bind_btConeTwistConstraint_setLimit_2).apply(null,arguments)},Gu=t._emscripten_bind_btConeTwistConstraint_setAngularOnly_1=function(){return(Gu=t._emscripten_bind_btConeTwistConstraint_setAngularOnly_1=t.asm.emscripten_bind_btConeTwistConstraint_setAngularOnly_1).apply(null,arguments)},Hu=t._emscripten_bind_btConeTwistConstraint_setDamping_1=function(){return(Hu=t._emscripten_bind_btConeTwistConstraint_setDamping_1=t.asm.emscripten_bind_btConeTwistConstraint_setDamping_1).apply(null,arguments)},Wu=t._emscripten_bind_btConeTwistConstraint_enableMotor_1=function(){return(Wu=t._emscripten_bind_btConeTwistConstraint_enableMotor_1=t.asm.emscripten_bind_btConeTwistConstraint_enableMotor_1).apply(null,arguments)},Xu=t._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1=function(){return(Xu=t._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1=t.asm.emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1).apply(null,arguments)},Yu=t._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1=function(){return(Yu=t._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1=t.asm.emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1).apply(null,arguments)},Qu=t._emscripten_bind_btConeTwistConstraint_setMotorTarget_1=function(){return(Qu=t._emscripten_bind_btConeTwistConstraint_setMotorTarget_1=t.asm.emscripten_bind_btConeTwistConstraint_setMotorTarget_1).apply(null,arguments)},Ku=t._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1=function(){return(Ku=t._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1=t.asm.emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1).apply(null,arguments)},Zu=t._emscripten_bind_btConeTwistConstraint_enableFeedback_1=function(){return(Zu=t._emscripten_bind_btConeTwistConstraint_enableFeedback_1=t.asm.emscripten_bind_btConeTwistConstraint_enableFeedback_1).apply(null,arguments)},qu=t._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0=function(){return(qu=t._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0=t.asm.emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0).apply(null,arguments)},Ju=t._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1=function(){return(Ju=t._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1=t.asm.emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1).apply(null,arguments)},$u=t._emscripten_bind_btConeTwistConstraint_getParam_2=function(){return($u=t._emscripten_bind_btConeTwistConstraint_getParam_2=t.asm.emscripten_bind_btConeTwistConstraint_getParam_2).apply(null,arguments)},ep=t._emscripten_bind_btConeTwistConstraint_setParam_3=function(){return(ep=t._emscripten_bind_btConeTwistConstraint_setParam_3=t.asm.emscripten_bind_btConeTwistConstraint_setParam_3).apply(null,arguments)},tp=t._emscripten_bind_btConeTwistConstraint___destroy___0=function(){return(tp=t._emscripten_bind_btConeTwistConstraint___destroy___0=t.asm.emscripten_bind_btConeTwistConstraint___destroy___0).apply(null,arguments)},np=t._emscripten_bind_btHingeConstraint_btHingeConstraint_2=function(){return(np=t._emscripten_bind_btHingeConstraint_btHingeConstraint_2=t.asm.emscripten_bind_btHingeConstraint_btHingeConstraint_2).apply(null,arguments)},ip=t._emscripten_bind_btHingeConstraint_btHingeConstraint_3=function(){return(ip=t._emscripten_bind_btHingeConstraint_btHingeConstraint_3=t.asm.emscripten_bind_btHingeConstraint_btHingeConstraint_3).apply(null,arguments)},rp=t._emscripten_bind_btHingeConstraint_btHingeConstraint_4=function(){return(rp=t._emscripten_bind_btHingeConstraint_btHingeConstraint_4=t.asm.emscripten_bind_btHingeConstraint_btHingeConstraint_4).apply(null,arguments)},op=t._emscripten_bind_btHingeConstraint_btHingeConstraint_5=function(){return(op=t._emscripten_bind_btHingeConstraint_btHingeConstraint_5=t.asm.emscripten_bind_btHingeConstraint_btHingeConstraint_5).apply(null,arguments)},ap=t._emscripten_bind_btHingeConstraint_btHingeConstraint_6=function(){return(ap=t._emscripten_bind_btHingeConstraint_btHingeConstraint_6=t.asm.emscripten_bind_btHingeConstraint_btHingeConstraint_6).apply(null,arguments)},sp=t._emscripten_bind_btHingeConstraint_btHingeConstraint_7=function(){return(sp=t._emscripten_bind_btHingeConstraint_btHingeConstraint_7=t.asm.emscripten_bind_btHingeConstraint_btHingeConstraint_7).apply(null,arguments)},cp=t._emscripten_bind_btHingeConstraint_setLimit_4=function(){return(cp=t._emscripten_bind_btHingeConstraint_setLimit_4=t.asm.emscripten_bind_btHingeConstraint_setLimit_4).apply(null,arguments)},lp=t._emscripten_bind_btHingeConstraint_setLimit_5=function(){return(lp=t._emscripten_bind_btHingeConstraint_setLimit_5=t.asm.emscripten_bind_btHingeConstraint_setLimit_5).apply(null,arguments)},up=t._emscripten_bind_btHingeConstraint_enableAngularMotor_3=function(){return(up=t._emscripten_bind_btHingeConstraint_enableAngularMotor_3=t.asm.emscripten_bind_btHingeConstraint_enableAngularMotor_3).apply(null,arguments)},pp=t._emscripten_bind_btHingeConstraint_setAngularOnly_1=function(){return(pp=t._emscripten_bind_btHingeConstraint_setAngularOnly_1=t.asm.emscripten_bind_btHingeConstraint_setAngularOnly_1).apply(null,arguments)},hp=t._emscripten_bind_btHingeConstraint_enableMotor_1=function(){return(hp=t._emscripten_bind_btHingeConstraint_enableMotor_1=t.asm.emscripten_bind_btHingeConstraint_enableMotor_1).apply(null,arguments)},dp=t._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1=function(){return(dp=t._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1=t.asm.emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1).apply(null,arguments)},fp=t._emscripten_bind_btHingeConstraint_setMotorTarget_2=function(){return(fp=t._emscripten_bind_btHingeConstraint_setMotorTarget_2=t.asm.emscripten_bind_btHingeConstraint_setMotorTarget_2).apply(null,arguments)},_p=t._emscripten_bind_btHingeConstraint_enableFeedback_1=function(){return(_p=t._emscripten_bind_btHingeConstraint_enableFeedback_1=t.asm.emscripten_bind_btHingeConstraint_enableFeedback_1).apply(null,arguments)},mp=t._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0=function(){return(mp=t._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0=t.asm.emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0).apply(null,arguments)},bp=t._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1=function(){return(bp=t._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1=t.asm.emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1).apply(null,arguments)},gp=t._emscripten_bind_btHingeConstraint_getParam_2=function(){return(gp=t._emscripten_bind_btHingeConstraint_getParam_2=t.asm.emscripten_bind_btHingeConstraint_getParam_2).apply(null,arguments)},vp=t._emscripten_bind_btHingeConstraint_setParam_3=function(){return(vp=t._emscripten_bind_btHingeConstraint_setParam_3=t.asm.emscripten_bind_btHingeConstraint_setParam_3).apply(null,arguments)},yp=t._emscripten_bind_btHingeConstraint___destroy___0=function(){return(yp=t._emscripten_bind_btHingeConstraint___destroy___0=t.asm.emscripten_bind_btHingeConstraint___destroy___0).apply(null,arguments)},Cp=t._emscripten_bind_btConeShapeZ_btConeShapeZ_2=function(){return(Cp=t._emscripten_bind_btConeShapeZ_btConeShapeZ_2=t.asm.emscripten_bind_btConeShapeZ_btConeShapeZ_2).apply(null,arguments)},Ap=t._emscripten_bind_btConeShapeZ_setLocalScaling_1=function(){return(Ap=t._emscripten_bind_btConeShapeZ_setLocalScaling_1=t.asm.emscripten_bind_btConeShapeZ_setLocalScaling_1).apply(null,arguments)},xp=t._emscripten_bind_btConeShapeZ_getLocalScaling_0=function(){return(xp=t._emscripten_bind_btConeShapeZ_getLocalScaling_0=t.asm.emscripten_bind_btConeShapeZ_getLocalScaling_0).apply(null,arguments)},Sp=t._emscripten_bind_btConeShapeZ_calculateLocalInertia_2=function(){return(Sp=t._emscripten_bind_btConeShapeZ_calculateLocalInertia_2=t.asm.emscripten_bind_btConeShapeZ_calculateLocalInertia_2).apply(null,arguments)},Tp=t._emscripten_bind_btConeShapeZ___destroy___0=function(){return(Tp=t._emscripten_bind_btConeShapeZ___destroy___0=t.asm.emscripten_bind_btConeShapeZ___destroy___0).apply(null,arguments)},Ep=t._emscripten_bind_btConeShapeX_btConeShapeX_2=function(){return(Ep=t._emscripten_bind_btConeShapeX_btConeShapeX_2=t.asm.emscripten_bind_btConeShapeX_btConeShapeX_2).apply(null,arguments)},Pp=t._emscripten_bind_btConeShapeX_setLocalScaling_1=function(){return(Pp=t._emscripten_bind_btConeShapeX_setLocalScaling_1=t.asm.emscripten_bind_btConeShapeX_setLocalScaling_1).apply(null,arguments)},Op=t._emscripten_bind_btConeShapeX_getLocalScaling_0=function(){return(Op=t._emscripten_bind_btConeShapeX_getLocalScaling_0=t.asm.emscripten_bind_btConeShapeX_getLocalScaling_0).apply(null,arguments)},Mp=t._emscripten_bind_btConeShapeX_calculateLocalInertia_2=function(){return(Mp=t._emscripten_bind_btConeShapeX_calculateLocalInertia_2=t.asm.emscripten_bind_btConeShapeX_calculateLocalInertia_2).apply(null,arguments)},Rp=t._emscripten_bind_btConeShapeX___destroy___0=function(){return(Rp=t._emscripten_bind_btConeShapeX___destroy___0=t.asm.emscripten_bind_btConeShapeX___destroy___0).apply(null,arguments)},Ip=t._emscripten_bind_btTriangleMesh_btTriangleMesh_0=function(){return(Ip=t._emscripten_bind_btTriangleMesh_btTriangleMesh_0=t.asm.emscripten_bind_btTriangleMesh_btTriangleMesh_0).apply(null,arguments)},wp=t._emscripten_bind_btTriangleMesh_btTriangleMesh_1=function(){return(wp=t._emscripten_bind_btTriangleMesh_btTriangleMesh_1=t.asm.emscripten_bind_btTriangleMesh_btTriangleMesh_1).apply(null,arguments)},Dp=t._emscripten_bind_btTriangleMesh_btTriangleMesh_2=function(){return(Dp=t._emscripten_bind_btTriangleMesh_btTriangleMesh_2=t.asm.emscripten_bind_btTriangleMesh_btTriangleMesh_2).apply(null,arguments)},Lp=t._emscripten_bind_btTriangleMesh_addTriangle_3=function(){return(Lp=t._emscripten_bind_btTriangleMesh_addTriangle_3=t.asm.emscripten_bind_btTriangleMesh_addTriangle_3).apply(null,arguments)},Np=t._emscripten_bind_btTriangleMesh_addTriangle_4=function(){return(Np=t._emscripten_bind_btTriangleMesh_addTriangle_4=t.asm.emscripten_bind_btTriangleMesh_addTriangle_4).apply(null,arguments)},Fp=t._emscripten_bind_btTriangleMesh_findOrAddVertex_2=function(){return(Fp=t._emscripten_bind_btTriangleMesh_findOrAddVertex_2=t.asm.emscripten_bind_btTriangleMesh_findOrAddVertex_2).apply(null,arguments)},Bp=t._emscripten_bind_btTriangleMesh_addIndex_1=function(){return(Bp=t._emscripten_bind_btTriangleMesh_addIndex_1=t.asm.emscripten_bind_btTriangleMesh_addIndex_1).apply(null,arguments)},kp=t._emscripten_bind_btTriangleMesh_getIndexedMeshArray_0=function(){return(kp=t._emscripten_bind_btTriangleMesh_getIndexedMeshArray_0=t.asm.emscripten_bind_btTriangleMesh_getIndexedMeshArray_0).apply(null,arguments)},Vp=t._emscripten_bind_btTriangleMesh_setScaling_1=function(){return(Vp=t._emscripten_bind_btTriangleMesh_setScaling_1=t.asm.emscripten_bind_btTriangleMesh_setScaling_1).apply(null,arguments)},zp=t._emscripten_bind_btTriangleMesh___destroy___0=function(){return(zp=t._emscripten_bind_btTriangleMesh___destroy___0=t.asm.emscripten_bind_btTriangleMesh___destroy___0).apply(null,arguments)},jp=t._emscripten_bind_btConvexHullShape_btConvexHullShape_0=function(){return(jp=t._emscripten_bind_btConvexHullShape_btConvexHullShape_0=t.asm.emscripten_bind_btConvexHullShape_btConvexHullShape_0).apply(null,arguments)},Up=t._emscripten_bind_btConvexHullShape_btConvexHullShape_1=function(){return(Up=t._emscripten_bind_btConvexHullShape_btConvexHullShape_1=t.asm.emscripten_bind_btConvexHullShape_btConvexHullShape_1).apply(null,arguments)},Gp=t._emscripten_bind_btConvexHullShape_btConvexHullShape_2=function(){return(Gp=t._emscripten_bind_btConvexHullShape_btConvexHullShape_2=t.asm.emscripten_bind_btConvexHullShape_btConvexHullShape_2).apply(null,arguments)},Hp=t._emscripten_bind_btConvexHullShape_addPoint_1=function(){return(Hp=t._emscripten_bind_btConvexHullShape_addPoint_1=t.asm.emscripten_bind_btConvexHullShape_addPoint_1).apply(null,arguments)},Wp=t._emscripten_bind_btConvexHullShape_addPoint_2=function(){return(Wp=t._emscripten_bind_btConvexHullShape_addPoint_2=t.asm.emscripten_bind_btConvexHullShape_addPoint_2).apply(null,arguments)},Xp=t._emscripten_bind_btConvexHullShape_setMargin_1=function(){return(Xp=t._emscripten_bind_btConvexHullShape_setMargin_1=t.asm.emscripten_bind_btConvexHullShape_setMargin_1).apply(null,arguments)},Yp=t._emscripten_bind_btConvexHullShape_getMargin_0=function(){return(Yp=t._emscripten_bind_btConvexHullShape_getMargin_0=t.asm.emscripten_bind_btConvexHullShape_getMargin_0).apply(null,arguments)},Qp=t._emscripten_bind_btConvexHullShape_getNumVertices_0=function(){return(Qp=t._emscripten_bind_btConvexHullShape_getNumVertices_0=t.asm.emscripten_bind_btConvexHullShape_getNumVertices_0).apply(null,arguments)},Kp=t._emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1=function(){return(Kp=t._emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1=t.asm.emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1).apply(null,arguments)},Zp=t._emscripten_bind_btConvexHullShape_recalcLocalAabb_0=function(){return(Zp=t._emscripten_bind_btConvexHullShape_recalcLocalAabb_0=t.asm.emscripten_bind_btConvexHullShape_recalcLocalAabb_0).apply(null,arguments)},qp=t._emscripten_bind_btConvexHullShape_getConvexPolyhedron_0=function(){return(qp=t._emscripten_bind_btConvexHullShape_getConvexPolyhedron_0=t.asm.emscripten_bind_btConvexHullShape_getConvexPolyhedron_0).apply(null,arguments)},Jp=t._emscripten_bind_btConvexHullShape_setLocalScaling_1=function(){return(Jp=t._emscripten_bind_btConvexHullShape_setLocalScaling_1=t.asm.emscripten_bind_btConvexHullShape_setLocalScaling_1).apply(null,arguments)},$p=t._emscripten_bind_btConvexHullShape_getLocalScaling_0=function(){return($p=t._emscripten_bind_btConvexHullShape_getLocalScaling_0=t.asm.emscripten_bind_btConvexHullShape_getLocalScaling_0).apply(null,arguments)},eh=t._emscripten_bind_btConvexHullShape_calculateLocalInertia_2=function(){return(eh=t._emscripten_bind_btConvexHullShape_calculateLocalInertia_2=t.asm.emscripten_bind_btConvexHullShape_calculateLocalInertia_2).apply(null,arguments)},th=t._emscripten_bind_btConvexHullShape___destroy___0=function(){return(th=t._emscripten_bind_btConvexHullShape___destroy___0=t.asm.emscripten_bind_btConvexHullShape___destroy___0).apply(null,arguments)},nh=t._emscripten_bind_btVehicleTuning_btVehicleTuning_0=function(){return(nh=t._emscripten_bind_btVehicleTuning_btVehicleTuning_0=t.asm.emscripten_bind_btVehicleTuning_btVehicleTuning_0).apply(null,arguments)},ih=t._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0=function(){return(ih=t._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0=t.asm.emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0).apply(null,arguments)},rh=t._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1=function(){return(rh=t._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1=t.asm.emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1).apply(null,arguments)},oh=t._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0=function(){return(oh=t._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0=t.asm.emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0).apply(null,arguments)},ah=t._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1=function(){return(ah=t._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1=t.asm.emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1).apply(null,arguments)},sh=t._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0=function(){return(sh=t._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0=t.asm.emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0).apply(null,arguments)},ch=t._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1=function(){return(ch=t._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1=t.asm.emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1).apply(null,arguments)},lh=t._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0=function(){return(lh=t._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0=t.asm.emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0).apply(null,arguments)},uh=t._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1=function(){return(uh=t._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1=t.asm.emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1).apply(null,arguments)},ph=t._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0=function(){return(ph=t._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0=t.asm.emscripten_bind_btVehicleTuning_get_m_frictionSlip_0).apply(null,arguments)},hh=t._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1=function(){return(hh=t._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1=t.asm.emscripten_bind_btVehicleTuning_set_m_frictionSlip_1).apply(null,arguments)},dh=t._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0=function(){return(dh=t._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0=t.asm.emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0).apply(null,arguments)},fh=t._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1=function(){return(fh=t._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1=t.asm.emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1).apply(null,arguments)},_h=t._emscripten_bind_btCollisionObjectWrapper_getWorldTransform_0=function(){return(_h=t._emscripten_bind_btCollisionObjectWrapper_getWorldTransform_0=t.asm.emscripten_bind_btCollisionObjectWrapper_getWorldTransform_0).apply(null,arguments)},mh=t._emscripten_bind_btCollisionObjectWrapper_getCollisionObject_0=function(){return(mh=t._emscripten_bind_btCollisionObjectWrapper_getCollisionObject_0=t.asm.emscripten_bind_btCollisionObjectWrapper_getCollisionObject_0).apply(null,arguments)},bh=t._emscripten_bind_btCollisionObjectWrapper_getCollisionShape_0=function(){return(bh=t._emscripten_bind_btCollisionObjectWrapper_getCollisionShape_0=t.asm.emscripten_bind_btCollisionObjectWrapper_getCollisionShape_0).apply(null,arguments)},gh=t._emscripten_bind_btShapeHull_btShapeHull_1=function(){return(gh=t._emscripten_bind_btShapeHull_btShapeHull_1=t.asm.emscripten_bind_btShapeHull_btShapeHull_1).apply(null,arguments)},vh=t._emscripten_bind_btShapeHull_buildHull_1=function(){return(vh=t._emscripten_bind_btShapeHull_buildHull_1=t.asm.emscripten_bind_btShapeHull_buildHull_1).apply(null,arguments)},yh=t._emscripten_bind_btShapeHull_numVertices_0=function(){return(yh=t._emscripten_bind_btShapeHull_numVertices_0=t.asm.emscripten_bind_btShapeHull_numVertices_0).apply(null,arguments)},Ch=t._emscripten_bind_btShapeHull_getVertexPointer_0=function(){return(Ch=t._emscripten_bind_btShapeHull_getVertexPointer_0=t.asm.emscripten_bind_btShapeHull_getVertexPointer_0).apply(null,arguments)},Ah=t._emscripten_bind_btShapeHull___destroy___0=function(){return(Ah=t._emscripten_bind_btShapeHull___destroy___0=t.asm.emscripten_bind_btShapeHull___destroy___0).apply(null,arguments)},xh=t._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0=function(){return(xh=t._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0=t.asm.emscripten_bind_btDefaultMotionState_btDefaultMotionState_0).apply(null,arguments)},Sh=t._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1=function(){return(Sh=t._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1=t.asm.emscripten_bind_btDefaultMotionState_btDefaultMotionState_1).apply(null,arguments)},Th=t._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=function(){return(Th=t._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=t.asm.emscripten_bind_btDefaultMotionState_btDefaultMotionState_2).apply(null,arguments)},Eh=t._emscripten_bind_btDefaultMotionState_getWorldTransform_1=function(){return(Eh=t._emscripten_bind_btDefaultMotionState_getWorldTransform_1=t.asm.emscripten_bind_btDefaultMotionState_getWorldTransform_1).apply(null,arguments)},Ph=t._emscripten_bind_btDefaultMotionState_setWorldTransform_1=function(){return(Ph=t._emscripten_bind_btDefaultMotionState_setWorldTransform_1=t.asm.emscripten_bind_btDefaultMotionState_setWorldTransform_1).apply(null,arguments)},Oh=t._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0=function(){return(Oh=t._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0=t.asm.emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0).apply(null,arguments)},Mh=t._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1=function(){return(Mh=t._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1=t.asm.emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1).apply(null,arguments)},Rh=t._emscripten_bind_btDefaultMotionState___destroy___0=function(){return(Rh=t._emscripten_bind_btDefaultMotionState___destroy___0=t.asm.emscripten_bind_btDefaultMotionState___destroy___0).apply(null,arguments)},Ih=t._emscripten_bind_btWheelInfo_btWheelInfo_1=function(){return(Ih=t._emscripten_bind_btWheelInfo_btWheelInfo_1=t.asm.emscripten_bind_btWheelInfo_btWheelInfo_1).apply(null,arguments)},wh=t._emscripten_bind_btWheelInfo_getSuspensionRestLength_0=function(){return(wh=t._emscripten_bind_btWheelInfo_getSuspensionRestLength_0=t.asm.emscripten_bind_btWheelInfo_getSuspensionRestLength_0).apply(null,arguments)},Dh=t._emscripten_bind_btWheelInfo_updateWheel_2=function(){return(Dh=t._emscripten_bind_btWheelInfo_updateWheel_2=t.asm.emscripten_bind_btWheelInfo_updateWheel_2).apply(null,arguments)},Lh=t._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0=function(){return(Lh=t._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0=t.asm.emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0).apply(null,arguments)},Nh=t._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1=function(){return(Nh=t._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1=t.asm.emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1).apply(null,arguments)},Fh=t._emscripten_bind_btWheelInfo_get_m_frictionSlip_0=function(){return(Fh=t._emscripten_bind_btWheelInfo_get_m_frictionSlip_0=t.asm.emscripten_bind_btWheelInfo_get_m_frictionSlip_0).apply(null,arguments)},Bh=t._emscripten_bind_btWheelInfo_set_m_frictionSlip_1=function(){return(Bh=t._emscripten_bind_btWheelInfo_set_m_frictionSlip_1=t.asm.emscripten_bind_btWheelInfo_set_m_frictionSlip_1).apply(null,arguments)},kh=t._emscripten_bind_btWheelInfo_get_m_engineForce_0=function(){return(kh=t._emscripten_bind_btWheelInfo_get_m_engineForce_0=t.asm.emscripten_bind_btWheelInfo_get_m_engineForce_0).apply(null,arguments)},Vh=t._emscripten_bind_btWheelInfo_set_m_engineForce_1=function(){return(Vh=t._emscripten_bind_btWheelInfo_set_m_engineForce_1=t.asm.emscripten_bind_btWheelInfo_set_m_engineForce_1).apply(null,arguments)},zh=t._emscripten_bind_btWheelInfo_get_m_rollInfluence_0=function(){return(zh=t._emscripten_bind_btWheelInfo_get_m_rollInfluence_0=t.asm.emscripten_bind_btWheelInfo_get_m_rollInfluence_0).apply(null,arguments)},jh=t._emscripten_bind_btWheelInfo_set_m_rollInfluence_1=function(){return(jh=t._emscripten_bind_btWheelInfo_set_m_rollInfluence_1=t.asm.emscripten_bind_btWheelInfo_set_m_rollInfluence_1).apply(null,arguments)},Uh=t._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0=function(){return(Uh=t._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0=t.asm.emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0).apply(null,arguments)},Gh=t._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1=function(){return(Gh=t._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1=t.asm.emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1).apply(null,arguments)},Hh=t._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0=function(){return(Hh=t._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0=t.asm.emscripten_bind_btWheelInfo_get_m_wheelsRadius_0).apply(null,arguments)},Wh=t._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1=function(){return(Wh=t._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1=t.asm.emscripten_bind_btWheelInfo_set_m_wheelsRadius_1).apply(null,arguments)},Xh=t._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0=function(){return(Xh=t._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0=t.asm.emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0).apply(null,arguments)},Yh=t._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1=function(){return(Yh=t._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1=t.asm.emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1).apply(null,arguments)},Qh=t._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0=function(){return(Qh=t._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0=t.asm.emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0).apply(null,arguments)},Kh=t._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1=function(){return(Kh=t._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1=t.asm.emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1).apply(null,arguments)},Zh=t._emscripten_bind_btWheelInfo_get_m_steering_0=function(){return(Zh=t._emscripten_bind_btWheelInfo_get_m_steering_0=t.asm.emscripten_bind_btWheelInfo_get_m_steering_0).apply(null,arguments)},qh=t._emscripten_bind_btWheelInfo_set_m_steering_1=function(){return(qh=t._emscripten_bind_btWheelInfo_set_m_steering_1=t.asm.emscripten_bind_btWheelInfo_set_m_steering_1).apply(null,arguments)},Jh=t._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0=function(){return(Jh=t._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0=t.asm.emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0).apply(null,arguments)},$h=t._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1=function(){return($h=t._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1=t.asm.emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1).apply(null,arguments)},ed=t._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0=function(){return(ed=t._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0=t.asm.emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0).apply(null,arguments)},td=t._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1=function(){return(td=t._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1=t.asm.emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1).apply(null,arguments)},nd=t._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0=function(){return(nd=t._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0=t.asm.emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0).apply(null,arguments)},id=t._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1=function(){return(id=t._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1=t.asm.emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1).apply(null,arguments)},rd=t._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0=function(){return(rd=t._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0=t.asm.emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0).apply(null,arguments)},od=t._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1=function(){return(od=t._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1=t.asm.emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1).apply(null,arguments)},ad=t._emscripten_bind_btWheelInfo_get_m_raycastInfo_0=function(){return(ad=t._emscripten_bind_btWheelInfo_get_m_raycastInfo_0=t.asm.emscripten_bind_btWheelInfo_get_m_raycastInfo_0).apply(null,arguments)},sd=t._emscripten_bind_btWheelInfo_set_m_raycastInfo_1=function(){return(sd=t._emscripten_bind_btWheelInfo_set_m_raycastInfo_1=t.asm.emscripten_bind_btWheelInfo_set_m_raycastInfo_1).apply(null,arguments)},cd=t._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0=function(){return(cd=t._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0=t.asm.emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0).apply(null,arguments)},ld=t._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1=function(){return(ld=t._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1=t.asm.emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1).apply(null,arguments)},ud=t._emscripten_bind_btWheelInfo_get_m_worldTransform_0=function(){return(ud=t._emscripten_bind_btWheelInfo_get_m_worldTransform_0=t.asm.emscripten_bind_btWheelInfo_get_m_worldTransform_0).apply(null,arguments)},pd=t._emscripten_bind_btWheelInfo_set_m_worldTransform_1=function(){return(pd=t._emscripten_bind_btWheelInfo_set_m_worldTransform_1=t.asm.emscripten_bind_btWheelInfo_set_m_worldTransform_1).apply(null,arguments)},hd=t._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0=function(){return(hd=t._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0=t.asm.emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0).apply(null,arguments)},dd=t._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1=function(){return(dd=t._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1=t.asm.emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1).apply(null,arguments)},fd=t._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0=function(){return(fd=t._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0=t.asm.emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0).apply(null,arguments)},_d=t._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1=function(){return(_d=t._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1=t.asm.emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1).apply(null,arguments)},md=t._emscripten_bind_btWheelInfo_get_m_rotation_0=function(){return(md=t._emscripten_bind_btWheelInfo_get_m_rotation_0=t.asm.emscripten_bind_btWheelInfo_get_m_rotation_0).apply(null,arguments)},bd=t._emscripten_bind_btWheelInfo_set_m_rotation_1=function(){return(bd=t._emscripten_bind_btWheelInfo_set_m_rotation_1=t.asm.emscripten_bind_btWheelInfo_set_m_rotation_1).apply(null,arguments)},gd=t._emscripten_bind_btWheelInfo_get_m_deltaRotation_0=function(){return(gd=t._emscripten_bind_btWheelInfo_get_m_deltaRotation_0=t.asm.emscripten_bind_btWheelInfo_get_m_deltaRotation_0).apply(null,arguments)},vd=t._emscripten_bind_btWheelInfo_set_m_deltaRotation_1=function(){return(vd=t._emscripten_bind_btWheelInfo_set_m_deltaRotation_1=t.asm.emscripten_bind_btWheelInfo_set_m_deltaRotation_1).apply(null,arguments)},yd=t._emscripten_bind_btWheelInfo_get_m_brake_0=function(){return(yd=t._emscripten_bind_btWheelInfo_get_m_brake_0=t.asm.emscripten_bind_btWheelInfo_get_m_brake_0).apply(null,arguments)},Cd=t._emscripten_bind_btWheelInfo_set_m_brake_1=function(){return(Cd=t._emscripten_bind_btWheelInfo_set_m_brake_1=t.asm.emscripten_bind_btWheelInfo_set_m_brake_1).apply(null,arguments)},Ad=t._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0=function(){return(Ad=t._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0=t.asm.emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0).apply(null,arguments)},xd=t._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1=function(){return(xd=t._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1=t.asm.emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1).apply(null,arguments)},Sd=t._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0=function(){return(Sd=t._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0=t.asm.emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0).apply(null,arguments)},Td=t._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1=function(){return(Td=t._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1=t.asm.emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1).apply(null,arguments)},Ed=t._emscripten_bind_btWheelInfo_get_m_skidInfo_0=function(){return(Ed=t._emscripten_bind_btWheelInfo_get_m_skidInfo_0=t.asm.emscripten_bind_btWheelInfo_get_m_skidInfo_0).apply(null,arguments)},Pd=t._emscripten_bind_btWheelInfo_set_m_skidInfo_1=function(){return(Pd=t._emscripten_bind_btWheelInfo_set_m_skidInfo_1=t.asm.emscripten_bind_btWheelInfo_set_m_skidInfo_1).apply(null,arguments)},Od=t._emscripten_bind_btWheelInfo___destroy___0=function(){return(Od=t._emscripten_bind_btWheelInfo___destroy___0=t.asm.emscripten_bind_btWheelInfo___destroy___0).apply(null,arguments)},Md=t._emscripten_bind_btVector4_btVector4_0=function(){return(Md=t._emscripten_bind_btVector4_btVector4_0=t.asm.emscripten_bind_btVector4_btVector4_0).apply(null,arguments)},Rd=t._emscripten_bind_btVector4_btVector4_4=function(){return(Rd=t._emscripten_bind_btVector4_btVector4_4=t.asm.emscripten_bind_btVector4_btVector4_4).apply(null,arguments)},Id=t._emscripten_bind_btVector4_w_0=function(){return(Id=t._emscripten_bind_btVector4_w_0=t.asm.emscripten_bind_btVector4_w_0).apply(null,arguments)},wd=t._emscripten_bind_btVector4_setValue_4=function(){return(wd=t._emscripten_bind_btVector4_setValue_4=t.asm.emscripten_bind_btVector4_setValue_4).apply(null,arguments)},Dd=t._emscripten_bind_btVector4_length_0=function(){return(Dd=t._emscripten_bind_btVector4_length_0=t.asm.emscripten_bind_btVector4_length_0).apply(null,arguments)},Ld=t._emscripten_bind_btVector4_x_0=function(){return(Ld=t._emscripten_bind_btVector4_x_0=t.asm.emscripten_bind_btVector4_x_0).apply(null,arguments)},Nd=t._emscripten_bind_btVector4_y_0=function(){return(Nd=t._emscripten_bind_btVector4_y_0=t.asm.emscripten_bind_btVector4_y_0).apply(null,arguments)},Fd=t._emscripten_bind_btVector4_z_0=function(){return(Fd=t._emscripten_bind_btVector4_z_0=t.asm.emscripten_bind_btVector4_z_0).apply(null,arguments)},Bd=t._emscripten_bind_btVector4_setX_1=function(){return(Bd=t._emscripten_bind_btVector4_setX_1=t.asm.emscripten_bind_btVector4_setX_1).apply(null,arguments)},kd=t._emscripten_bind_btVector4_setY_1=function(){return(kd=t._emscripten_bind_btVector4_setY_1=t.asm.emscripten_bind_btVector4_setY_1).apply(null,arguments)},Vd=t._emscripten_bind_btVector4_setZ_1=function(){return(Vd=t._emscripten_bind_btVector4_setZ_1=t.asm.emscripten_bind_btVector4_setZ_1).apply(null,arguments)},zd=t._emscripten_bind_btVector4_normalize_0=function(){return(zd=t._emscripten_bind_btVector4_normalize_0=t.asm.emscripten_bind_btVector4_normalize_0).apply(null,arguments)},jd=t._emscripten_bind_btVector4_rotate_2=function(){return(jd=t._emscripten_bind_btVector4_rotate_2=t.asm.emscripten_bind_btVector4_rotate_2).apply(null,arguments)},Ud=t._emscripten_bind_btVector4_dot_1=function(){return(Ud=t._emscripten_bind_btVector4_dot_1=t.asm.emscripten_bind_btVector4_dot_1).apply(null,arguments)},Gd=t._emscripten_bind_btVector4_op_mul_1=function(){return(Gd=t._emscripten_bind_btVector4_op_mul_1=t.asm.emscripten_bind_btVector4_op_mul_1).apply(null,arguments)},Hd=t._emscripten_bind_btVector4_op_add_1=function(){return(Hd=t._emscripten_bind_btVector4_op_add_1=t.asm.emscripten_bind_btVector4_op_add_1).apply(null,arguments)},Wd=t._emscripten_bind_btVector4_op_sub_1=function(){return(Wd=t._emscripten_bind_btVector4_op_sub_1=t.asm.emscripten_bind_btVector4_op_sub_1).apply(null,arguments)},Xd=t._emscripten_bind_btVector4___destroy___0=function(){return(Xd=t._emscripten_bind_btVector4___destroy___0=t.asm.emscripten_bind_btVector4___destroy___0).apply(null,arguments)},Yd=t._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=function(){return(Yd=t._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=t.asm.emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0).apply(null,arguments)},Qd=t._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0=function(){return(Qd=t._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0=t.asm.emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0).apply(null,arguments)},Kd=t._emscripten_bind_Anchor_get_m_node_0=function(){return(Kd=t._emscripten_bind_Anchor_get_m_node_0=t.asm.emscripten_bind_Anchor_get_m_node_0).apply(null,arguments)},Zd=t._emscripten_bind_Anchor_set_m_node_1=function(){return(Zd=t._emscripten_bind_Anchor_set_m_node_1=t.asm.emscripten_bind_Anchor_set_m_node_1).apply(null,arguments)},qd=t._emscripten_bind_Anchor_get_m_local_0=function(){return(qd=t._emscripten_bind_Anchor_get_m_local_0=t.asm.emscripten_bind_Anchor_get_m_local_0).apply(null,arguments)},Jd=t._emscripten_bind_Anchor_set_m_local_1=function(){return(Jd=t._emscripten_bind_Anchor_set_m_local_1=t.asm.emscripten_bind_Anchor_set_m_local_1).apply(null,arguments)},$d=t._emscripten_bind_Anchor_get_m_body_0=function(){return($d=t._emscripten_bind_Anchor_get_m_body_0=t.asm.emscripten_bind_Anchor_get_m_body_0).apply(null,arguments)},ef=t._emscripten_bind_Anchor_set_m_body_1=function(){return(ef=t._emscripten_bind_Anchor_set_m_body_1=t.asm.emscripten_bind_Anchor_set_m_body_1).apply(null,arguments)},tf=t._emscripten_bind_Anchor_get_m_influence_0=function(){return(tf=t._emscripten_bind_Anchor_get_m_influence_0=t.asm.emscripten_bind_Anchor_get_m_influence_0).apply(null,arguments)},nf=t._emscripten_bind_Anchor_set_m_influence_1=function(){return(nf=t._emscripten_bind_Anchor_set_m_influence_1=t.asm.emscripten_bind_Anchor_set_m_influence_1).apply(null,arguments)},rf=t._emscripten_bind_Anchor_get_m_c0_0=function(){return(rf=t._emscripten_bind_Anchor_get_m_c0_0=t.asm.emscripten_bind_Anchor_get_m_c0_0).apply(null,arguments)},of=t._emscripten_bind_Anchor_set_m_c0_1=function(){return(of=t._emscripten_bind_Anchor_set_m_c0_1=t.asm.emscripten_bind_Anchor_set_m_c0_1).apply(null,arguments)},af=t._emscripten_bind_Anchor_get_m_c1_0=function(){return(af=t._emscripten_bind_Anchor_get_m_c1_0=t.asm.emscripten_bind_Anchor_get_m_c1_0).apply(null,arguments)},sf=t._emscripten_bind_Anchor_set_m_c1_1=function(){return(sf=t._emscripten_bind_Anchor_set_m_c1_1=t.asm.emscripten_bind_Anchor_set_m_c1_1).apply(null,arguments)},cf=t._emscripten_bind_Anchor_get_m_c2_0=function(){return(cf=t._emscripten_bind_Anchor_get_m_c2_0=t.asm.emscripten_bind_Anchor_get_m_c2_0).apply(null,arguments)},lf=t._emscripten_bind_Anchor_set_m_c2_1=function(){return(lf=t._emscripten_bind_Anchor_set_m_c2_1=t.asm.emscripten_bind_Anchor_set_m_c2_1).apply(null,arguments)},uf=t._emscripten_bind_Anchor___destroy___0=function(){return(uf=t._emscripten_bind_Anchor___destroy___0=t.asm.emscripten_bind_Anchor___destroy___0).apply(null,arguments)},pf=t._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0=function(){return(pf=t._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0=t.asm.emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0).apply(null,arguments)},hf=t._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1=function(){return(hf=t._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1=t.asm.emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1).apply(null,arguments)},df=t._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0=function(){return(df=t._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0=t.asm.emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0).apply(null,arguments)},ff=t._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1=function(){return(ff=t._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1=t.asm.emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1).apply(null,arguments)},_f=t._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0=function(){return(_f=t._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0=t.asm.emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0).apply(null,arguments)},mf=t._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1=function(){return(mf=t._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1=t.asm.emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1).apply(null,arguments)},bf=t._emscripten_bind_btVehicleRaycasterResult___destroy___0=function(){return(bf=t._emscripten_bind_btVehicleRaycasterResult___destroy___0=t.asm.emscripten_bind_btVehicleRaycasterResult___destroy___0).apply(null,arguments)},gf=t._emscripten_bind_btVector3Array_size_0=function(){return(gf=t._emscripten_bind_btVector3Array_size_0=t.asm.emscripten_bind_btVector3Array_size_0).apply(null,arguments)},vf=t._emscripten_bind_btVector3Array_at_1=function(){return(vf=t._emscripten_bind_btVector3Array_at_1=t.asm.emscripten_bind_btVector3Array_at_1).apply(null,arguments)},yf=t._emscripten_bind_btVector3Array___destroy___0=function(){return(yf=t._emscripten_bind_btVector3Array___destroy___0=t.asm.emscripten_bind_btVector3Array___destroy___0).apply(null,arguments)},Cf=t._emscripten_bind_btConstraintSolver___destroy___0=function(){return(Cf=t._emscripten_bind_btConstraintSolver___destroy___0=t.asm.emscripten_bind_btConstraintSolver___destroy___0).apply(null,arguments)},Af=t._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3=function(){return(Af=t._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3=t.asm.emscripten_bind_btRaycastVehicle_btRaycastVehicle_3).apply(null,arguments)},xf=t._emscripten_bind_btRaycastVehicle_applyEngineForce_2=function(){return(xf=t._emscripten_bind_btRaycastVehicle_applyEngineForce_2=t.asm.emscripten_bind_btRaycastVehicle_applyEngineForce_2).apply(null,arguments)},Sf=t._emscripten_bind_btRaycastVehicle_setSteeringValue_2=function(){return(Sf=t._emscripten_bind_btRaycastVehicle_setSteeringValue_2=t.asm.emscripten_bind_btRaycastVehicle_setSteeringValue_2).apply(null,arguments)},Tf=t._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=function(){return(Tf=t._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=t.asm.emscripten_bind_btRaycastVehicle_getWheelTransformWS_1).apply(null,arguments)},Ef=t._emscripten_bind_btRaycastVehicle_updateWheelTransform_2=function(){return(Ef=t._emscripten_bind_btRaycastVehicle_updateWheelTransform_2=t.asm.emscripten_bind_btRaycastVehicle_updateWheelTransform_2).apply(null,arguments)},Pf=t._emscripten_bind_btRaycastVehicle_addWheel_7=function(){return(Pf=t._emscripten_bind_btRaycastVehicle_addWheel_7=t.asm.emscripten_bind_btRaycastVehicle_addWheel_7).apply(null,arguments)},Of=t._emscripten_bind_btRaycastVehicle_getNumWheels_0=function(){return(Of=t._emscripten_bind_btRaycastVehicle_getNumWheels_0=t.asm.emscripten_bind_btRaycastVehicle_getNumWheels_0).apply(null,arguments)},Mf=t._emscripten_bind_btRaycastVehicle_getRigidBody_0=function(){return(Mf=t._emscripten_bind_btRaycastVehicle_getRigidBody_0=t.asm.emscripten_bind_btRaycastVehicle_getRigidBody_0).apply(null,arguments)},Rf=t._emscripten_bind_btRaycastVehicle_getWheelInfo_1=function(){return(Rf=t._emscripten_bind_btRaycastVehicle_getWheelInfo_1=t.asm.emscripten_bind_btRaycastVehicle_getWheelInfo_1).apply(null,arguments)},If=t._emscripten_bind_btRaycastVehicle_setBrake_2=function(){return(If=t._emscripten_bind_btRaycastVehicle_setBrake_2=t.asm.emscripten_bind_btRaycastVehicle_setBrake_2).apply(null,arguments)},wf=t._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3=function(){return(wf=t._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3=t.asm.emscripten_bind_btRaycastVehicle_setCoordinateSystem_3).apply(null,arguments)},Df=t._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0=function(){return(Df=t._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0=t.asm.emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0).apply(null,arguments)},Lf=t._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0=function(){return(Lf=t._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0=t.asm.emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0).apply(null,arguments)},Nf=t._emscripten_bind_btRaycastVehicle_rayCast_1=function(){return(Nf=t._emscripten_bind_btRaycastVehicle_rayCast_1=t.asm.emscripten_bind_btRaycastVehicle_rayCast_1).apply(null,arguments)},Ff=t._emscripten_bind_btRaycastVehicle_updateVehicle_1=function(){return(Ff=t._emscripten_bind_btRaycastVehicle_updateVehicle_1=t.asm.emscripten_bind_btRaycastVehicle_updateVehicle_1).apply(null,arguments)},Bf=t._emscripten_bind_btRaycastVehicle_resetSuspension_0=function(){return(Bf=t._emscripten_bind_btRaycastVehicle_resetSuspension_0=t.asm.emscripten_bind_btRaycastVehicle_resetSuspension_0).apply(null,arguments)},kf=t._emscripten_bind_btRaycastVehicle_getSteeringValue_1=function(){return(kf=t._emscripten_bind_btRaycastVehicle_getSteeringValue_1=t.asm.emscripten_bind_btRaycastVehicle_getSteeringValue_1).apply(null,arguments)},Vf=t._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1=function(){return(Vf=t._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1=t.asm.emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1).apply(null,arguments)},zf=t._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2=function(){return(zf=t._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2=t.asm.emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2).apply(null,arguments)},jf=t._emscripten_bind_btRaycastVehicle_setPitchControl_1=function(){return(jf=t._emscripten_bind_btRaycastVehicle_setPitchControl_1=t.asm.emscripten_bind_btRaycastVehicle_setPitchControl_1).apply(null,arguments)},Uf=t._emscripten_bind_btRaycastVehicle_updateSuspension_1=function(){return(Uf=t._emscripten_bind_btRaycastVehicle_updateSuspension_1=t.asm.emscripten_bind_btRaycastVehicle_updateSuspension_1).apply(null,arguments)},Gf=t._emscripten_bind_btRaycastVehicle_updateFriction_1=function(){return(Gf=t._emscripten_bind_btRaycastVehicle_updateFriction_1=t.asm.emscripten_bind_btRaycastVehicle_updateFriction_1).apply(null,arguments)},Hf=t._emscripten_bind_btRaycastVehicle_getRightAxis_0=function(){return(Hf=t._emscripten_bind_btRaycastVehicle_getRightAxis_0=t.asm.emscripten_bind_btRaycastVehicle_getRightAxis_0).apply(null,arguments)},Wf=t._emscripten_bind_btRaycastVehicle_getUpAxis_0=function(){return(Wf=t._emscripten_bind_btRaycastVehicle_getUpAxis_0=t.asm.emscripten_bind_btRaycastVehicle_getUpAxis_0).apply(null,arguments)},Xf=t._emscripten_bind_btRaycastVehicle_getForwardAxis_0=function(){return(Xf=t._emscripten_bind_btRaycastVehicle_getForwardAxis_0=t.asm.emscripten_bind_btRaycastVehicle_getForwardAxis_0).apply(null,arguments)},Yf=t._emscripten_bind_btRaycastVehicle_getForwardVector_0=function(){return(Yf=t._emscripten_bind_btRaycastVehicle_getForwardVector_0=t.asm.emscripten_bind_btRaycastVehicle_getForwardVector_0).apply(null,arguments)},Qf=t._emscripten_bind_btRaycastVehicle_getUserConstraintType_0=function(){return(Qf=t._emscripten_bind_btRaycastVehicle_getUserConstraintType_0=t.asm.emscripten_bind_btRaycastVehicle_getUserConstraintType_0).apply(null,arguments)},Kf=t._emscripten_bind_btRaycastVehicle_setUserConstraintType_1=function(){return(Kf=t._emscripten_bind_btRaycastVehicle_setUserConstraintType_1=t.asm.emscripten_bind_btRaycastVehicle_setUserConstraintType_1).apply(null,arguments)},Zf=t._emscripten_bind_btRaycastVehicle_setUserConstraintId_1=function(){return(Zf=t._emscripten_bind_btRaycastVehicle_setUserConstraintId_1=t.asm.emscripten_bind_btRaycastVehicle_setUserConstraintId_1).apply(null,arguments)},qf=t._emscripten_bind_btRaycastVehicle_getUserConstraintId_0=function(){return(qf=t._emscripten_bind_btRaycastVehicle_getUserConstraintId_0=t.asm.emscripten_bind_btRaycastVehicle_getUserConstraintId_0).apply(null,arguments)},Jf=t._emscripten_bind_btRaycastVehicle_updateAction_2=function(){return(Jf=t._emscripten_bind_btRaycastVehicle_updateAction_2=t.asm.emscripten_bind_btRaycastVehicle_updateAction_2).apply(null,arguments)},$f=t._emscripten_bind_btRaycastVehicle___destroy___0=function(){return($f=t._emscripten_bind_btRaycastVehicle___destroy___0=t.asm.emscripten_bind_btRaycastVehicle___destroy___0).apply(null,arguments)},e_=t._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1=function(){return(e_=t._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1=t.asm.emscripten_bind_btCylinderShapeX_btCylinderShapeX_1).apply(null,arguments)},t_=t._emscripten_bind_btCylinderShapeX_setMargin_1=function(){return(t_=t._emscripten_bind_btCylinderShapeX_setMargin_1=t.asm.emscripten_bind_btCylinderShapeX_setMargin_1).apply(null,arguments)},n_=t._emscripten_bind_btCylinderShapeX_getMargin_0=function(){return(n_=t._emscripten_bind_btCylinderShapeX_getMargin_0=t.asm.emscripten_bind_btCylinderShapeX_getMargin_0).apply(null,arguments)},i_=t._emscripten_bind_btCylinderShapeX_setLocalScaling_1=function(){return(i_=t._emscripten_bind_btCylinderShapeX_setLocalScaling_1=t.asm.emscripten_bind_btCylinderShapeX_setLocalScaling_1).apply(null,arguments)},r_=t._emscripten_bind_btCylinderShapeX_getLocalScaling_0=function(){return(r_=t._emscripten_bind_btCylinderShapeX_getLocalScaling_0=t.asm.emscripten_bind_btCylinderShapeX_getLocalScaling_0).apply(null,arguments)},o_=t._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2=function(){return(o_=t._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2=t.asm.emscripten_bind_btCylinderShapeX_calculateLocalInertia_2).apply(null,arguments)},a_=t._emscripten_bind_btCylinderShapeX___destroy___0=function(){return(a_=t._emscripten_bind_btCylinderShapeX___destroy___0=t.asm.emscripten_bind_btCylinderShapeX___destroy___0).apply(null,arguments)},s_=t._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1=function(){return(s_=t._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1=t.asm.emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1).apply(null,arguments)},c_=t._emscripten_bind_btCylinderShapeZ_setMargin_1=function(){return(c_=t._emscripten_bind_btCylinderShapeZ_setMargin_1=t.asm.emscripten_bind_btCylinderShapeZ_setMargin_1).apply(null,arguments)},l_=t._emscripten_bind_btCylinderShapeZ_getMargin_0=function(){return(l_=t._emscripten_bind_btCylinderShapeZ_getMargin_0=t.asm.emscripten_bind_btCylinderShapeZ_getMargin_0).apply(null,arguments)},u_=t._emscripten_bind_btCylinderShapeZ_setLocalScaling_1=function(){return(u_=t._emscripten_bind_btCylinderShapeZ_setLocalScaling_1=t.asm.emscripten_bind_btCylinderShapeZ_setLocalScaling_1).apply(null,arguments)},p_=t._emscripten_bind_btCylinderShapeZ_getLocalScaling_0=function(){return(p_=t._emscripten_bind_btCylinderShapeZ_getLocalScaling_0=t.asm.emscripten_bind_btCylinderShapeZ_getLocalScaling_0).apply(null,arguments)},h_=t._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2=function(){return(h_=t._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2=t.asm.emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2).apply(null,arguments)},d_=t._emscripten_bind_btCylinderShapeZ___destroy___0=function(){return(d_=t._emscripten_bind_btCylinderShapeZ___destroy___0=t.asm.emscripten_bind_btCylinderShapeZ___destroy___0).apply(null,arguments)},f_=t._emscripten_bind_btConvexPolyhedron_get_m_vertices_0=function(){return(f_=t._emscripten_bind_btConvexPolyhedron_get_m_vertices_0=t.asm.emscripten_bind_btConvexPolyhedron_get_m_vertices_0).apply(null,arguments)},__=t._emscripten_bind_btConvexPolyhedron_set_m_vertices_1=function(){return(__=t._emscripten_bind_btConvexPolyhedron_set_m_vertices_1=t.asm.emscripten_bind_btConvexPolyhedron_set_m_vertices_1).apply(null,arguments)},m_=t._emscripten_bind_btConvexPolyhedron_get_m_faces_0=function(){return(m_=t._emscripten_bind_btConvexPolyhedron_get_m_faces_0=t.asm.emscripten_bind_btConvexPolyhedron_get_m_faces_0).apply(null,arguments)},b_=t._emscripten_bind_btConvexPolyhedron_set_m_faces_1=function(){return(b_=t._emscripten_bind_btConvexPolyhedron_set_m_faces_1=t.asm.emscripten_bind_btConvexPolyhedron_set_m_faces_1).apply(null,arguments)},g_=t._emscripten_bind_btConvexPolyhedron___destroy___0=function(){return(g_=t._emscripten_bind_btConvexPolyhedron___destroy___0=t.asm.emscripten_bind_btConvexPolyhedron___destroy___0).apply(null,arguments)},v_=t._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0=function(){return(v_=t._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0=t.asm.emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0).apply(null,arguments)},y_=t._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0=function(){return(y_=t._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0=t.asm.emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0).apply(null,arguments)},C_=t._emscripten_bind_tAnchorArray_size_0=function(){return(C_=t._emscripten_bind_tAnchorArray_size_0=t.asm.emscripten_bind_tAnchorArray_size_0).apply(null,arguments)},A_=t._emscripten_bind_tAnchorArray_at_1=function(){return(A_=t._emscripten_bind_tAnchorArray_at_1=t.asm.emscripten_bind_tAnchorArray_at_1).apply(null,arguments)},x_=t._emscripten_bind_tAnchorArray_clear_0=function(){return(x_=t._emscripten_bind_tAnchorArray_clear_0=t.asm.emscripten_bind_tAnchorArray_clear_0).apply(null,arguments)},S_=t._emscripten_bind_tAnchorArray_push_back_1=function(){return(S_=t._emscripten_bind_tAnchorArray_push_back_1=t.asm.emscripten_bind_tAnchorArray_push_back_1).apply(null,arguments)},T_=t._emscripten_bind_tAnchorArray_pop_back_0=function(){return(T_=t._emscripten_bind_tAnchorArray_pop_back_0=t.asm.emscripten_bind_tAnchorArray_pop_back_0).apply(null,arguments)},E_=t._emscripten_bind_tAnchorArray___destroy___0=function(){return(E_=t._emscripten_bind_tAnchorArray___destroy___0=t.asm.emscripten_bind_tAnchorArray___destroy___0).apply(null,arguments)},P_=t._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0=function(){return(P_=t._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0=t.asm.emscripten_bind_RaycastInfo_get_m_contactNormalWS_0).apply(null,arguments)},O_=t._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1=function(){return(O_=t._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1=t.asm.emscripten_bind_RaycastInfo_set_m_contactNormalWS_1).apply(null,arguments)},M_=t._emscripten_bind_RaycastInfo_get_m_contactPointWS_0=function(){return(M_=t._emscripten_bind_RaycastInfo_get_m_contactPointWS_0=t.asm.emscripten_bind_RaycastInfo_get_m_contactPointWS_0).apply(null,arguments)},R_=t._emscripten_bind_RaycastInfo_set_m_contactPointWS_1=function(){return(R_=t._emscripten_bind_RaycastInfo_set_m_contactPointWS_1=t.asm.emscripten_bind_RaycastInfo_set_m_contactPointWS_1).apply(null,arguments)},I_=t._emscripten_bind_RaycastInfo_get_m_suspensionLength_0=function(){return(I_=t._emscripten_bind_RaycastInfo_get_m_suspensionLength_0=t.asm.emscripten_bind_RaycastInfo_get_m_suspensionLength_0).apply(null,arguments)},w_=t._emscripten_bind_RaycastInfo_set_m_suspensionLength_1=function(){return(w_=t._emscripten_bind_RaycastInfo_set_m_suspensionLength_1=t.asm.emscripten_bind_RaycastInfo_set_m_suspensionLength_1).apply(null,arguments)},D_=t._emscripten_bind_RaycastInfo_get_m_hardPointWS_0=function(){return(D_=t._emscripten_bind_RaycastInfo_get_m_hardPointWS_0=t.asm.emscripten_bind_RaycastInfo_get_m_hardPointWS_0).apply(null,arguments)},L_=t._emscripten_bind_RaycastInfo_set_m_hardPointWS_1=function(){return(L_=t._emscripten_bind_RaycastInfo_set_m_hardPointWS_1=t.asm.emscripten_bind_RaycastInfo_set_m_hardPointWS_1).apply(null,arguments)},N_=t._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0=function(){return(N_=t._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0=t.asm.emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0).apply(null,arguments)},F_=t._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1=function(){return(F_=t._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1=t.asm.emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1).apply(null,arguments)},B_=t._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0=function(){return(B_=t._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0=t.asm.emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0).apply(null,arguments)},k_=t._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1=function(){return(k_=t._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1=t.asm.emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1).apply(null,arguments)},V_=t._emscripten_bind_RaycastInfo_get_m_isInContact_0=function(){return(V_=t._emscripten_bind_RaycastInfo_get_m_isInContact_0=t.asm.emscripten_bind_RaycastInfo_get_m_isInContact_0).apply(null,arguments)},z_=t._emscripten_bind_RaycastInfo_set_m_isInContact_1=function(){return(z_=t._emscripten_bind_RaycastInfo_set_m_isInContact_1=t.asm.emscripten_bind_RaycastInfo_set_m_isInContact_1).apply(null,arguments)},j_=t._emscripten_bind_RaycastInfo_get_m_groundObject_0=function(){return(j_=t._emscripten_bind_RaycastInfo_get_m_groundObject_0=t.asm.emscripten_bind_RaycastInfo_get_m_groundObject_0).apply(null,arguments)},U_=t._emscripten_bind_RaycastInfo_set_m_groundObject_1=function(){return(U_=t._emscripten_bind_RaycastInfo_set_m_groundObject_1=t.asm.emscripten_bind_RaycastInfo_set_m_groundObject_1).apply(null,arguments)},G_=t._emscripten_bind_RaycastInfo___destroy___0=function(){return(G_=t._emscripten_bind_RaycastInfo___destroy___0=t.asm.emscripten_bind_RaycastInfo___destroy___0).apply(null,arguments)},H_=t._emscripten_bind_btMultiSphereShape_btMultiSphereShape_3=function(){return(H_=t._emscripten_bind_btMultiSphereShape_btMultiSphereShape_3=t.asm.emscripten_bind_btMultiSphereShape_btMultiSphereShape_3).apply(null,arguments)},W_=t._emscripten_bind_btMultiSphereShape_setLocalScaling_1=function(){return(W_=t._emscripten_bind_btMultiSphereShape_setLocalScaling_1=t.asm.emscripten_bind_btMultiSphereShape_setLocalScaling_1).apply(null,arguments)},X_=t._emscripten_bind_btMultiSphereShape_getLocalScaling_0=function(){return(X_=t._emscripten_bind_btMultiSphereShape_getLocalScaling_0=t.asm.emscripten_bind_btMultiSphereShape_getLocalScaling_0).apply(null,arguments)},Y_=t._emscripten_bind_btMultiSphereShape_calculateLocalInertia_2=function(){return(Y_=t._emscripten_bind_btMultiSphereShape_calculateLocalInertia_2=t.asm.emscripten_bind_btMultiSphereShape_calculateLocalInertia_2).apply(null,arguments)},Q_=t._emscripten_bind_btMultiSphereShape___destroy___0=function(){return(Q_=t._emscripten_bind_btMultiSphereShape___destroy___0=t.asm.emscripten_bind_btMultiSphereShape___destroy___0).apply(null,arguments)},K_=t._emscripten_bind_btSoftBody_btSoftBody_4=function(){return(K_=t._emscripten_bind_btSoftBody_btSoftBody_4=t.asm.emscripten_bind_btSoftBody_btSoftBody_4).apply(null,arguments)},Z_=t._emscripten_bind_btSoftBody_checkLink_2=function(){return(Z_=t._emscripten_bind_btSoftBody_checkLink_2=t.asm.emscripten_bind_btSoftBody_checkLink_2).apply(null,arguments)},q_=t._emscripten_bind_btSoftBody_checkFace_3=function(){return(q_=t._emscripten_bind_btSoftBody_checkFace_3=t.asm.emscripten_bind_btSoftBody_checkFace_3).apply(null,arguments)},J_=t._emscripten_bind_btSoftBody_appendMaterial_0=function(){return(J_=t._emscripten_bind_btSoftBody_appendMaterial_0=t.asm.emscripten_bind_btSoftBody_appendMaterial_0).apply(null,arguments)},$_=t._emscripten_bind_btSoftBody_appendNode_2=function(){return($_=t._emscripten_bind_btSoftBody_appendNode_2=t.asm.emscripten_bind_btSoftBody_appendNode_2).apply(null,arguments)},em=t._emscripten_bind_btSoftBody_appendLink_4=function(){return(em=t._emscripten_bind_btSoftBody_appendLink_4=t.asm.emscripten_bind_btSoftBody_appendLink_4).apply(null,arguments)},tm=t._emscripten_bind_btSoftBody_appendFace_4=function(){return(tm=t._emscripten_bind_btSoftBody_appendFace_4=t.asm.emscripten_bind_btSoftBody_appendFace_4).apply(null,arguments)},nm=t._emscripten_bind_btSoftBody_appendTetra_5=function(){return(nm=t._emscripten_bind_btSoftBody_appendTetra_5=t.asm.emscripten_bind_btSoftBody_appendTetra_5).apply(null,arguments)},im=t._emscripten_bind_btSoftBody_appendAnchor_4=function(){return(im=t._emscripten_bind_btSoftBody_appendAnchor_4=t.asm.emscripten_bind_btSoftBody_appendAnchor_4).apply(null,arguments)},rm=t._emscripten_bind_btSoftBody_addForce_1=function(){return(rm=t._emscripten_bind_btSoftBody_addForce_1=t.asm.emscripten_bind_btSoftBody_addForce_1).apply(null,arguments)},om=t._emscripten_bind_btSoftBody_addForce_2=function(){return(om=t._emscripten_bind_btSoftBody_addForce_2=t.asm.emscripten_bind_btSoftBody_addForce_2).apply(null,arguments)},am=t._emscripten_bind_btSoftBody_addAeroForceToNode_2=function(){return(am=t._emscripten_bind_btSoftBody_addAeroForceToNode_2=t.asm.emscripten_bind_btSoftBody_addAeroForceToNode_2).apply(null,arguments)},sm=t._emscripten_bind_btSoftBody_getTotalMass_0=function(){return(sm=t._emscripten_bind_btSoftBody_getTotalMass_0=t.asm.emscripten_bind_btSoftBody_getTotalMass_0).apply(null,arguments)},cm=t._emscripten_bind_btSoftBody_setTotalMass_2=function(){return(cm=t._emscripten_bind_btSoftBody_setTotalMass_2=t.asm.emscripten_bind_btSoftBody_setTotalMass_2).apply(null,arguments)},lm=t._emscripten_bind_btSoftBody_setMass_2=function(){return(lm=t._emscripten_bind_btSoftBody_setMass_2=t.asm.emscripten_bind_btSoftBody_setMass_2).apply(null,arguments)},um=t._emscripten_bind_btSoftBody_transform_1=function(){return(um=t._emscripten_bind_btSoftBody_transform_1=t.asm.emscripten_bind_btSoftBody_transform_1).apply(null,arguments)},pm=t._emscripten_bind_btSoftBody_translate_1=function(){return(pm=t._emscripten_bind_btSoftBody_translate_1=t.asm.emscripten_bind_btSoftBody_translate_1).apply(null,arguments)},hm=t._emscripten_bind_btSoftBody_rotate_1=function(){return(hm=t._emscripten_bind_btSoftBody_rotate_1=t.asm.emscripten_bind_btSoftBody_rotate_1).apply(null,arguments)},dm=t._emscripten_bind_btSoftBody_scale_1=function(){return(dm=t._emscripten_bind_btSoftBody_scale_1=t.asm.emscripten_bind_btSoftBody_scale_1).apply(null,arguments)},fm=t._emscripten_bind_btSoftBody_generateClusters_1=function(){return(fm=t._emscripten_bind_btSoftBody_generateClusters_1=t.asm.emscripten_bind_btSoftBody_generateClusters_1).apply(null,arguments)},_m=t._emscripten_bind_btSoftBody_generateClusters_2=function(){return(_m=t._emscripten_bind_btSoftBody_generateClusters_2=t.asm.emscripten_bind_btSoftBody_generateClusters_2).apply(null,arguments)},mm=t._emscripten_bind_btSoftBody_generateBendingConstraints_2=function(){return(mm=t._emscripten_bind_btSoftBody_generateBendingConstraints_2=t.asm.emscripten_bind_btSoftBody_generateBendingConstraints_2).apply(null,arguments)},bm=t._emscripten_bind_btSoftBody_upcast_1=function(){return(bm=t._emscripten_bind_btSoftBody_upcast_1=t.asm.emscripten_bind_btSoftBody_upcast_1).apply(null,arguments)},gm=t._emscripten_bind_btSoftBody_setAnisotropicFriction_2=function(){return(gm=t._emscripten_bind_btSoftBody_setAnisotropicFriction_2=t.asm.emscripten_bind_btSoftBody_setAnisotropicFriction_2).apply(null,arguments)},vm=t._emscripten_bind_btSoftBody_getCollisionShape_0=function(){return(vm=t._emscripten_bind_btSoftBody_getCollisionShape_0=t.asm.emscripten_bind_btSoftBody_getCollisionShape_0).apply(null,arguments)},ym=t._emscripten_bind_btSoftBody_setContactProcessingThreshold_1=function(){return(ym=t._emscripten_bind_btSoftBody_setContactProcessingThreshold_1=t.asm.emscripten_bind_btSoftBody_setContactProcessingThreshold_1).apply(null,arguments)},Cm=t._emscripten_bind_btSoftBody_setActivationState_1=function(){return(Cm=t._emscripten_bind_btSoftBody_setActivationState_1=t.asm.emscripten_bind_btSoftBody_setActivationState_1).apply(null,arguments)},Am=t._emscripten_bind_btSoftBody_forceActivationState_1=function(){return(Am=t._emscripten_bind_btSoftBody_forceActivationState_1=t.asm.emscripten_bind_btSoftBody_forceActivationState_1).apply(null,arguments)},xm=t._emscripten_bind_btSoftBody_activate_0=function(){return(xm=t._emscripten_bind_btSoftBody_activate_0=t.asm.emscripten_bind_btSoftBody_activate_0).apply(null,arguments)},Sm=t._emscripten_bind_btSoftBody_activate_1=function(){return(Sm=t._emscripten_bind_btSoftBody_activate_1=t.asm.emscripten_bind_btSoftBody_activate_1).apply(null,arguments)},Tm=t._emscripten_bind_btSoftBody_isActive_0=function(){return(Tm=t._emscripten_bind_btSoftBody_isActive_0=t.asm.emscripten_bind_btSoftBody_isActive_0).apply(null,arguments)},Em=t._emscripten_bind_btSoftBody_isKinematicObject_0=function(){return(Em=t._emscripten_bind_btSoftBody_isKinematicObject_0=t.asm.emscripten_bind_btSoftBody_isKinematicObject_0).apply(null,arguments)},Pm=t._emscripten_bind_btSoftBody_isStaticObject_0=function(){return(Pm=t._emscripten_bind_btSoftBody_isStaticObject_0=t.asm.emscripten_bind_btSoftBody_isStaticObject_0).apply(null,arguments)},Om=t._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0=function(){return(Om=t._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0=t.asm.emscripten_bind_btSoftBody_isStaticOrKinematicObject_0).apply(null,arguments)},Mm=t._emscripten_bind_btSoftBody_getRestitution_0=function(){return(Mm=t._emscripten_bind_btSoftBody_getRestitution_0=t.asm.emscripten_bind_btSoftBody_getRestitution_0).apply(null,arguments)},Rm=t._emscripten_bind_btSoftBody_getFriction_0=function(){return(Rm=t._emscripten_bind_btSoftBody_getFriction_0=t.asm.emscripten_bind_btSoftBody_getFriction_0).apply(null,arguments)},Im=t._emscripten_bind_btSoftBody_getRollingFriction_0=function(){return(Im=t._emscripten_bind_btSoftBody_getRollingFriction_0=t.asm.emscripten_bind_btSoftBody_getRollingFriction_0).apply(null,arguments)},wm=t._emscripten_bind_btSoftBody_setRestitution_1=function(){return(wm=t._emscripten_bind_btSoftBody_setRestitution_1=t.asm.emscripten_bind_btSoftBody_setRestitution_1).apply(null,arguments)},Dm=t._emscripten_bind_btSoftBody_setFriction_1=function(){return(Dm=t._emscripten_bind_btSoftBody_setFriction_1=t.asm.emscripten_bind_btSoftBody_setFriction_1).apply(null,arguments)},Lm=t._emscripten_bind_btSoftBody_setRollingFriction_1=function(){return(Lm=t._emscripten_bind_btSoftBody_setRollingFriction_1=t.asm.emscripten_bind_btSoftBody_setRollingFriction_1).apply(null,arguments)},Nm=t._emscripten_bind_btSoftBody_getWorldTransform_0=function(){return(Nm=t._emscripten_bind_btSoftBody_getWorldTransform_0=t.asm.emscripten_bind_btSoftBody_getWorldTransform_0).apply(null,arguments)},Fm=t._emscripten_bind_btSoftBody_getCollisionFlags_0=function(){return(Fm=t._emscripten_bind_btSoftBody_getCollisionFlags_0=t.asm.emscripten_bind_btSoftBody_getCollisionFlags_0).apply(null,arguments)},Bm=t._emscripten_bind_btSoftBody_setCollisionFlags_1=function(){return(Bm=t._emscripten_bind_btSoftBody_setCollisionFlags_1=t.asm.emscripten_bind_btSoftBody_setCollisionFlags_1).apply(null,arguments)},km=t._emscripten_bind_btSoftBody_setWorldTransform_1=function(){return(km=t._emscripten_bind_btSoftBody_setWorldTransform_1=t.asm.emscripten_bind_btSoftBody_setWorldTransform_1).apply(null,arguments)},Vm=t._emscripten_bind_btSoftBody_setCollisionShape_1=function(){return(Vm=t._emscripten_bind_btSoftBody_setCollisionShape_1=t.asm.emscripten_bind_btSoftBody_setCollisionShape_1).apply(null,arguments)},zm=t._emscripten_bind_btSoftBody_setCcdMotionThreshold_1=function(){return(zm=t._emscripten_bind_btSoftBody_setCcdMotionThreshold_1=t.asm.emscripten_bind_btSoftBody_setCcdMotionThreshold_1).apply(null,arguments)},jm=t._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1=function(){return(jm=t._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1=t.asm.emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1).apply(null,arguments)},Um=t._emscripten_bind_btSoftBody_getUserIndex_0=function(){return(Um=t._emscripten_bind_btSoftBody_getUserIndex_0=t.asm.emscripten_bind_btSoftBody_getUserIndex_0).apply(null,arguments)},Gm=t._emscripten_bind_btSoftBody_setUserIndex_1=function(){return(Gm=t._emscripten_bind_btSoftBody_setUserIndex_1=t.asm.emscripten_bind_btSoftBody_setUserIndex_1).apply(null,arguments)},Hm=t._emscripten_bind_btSoftBody_getUserPointer_0=function(){return(Hm=t._emscripten_bind_btSoftBody_getUserPointer_0=t.asm.emscripten_bind_btSoftBody_getUserPointer_0).apply(null,arguments)},Wm=t._emscripten_bind_btSoftBody_setUserPointer_1=function(){return(Wm=t._emscripten_bind_btSoftBody_setUserPointer_1=t.asm.emscripten_bind_btSoftBody_setUserPointer_1).apply(null,arguments)},Xm=t._emscripten_bind_btSoftBody_getBroadphaseHandle_0=function(){return(Xm=t._emscripten_bind_btSoftBody_getBroadphaseHandle_0=t.asm.emscripten_bind_btSoftBody_getBroadphaseHandle_0).apply(null,arguments)},Ym=t._emscripten_bind_btSoftBody_get_m_cfg_0=function(){return(Ym=t._emscripten_bind_btSoftBody_get_m_cfg_0=t.asm.emscripten_bind_btSoftBody_get_m_cfg_0).apply(null,arguments)},Qm=t._emscripten_bind_btSoftBody_set_m_cfg_1=function(){return(Qm=t._emscripten_bind_btSoftBody_set_m_cfg_1=t.asm.emscripten_bind_btSoftBody_set_m_cfg_1).apply(null,arguments)},Km=t._emscripten_bind_btSoftBody_get_m_nodes_0=function(){return(Km=t._emscripten_bind_btSoftBody_get_m_nodes_0=t.asm.emscripten_bind_btSoftBody_get_m_nodes_0).apply(null,arguments)},Zm=t._emscripten_bind_btSoftBody_set_m_nodes_1=function(){return(Zm=t._emscripten_bind_btSoftBody_set_m_nodes_1=t.asm.emscripten_bind_btSoftBody_set_m_nodes_1).apply(null,arguments)},qm=t._emscripten_bind_btSoftBody_get_m_faces_0=function(){return(qm=t._emscripten_bind_btSoftBody_get_m_faces_0=t.asm.emscripten_bind_btSoftBody_get_m_faces_0).apply(null,arguments)},Jm=t._emscripten_bind_btSoftBody_set_m_faces_1=function(){return(Jm=t._emscripten_bind_btSoftBody_set_m_faces_1=t.asm.emscripten_bind_btSoftBody_set_m_faces_1).apply(null,arguments)},$m=t._emscripten_bind_btSoftBody_get_m_materials_0=function(){return($m=t._emscripten_bind_btSoftBody_get_m_materials_0=t.asm.emscripten_bind_btSoftBody_get_m_materials_0).apply(null,arguments)},eb=t._emscripten_bind_btSoftBody_set_m_materials_1=function(){return(eb=t._emscripten_bind_btSoftBody_set_m_materials_1=t.asm.emscripten_bind_btSoftBody_set_m_materials_1).apply(null,arguments)},tb=t._emscripten_bind_btSoftBody_get_m_anchors_0=function(){return(tb=t._emscripten_bind_btSoftBody_get_m_anchors_0=t.asm.emscripten_bind_btSoftBody_get_m_anchors_0).apply(null,arguments)},nb=t._emscripten_bind_btSoftBody_set_m_anchors_1=function(){return(nb=t._emscripten_bind_btSoftBody_set_m_anchors_1=t.asm.emscripten_bind_btSoftBody_set_m_anchors_1).apply(null,arguments)},ib=t._emscripten_bind_btSoftBody___destroy___0=function(){return(ib=t._emscripten_bind_btSoftBody___destroy___0=t.asm.emscripten_bind_btSoftBody___destroy___0).apply(null,arguments)},rb=t._emscripten_bind_btIntArray_size_0=function(){return(rb=t._emscripten_bind_btIntArray_size_0=t.asm.emscripten_bind_btIntArray_size_0).apply(null,arguments)},ob=t._emscripten_bind_btIntArray_at_1=function(){return(ob=t._emscripten_bind_btIntArray_at_1=t.asm.emscripten_bind_btIntArray_at_1).apply(null,arguments)},ab=t._emscripten_bind_btIntArray___destroy___0=function(){return(ab=t._emscripten_bind_btIntArray___destroy___0=t.asm.emscripten_bind_btIntArray___destroy___0).apply(null,arguments)},sb=t._emscripten_bind_Config_get_kVCF_0=function(){return(sb=t._emscripten_bind_Config_get_kVCF_0=t.asm.emscripten_bind_Config_get_kVCF_0).apply(null,arguments)},cb=t._emscripten_bind_Config_set_kVCF_1=function(){return(cb=t._emscripten_bind_Config_set_kVCF_1=t.asm.emscripten_bind_Config_set_kVCF_1).apply(null,arguments)},lb=t._emscripten_bind_Config_get_kDP_0=function(){return(lb=t._emscripten_bind_Config_get_kDP_0=t.asm.emscripten_bind_Config_get_kDP_0).apply(null,arguments)},ub=t._emscripten_bind_Config_set_kDP_1=function(){return(ub=t._emscripten_bind_Config_set_kDP_1=t.asm.emscripten_bind_Config_set_kDP_1).apply(null,arguments)},pb=t._emscripten_bind_Config_get_kDG_0=function(){return(pb=t._emscripten_bind_Config_get_kDG_0=t.asm.emscripten_bind_Config_get_kDG_0).apply(null,arguments)},hb=t._emscripten_bind_Config_set_kDG_1=function(){return(hb=t._emscripten_bind_Config_set_kDG_1=t.asm.emscripten_bind_Config_set_kDG_1).apply(null,arguments)},db=t._emscripten_bind_Config_get_kLF_0=function(){return(db=t._emscripten_bind_Config_get_kLF_0=t.asm.emscripten_bind_Config_get_kLF_0).apply(null,arguments)},fb=t._emscripten_bind_Config_set_kLF_1=function(){return(fb=t._emscripten_bind_Config_set_kLF_1=t.asm.emscripten_bind_Config_set_kLF_1).apply(null,arguments)},_b=t._emscripten_bind_Config_get_kPR_0=function(){return(_b=t._emscripten_bind_Config_get_kPR_0=t.asm.emscripten_bind_Config_get_kPR_0).apply(null,arguments)},mb=t._emscripten_bind_Config_set_kPR_1=function(){return(mb=t._emscripten_bind_Config_set_kPR_1=t.asm.emscripten_bind_Config_set_kPR_1).apply(null,arguments)},bb=t._emscripten_bind_Config_get_kVC_0=function(){return(bb=t._emscripten_bind_Config_get_kVC_0=t.asm.emscripten_bind_Config_get_kVC_0).apply(null,arguments)},gb=t._emscripten_bind_Config_set_kVC_1=function(){return(gb=t._emscripten_bind_Config_set_kVC_1=t.asm.emscripten_bind_Config_set_kVC_1).apply(null,arguments)},vb=t._emscripten_bind_Config_get_kDF_0=function(){return(vb=t._emscripten_bind_Config_get_kDF_0=t.asm.emscripten_bind_Config_get_kDF_0).apply(null,arguments)},yb=t._emscripten_bind_Config_set_kDF_1=function(){return(yb=t._emscripten_bind_Config_set_kDF_1=t.asm.emscripten_bind_Config_set_kDF_1).apply(null,arguments)},Cb=t._emscripten_bind_Config_get_kMT_0=function(){return(Cb=t._emscripten_bind_Config_get_kMT_0=t.asm.emscripten_bind_Config_get_kMT_0).apply(null,arguments)},Ab=t._emscripten_bind_Config_set_kMT_1=function(){return(Ab=t._emscripten_bind_Config_set_kMT_1=t.asm.emscripten_bind_Config_set_kMT_1).apply(null,arguments)},xb=t._emscripten_bind_Config_get_kCHR_0=function(){return(xb=t._emscripten_bind_Config_get_kCHR_0=t.asm.emscripten_bind_Config_get_kCHR_0).apply(null,arguments)},Sb=t._emscripten_bind_Config_set_kCHR_1=function(){return(Sb=t._emscripten_bind_Config_set_kCHR_1=t.asm.emscripten_bind_Config_set_kCHR_1).apply(null,arguments)},Tb=t._emscripten_bind_Config_get_kKHR_0=function(){return(Tb=t._emscripten_bind_Config_get_kKHR_0=t.asm.emscripten_bind_Config_get_kKHR_0).apply(null,arguments)},Eb=t._emscripten_bind_Config_set_kKHR_1=function(){return(Eb=t._emscripten_bind_Config_set_kKHR_1=t.asm.emscripten_bind_Config_set_kKHR_1).apply(null,arguments)},Pb=t._emscripten_bind_Config_get_kSHR_0=function(){return(Pb=t._emscripten_bind_Config_get_kSHR_0=t.asm.emscripten_bind_Config_get_kSHR_0).apply(null,arguments)},Ob=t._emscripten_bind_Config_set_kSHR_1=function(){return(Ob=t._emscripten_bind_Config_set_kSHR_1=t.asm.emscripten_bind_Config_set_kSHR_1).apply(null,arguments)},Mb=t._emscripten_bind_Config_get_kAHR_0=function(){return(Mb=t._emscripten_bind_Config_get_kAHR_0=t.asm.emscripten_bind_Config_get_kAHR_0).apply(null,arguments)},Rb=t._emscripten_bind_Config_set_kAHR_1=function(){return(Rb=t._emscripten_bind_Config_set_kAHR_1=t.asm.emscripten_bind_Config_set_kAHR_1).apply(null,arguments)},Ib=t._emscripten_bind_Config_get_kSRHR_CL_0=function(){return(Ib=t._emscripten_bind_Config_get_kSRHR_CL_0=t.asm.emscripten_bind_Config_get_kSRHR_CL_0).apply(null,arguments)},wb=t._emscripten_bind_Config_set_kSRHR_CL_1=function(){return(wb=t._emscripten_bind_Config_set_kSRHR_CL_1=t.asm.emscripten_bind_Config_set_kSRHR_CL_1).apply(null,arguments)},Db=t._emscripten_bind_Config_get_kSKHR_CL_0=function(){return(Db=t._emscripten_bind_Config_get_kSKHR_CL_0=t.asm.emscripten_bind_Config_get_kSKHR_CL_0).apply(null,arguments)},Lb=t._emscripten_bind_Config_set_kSKHR_CL_1=function(){return(Lb=t._emscripten_bind_Config_set_kSKHR_CL_1=t.asm.emscripten_bind_Config_set_kSKHR_CL_1).apply(null,arguments)},Nb=t._emscripten_bind_Config_get_kSSHR_CL_0=function(){return(Nb=t._emscripten_bind_Config_get_kSSHR_CL_0=t.asm.emscripten_bind_Config_get_kSSHR_CL_0).apply(null,arguments)},Fb=t._emscripten_bind_Config_set_kSSHR_CL_1=function(){return(Fb=t._emscripten_bind_Config_set_kSSHR_CL_1=t.asm.emscripten_bind_Config_set_kSSHR_CL_1).apply(null,arguments)},Bb=t._emscripten_bind_Config_get_kSR_SPLT_CL_0=function(){return(Bb=t._emscripten_bind_Config_get_kSR_SPLT_CL_0=t.asm.emscripten_bind_Config_get_kSR_SPLT_CL_0).apply(null,arguments)},kb=t._emscripten_bind_Config_set_kSR_SPLT_CL_1=function(){return(kb=t._emscripten_bind_Config_set_kSR_SPLT_CL_1=t.asm.emscripten_bind_Config_set_kSR_SPLT_CL_1).apply(null,arguments)},Vb=t._emscripten_bind_Config_get_kSK_SPLT_CL_0=function(){return(Vb=t._emscripten_bind_Config_get_kSK_SPLT_CL_0=t.asm.emscripten_bind_Config_get_kSK_SPLT_CL_0).apply(null,arguments)},zb=t._emscripten_bind_Config_set_kSK_SPLT_CL_1=function(){return(zb=t._emscripten_bind_Config_set_kSK_SPLT_CL_1=t.asm.emscripten_bind_Config_set_kSK_SPLT_CL_1).apply(null,arguments)},jb=t._emscripten_bind_Config_get_kSS_SPLT_CL_0=function(){return(jb=t._emscripten_bind_Config_get_kSS_SPLT_CL_0=t.asm.emscripten_bind_Config_get_kSS_SPLT_CL_0).apply(null,arguments)},Ub=t._emscripten_bind_Config_set_kSS_SPLT_CL_1=function(){return(Ub=t._emscripten_bind_Config_set_kSS_SPLT_CL_1=t.asm.emscripten_bind_Config_set_kSS_SPLT_CL_1).apply(null,arguments)},Gb=t._emscripten_bind_Config_get_maxvolume_0=function(){return(Gb=t._emscripten_bind_Config_get_maxvolume_0=t.asm.emscripten_bind_Config_get_maxvolume_0).apply(null,arguments)},Hb=t._emscripten_bind_Config_set_maxvolume_1=function(){return(Hb=t._emscripten_bind_Config_set_maxvolume_1=t.asm.emscripten_bind_Config_set_maxvolume_1).apply(null,arguments)},Wb=t._emscripten_bind_Config_get_timescale_0=function(){return(Wb=t._emscripten_bind_Config_get_timescale_0=t.asm.emscripten_bind_Config_get_timescale_0).apply(null,arguments)},Xb=t._emscripten_bind_Config_set_timescale_1=function(){return(Xb=t._emscripten_bind_Config_set_timescale_1=t.asm.emscripten_bind_Config_set_timescale_1).apply(null,arguments)},Yb=t._emscripten_bind_Config_get_viterations_0=function(){return(Yb=t._emscripten_bind_Config_get_viterations_0=t.asm.emscripten_bind_Config_get_viterations_0).apply(null,arguments)},Qb=t._emscripten_bind_Config_set_viterations_1=function(){return(Qb=t._emscripten_bind_Config_set_viterations_1=t.asm.emscripten_bind_Config_set_viterations_1).apply(null,arguments)},Kb=t._emscripten_bind_Config_get_piterations_0=function(){return(Kb=t._emscripten_bind_Config_get_piterations_0=t.asm.emscripten_bind_Config_get_piterations_0).apply(null,arguments)},Zb=t._emscripten_bind_Config_set_piterations_1=function(){return(Zb=t._emscripten_bind_Config_set_piterations_1=t.asm.emscripten_bind_Config_set_piterations_1).apply(null,arguments)},qb=t._emscripten_bind_Config_get_diterations_0=function(){return(qb=t._emscripten_bind_Config_get_diterations_0=t.asm.emscripten_bind_Config_get_diterations_0).apply(null,arguments)},Jb=t._emscripten_bind_Config_set_diterations_1=function(){return(Jb=t._emscripten_bind_Config_set_diterations_1=t.asm.emscripten_bind_Config_set_diterations_1).apply(null,arguments)},$b=t._emscripten_bind_Config_get_citerations_0=function(){return($b=t._emscripten_bind_Config_get_citerations_0=t.asm.emscripten_bind_Config_get_citerations_0).apply(null,arguments)},eg=t._emscripten_bind_Config_set_citerations_1=function(){return(eg=t._emscripten_bind_Config_set_citerations_1=t.asm.emscripten_bind_Config_set_citerations_1).apply(null,arguments)},tg=t._emscripten_bind_Config_get_collisions_0=function(){return(tg=t._emscripten_bind_Config_get_collisions_0=t.asm.emscripten_bind_Config_get_collisions_0).apply(null,arguments)},ng=t._emscripten_bind_Config_set_collisions_1=function(){return(ng=t._emscripten_bind_Config_set_collisions_1=t.asm.emscripten_bind_Config_set_collisions_1).apply(null,arguments)},ig=t._emscripten_bind_Config___destroy___0=function(){return(ig=t._emscripten_bind_Config___destroy___0=t.asm.emscripten_bind_Config___destroy___0).apply(null,arguments)},rg=t._emscripten_bind_Node_get_m_x_0=function(){return(rg=t._emscripten_bind_Node_get_m_x_0=t.asm.emscripten_bind_Node_get_m_x_0).apply(null,arguments)},og=t._emscripten_bind_Node_set_m_x_1=function(){return(og=t._emscripten_bind_Node_set_m_x_1=t.asm.emscripten_bind_Node_set_m_x_1).apply(null,arguments)},ag=t._emscripten_bind_Node_get_m_q_0=function(){return(ag=t._emscripten_bind_Node_get_m_q_0=t.asm.emscripten_bind_Node_get_m_q_0).apply(null,arguments)},sg=t._emscripten_bind_Node_set_m_q_1=function(){return(sg=t._emscripten_bind_Node_set_m_q_1=t.asm.emscripten_bind_Node_set_m_q_1).apply(null,arguments)},cg=t._emscripten_bind_Node_get_m_v_0=function(){return(cg=t._emscripten_bind_Node_get_m_v_0=t.asm.emscripten_bind_Node_get_m_v_0).apply(null,arguments)},lg=t._emscripten_bind_Node_set_m_v_1=function(){return(lg=t._emscripten_bind_Node_set_m_v_1=t.asm.emscripten_bind_Node_set_m_v_1).apply(null,arguments)},ug=t._emscripten_bind_Node_get_m_f_0=function(){return(ug=t._emscripten_bind_Node_get_m_f_0=t.asm.emscripten_bind_Node_get_m_f_0).apply(null,arguments)},pg=t._emscripten_bind_Node_set_m_f_1=function(){return(pg=t._emscripten_bind_Node_set_m_f_1=t.asm.emscripten_bind_Node_set_m_f_1).apply(null,arguments)},hg=t._emscripten_bind_Node_get_m_n_0=function(){return(hg=t._emscripten_bind_Node_get_m_n_0=t.asm.emscripten_bind_Node_get_m_n_0).apply(null,arguments)},dg=t._emscripten_bind_Node_set_m_n_1=function(){return(dg=t._emscripten_bind_Node_set_m_n_1=t.asm.emscripten_bind_Node_set_m_n_1).apply(null,arguments)},fg=t._emscripten_bind_Node_get_m_im_0=function(){return(fg=t._emscripten_bind_Node_get_m_im_0=t.asm.emscripten_bind_Node_get_m_im_0).apply(null,arguments)},_g=t._emscripten_bind_Node_set_m_im_1=function(){return(_g=t._emscripten_bind_Node_set_m_im_1=t.asm.emscripten_bind_Node_set_m_im_1).apply(null,arguments)},mg=t._emscripten_bind_Node_get_m_area_0=function(){return(mg=t._emscripten_bind_Node_get_m_area_0=t.asm.emscripten_bind_Node_get_m_area_0).apply(null,arguments)},bg=t._emscripten_bind_Node_set_m_area_1=function(){return(bg=t._emscripten_bind_Node_set_m_area_1=t.asm.emscripten_bind_Node_set_m_area_1).apply(null,arguments)},gg=t._emscripten_bind_Node___destroy___0=function(){return(gg=t._emscripten_bind_Node___destroy___0=t.asm.emscripten_bind_Node___destroy___0).apply(null,arguments)},vg=t._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0=function(){return(vg=t._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0=t.asm.emscripten_bind_btGhostPairCallback_btGhostPairCallback_0).apply(null,arguments)},yg=t._emscripten_bind_btGhostPairCallback___destroy___0=function(){return(yg=t._emscripten_bind_btGhostPairCallback___destroy___0=t.asm.emscripten_bind_btGhostPairCallback___destroy___0).apply(null,arguments)},Cg=t._emscripten_bind_btOverlappingPairCallback___destroy___0=function(){return(Cg=t._emscripten_bind_btOverlappingPairCallback___destroy___0=t.asm.emscripten_bind_btOverlappingPairCallback___destroy___0).apply(null,arguments)},Ag=t._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3=function(){return(Ag=t._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3=t.asm.emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3).apply(null,arguments)},xg=t._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=function(){return(xg=t._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=t.asm.emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4).apply(null,arguments)},Sg=t._emscripten_bind_btKinematicCharacterController_setUpAxis_1=function(){return(Sg=t._emscripten_bind_btKinematicCharacterController_setUpAxis_1=t.asm.emscripten_bind_btKinematicCharacterController_setUpAxis_1).apply(null,arguments)},Tg=t._emscripten_bind_btKinematicCharacterController_setWalkDirection_1=function(){return(Tg=t._emscripten_bind_btKinematicCharacterController_setWalkDirection_1=t.asm.emscripten_bind_btKinematicCharacterController_setWalkDirection_1).apply(null,arguments)},Eg=t._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=function(){return(Eg=t._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=t.asm.emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2).apply(null,arguments)},Pg=t._emscripten_bind_btKinematicCharacterController_warp_1=function(){return(Pg=t._emscripten_bind_btKinematicCharacterController_warp_1=t.asm.emscripten_bind_btKinematicCharacterController_warp_1).apply(null,arguments)},Og=t._emscripten_bind_btKinematicCharacterController_preStep_1=function(){return(Og=t._emscripten_bind_btKinematicCharacterController_preStep_1=t.asm.emscripten_bind_btKinematicCharacterController_preStep_1).apply(null,arguments)},Mg=t._emscripten_bind_btKinematicCharacterController_playerStep_2=function(){return(Mg=t._emscripten_bind_btKinematicCharacterController_playerStep_2=t.asm.emscripten_bind_btKinematicCharacterController_playerStep_2).apply(null,arguments)},Rg=t._emscripten_bind_btKinematicCharacterController_setFallSpeed_1=function(){return(Rg=t._emscripten_bind_btKinematicCharacterController_setFallSpeed_1=t.asm.emscripten_bind_btKinematicCharacterController_setFallSpeed_1).apply(null,arguments)},Ig=t._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1=function(){return(Ig=t._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1=t.asm.emscripten_bind_btKinematicCharacterController_setJumpSpeed_1).apply(null,arguments)},wg=t._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1=function(){return(wg=t._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1=t.asm.emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1).apply(null,arguments)},Dg=t._emscripten_bind_btKinematicCharacterController_canJump_0=function(){return(Dg=t._emscripten_bind_btKinematicCharacterController_canJump_0=t.asm.emscripten_bind_btKinematicCharacterController_canJump_0).apply(null,arguments)},Lg=t._emscripten_bind_btKinematicCharacterController_jump_0=function(){return(Lg=t._emscripten_bind_btKinematicCharacterController_jump_0=t.asm.emscripten_bind_btKinematicCharacterController_jump_0).apply(null,arguments)},Ng=t._emscripten_bind_btKinematicCharacterController_setGravity_1=function(){return(Ng=t._emscripten_bind_btKinematicCharacterController_setGravity_1=t.asm.emscripten_bind_btKinematicCharacterController_setGravity_1).apply(null,arguments)},Fg=t._emscripten_bind_btKinematicCharacterController_getGravity_0=function(){return(Fg=t._emscripten_bind_btKinematicCharacterController_getGravity_0=t.asm.emscripten_bind_btKinematicCharacterController_getGravity_0).apply(null,arguments)},Bg=t._emscripten_bind_btKinematicCharacterController_setMaxSlope_1=function(){return(Bg=t._emscripten_bind_btKinematicCharacterController_setMaxSlope_1=t.asm.emscripten_bind_btKinematicCharacterController_setMaxSlope_1).apply(null,arguments)},kg=t._emscripten_bind_btKinematicCharacterController_getMaxSlope_0=function(){return(kg=t._emscripten_bind_btKinematicCharacterController_getMaxSlope_0=t.asm.emscripten_bind_btKinematicCharacterController_getMaxSlope_0).apply(null,arguments)},Vg=t._emscripten_bind_btKinematicCharacterController_getGhostObject_0=function(){return(Vg=t._emscripten_bind_btKinematicCharacterController_getGhostObject_0=t.asm.emscripten_bind_btKinematicCharacterController_getGhostObject_0).apply(null,arguments)},zg=t._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1=function(){return(zg=t._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1=t.asm.emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1).apply(null,arguments)},jg=t._emscripten_bind_btKinematicCharacterController_onGround_0=function(){return(jg=t._emscripten_bind_btKinematicCharacterController_onGround_0=t.asm.emscripten_bind_btKinematicCharacterController_onGround_0).apply(null,arguments)},Ug=t._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1=function(){return(Ug=t._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1=t.asm.emscripten_bind_btKinematicCharacterController_setUpInterpolate_1).apply(null,arguments)},Gg=t._emscripten_bind_btKinematicCharacterController_updateAction_2=function(){return(Gg=t._emscripten_bind_btKinematicCharacterController_updateAction_2=t.asm.emscripten_bind_btKinematicCharacterController_updateAction_2).apply(null,arguments)},Hg=t._emscripten_bind_btKinematicCharacterController___destroy___0=function(){return(Hg=t._emscripten_bind_btKinematicCharacterController___destroy___0=t.asm.emscripten_bind_btKinematicCharacterController___destroy___0).apply(null,arguments)},Wg=t._emscripten_bind_btSoftBodyArray_size_0=function(){return(Wg=t._emscripten_bind_btSoftBodyArray_size_0=t.asm.emscripten_bind_btSoftBodyArray_size_0).apply(null,arguments)},Xg=t._emscripten_bind_btSoftBodyArray_at_1=function(){return(Xg=t._emscripten_bind_btSoftBodyArray_at_1=t.asm.emscripten_bind_btSoftBodyArray_at_1).apply(null,arguments)},Yg=t._emscripten_bind_btSoftBodyArray___destroy___0=function(){return(Yg=t._emscripten_bind_btSoftBodyArray___destroy___0=t.asm.emscripten_bind_btSoftBodyArray___destroy___0).apply(null,arguments)},Qg=t._emscripten_bind_btFaceArray_size_0=function(){return(Qg=t._emscripten_bind_btFaceArray_size_0=t.asm.emscripten_bind_btFaceArray_size_0).apply(null,arguments)},Kg=t._emscripten_bind_btFaceArray_at_1=function(){return(Kg=t._emscripten_bind_btFaceArray_at_1=t.asm.emscripten_bind_btFaceArray_at_1).apply(null,arguments)},Zg=t._emscripten_bind_btFaceArray___destroy___0=function(){return(Zg=t._emscripten_bind_btFaceArray___destroy___0=t.asm.emscripten_bind_btFaceArray___destroy___0).apply(null,arguments)},qg=t._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2=function(){return(qg=t._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2=t.asm.emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2).apply(null,arguments)},Jg=t._emscripten_bind_btStaticPlaneShape_setLocalScaling_1=function(){return(Jg=t._emscripten_bind_btStaticPlaneShape_setLocalScaling_1=t.asm.emscripten_bind_btStaticPlaneShape_setLocalScaling_1).apply(null,arguments)},$g=t._emscripten_bind_btStaticPlaneShape_getLocalScaling_0=function(){return($g=t._emscripten_bind_btStaticPlaneShape_getLocalScaling_0=t.asm.emscripten_bind_btStaticPlaneShape_getLocalScaling_0).apply(null,arguments)},ev=t._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=function(){return(ev=t._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=t.asm.emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2).apply(null,arguments)},tv=t._emscripten_bind_btStaticPlaneShape___destroy___0=function(){return(tv=t._emscripten_bind_btStaticPlaneShape___destroy___0=t.asm.emscripten_bind_btStaticPlaneShape___destroy___0).apply(null,arguments)},nv=t._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1=function(){return(nv=t._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1=t.asm.emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1).apply(null,arguments)},iv=t._emscripten_bind_btOverlappingPairCache_getNumOverlappingPairs_0=function(){return(iv=t._emscripten_bind_btOverlappingPairCache_getNumOverlappingPairs_0=t.asm.emscripten_bind_btOverlappingPairCache_getNumOverlappingPairs_0).apply(null,arguments)},rv=t._emscripten_bind_btOverlappingPairCache___destroy___0=function(){return(rv=t._emscripten_bind_btOverlappingPairCache___destroy___0=t.asm.emscripten_bind_btOverlappingPairCache___destroy___0).apply(null,arguments)},ov=t._emscripten_bind_btIndexedMesh_get_m_numTriangles_0=function(){return(ov=t._emscripten_bind_btIndexedMesh_get_m_numTriangles_0=t.asm.emscripten_bind_btIndexedMesh_get_m_numTriangles_0).apply(null,arguments)},av=t._emscripten_bind_btIndexedMesh_set_m_numTriangles_1=function(){return(av=t._emscripten_bind_btIndexedMesh_set_m_numTriangles_1=t.asm.emscripten_bind_btIndexedMesh_set_m_numTriangles_1).apply(null,arguments)},sv=t._emscripten_bind_btIndexedMesh___destroy___0=function(){return(sv=t._emscripten_bind_btIndexedMesh___destroy___0=t.asm.emscripten_bind_btIndexedMesh___destroy___0).apply(null,arguments)},cv=t._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5=function(){return(cv=t._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5).apply(null,arguments)},lv=t._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3=function(){return(lv=t._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3).apply(null,arguments)},uv=t._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1=function(){return(uv=t._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1).apply(null,arguments)},pv=t._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1=function(){return(pv=t._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1).apply(null,arguments)},hv=t._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0=function(){return(hv=t._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0).apply(null,arguments)},dv=t._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0=function(){return(dv=t._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0).apply(null,arguments)},fv=t._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0=function(){return(fv=t._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0).apply(null,arguments)},_v=t._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3=function(){return(_v=t._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3).apply(null,arguments)},mv=t._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0=function(){return(mv=t._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0).apply(null,arguments)},bv=t._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0=function(){return(bv=t._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0).apply(null,arguments)},gv=t._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1=function(){return(gv=t._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1).apply(null,arguments)},vv=t._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2=function(){return(vv=t._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2).apply(null,arguments)},yv=t._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3=function(){return(yv=t._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3).apply(null,arguments)},Cv=t._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0=function(){return(Cv=t._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0).apply(null,arguments)},Av=t._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5=function(){return(Av=t._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5).apply(null,arguments)},xv=t._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3=function(){return(xv=t._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3).apply(null,arguments)},Sv=t._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2=function(){return(Sv=t._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2).apply(null,arguments)},Tv=t._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1=function(){return(Tv=t._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1).apply(null,arguments)},Ev=t._emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1=function(){return(Ev=t._emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1).apply(null,arguments)},Pv=t._emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0=function(){return(Pv=t._emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0).apply(null,arguments)},Ov=t._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0=function(){return(Ov=t._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0).apply(null,arguments)},Mv=t._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3=function(){return(Mv=t._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3).apply(null,arguments)},Rv=t._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1=function(){return(Rv=t._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1).apply(null,arguments)},Iv=t._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0=function(){return(Iv=t._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0).apply(null,arguments)},wv=t._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1=function(){return(wv=t._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1).apply(null,arguments)},Dv=t._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3=function(){return(Dv=t._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3).apply(null,arguments)},Lv=t._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1=function(){return(Lv=t._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1).apply(null,arguments)},Nv=t._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1=function(){return(Nv=t._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1).apply(null,arguments)},Fv=t._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2=function(){return(Fv=t._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2).apply(null,arguments)},Bv=t._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1=function(){return(Bv=t._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1).apply(null,arguments)},kv=t._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1=function(){return(kv=t._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1).apply(null,arguments)},Vv=t._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2=function(){return(Vv=t._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2).apply(null,arguments)},zv=t._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3=function(){return(zv=t._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3).apply(null,arguments)},jv=t._emscripten_bind_btSoftRigidDynamicsWorld_setContactAddedCallback_1=function(){return(jv=t._emscripten_bind_btSoftRigidDynamicsWorld_setContactAddedCallback_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_setContactAddedCallback_1).apply(null,arguments)},Uv=t._emscripten_bind_btSoftRigidDynamicsWorld_setContactProcessedCallback_1=function(){return(Uv=t._emscripten_bind_btSoftRigidDynamicsWorld_setContactProcessedCallback_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_setContactProcessedCallback_1).apply(null,arguments)},Gv=t._emscripten_bind_btSoftRigidDynamicsWorld_setContactDestroyedCallback_1=function(){return(Gv=t._emscripten_bind_btSoftRigidDynamicsWorld_setContactDestroyedCallback_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_setContactDestroyedCallback_1).apply(null,arguments)},Hv=t._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1=function(){return(Hv=t._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_addAction_1).apply(null,arguments)},Wv=t._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1=function(){return(Wv=t._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1).apply(null,arguments)},Xv=t._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0=function(){return(Xv=t._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0).apply(null,arguments)},Yv=t._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_1=function(){return(Yv=t._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_1=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_1).apply(null,arguments)},Qv=t._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_2=function(){return(Qv=t._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_2=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_2).apply(null,arguments)},Kv=t._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_3=function(){return(Kv=t._emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_3=t.asm.emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_3).apply(null,arguments)},Zv=t._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0=function(){return(Zv=t._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0=t.asm.emscripten_bind_btSoftRigidDynamicsWorld___destroy___0).apply(null,arguments)},qv=t._emscripten_bind_btFixedConstraint_btFixedConstraint_4=function(){return(qv=t._emscripten_bind_btFixedConstraint_btFixedConstraint_4=t.asm.emscripten_bind_btFixedConstraint_btFixedConstraint_4).apply(null,arguments)},Jv=t._emscripten_bind_btFixedConstraint_enableFeedback_1=function(){return(Jv=t._emscripten_bind_btFixedConstraint_enableFeedback_1=t.asm.emscripten_bind_btFixedConstraint_enableFeedback_1).apply(null,arguments)},$v=t._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0=function(){return($v=t._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0=t.asm.emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0).apply(null,arguments)},ey=t._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1=function(){return(ey=t._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1=t.asm.emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1).apply(null,arguments)},ty=t._emscripten_bind_btFixedConstraint_getParam_2=function(){return(ty=t._emscripten_bind_btFixedConstraint_getParam_2=t.asm.emscripten_bind_btFixedConstraint_getParam_2).apply(null,arguments)},ny=t._emscripten_bind_btFixedConstraint_setParam_3=function(){return(ny=t._emscripten_bind_btFixedConstraint_setParam_3=t.asm.emscripten_bind_btFixedConstraint_setParam_3).apply(null,arguments)},iy=t._emscripten_bind_btFixedConstraint___destroy___0=function(){return(iy=t._emscripten_bind_btFixedConstraint___destroy___0=t.asm.emscripten_bind_btFixedConstraint___destroy___0).apply(null,arguments)},ry=t._emscripten_bind_btTransform_btTransform_0=function(){return(ry=t._emscripten_bind_btTransform_btTransform_0=t.asm.emscripten_bind_btTransform_btTransform_0).apply(null,arguments)},oy=t._emscripten_bind_btTransform_btTransform_2=function(){return(oy=t._emscripten_bind_btTransform_btTransform_2=t.asm.emscripten_bind_btTransform_btTransform_2).apply(null,arguments)},ay=t._emscripten_bind_btTransform_setIdentity_0=function(){return(ay=t._emscripten_bind_btTransform_setIdentity_0=t.asm.emscripten_bind_btTransform_setIdentity_0).apply(null,arguments)},sy=t._emscripten_bind_btTransform_setOrigin_1=function(){return(sy=t._emscripten_bind_btTransform_setOrigin_1=t.asm.emscripten_bind_btTransform_setOrigin_1).apply(null,arguments)},cy=t._emscripten_bind_btTransform_setRotation_1=function(){return(cy=t._emscripten_bind_btTransform_setRotation_1=t.asm.emscripten_bind_btTransform_setRotation_1).apply(null,arguments)},ly=t._emscripten_bind_btTransform_getOrigin_0=function(){return(ly=t._emscripten_bind_btTransform_getOrigin_0=t.asm.emscripten_bind_btTransform_getOrigin_0).apply(null,arguments)},uy=t._emscripten_bind_btTransform_getRotation_0=function(){return(uy=t._emscripten_bind_btTransform_getRotation_0=t.asm.emscripten_bind_btTransform_getRotation_0).apply(null,arguments)},py=t._emscripten_bind_btTransform_getBasis_0=function(){return(py=t._emscripten_bind_btTransform_getBasis_0=t.asm.emscripten_bind_btTransform_getBasis_0).apply(null,arguments)},hy=t._emscripten_bind_btTransform_setFromOpenGLMatrix_1=function(){return(hy=t._emscripten_bind_btTransform_setFromOpenGLMatrix_1=t.asm.emscripten_bind_btTransform_setFromOpenGLMatrix_1).apply(null,arguments)},dy=t._emscripten_bind_btTransform_inverse_0=function(){return(dy=t._emscripten_bind_btTransform_inverse_0=t.asm.emscripten_bind_btTransform_inverse_0).apply(null,arguments)},fy=t._emscripten_bind_btTransform_op_mul_1=function(){return(fy=t._emscripten_bind_btTransform_op_mul_1=t.asm.emscripten_bind_btTransform_op_mul_1).apply(null,arguments)},_y=t._emscripten_bind_btTransform___destroy___0=function(){return(_y=t._emscripten_bind_btTransform___destroy___0=t.asm.emscripten_bind_btTransform___destroy___0).apply(null,arguments)},my=t._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2=function(){return(my=t._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2=t.asm.emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2).apply(null,arguments)},by=t._emscripten_bind_ClosestRayResultCallback_hasHit_0=function(){return(by=t._emscripten_bind_ClosestRayResultCallback_hasHit_0=t.asm.emscripten_bind_ClosestRayResultCallback_hasHit_0).apply(null,arguments)},gy=t._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0=function(){return(gy=t._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0=t.asm.emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0).apply(null,arguments)},vy=t._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1=function(){return(vy=t._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1=t.asm.emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1).apply(null,arguments)},yy=t._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0=function(){return(yy=t._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0=t.asm.emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0).apply(null,arguments)},Cy=t._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1=function(){return(Cy=t._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1=t.asm.emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1).apply(null,arguments)},Ay=t._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0=function(){return(Ay=t._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0=t.asm.emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0).apply(null,arguments)},xy=t._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1=function(){return(xy=t._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1=t.asm.emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1).apply(null,arguments)},Sy=t._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0=function(){return(Sy=t._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0=t.asm.emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0).apply(null,arguments)},Ty=t._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1=function(){return(Ty=t._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1=t.asm.emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1).apply(null,arguments)},Ey=t._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0=function(){return(Ey=t._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0=t.asm.emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0).apply(null,arguments)},Py=t._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1=function(){return(Py=t._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1=t.asm.emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1).apply(null,arguments)},Oy=t._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0=function(){return(Oy=t._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0=t.asm.emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0).apply(null,arguments)},My=t._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1=function(){return(My=t._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1=t.asm.emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1).apply(null,arguments)},Ry=t._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0=function(){return(Ry=t._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0=t.asm.emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0).apply(null,arguments)},Iy=t._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1=function(){return(Iy=t._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1=t.asm.emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1).apply(null,arguments)},wy=t._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0=function(){return(wy=t._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0=t.asm.emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0).apply(null,arguments)},Dy=t._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1=function(){return(Dy=t._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1=t.asm.emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1).apply(null,arguments)},Ly=t._emscripten_bind_ClosestRayResultCallback___destroy___0=function(){return(Ly=t._emscripten_bind_ClosestRayResultCallback___destroy___0=t.asm.emscripten_bind_ClosestRayResultCallback___destroy___0).apply(null,arguments)},Ny=t._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0=function(){return(Ny=t._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0=t.asm.emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0).apply(null,arguments)},Fy=t._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1=function(){return(Fy=t._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1=t.asm.emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1).apply(null,arguments)},By=t._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0=function(){return(By=t._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0=t.asm.emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0).apply(null,arguments)},ky=t._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=function(){return(ky=t._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=t.asm.emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0).apply(null,arguments)},Vy=t._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=function(){return(Vy=t._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=t.asm.emscripten_bind_ConcreteContactResultCallback_addSingleResult_7).apply(null,arguments)},zy=t._emscripten_bind_ConcreteContactResultCallback___destroy___0=function(){return(zy=t._emscripten_bind_ConcreteContactResultCallback___destroy___0=t.asm.emscripten_bind_ConcreteContactResultCallback___destroy___0).apply(null,arguments)},jy=t._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2=function(){return(jy=t._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2=t.asm.emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2).apply(null,arguments)},Uy=t._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3=function(){return(Uy=t._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3=t.asm.emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3).apply(null,arguments)},Gy=t._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1=function(){return(Gy=t._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1=t.asm.emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1).apply(null,arguments)},Hy=t._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0=function(){return(Hy=t._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0=t.asm.emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0).apply(null,arguments)},Wy=t._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=function(){return(Wy=t._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=t.asm.emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2).apply(null,arguments)},Xy=t._emscripten_bind_btBvhTriangleMeshShape___destroy___0=function(){return(Xy=t._emscripten_bind_btBvhTriangleMeshShape___destroy___0=t.asm.emscripten_bind_btBvhTriangleMeshShape___destroy___0).apply(null,arguments)},Yy=t._emscripten_bind_btConstCollisionObjectArray_size_0=function(){return(Yy=t._emscripten_bind_btConstCollisionObjectArray_size_0=t.asm.emscripten_bind_btConstCollisionObjectArray_size_0).apply(null,arguments)},Qy=t._emscripten_bind_btConstCollisionObjectArray_at_1=function(){return(Qy=t._emscripten_bind_btConstCollisionObjectArray_at_1=t.asm.emscripten_bind_btConstCollisionObjectArray_at_1).apply(null,arguments)},Ky=t._emscripten_bind_btConstCollisionObjectArray___destroy___0=function(){return(Ky=t._emscripten_bind_btConstCollisionObjectArray___destroy___0=t.asm.emscripten_bind_btConstCollisionObjectArray___destroy___0).apply(null,arguments)},Zy=t._emscripten_bind_btSliderConstraint_btSliderConstraint_3=function(){return(Zy=t._emscripten_bind_btSliderConstraint_btSliderConstraint_3=t.asm.emscripten_bind_btSliderConstraint_btSliderConstraint_3).apply(null,arguments)},qy=t._emscripten_bind_btSliderConstraint_btSliderConstraint_5=function(){return(qy=t._emscripten_bind_btSliderConstraint_btSliderConstraint_5=t.asm.emscripten_bind_btSliderConstraint_btSliderConstraint_5).apply(null,arguments)},Jy=t._emscripten_bind_btSliderConstraint_setLowerLinLimit_1=function(){return(Jy=t._emscripten_bind_btSliderConstraint_setLowerLinLimit_1=t.asm.emscripten_bind_btSliderConstraint_setLowerLinLimit_1).apply(null,arguments)},$y=t._emscripten_bind_btSliderConstraint_setUpperLinLimit_1=function(){return($y=t._emscripten_bind_btSliderConstraint_setUpperLinLimit_1=t.asm.emscripten_bind_btSliderConstraint_setUpperLinLimit_1).apply(null,arguments)},eC=t._emscripten_bind_btSliderConstraint_setLowerAngLimit_1=function(){return(eC=t._emscripten_bind_btSliderConstraint_setLowerAngLimit_1=t.asm.emscripten_bind_btSliderConstraint_setLowerAngLimit_1).apply(null,arguments)},tC=t._emscripten_bind_btSliderConstraint_setUpperAngLimit_1=function(){return(tC=t._emscripten_bind_btSliderConstraint_setUpperAngLimit_1=t.asm.emscripten_bind_btSliderConstraint_setUpperAngLimit_1).apply(null,arguments)},nC=t._emscripten_bind_btSliderConstraint_enableFeedback_1=function(){return(nC=t._emscripten_bind_btSliderConstraint_enableFeedback_1=t.asm.emscripten_bind_btSliderConstraint_enableFeedback_1).apply(null,arguments)},iC=t._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0=function(){return(iC=t._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0=t.asm.emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0).apply(null,arguments)},rC=t._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1=function(){return(rC=t._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1=t.asm.emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1).apply(null,arguments)},oC=t._emscripten_bind_btSliderConstraint_getParam_2=function(){return(oC=t._emscripten_bind_btSliderConstraint_getParam_2=t.asm.emscripten_bind_btSliderConstraint_getParam_2).apply(null,arguments)},aC=t._emscripten_bind_btSliderConstraint_setParam_3=function(){return(aC=t._emscripten_bind_btSliderConstraint_setParam_3=t.asm.emscripten_bind_btSliderConstraint_setParam_3).apply(null,arguments)},sC=t._emscripten_bind_btSliderConstraint___destroy___0=function(){return(sC=t._emscripten_bind_btSliderConstraint___destroy___0=t.asm.emscripten_bind_btSliderConstraint___destroy___0).apply(null,arguments)},cC=t._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0=function(){return(cC=t._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0=t.asm.emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0).apply(null,arguments)},lC=t._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=function(){return(lC=t._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=t.asm.emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2).apply(null,arguments)},uC=t._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0=function(){return(uC=t._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0=t.asm.emscripten_bind_btPairCachingGhostObject_getCollisionShape_0).apply(null,arguments)},pC=t._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1=function(){return(pC=t._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1=t.asm.emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1).apply(null,arguments)},hC=t._emscripten_bind_btPairCachingGhostObject_setActivationState_1=function(){return(hC=t._emscripten_bind_btPairCachingGhostObject_setActivationState_1=t.asm.emscripten_bind_btPairCachingGhostObject_setActivationState_1).apply(null,arguments)},dC=t._emscripten_bind_btPairCachingGhostObject_forceActivationState_1=function(){return(dC=t._emscripten_bind_btPairCachingGhostObject_forceActivationState_1=t.asm.emscripten_bind_btPairCachingGhostObject_forceActivationState_1).apply(null,arguments)},fC=t._emscripten_bind_btPairCachingGhostObject_activate_0=function(){return(fC=t._emscripten_bind_btPairCachingGhostObject_activate_0=t.asm.emscripten_bind_btPairCachingGhostObject_activate_0).apply(null,arguments)},_C=t._emscripten_bind_btPairCachingGhostObject_activate_1=function(){return(_C=t._emscripten_bind_btPairCachingGhostObject_activate_1=t.asm.emscripten_bind_btPairCachingGhostObject_activate_1).apply(null,arguments)},mC=t._emscripten_bind_btPairCachingGhostObject_isActive_0=function(){return(mC=t._emscripten_bind_btPairCachingGhostObject_isActive_0=t.asm.emscripten_bind_btPairCachingGhostObject_isActive_0).apply(null,arguments)},bC=t._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0=function(){return(bC=t._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0=t.asm.emscripten_bind_btPairCachingGhostObject_isKinematicObject_0).apply(null,arguments)},gC=t._emscripten_bind_btPairCachingGhostObject_isStaticObject_0=function(){return(gC=t._emscripten_bind_btPairCachingGhostObject_isStaticObject_0=t.asm.emscripten_bind_btPairCachingGhostObject_isStaticObject_0).apply(null,arguments)},vC=t._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0=function(){return(vC=t._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0=t.asm.emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0).apply(null,arguments)},yC=t._emscripten_bind_btPairCachingGhostObject_getRestitution_0=function(){return(yC=t._emscripten_bind_btPairCachingGhostObject_getRestitution_0=t.asm.emscripten_bind_btPairCachingGhostObject_getRestitution_0).apply(null,arguments)},CC=t._emscripten_bind_btPairCachingGhostObject_getFriction_0=function(){return(CC=t._emscripten_bind_btPairCachingGhostObject_getFriction_0=t.asm.emscripten_bind_btPairCachingGhostObject_getFriction_0).apply(null,arguments)},AC=t._emscripten_bind_btPairCachingGhostObject_getRollingFriction_0=function(){return(AC=t._emscripten_bind_btPairCachingGhostObject_getRollingFriction_0=t.asm.emscripten_bind_btPairCachingGhostObject_getRollingFriction_0).apply(null,arguments)},xC=t._emscripten_bind_btPairCachingGhostObject_setRestitution_1=function(){return(xC=t._emscripten_bind_btPairCachingGhostObject_setRestitution_1=t.asm.emscripten_bind_btPairCachingGhostObject_setRestitution_1).apply(null,arguments)},SC=t._emscripten_bind_btPairCachingGhostObject_setFriction_1=function(){return(SC=t._emscripten_bind_btPairCachingGhostObject_setFriction_1=t.asm.emscripten_bind_btPairCachingGhostObject_setFriction_1).apply(null,arguments)},TC=t._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1=function(){return(TC=t._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1=t.asm.emscripten_bind_btPairCachingGhostObject_setRollingFriction_1).apply(null,arguments)},EC=t._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0=function(){return(EC=t._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0=t.asm.emscripten_bind_btPairCachingGhostObject_getWorldTransform_0).apply(null,arguments)},PC=t._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0=function(){return(PC=t._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0=t.asm.emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0).apply(null,arguments)},OC=t._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=function(){return(OC=t._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=t.asm.emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1).apply(null,arguments)},MC=t._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1=function(){return(MC=t._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1=t.asm.emscripten_bind_btPairCachingGhostObject_setWorldTransform_1).apply(null,arguments)},RC=t._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1=function(){return(RC=t._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1=t.asm.emscripten_bind_btPairCachingGhostObject_setCollisionShape_1).apply(null,arguments)},IC=t._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1=function(){return(IC=t._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1=t.asm.emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1).apply(null,arguments)},wC=t._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=function(){return(wC=t._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=t.asm.emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1).apply(null,arguments)},DC=t._emscripten_bind_btPairCachingGhostObject_getUserIndex_0=function(){return(DC=t._emscripten_bind_btPairCachingGhostObject_getUserIndex_0=t.asm.emscripten_bind_btPairCachingGhostObject_getUserIndex_0).apply(null,arguments)},LC=t._emscripten_bind_btPairCachingGhostObject_setUserIndex_1=function(){return(LC=t._emscripten_bind_btPairCachingGhostObject_setUserIndex_1=t.asm.emscripten_bind_btPairCachingGhostObject_setUserIndex_1).apply(null,arguments)},NC=t._emscripten_bind_btPairCachingGhostObject_getUserPointer_0=function(){return(NC=t._emscripten_bind_btPairCachingGhostObject_getUserPointer_0=t.asm.emscripten_bind_btPairCachingGhostObject_getUserPointer_0).apply(null,arguments)},FC=t._emscripten_bind_btPairCachingGhostObject_setUserPointer_1=function(){return(FC=t._emscripten_bind_btPairCachingGhostObject_setUserPointer_1=t.asm.emscripten_bind_btPairCachingGhostObject_setUserPointer_1).apply(null,arguments)},BC=t._emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0=function(){return(BC=t._emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0=t.asm.emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0).apply(null,arguments)},kC=t._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=function(){return(kC=t._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=t.asm.emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0).apply(null,arguments)},VC=t._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=function(){return(VC=t._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=t.asm.emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1).apply(null,arguments)},zC=t._emscripten_bind_btPairCachingGhostObject___destroy___0=function(){return(zC=t._emscripten_bind_btPairCachingGhostObject___destroy___0=t.asm.emscripten_bind_btPairCachingGhostObject___destroy___0).apply(null,arguments)},jC=t._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=function(){return(jC=t._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=t.asm.emscripten_bind_btManifoldPoint_getPositionWorldOnA_0).apply(null,arguments)},UC=t._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0=function(){return(UC=t._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0=t.asm.emscripten_bind_btManifoldPoint_getPositionWorldOnB_0).apply(null,arguments)},GC=t._emscripten_bind_btManifoldPoint_getAppliedImpulse_0=function(){return(GC=t._emscripten_bind_btManifoldPoint_getAppliedImpulse_0=t.asm.emscripten_bind_btManifoldPoint_getAppliedImpulse_0).apply(null,arguments)},HC=t._emscripten_bind_btManifoldPoint_getDistance_0=function(){return(HC=t._emscripten_bind_btManifoldPoint_getDistance_0=t.asm.emscripten_bind_btManifoldPoint_getDistance_0).apply(null,arguments)},WC=t._emscripten_bind_btManifoldPoint_get_m_localPointA_0=function(){return(WC=t._emscripten_bind_btManifoldPoint_get_m_localPointA_0=t.asm.emscripten_bind_btManifoldPoint_get_m_localPointA_0).apply(null,arguments)},XC=t._emscripten_bind_btManifoldPoint_set_m_localPointA_1=function(){return(XC=t._emscripten_bind_btManifoldPoint_set_m_localPointA_1=t.asm.emscripten_bind_btManifoldPoint_set_m_localPointA_1).apply(null,arguments)},YC=t._emscripten_bind_btManifoldPoint_get_m_localPointB_0=function(){return(YC=t._emscripten_bind_btManifoldPoint_get_m_localPointB_0=t.asm.emscripten_bind_btManifoldPoint_get_m_localPointB_0).apply(null,arguments)},QC=t._emscripten_bind_btManifoldPoint_set_m_localPointB_1=function(){return(QC=t._emscripten_bind_btManifoldPoint_set_m_localPointB_1=t.asm.emscripten_bind_btManifoldPoint_set_m_localPointB_1).apply(null,arguments)},KC=t._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0=function(){return(KC=t._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0=t.asm.emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0).apply(null,arguments)},ZC=t._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1=function(){return(ZC=t._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1=t.asm.emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1).apply(null,arguments)},qC=t._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0=function(){return(qC=t._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0=t.asm.emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0).apply(null,arguments)},JC=t._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1=function(){return(JC=t._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1=t.asm.emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1).apply(null,arguments)},$C=t._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0=function(){return($C=t._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0=t.asm.emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0).apply(null,arguments)},eA=t._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1=function(){return(eA=t._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1=t.asm.emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1).apply(null,arguments)},tA=t._emscripten_bind_btManifoldPoint_get_m_userPersistentData_0=function(){return(tA=t._emscripten_bind_btManifoldPoint_get_m_userPersistentData_0=t.asm.emscripten_bind_btManifoldPoint_get_m_userPersistentData_0).apply(null,arguments)},nA=t._emscripten_bind_btManifoldPoint_set_m_userPersistentData_1=function(){return(nA=t._emscripten_bind_btManifoldPoint_set_m_userPersistentData_1=t.asm.emscripten_bind_btManifoldPoint_set_m_userPersistentData_1).apply(null,arguments)},iA=t._emscripten_bind_btManifoldPoint___destroy___0=function(){return(iA=t._emscripten_bind_btManifoldPoint___destroy___0=t.asm.emscripten_bind_btManifoldPoint___destroy___0).apply(null,arguments)},rA=t._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2=function(){return(rA=t._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2=t.asm.emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2).apply(null,arguments)},oA=t._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=function(){return(oA=t._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=t.asm.emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4).apply(null,arguments)},aA=t._emscripten_bind_btPoint2PointConstraint_setPivotA_1=function(){return(aA=t._emscripten_bind_btPoint2PointConstraint_setPivotA_1=t.asm.emscripten_bind_btPoint2PointConstraint_setPivotA_1).apply(null,arguments)},sA=t._emscripten_bind_btPoint2PointConstraint_setPivotB_1=function(){return(sA=t._emscripten_bind_btPoint2PointConstraint_setPivotB_1=t.asm.emscripten_bind_btPoint2PointConstraint_setPivotB_1).apply(null,arguments)},cA=t._emscripten_bind_btPoint2PointConstraint_getPivotInA_0=function(){return(cA=t._emscripten_bind_btPoint2PointConstraint_getPivotInA_0=t.asm.emscripten_bind_btPoint2PointConstraint_getPivotInA_0).apply(null,arguments)},lA=t._emscripten_bind_btPoint2PointConstraint_getPivotInB_0=function(){return(lA=t._emscripten_bind_btPoint2PointConstraint_getPivotInB_0=t.asm.emscripten_bind_btPoint2PointConstraint_getPivotInB_0).apply(null,arguments)},uA=t._emscripten_bind_btPoint2PointConstraint_enableFeedback_1=function(){return(uA=t._emscripten_bind_btPoint2PointConstraint_enableFeedback_1=t.asm.emscripten_bind_btPoint2PointConstraint_enableFeedback_1).apply(null,arguments)},pA=t._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0=function(){return(pA=t._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0=t.asm.emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0).apply(null,arguments)},hA=t._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1=function(){return(hA=t._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1=t.asm.emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1).apply(null,arguments)},dA=t._emscripten_bind_btPoint2PointConstraint_getParam_2=function(){return(dA=t._emscripten_bind_btPoint2PointConstraint_getParam_2=t.asm.emscripten_bind_btPoint2PointConstraint_getParam_2).apply(null,arguments)},fA=t._emscripten_bind_btPoint2PointConstraint_setParam_3=function(){return(fA=t._emscripten_bind_btPoint2PointConstraint_setParam_3=t.asm.emscripten_bind_btPoint2PointConstraint_setParam_3).apply(null,arguments)},_A=t._emscripten_bind_btPoint2PointConstraint_get_m_setting_0=function(){return(_A=t._emscripten_bind_btPoint2PointConstraint_get_m_setting_0=t.asm.emscripten_bind_btPoint2PointConstraint_get_m_setting_0).apply(null,arguments)},mA=t._emscripten_bind_btPoint2PointConstraint_set_m_setting_1=function(){return(mA=t._emscripten_bind_btPoint2PointConstraint_set_m_setting_1=t.asm.emscripten_bind_btPoint2PointConstraint_set_m_setting_1).apply(null,arguments)},bA=t._emscripten_bind_btPoint2PointConstraint___destroy___0=function(){return(bA=t._emscripten_bind_btPoint2PointConstraint___destroy___0=t.asm.emscripten_bind_btPoint2PointConstraint___destroy___0).apply(null,arguments)},gA=t._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0=function(){return(gA=t._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0=t.asm.emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0).apply(null,arguments)},vA=t._emscripten_bind_btSoftBodyHelpers_CreateRope_5=function(){return(vA=t._emscripten_bind_btSoftBodyHelpers_CreateRope_5=t.asm.emscripten_bind_btSoftBodyHelpers_CreateRope_5).apply(null,arguments)},yA=t._emscripten_bind_btSoftBodyHelpers_CreatePatch_9=function(){return(yA=t._emscripten_bind_btSoftBodyHelpers_CreatePatch_9=t.asm.emscripten_bind_btSoftBodyHelpers_CreatePatch_9).apply(null,arguments)},CA=t._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10=function(){return(CA=t._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10=t.asm.emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10).apply(null,arguments)},AA=t._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4=function(){return(AA=t._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4=t.asm.emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4).apply(null,arguments)},xA=t._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5=function(){return(xA=t._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5=t.asm.emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5).apply(null,arguments)},SA=t._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4=function(){return(SA=t._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4=t.asm.emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4).apply(null,arguments)},TA=t._emscripten_bind_btSoftBodyHelpers___destroy___0=function(){return(TA=t._emscripten_bind_btSoftBodyHelpers___destroy___0=t.asm.emscripten_bind_btSoftBodyHelpers___destroy___0).apply(null,arguments)},EA=t._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0=function(){return(EA=t._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0=t.asm.emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0).apply(null,arguments)},PA=t._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1=function(){return(PA=t._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1=t.asm.emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1).apply(null,arguments)},OA=t._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0=function(){return(OA=t._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0=t.asm.emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0).apply(null,arguments)},MA=t._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1=function(){return(MA=t._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1=t.asm.emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1).apply(null,arguments)},RA=t._emscripten_bind_btBroadphaseProxy___destroy___0=function(){return(RA=t._emscripten_bind_btBroadphaseProxy___destroy___0=t.asm.emscripten_bind_btBroadphaseProxy___destroy___0).apply(null,arguments)},IA=t._emscripten_bind_tNodeArray_size_0=function(){return(IA=t._emscripten_bind_tNodeArray_size_0=t.asm.emscripten_bind_tNodeArray_size_0).apply(null,arguments)},wA=t._emscripten_bind_tNodeArray_at_1=function(){return(wA=t._emscripten_bind_tNodeArray_at_1=t.asm.emscripten_bind_tNodeArray_at_1).apply(null,arguments)},DA=t._emscripten_bind_tNodeArray___destroy___0=function(){return(DA=t._emscripten_bind_tNodeArray___destroy___0=t.asm.emscripten_bind_tNodeArray___destroy___0).apply(null,arguments)},LA=t._emscripten_bind_btBoxShape_btBoxShape_1=function(){return(LA=t._emscripten_bind_btBoxShape_btBoxShape_1=t.asm.emscripten_bind_btBoxShape_btBoxShape_1).apply(null,arguments)},NA=t._emscripten_bind_btBoxShape_setMargin_1=function(){return(NA=t._emscripten_bind_btBoxShape_setMargin_1=t.asm.emscripten_bind_btBoxShape_setMargin_1).apply(null,arguments)},FA=t._emscripten_bind_btBoxShape_getMargin_0=function(){return(FA=t._emscripten_bind_btBoxShape_getMargin_0=t.asm.emscripten_bind_btBoxShape_getMargin_0).apply(null,arguments)},BA=t._emscripten_bind_btBoxShape_setLocalScaling_1=function(){return(BA=t._emscripten_bind_btBoxShape_setLocalScaling_1=t.asm.emscripten_bind_btBoxShape_setLocalScaling_1).apply(null,arguments)},kA=t._emscripten_bind_btBoxShape_getLocalScaling_0=function(){return(kA=t._emscripten_bind_btBoxShape_getLocalScaling_0=t.asm.emscripten_bind_btBoxShape_getLocalScaling_0).apply(null,arguments)},VA=t._emscripten_bind_btBoxShape_calculateLocalInertia_2=function(){return(VA=t._emscripten_bind_btBoxShape_calculateLocalInertia_2=t.asm.emscripten_bind_btBoxShape_calculateLocalInertia_2).apply(null,arguments)},zA=t._emscripten_bind_btBoxShape___destroy___0=function(){return(zA=t._emscripten_bind_btBoxShape___destroy___0=t.asm.emscripten_bind_btBoxShape___destroy___0).apply(null,arguments)},jA=t._emscripten_bind_btFace_get_m_indices_0=function(){return(jA=t._emscripten_bind_btFace_get_m_indices_0=t.asm.emscripten_bind_btFace_get_m_indices_0).apply(null,arguments)},UA=t._emscripten_bind_btFace_set_m_indices_1=function(){return(UA=t._emscripten_bind_btFace_set_m_indices_1=t.asm.emscripten_bind_btFace_set_m_indices_1).apply(null,arguments)},GA=t._emscripten_bind_btFace_get_m_plane_1=function(){return(GA=t._emscripten_bind_btFace_get_m_plane_1=t.asm.emscripten_bind_btFace_get_m_plane_1).apply(null,arguments)},HA=t._emscripten_bind_btFace_set_m_plane_2=function(){return(HA=t._emscripten_bind_btFace_set_m_plane_2=t.asm.emscripten_bind_btFace_set_m_plane_2).apply(null,arguments)},WA=t._emscripten_bind_btFace___destroy___0=function(){return(WA=t._emscripten_bind_btFace___destroy___0=t.asm.emscripten_bind_btFace___destroy___0).apply(null,arguments)},XA=t._emscripten_bind_DebugDrawer_DebugDrawer_0=function(){return(XA=t._emscripten_bind_DebugDrawer_DebugDrawer_0=t.asm.emscripten_bind_DebugDrawer_DebugDrawer_0).apply(null,arguments)},YA=t._emscripten_bind_DebugDrawer_drawLine_3=function(){return(YA=t._emscripten_bind_DebugDrawer_drawLine_3=t.asm.emscripten_bind_DebugDrawer_drawLine_3).apply(null,arguments)},QA=t._emscripten_bind_DebugDrawer_drawContactPoint_5=function(){return(QA=t._emscripten_bind_DebugDrawer_drawContactPoint_5=t.asm.emscripten_bind_DebugDrawer_drawContactPoint_5).apply(null,arguments)},KA=t._emscripten_bind_DebugDrawer_reportErrorWarning_1=function(){return(KA=t._emscripten_bind_DebugDrawer_reportErrorWarning_1=t.asm.emscripten_bind_DebugDrawer_reportErrorWarning_1).apply(null,arguments)},ZA=t._emscripten_bind_DebugDrawer_draw3dText_2=function(){return(ZA=t._emscripten_bind_DebugDrawer_draw3dText_2=t.asm.emscripten_bind_DebugDrawer_draw3dText_2).apply(null,arguments)},qA=t._emscripten_bind_DebugDrawer_setDebugMode_1=function(){return(qA=t._emscripten_bind_DebugDrawer_setDebugMode_1=t.asm.emscripten_bind_DebugDrawer_setDebugMode_1).apply(null,arguments)},JA=t._emscripten_bind_DebugDrawer_getDebugMode_0=function(){return(JA=t._emscripten_bind_DebugDrawer_getDebugMode_0=t.asm.emscripten_bind_DebugDrawer_getDebugMode_0).apply(null,arguments)},$A=t._emscripten_bind_DebugDrawer___destroy___0=function(){return($A=t._emscripten_bind_DebugDrawer___destroy___0=t.asm.emscripten_bind_DebugDrawer___destroy___0).apply(null,arguments)},ex=t._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2=function(){return(ex=t._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2=t.asm.emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2).apply(null,arguments)},tx=t._emscripten_bind_btCapsuleShapeX_setMargin_1=function(){return(tx=t._emscripten_bind_btCapsuleShapeX_setMargin_1=t.asm.emscripten_bind_btCapsuleShapeX_setMargin_1).apply(null,arguments)},nx=t._emscripten_bind_btCapsuleShapeX_getMargin_0=function(){return(nx=t._emscripten_bind_btCapsuleShapeX_getMargin_0=t.asm.emscripten_bind_btCapsuleShapeX_getMargin_0).apply(null,arguments)},ix=t._emscripten_bind_btCapsuleShapeX_getUpAxis_0=function(){return(ix=t._emscripten_bind_btCapsuleShapeX_getUpAxis_0=t.asm.emscripten_bind_btCapsuleShapeX_getUpAxis_0).apply(null,arguments)},rx=t._emscripten_bind_btCapsuleShapeX_getRadius_0=function(){return(rx=t._emscripten_bind_btCapsuleShapeX_getRadius_0=t.asm.emscripten_bind_btCapsuleShapeX_getRadius_0).apply(null,arguments)},ox=t._emscripten_bind_btCapsuleShapeX_getHalfHeight_0=function(){return(ox=t._emscripten_bind_btCapsuleShapeX_getHalfHeight_0=t.asm.emscripten_bind_btCapsuleShapeX_getHalfHeight_0).apply(null,arguments)},ax=t._emscripten_bind_btCapsuleShapeX_setLocalScaling_1=function(){return(ax=t._emscripten_bind_btCapsuleShapeX_setLocalScaling_1=t.asm.emscripten_bind_btCapsuleShapeX_setLocalScaling_1).apply(null,arguments)},sx=t._emscripten_bind_btCapsuleShapeX_getLocalScaling_0=function(){return(sx=t._emscripten_bind_btCapsuleShapeX_getLocalScaling_0=t.asm.emscripten_bind_btCapsuleShapeX_getLocalScaling_0).apply(null,arguments)},cx=t._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2=function(){return(cx=t._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2=t.asm.emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2).apply(null,arguments)},lx=t._emscripten_bind_btCapsuleShapeX___destroy___0=function(){return(lx=t._emscripten_bind_btCapsuleShapeX___destroy___0=t.asm.emscripten_bind_btCapsuleShapeX___destroy___0).apply(null,arguments)},ux=t._emscripten_bind_btQuaternion_btQuaternion_4=function(){return(ux=t._emscripten_bind_btQuaternion_btQuaternion_4=t.asm.emscripten_bind_btQuaternion_btQuaternion_4).apply(null,arguments)},px=t._emscripten_bind_btQuaternion_setValue_4=function(){return(px=t._emscripten_bind_btQuaternion_setValue_4=t.asm.emscripten_bind_btQuaternion_setValue_4).apply(null,arguments)},hx=t._emscripten_bind_btQuaternion_setEulerZYX_3=function(){return(hx=t._emscripten_bind_btQuaternion_setEulerZYX_3=t.asm.emscripten_bind_btQuaternion_setEulerZYX_3).apply(null,arguments)},dx=t._emscripten_bind_btQuaternion_setRotation_2=function(){return(dx=t._emscripten_bind_btQuaternion_setRotation_2=t.asm.emscripten_bind_btQuaternion_setRotation_2).apply(null,arguments)},fx=t._emscripten_bind_btQuaternion_normalize_0=function(){return(fx=t._emscripten_bind_btQuaternion_normalize_0=t.asm.emscripten_bind_btQuaternion_normalize_0).apply(null,arguments)},_x=t._emscripten_bind_btQuaternion_length2_0=function(){return(_x=t._emscripten_bind_btQuaternion_length2_0=t.asm.emscripten_bind_btQuaternion_length2_0).apply(null,arguments)},mx=t._emscripten_bind_btQuaternion_length_0=function(){return(mx=t._emscripten_bind_btQuaternion_length_0=t.asm.emscripten_bind_btQuaternion_length_0).apply(null,arguments)},bx=t._emscripten_bind_btQuaternion_dot_1=function(){return(bx=t._emscripten_bind_btQuaternion_dot_1=t.asm.emscripten_bind_btQuaternion_dot_1).apply(null,arguments)},gx=t._emscripten_bind_btQuaternion_normalized_0=function(){return(gx=t._emscripten_bind_btQuaternion_normalized_0=t.asm.emscripten_bind_btQuaternion_normalized_0).apply(null,arguments)},vx=t._emscripten_bind_btQuaternion_getAxis_0=function(){return(vx=t._emscripten_bind_btQuaternion_getAxis_0=t.asm.emscripten_bind_btQuaternion_getAxis_0).apply(null,arguments)},yx=t._emscripten_bind_btQuaternion_inverse_0=function(){return(yx=t._emscripten_bind_btQuaternion_inverse_0=t.asm.emscripten_bind_btQuaternion_inverse_0).apply(null,arguments)},Cx=t._emscripten_bind_btQuaternion_getAngle_0=function(){return(Cx=t._emscripten_bind_btQuaternion_getAngle_0=t.asm.emscripten_bind_btQuaternion_getAngle_0).apply(null,arguments)},Ax=t._emscripten_bind_btQuaternion_getAngleShortestPath_0=function(){return(Ax=t._emscripten_bind_btQuaternion_getAngleShortestPath_0=t.asm.emscripten_bind_btQuaternion_getAngleShortestPath_0).apply(null,arguments)},xx=t._emscripten_bind_btQuaternion_angle_1=function(){return(xx=t._emscripten_bind_btQuaternion_angle_1=t.asm.emscripten_bind_btQuaternion_angle_1).apply(null,arguments)},Sx=t._emscripten_bind_btQuaternion_angleShortestPath_1=function(){return(Sx=t._emscripten_bind_btQuaternion_angleShortestPath_1=t.asm.emscripten_bind_btQuaternion_angleShortestPath_1).apply(null,arguments)},Tx=t._emscripten_bind_btQuaternion_op_add_1=function(){return(Tx=t._emscripten_bind_btQuaternion_op_add_1=t.asm.emscripten_bind_btQuaternion_op_add_1).apply(null,arguments)},Ex=t._emscripten_bind_btQuaternion_op_sub_1=function(){return(Ex=t._emscripten_bind_btQuaternion_op_sub_1=t.asm.emscripten_bind_btQuaternion_op_sub_1).apply(null,arguments)},Px=t._emscripten_bind_btQuaternion_op_mul_1=function(){return(Px=t._emscripten_bind_btQuaternion_op_mul_1=t.asm.emscripten_bind_btQuaternion_op_mul_1).apply(null,arguments)},Ox=t._emscripten_bind_btQuaternion_op_mulq_1=function(){return(Ox=t._emscripten_bind_btQuaternion_op_mulq_1=t.asm.emscripten_bind_btQuaternion_op_mulq_1).apply(null,arguments)},Mx=t._emscripten_bind_btQuaternion_op_div_1=function(){return(Mx=t._emscripten_bind_btQuaternion_op_div_1=t.asm.emscripten_bind_btQuaternion_op_div_1).apply(null,arguments)},Rx=t._emscripten_bind_btQuaternion_x_0=function(){return(Rx=t._emscripten_bind_btQuaternion_x_0=t.asm.emscripten_bind_btQuaternion_x_0).apply(null,arguments)},Ix=t._emscripten_bind_btQuaternion_y_0=function(){return(Ix=t._emscripten_bind_btQuaternion_y_0=t.asm.emscripten_bind_btQuaternion_y_0).apply(null,arguments)},wx=t._emscripten_bind_btQuaternion_z_0=function(){return(wx=t._emscripten_bind_btQuaternion_z_0=t.asm.emscripten_bind_btQuaternion_z_0).apply(null,arguments)},Dx=t._emscripten_bind_btQuaternion_w_0=function(){return(Dx=t._emscripten_bind_btQuaternion_w_0=t.asm.emscripten_bind_btQuaternion_w_0).apply(null,arguments)},Lx=t._emscripten_bind_btQuaternion_setX_1=function(){return(Lx=t._emscripten_bind_btQuaternion_setX_1=t.asm.emscripten_bind_btQuaternion_setX_1).apply(null,arguments)},Nx=t._emscripten_bind_btQuaternion_setY_1=function(){return(Nx=t._emscripten_bind_btQuaternion_setY_1=t.asm.emscripten_bind_btQuaternion_setY_1).apply(null,arguments)},Fx=t._emscripten_bind_btQuaternion_setZ_1=function(){return(Fx=t._emscripten_bind_btQuaternion_setZ_1=t.asm.emscripten_bind_btQuaternion_setZ_1).apply(null,arguments)},Bx=t._emscripten_bind_btQuaternion_setW_1=function(){return(Bx=t._emscripten_bind_btQuaternion_setW_1=t.asm.emscripten_bind_btQuaternion_setW_1).apply(null,arguments)},kx=t._emscripten_bind_btQuaternion___destroy___0=function(){return(kx=t._emscripten_bind_btQuaternion___destroy___0=t.asm.emscripten_bind_btQuaternion___destroy___0).apply(null,arguments)},Vx=t._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=function(){return(Vx=t._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=t.asm.emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2).apply(null,arguments)},zx=t._emscripten_bind_btCapsuleShapeZ_setMargin_1=function(){return(zx=t._emscripten_bind_btCapsuleShapeZ_setMargin_1=t.asm.emscripten_bind_btCapsuleShapeZ_setMargin_1).apply(null,arguments)},jx=t._emscripten_bind_btCapsuleShapeZ_getMargin_0=function(){return(jx=t._emscripten_bind_btCapsuleShapeZ_getMargin_0=t.asm.emscripten_bind_btCapsuleShapeZ_getMargin_0).apply(null,arguments)},Ux=t._emscripten_bind_btCapsuleShapeZ_getUpAxis_0=function(){return(Ux=t._emscripten_bind_btCapsuleShapeZ_getUpAxis_0=t.asm.emscripten_bind_btCapsuleShapeZ_getUpAxis_0).apply(null,arguments)},Gx=t._emscripten_bind_btCapsuleShapeZ_getRadius_0=function(){return(Gx=t._emscripten_bind_btCapsuleShapeZ_getRadius_0=t.asm.emscripten_bind_btCapsuleShapeZ_getRadius_0).apply(null,arguments)},Hx=t._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0=function(){return(Hx=t._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0=t.asm.emscripten_bind_btCapsuleShapeZ_getHalfHeight_0).apply(null,arguments)},Wx=t._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=function(){return(Wx=t._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=t.asm.emscripten_bind_btCapsuleShapeZ_setLocalScaling_1).apply(null,arguments)},Xx=t._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0=function(){return(Xx=t._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0=t.asm.emscripten_bind_btCapsuleShapeZ_getLocalScaling_0).apply(null,arguments)},Yx=t._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2=function(){return(Yx=t._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2=t.asm.emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2).apply(null,arguments)},Qx=t._emscripten_bind_btCapsuleShapeZ___destroy___0=function(){return(Qx=t._emscripten_bind_btCapsuleShapeZ___destroy___0=t.asm.emscripten_bind_btCapsuleShapeZ___destroy___0).apply(null,arguments)},Kx=t._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0=function(){return(Kx=t._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0=t.asm.emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0).apply(null,arguments)},Zx=t._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1=function(){return(Zx=t._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1=t.asm.emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1).apply(null,arguments)},qx=t._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0=function(){return(qx=t._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0=t.asm.emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0).apply(null,arguments)},Jx=t._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1=function(){return(Jx=t._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1=t.asm.emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1).apply(null,arguments)},$x=t._emscripten_bind_btContactSolverInfo_get_m_numIterations_0=function(){return($x=t._emscripten_bind_btContactSolverInfo_get_m_numIterations_0=t.asm.emscripten_bind_btContactSolverInfo_get_m_numIterations_0).apply(null,arguments)},eS=t._emscripten_bind_btContactSolverInfo_set_m_numIterations_1=function(){return(eS=t._emscripten_bind_btContactSolverInfo_set_m_numIterations_1=t.asm.emscripten_bind_btContactSolverInfo_set_m_numIterations_1).apply(null,arguments)},tS=t._emscripten_bind_btContactSolverInfo___destroy___0=function(){return(tS=t._emscripten_bind_btContactSolverInfo___destroy___0=t.asm.emscripten_bind_btContactSolverInfo___destroy___0).apply(null,arguments)},nS=t._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3=function(){return(nS=t._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3).apply(null,arguments)},iS=t._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5=function(){return(iS=t._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5).apply(null,arguments)},rS=t._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2=function(){return(rS=t._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2).apply(null,arguments)},oS=t._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2=function(){return(oS=t._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2).apply(null,arguments)},aS=t._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2=function(){return(aS=t._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2).apply(null,arguments)},sS=t._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_0=function(){return(sS=t._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_0=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_0).apply(null,arguments)},cS=t._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_1=function(){return(cS=t._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_1=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_1).apply(null,arguments)},lS=t._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_2=function(){return(lS=t._emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_2=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_2).apply(null,arguments)},uS=t._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1=function(){return(uS=t._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1).apply(null,arguments)},pS=t._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1=function(){return(pS=t._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1).apply(null,arguments)},hS=t._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=function(){return(hS=t._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1).apply(null,arguments)},dS=t._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1=function(){return(dS=t._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1).apply(null,arguments)},fS=t._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0=function(){return(fS=t._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0).apply(null,arguments)},_S=t._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1=function(){return(_S=t._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1).apply(null,arguments)},mS=t._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0=function(){return(mS=t._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0).apply(null,arguments)},bS=t._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=function(){return(bS=t._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1).apply(null,arguments)},gS=t._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2=function(){return(gS=t._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_getParam_2).apply(null,arguments)},vS=t._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3=function(){return(vS=t._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3=t.asm.emscripten_bind_btGeneric6DofSpringConstraint_setParam_3).apply(null,arguments)},yS=t._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=function(){return(yS=t._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=t.asm.emscripten_bind_btGeneric6DofSpringConstraint___destroy___0).apply(null,arguments)},CS=t._emscripten_bind_btSphereShape_btSphereShape_1=function(){return(CS=t._emscripten_bind_btSphereShape_btSphereShape_1=t.asm.emscripten_bind_btSphereShape_btSphereShape_1).apply(null,arguments)},AS=t._emscripten_bind_btSphereShape_setMargin_1=function(){return(AS=t._emscripten_bind_btSphereShape_setMargin_1=t.asm.emscripten_bind_btSphereShape_setMargin_1).apply(null,arguments)},xS=t._emscripten_bind_btSphereShape_getMargin_0=function(){return(xS=t._emscripten_bind_btSphereShape_getMargin_0=t.asm.emscripten_bind_btSphereShape_getMargin_0).apply(null,arguments)},SS=t._emscripten_bind_btSphereShape_setLocalScaling_1=function(){return(SS=t._emscripten_bind_btSphereShape_setLocalScaling_1=t.asm.emscripten_bind_btSphereShape_setLocalScaling_1).apply(null,arguments)},TS=t._emscripten_bind_btSphereShape_getLocalScaling_0=function(){return(TS=t._emscripten_bind_btSphereShape_getLocalScaling_0=t.asm.emscripten_bind_btSphereShape_getLocalScaling_0).apply(null,arguments)},ES=t._emscripten_bind_btSphereShape_calculateLocalInertia_2=function(){return(ES=t._emscripten_bind_btSphereShape_calculateLocalInertia_2=t.asm.emscripten_bind_btSphereShape_calculateLocalInertia_2).apply(null,arguments)},PS=t._emscripten_bind_btSphereShape___destroy___0=function(){return(PS=t._emscripten_bind_btSphereShape___destroy___0=t.asm.emscripten_bind_btSphereShape___destroy___0).apply(null,arguments)},OS=t._emscripten_bind_Face_get_m_n_1=function(){return(OS=t._emscripten_bind_Face_get_m_n_1=t.asm.emscripten_bind_Face_get_m_n_1).apply(null,arguments)},MS=t._emscripten_bind_Face_set_m_n_2=function(){return(MS=t._emscripten_bind_Face_set_m_n_2=t.asm.emscripten_bind_Face_set_m_n_2).apply(null,arguments)},RS=t._emscripten_bind_Face_get_m_normal_0=function(){return(RS=t._emscripten_bind_Face_get_m_normal_0=t.asm.emscripten_bind_Face_get_m_normal_0).apply(null,arguments)},IS=t._emscripten_bind_Face_set_m_normal_1=function(){return(IS=t._emscripten_bind_Face_set_m_normal_1=t.asm.emscripten_bind_Face_set_m_normal_1).apply(null,arguments)},wS=t._emscripten_bind_Face_get_m_ra_0=function(){return(wS=t._emscripten_bind_Face_get_m_ra_0=t.asm.emscripten_bind_Face_get_m_ra_0).apply(null,arguments)},DS=t._emscripten_bind_Face_set_m_ra_1=function(){return(DS=t._emscripten_bind_Face_set_m_ra_1=t.asm.emscripten_bind_Face_set_m_ra_1).apply(null,arguments)},LS=t._emscripten_bind_Face___destroy___0=function(){return(LS=t._emscripten_bind_Face___destroy___0=t.asm.emscripten_bind_Face___destroy___0).apply(null,arguments)},NS=t._emscripten_bind_tFaceArray_size_0=function(){return(NS=t._emscripten_bind_tFaceArray_size_0=t.asm.emscripten_bind_tFaceArray_size_0).apply(null,arguments)},FS=t._emscripten_bind_tFaceArray_at_1=function(){return(FS=t._emscripten_bind_tFaceArray_at_1=t.asm.emscripten_bind_tFaceArray_at_1).apply(null,arguments)},BS=t._emscripten_bind_tFaceArray___destroy___0=function(){return(BS=t._emscripten_bind_tFaceArray___destroy___0=t.asm.emscripten_bind_tFaceArray___destroy___0).apply(null,arguments)},kS=t._emscripten_bind_LocalConvexResult_LocalConvexResult_5=function(){return(kS=t._emscripten_bind_LocalConvexResult_LocalConvexResult_5=t.asm.emscripten_bind_LocalConvexResult_LocalConvexResult_5).apply(null,arguments)},VS=t._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0=function(){return(VS=t._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0=t.asm.emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0).apply(null,arguments)},zS=t._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1=function(){return(zS=t._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1=t.asm.emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1).apply(null,arguments)},jS=t._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0=function(){return(jS=t._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0=t.asm.emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0).apply(null,arguments)},US=t._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1=function(){return(US=t._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1=t.asm.emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1).apply(null,arguments)},GS=t._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0=function(){return(GS=t._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0=t.asm.emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0).apply(null,arguments)},HS=t._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1=function(){return(HS=t._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1=t.asm.emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1).apply(null,arguments)},WS=t._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0=function(){return(WS=t._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0=t.asm.emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0).apply(null,arguments)},XS=t._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1=function(){return(XS=t._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1=t.asm.emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1).apply(null,arguments)},YS=t._emscripten_bind_LocalConvexResult_get_m_hitFraction_0=function(){return(YS=t._emscripten_bind_LocalConvexResult_get_m_hitFraction_0=t.asm.emscripten_bind_LocalConvexResult_get_m_hitFraction_0).apply(null,arguments)},QS=t._emscripten_bind_LocalConvexResult_set_m_hitFraction_1=function(){return(QS=t._emscripten_bind_LocalConvexResult_set_m_hitFraction_1=t.asm.emscripten_bind_LocalConvexResult_set_m_hitFraction_1).apply(null,arguments)},KS=t._emscripten_bind_LocalConvexResult___destroy___0=function(){return(KS=t._emscripten_bind_LocalConvexResult___destroy___0=t.asm.emscripten_bind_LocalConvexResult___destroy___0).apply(null,arguments)},ZS=t._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP=function(){return(ZS=t._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP=t.asm.emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP).apply(null,arguments)},qS=t._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP=function(){return(qS=t._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP=t.asm.emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP).apply(null,arguments)},JS=t._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM=function(){return(JS=t._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM=t.asm.emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM).apply(null,arguments)},$S=t._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM=function(){return($S=t._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM=t.asm.emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM).apply(null,arguments)},eT=t._emscripten_enum_PHY_ScalarType_PHY_FLOAT=function(){return(eT=t._emscripten_enum_PHY_ScalarType_PHY_FLOAT=t.asm.emscripten_enum_PHY_ScalarType_PHY_FLOAT).apply(null,arguments)},tT=t._emscripten_enum_PHY_ScalarType_PHY_DOUBLE=function(){return(tT=t._emscripten_enum_PHY_ScalarType_PHY_DOUBLE=t.asm.emscripten_enum_PHY_ScalarType_PHY_DOUBLE).apply(null,arguments)},nT=t._emscripten_enum_PHY_ScalarType_PHY_INTEGER=function(){return(nT=t._emscripten_enum_PHY_ScalarType_PHY_INTEGER=t.asm.emscripten_enum_PHY_ScalarType_PHY_INTEGER).apply(null,arguments)},iT=t._emscripten_enum_PHY_ScalarType_PHY_SHORT=function(){return(iT=t._emscripten_enum_PHY_ScalarType_PHY_SHORT=t.asm.emscripten_enum_PHY_ScalarType_PHY_SHORT).apply(null,arguments)},rT=t._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88=function(){return(rT=t._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88=t.asm.emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88).apply(null,arguments)},oT=t._emscripten_enum_PHY_ScalarType_PHY_UCHAR=function(){return(oT=t._emscripten_enum_PHY_ScalarType_PHY_UCHAR=t.asm.emscripten_enum_PHY_ScalarType_PHY_UCHAR).apply(null,arguments)};t._malloc=function(){return(t._malloc=t.asm.malloc).apply(null,arguments)},t._free=function(){return(t._free=t.asm.free).apply(null,arguments)};var aT,sT=t.__growWasmMemory=function(){return(sT=t.__growWasmMemory=t.asm.__growWasmMemory).apply(null,arguments)};function cT(){function e(){if(!aT&&(aT=!0,t.calledRun=!0,!M)){if(W=!0,z(U),z(G),c(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;){var e=t.postRun.shift();H.unshift(e)}z(H)}}if(!(0=n);)++t;if(16(i=224==(240&i)?(15&i)<<12|r<<6|o:(7&i)<<18|r<<12|o<<6|63&D[e++])?n+=String.fromCharCode(i):(i-=65536,n+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else n+=String.fromCharCode(i)}e=n}}else e="";return e},Z=function e(){aT||cT(),aT||(Z=e)},t.run=cT,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);0=dT?(R(0>>=0,t.BYTES_PER_ELEMENT){case 2:n>>>=1;break;case 4:n>>>=2;break;case 8:n>>>=3}for(var i=0;i=i&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++n)),127>=i?++t:t=2047>=i?t+2:65535>=i?t+3:t+4}if(n=0,0<(i=(t=Array(t+1)).length)){i=n+i-1;for(var r=0;r=o&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++r)),127>=o){if(n>=i)break;t[n++]=o}else{if(2047>=o){if(n+1>=i)break;t[n++]=192|o>>6}else{if(65535>=o){if(n+2>=i)break;t[n++]=224|o>>12}else{if(n+3>=i)break;t[n++]=240|o>>18,t[n++]=128|o>>12&63}t[n++]=128|o>>6&63}t[n++]=128|63&o}}t[n]=0}e=gT(t,w),vT(t,w,e)}return e}function CT(e){if("object"==typeof e){var t=gT(e,N);return vT(e,N,t),t}return e}function AT(){throw"cannot construct a btCollisionWorld, no constructor in IDL"}function xT(){throw"cannot construct a btCollisionShape, no constructor in IDL"}function ST(){throw"cannot construct a btCollisionObject, no constructor in IDL"}function TT(){throw"cannot construct a btDynamicsWorld, no constructor in IDL"}function ET(){throw"cannot construct a btTypedConstraint, no constructor in IDL"}function PT(){throw"cannot construct a btConcaveShape, no constructor in IDL"}function OT(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=Wt(e,t),uT(OT)[this.a]=this}function MT(){throw"cannot construct a btIDebugDraw, no constructor in IDL"}function RT(e){e&&"object"==typeof e&&(e=e.a),this.a=void 0===e?ln():un(e),uT(RT)[this.a]=this}function IT(){throw"cannot construct a btTriangleMeshShape, no constructor in IDL"}function wT(){this.a=mn(),uT(wT)[this.a]=this}function DT(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=Kn(e,t),uT(DT)[this.a]=this}function LT(){throw"cannot construct a btActionInterface, no constructor in IDL"}function NT(e,t,n){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),this.a=void 0===e?ni():void 0===t?_emscripten_bind_btVector3_btVector3_1(e):void 0===n?_emscripten_bind_btVector3_btVector3_2(e,t):ii(e,t,n),uT(NT)[this.a]=this}function FT(){throw"cannot construct a btVehicleRaycaster, no constructor in IDL"}function BT(){throw"cannot construct a btQuadWord, no constructor in IDL"}function kT(e){e&&"object"==typeof e&&(e=e.a),this.a=Ri(e),uT(kT)[this.a]=this}function VT(e,t,n,i){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),this.a=Bi(e,t,n,i),uT(VT)[this.a]=this}function zT(){throw"cannot construct a btConvexShape, no constructor in IDL"}function jT(){throw"cannot construct a btDispatcher, no constructor in IDL"}function UT(e,t,n,i,r){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),this.a=void 0===i?Ir(e,t,n):void 0===r?_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_4(e,t,n,i):wr(e,t,n,i,r),uT(UT)[this.a]=this}function GT(){throw"cannot construct a btStridingMeshInterface, no constructor in IDL"}function HT(){throw"cannot construct a btMotionState, no constructor in IDL"}function WT(){throw"cannot construct a ConvexResultCallback, no constructor in IDL"}function XT(){throw"cannot construct a ContactResultCallback, no constructor in IDL"}function YT(){throw"cannot construct a btSoftBodySolver, no constructor in IDL"}function QT(){throw"cannot construct a RayResultCallback, no constructor in IDL"}function KT(){throw"cannot construct a btMatrix3x3, no constructor in IDL"}function ZT(){throw"cannot construct a btScalarArray, no constructor in IDL"}function qT(){throw"cannot construct a Material, no constructor in IDL"}function JT(){throw"cannot construct a btDispatcherInfo, no constructor in IDL"}function $T(){throw"cannot construct a btWheelInfoConstructionInfo, no constructor in IDL"}function eE(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=void 0===t?Pa(e):Oa(e,t),uT(eE)[this.a]=this}function tE(){throw"cannot construct a btBroadphaseInterface, no constructor in IDL"}function nE(e,t,n,i){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),this.a=void 0===i?Ba(e,t,n):ka(e,t,n,i),uT(nE)[this.a]=this}function iE(){throw"cannot construct a btCollisionConfiguration, no constructor in IDL"}function rE(){this.a=ps(),uT(rE)[this.a]=this}function oE(e){e&&"object"==typeof e&&(e=e.a),this.a=void 0===e?bs():gs(e),uT(oE)[this.a]=this}function aE(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=ws(e,t),uT(aE)[this.a]=this}function sE(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=Ks(e,t),uT(sE)[this.a]=this}function cE(){throw"cannot construct a tMaterialArray, no constructor in IDL"}function lE(e){e&&"object"==typeof e&&(e=e.a),this.a=Cc(e),uT(lE)[this.a]=this}function uE(){this.a=Sc(),uT(uE)[this.a]=this}function pE(){this.a=Mc(),uT(pE)[this.a]=this}function hE(){throw"cannot construct a LocalShapeInfo, no constructor in IDL"}function dE(e){e&&"object"==typeof e&&(e=e.a),this.a=Uc(e),uT(dE)[this.a]=this}function fE(){throw"cannot construct a btIndexedMeshArray, no constructor in IDL"}function _E(){this.a=tu(),uT(_E)[this.a]=this}function mE(e,t,n,i,r,o,a,s,c){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),o&&"object"==typeof o&&(o=o.a),a&&"object"==typeof a&&(a=a.a),s&&"object"==typeof s&&(s=s.a),c&&"object"==typeof c&&(c=c.a),this.a=iu(e,t,n,i,r,o,a,s,c),uT(mE)[this.a]=this}function bE(){this.a=uu(),uT(bE)[this.a]=this}function gE(e){e&&"object"==typeof e&&(e=e.a),this.a=hu(e),uT(gE)[this.a]=this}function vE(e,t,n,i,r){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),this.a=void 0===n?mu(e,t):void 0===i?bu(e,t,n):void 0===r?gu(e,t,n,i):vu(e,t,n,i,r),uT(vE)[this.a]=this}function yE(){throw"cannot construct a VoidPtr, no constructor in IDL"}function CE(){this.a=Au(),uT(CE)[this.a]=this}function AE(e,t,n,i){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),this.a=void 0===n?zu(e,t):void 0===i?_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_3(e,t,n):ju(e,t,n,i),uT(AE)[this.a]=this}function xE(e,t,n,i,r,o,a){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),o&&"object"==typeof o&&(o=o.a),a&&"object"==typeof a&&(a=a.a),this.a=void 0===n?np(e,t):void 0===i?ip(e,t,n):void 0===r?rp(e,t,n,i):void 0===o?op(e,t,n,i,r):void 0===a?ap(e,t,n,i,r,o):sp(e,t,n,i,r,o,a),uT(xE)[this.a]=this}function SE(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=Cp(e,t),uT(SE)[this.a]=this}function TE(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=Ep(e,t),uT(TE)[this.a]=this}function EE(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=void 0===e?Ip():void 0===t?wp(e):Dp(e,t),uT(EE)[this.a]=this}function PE(e,t){bT(),"object"==typeof e&&(e=CT(e)),t&&"object"==typeof t&&(t=t.a),this.a=void 0===e?jp():void 0===t?Up(e):Gp(e,t),uT(PE)[this.a]=this}function OE(){this.a=nh(),uT(OE)[this.a]=this}function ME(){throw"cannot construct a btCollisionObjectWrapper, no constructor in IDL"}function RE(e){e&&"object"==typeof e&&(e=e.a),this.a=gh(e),uT(RE)[this.a]=this}function IE(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=void 0===e?xh():void 0===t?Sh(e):Th(e,t),uT(IE)[this.a]=this}function wE(e){e&&"object"==typeof e&&(e=e.a),this.a=Ih(e),uT(wE)[this.a]=this}function DE(e,t,n,i){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),this.a=void 0===e?Md():void 0===t?_emscripten_bind_btVector4_btVector4_1(e):void 0===n?_emscripten_bind_btVector4_btVector4_2(e,t):void 0===i?_emscripten_bind_btVector4_btVector4_3(e,t,n):Rd(e,t,n,i),uT(DE)[this.a]=this}function LE(){this.a=Yd(),uT(LE)[this.a]=this}function NE(){throw"cannot construct a Anchor, no constructor in IDL"}function FE(){throw"cannot construct a btVehicleRaycasterResult, no constructor in IDL"}function BE(){throw"cannot construct a btVector3Array, no constructor in IDL"}function kE(){throw"cannot construct a btConstraintSolver, no constructor in IDL"}function VE(e,t,n){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),this.a=Af(e,t,n),uT(VE)[this.a]=this}function zE(e){e&&"object"==typeof e&&(e=e.a),this.a=e_(e),uT(zE)[this.a]=this}function jE(e){e&&"object"==typeof e&&(e=e.a),this.a=s_(e),uT(jE)[this.a]=this}function UE(){throw"cannot construct a btConvexPolyhedron, no constructor in IDL"}function GE(){this.a=v_(),uT(GE)[this.a]=this}function HE(){throw"cannot construct a tAnchorArray, no constructor in IDL"}function WE(){throw"cannot construct a RaycastInfo, no constructor in IDL"}function XE(e,t,n){bT(),e&&"object"==typeof e&&(e=e.a),"object"==typeof t&&(t=CT(t)),n&&"object"==typeof n&&(n=n.a),this.a=H_(e,t,n),uT(XE)[this.a]=this}function YE(e,t,n,i){bT(),e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),"object"==typeof i&&(i=CT(i)),this.a=K_(e,t,n,i),uT(YE)[this.a]=this}function QE(){throw"cannot construct a btIntArray, no constructor in IDL"}function KE(){throw"cannot construct a Config, no constructor in IDL"}function ZE(){throw"cannot construct a Node, no constructor in IDL"}function qE(){this.a=vg(),uT(qE)[this.a]=this}function JE(){throw"cannot construct a btOverlappingPairCallback, no constructor in IDL"}function $E(e,t,n,i){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),this.a=void 0===i?Ag(e,t,n):xg(e,t,n,i),uT($E)[this.a]=this}function eP(){throw"cannot construct a btSoftBodyArray, no constructor in IDL"}function tP(){throw"cannot construct a btFaceArray, no constructor in IDL"}function nP(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=qg(e,t),uT(nP)[this.a]=this}function iP(){throw"cannot construct a btOverlappingPairCache, no constructor in IDL"}function rP(){throw"cannot construct a btIndexedMesh, no constructor in IDL"}function oP(e,t,n,i,r){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),this.a=cv(e,t,n,i,r),uT(oP)[this.a]=this}function aP(e,t,n,i){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),this.a=qv(e,t,n,i),uT(aP)[this.a]=this}function sP(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=void 0===e?ry():void 0===t?_emscripten_bind_btTransform_btTransform_1(e):oy(e,t),uT(sP)[this.a]=this}function cP(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=my(e,t),uT(cP)[this.a]=this}function lP(e){e&&"object"==typeof e&&(e=e.a),this.a=void 0===e?Ny():Fy(e),uT(lP)[this.a]=this}function uP(){this.a=ky(),uT(uP)[this.a]=this}function pP(e,t,n){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),this.a=void 0===n?jy(e,t):Uy(e,t,n),uT(pP)[this.a]=this}function hP(){throw"cannot construct a btConstCollisionObjectArray, no constructor in IDL"}function dP(e,t,n,i,r){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),this.a=void 0===i?Zy(e,t,n):void 0===r?_emscripten_bind_btSliderConstraint_btSliderConstraint_4(e,t,n,i):qy(e,t,n,i,r),uT(dP)[this.a]=this}function fP(){this.a=cC(),uT(fP)[this.a]=this}function _P(){throw"cannot construct a btManifoldPoint, no constructor in IDL"}function mP(e,t,n,i){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),this.a=void 0===n?rA(e,t):void 0===i?_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_3(e,t,n):oA(e,t,n,i),uT(mP)[this.a]=this}function bP(){this.a=gA(),uT(bP)[this.a]=this}function gP(){throw"cannot construct a btBroadphaseProxy, no constructor in IDL"}function vP(){throw"cannot construct a tNodeArray, no constructor in IDL"}function yP(e){e&&"object"==typeof e&&(e=e.a),this.a=LA(e),uT(yP)[this.a]=this}function CP(){throw"cannot construct a btFace, no constructor in IDL"}function AP(){this.a=XA(),uT(AP)[this.a]=this}function xP(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=ex(e,t),uT(xP)[this.a]=this}function SP(e,t,n,i){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),this.a=ux(e,t,n,i),uT(SP)[this.a]=this}function TP(e,t){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),this.a=Vx(e,t),uT(TP)[this.a]=this}function EP(){throw"cannot construct a btContactSolverInfo, no constructor in IDL"}function PP(e,t,n,i,r){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),this.a=void 0===i?nS(e,t,n):void 0===r?_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_4(e,t,n,i):iS(e,t,n,i,r),uT(PP)[this.a]=this}function OP(e){e&&"object"==typeof e&&(e=e.a),this.a=CS(e),uT(OP)[this.a]=this}function MP(){throw"cannot construct a Face, no constructor in IDL"}function RP(){throw"cannot construct a tFaceArray, no constructor in IDL"}function IP(e,t,n,i,r){e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),this.a=kS(e,t,n,i,r),uT(IP)[this.a]=this}return AT.prototype=Object.create(lT.prototype),AT.prototype.constructor=AT,AT.prototype.b=AT,AT.c={},t.btCollisionWorld=AT,AT.prototype.getDispatcher=function(){return pT(pe(this.a),jT)},AT.prototype.rayTest=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),he(i,e,t,n)},AT.prototype.getPairCache=function(){return pT(de(this.a),iP)},AT.prototype.getDispatchInfo=function(){return pT(fe(this.a),JT)},AT.prototype.addCollisionObject=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),void 0===t?_e(i,e):void 0===n?me(i,e,t):be(i,e,t,n)},AT.prototype.removeCollisionObject=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ge(t,e)},AT.prototype.getBroadphase=function(){return pT(ve(this.a),tE)},AT.prototype.convexSweepTest=function(e,t,n,i,r){var o=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),ye(o,e,t,n,i,r)},AT.prototype.contactPairTest=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),Ce(i,e,t,n)},AT.prototype.contactTest=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Ae(n,e,t)},AT.prototype.updateSingleAabb=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),xe(t,e)},AT.prototype.setDebugDrawer=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Se(t,e)},AT.prototype.getDebugDrawer=function(){return pT(Te(this.a),MT)},AT.prototype.debugDrawWorld=function(){Ee(this.a)},AT.prototype.debugDrawObject=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),Pe(i,e,t,n)},AT.prototype.__destroy__=function(){Oe(this.a)},xT.prototype=Object.create(lT.prototype),xT.prototype.constructor=xT,xT.prototype.b=xT,xT.c={},t.btCollisionShape=xT,xT.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Me(t,e)},xT.prototype.getLocalScaling=function(){return pT(Re(this.a),NT)},xT.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Ie(n,e,t)},xT.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),we(t,e)},xT.prototype.getMargin=function(){return De(this.a)},xT.prototype.__destroy__=function(){Le(this.a)},ST.prototype=Object.create(lT.prototype),ST.prototype.constructor=ST,ST.prototype.b=ST,ST.c={},t.btCollisionObject=ST,ST.prototype.setAnisotropicFriction=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Ne(n,e,t)},ST.prototype.getCollisionShape=function(){return pT(Fe(this.a),xT)},ST.prototype.setContactProcessingThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Be(t,e)},ST.prototype.setActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ke(t,e)},ST.prototype.forceActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ve(t,e)},ST.prototype.activate=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),void 0===e?ze(t):je(t,e)},ST.prototype.isActive=function(){return!!Ue(this.a)},ST.prototype.isKinematicObject=function(){return!!Ge(this.a)},ST.prototype.isStaticObject=function(){return!!He(this.a)},ST.prototype.isStaticOrKinematicObject=function(){return!!We(this.a)},ST.prototype.getRestitution=function(){return Xe(this.a)},ST.prototype.getFriction=function(){return Ye(this.a)},ST.prototype.getRollingFriction=function(){return Qe(this.a)},ST.prototype.setRestitution=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ke(t,e)},ST.prototype.setFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ze(t,e)},ST.prototype.setRollingFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),qe(t,e)},ST.prototype.getWorldTransform=function(){return pT(Je(this.a),sP)},ST.prototype.getCollisionFlags=function(){return $e(this.a)},ST.prototype.setCollisionFlags=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),et(t,e)},ST.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),tt(t,e)},ST.prototype.setCollisionShape=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),nt(t,e)},ST.prototype.setCcdMotionThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),it(t,e)},ST.prototype.setCcdSweptSphereRadius=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),rt(t,e)},ST.prototype.getUserIndex=function(){return ot(this.a)},ST.prototype.setUserIndex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),at(t,e)},ST.prototype.getUserPointer=function(){return pT(st(this.a),yE)},ST.prototype.setUserPointer=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ct(t,e)},ST.prototype.getBroadphaseHandle=function(){return pT(lt(this.a),gP)},ST.prototype.__destroy__=function(){ut(this.a)},TT.prototype=Object.create(AT.prototype),TT.prototype.constructor=TT,TT.prototype.b=TT,TT.c={},t.btDynamicsWorld=TT,TT.prototype.addAction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pt(t,e)},TT.prototype.removeAction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ht(t,e)},TT.prototype.getSolverInfo=function(){return pT(dt(this.a),EP)},TT.prototype.setInternalTickCallback=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),void 0===t?ft(i,e):void 0===n?_t(i,e,t):mt(i,e,t,n)},TT.prototype.getDispatcher=function(){return pT(bt(this.a),jT)},TT.prototype.rayTest=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),gt(i,e,t,n)},TT.prototype.getPairCache=function(){return pT(vt(this.a),iP)},TT.prototype.getDispatchInfo=function(){return pT(yt(this.a),JT)},TT.prototype.addCollisionObject=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),void 0===t?Ct(i,e):void 0===n?At(i,e,t):xt(i,e,t,n)},TT.prototype.removeCollisionObject=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),St(t,e)},TT.prototype.getBroadphase=function(){return pT(Tt(this.a),tE)},TT.prototype.convexSweepTest=function(e,t,n,i,r){var o=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),Et(o,e,t,n,i,r)},TT.prototype.contactPairTest=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),Pt(i,e,t,n)},TT.prototype.contactTest=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Ot(n,e,t)},TT.prototype.updateSingleAabb=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Mt(t,e)},TT.prototype.setDebugDrawer=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Rt(t,e)},TT.prototype.getDebugDrawer=function(){return pT(It(this.a),MT)},TT.prototype.debugDrawWorld=function(){wt(this.a)},TT.prototype.debugDrawObject=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),Dt(i,e,t,n)},TT.prototype.__destroy__=function(){Lt(this.a)},ET.prototype=Object.create(lT.prototype),ET.prototype.constructor=ET,ET.prototype.b=ET,ET.c={},t.btTypedConstraint=ET,ET.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Nt(t,e)},ET.prototype.getBreakingImpulseThreshold=function(){return Ft(this.a)},ET.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bt(t,e)},ET.prototype.getParam=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),kt(n,e,t)},ET.prototype.setParam=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),Vt(i,e,t,n)},ET.prototype.__destroy__=function(){zt(this.a)},PT.prototype=Object.create(xT.prototype),PT.prototype.constructor=PT,PT.prototype.b=PT,PT.c={},t.btConcaveShape=PT,PT.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jt(t,e)},PT.prototype.getLocalScaling=function(){return pT(Ut(this.a),NT)},PT.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Gt(n,e,t)},PT.prototype.__destroy__=function(){Ht(this.a)},OT.prototype=Object.create(xT.prototype),OT.prototype.constructor=OT,OT.prototype.b=OT,OT.c={},t.btCapsuleShape=OT,OT.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Xt(t,e)},OT.prototype.getMargin=function(){return Yt(this.a)},OT.prototype.getUpAxis=function(){return Qt(this.a)},OT.prototype.getRadius=function(){return Kt(this.a)},OT.prototype.getHalfHeight=function(){return Zt(this.a)},OT.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),qt(t,e)},OT.prototype.getLocalScaling=function(){return pT(Jt(this.a),NT)},OT.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),$t(n,e,t)},OT.prototype.__destroy__=function(){en(this.a)},MT.prototype=Object.create(lT.prototype),MT.prototype.constructor=MT,MT.prototype.b=MT,MT.c={},t.btIDebugDraw=MT,MT.prototype.drawLine=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),tn(i,e,t,n)},MT.prototype.drawContactPoint=function(e,t,n,i,r){var o=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),nn(o,e,t,n,i,r)},MT.prototype.reportErrorWarning=function(e){var t=this.a;bT(),e=e&&"object"==typeof e?e.a:yT(e),rn(t,e)},MT.prototype.draw3dText=function(e,t){var n=this.a;bT(),e&&"object"==typeof e&&(e=e.a),t=t&&"object"==typeof t?t.a:yT(t),on(n,e,t)},MT.prototype.setDebugMode=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),an(t,e)},MT.prototype.getDebugMode=function(){return sn(this.a)},MT.prototype.__destroy__=function(){cn(this.a)},RT.prototype=Object.create(lT.prototype),RT.prototype.constructor=RT,RT.prototype.b=RT,RT.c={},t.btDefaultCollisionConfiguration=RT,RT.prototype.__destroy__=function(){pn(this.a)},IT.prototype=Object.create(PT.prototype),IT.prototype.constructor=IT,IT.prototype.b=IT,IT.c={},t.btTriangleMeshShape=IT,IT.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hn(t,e)},IT.prototype.getLocalScaling=function(){return pT(dn(this.a),NT)},IT.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),fn(n,e,t)},IT.prototype.__destroy__=function(){_n(this.a)},wT.prototype=Object.create(ST.prototype),wT.prototype.constructor=wT,wT.prototype.b=wT,wT.c={},t.btGhostObject=wT,wT.prototype.getNumOverlappingObjects=function(){return bn(this.a)},wT.prototype.getOverlappingObject=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(gn(t,e),ST)},wT.prototype.setAnisotropicFriction=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),vn(n,e,t)},wT.prototype.getCollisionShape=function(){return pT(yn(this.a),xT)},wT.prototype.setContactProcessingThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Cn(t,e)},wT.prototype.setActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),An(t,e)},wT.prototype.forceActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),xn(t,e)},wT.prototype.activate=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),void 0===e?Sn(t):Tn(t,e)},wT.prototype.isActive=function(){return!!En(this.a)},wT.prototype.isKinematicObject=function(){return!!Pn(this.a)},wT.prototype.isStaticObject=function(){return!!On(this.a)},wT.prototype.isStaticOrKinematicObject=function(){return!!Mn(this.a)},wT.prototype.getRestitution=function(){return Rn(this.a)},wT.prototype.getFriction=function(){return In(this.a)},wT.prototype.getRollingFriction=function(){return wn(this.a)},wT.prototype.setRestitution=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Dn(t,e)},wT.prototype.setFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ln(t,e)},wT.prototype.setRollingFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Nn(t,e)},wT.prototype.getWorldTransform=function(){return pT(Fn(this.a),sP)},wT.prototype.getCollisionFlags=function(){return Bn(this.a)},wT.prototype.setCollisionFlags=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),kn(t,e)},wT.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vn(t,e)},wT.prototype.setCollisionShape=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zn(t,e)},wT.prototype.setCcdMotionThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jn(t,e)},wT.prototype.setCcdSweptSphereRadius=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Un(t,e)},wT.prototype.getUserIndex=function(){return Gn(this.a)},wT.prototype.setUserIndex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Hn(t,e)},wT.prototype.getUserPointer=function(){return pT(Wn(this.a),yE)},wT.prototype.setUserPointer=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Xn(t,e)},wT.prototype.getBroadphaseHandle=function(){return pT(Yn(this.a),gP)},wT.prototype.__destroy__=function(){Qn(this.a)},DT.prototype=Object.create(xT.prototype),DT.prototype.constructor=DT,DT.prototype.b=DT,DT.c={},t.btConeShape=DT,DT.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zn(t,e)},DT.prototype.getLocalScaling=function(){return pT(qn(this.a),NT)},DT.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Jn(n,e,t)},DT.prototype.__destroy__=function(){$n(this.a)},LT.prototype=Object.create(lT.prototype),LT.prototype.constructor=LT,LT.prototype.b=LT,LT.c={},t.btActionInterface=LT,LT.prototype.updateAction=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),ei(n,e,t)},LT.prototype.__destroy__=function(){ti(this.a)},NT.prototype=Object.create(lT.prototype),NT.prototype.constructor=NT,NT.prototype.b=NT,NT.c={},t.btVector3=NT,NT.prototype.length=NT.prototype.length=function(){return ri(this.a)},NT.prototype.x=NT.prototype.x=function(){return oi(this.a)},NT.prototype.y=NT.prototype.y=function(){return ai(this.a)},NT.prototype.z=NT.prototype.z=function(){return si(this.a)},NT.prototype.setX=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ci(t,e)},NT.prototype.setY=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),li(t,e)},NT.prototype.setZ=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ui(t,e)},NT.prototype.setValue=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),pi(i,e,t,n)},NT.prototype.normalize=NT.prototype.normalize=function(){hi(this.a)},NT.prototype.rotate=NT.prototype.rotate=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),pT(di(n,e,t),NT)},NT.prototype.dot=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),fi(t,e)},NT.prototype.op_mul=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(_i(t,e),NT)},NT.prototype.op_add=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(mi(t,e),NT)},NT.prototype.op_sub=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(bi(t,e),NT)},NT.prototype.__destroy__=function(){gi(this.a)},FT.prototype=Object.create(lT.prototype),FT.prototype.constructor=FT,FT.prototype.b=FT,FT.c={},t.btVehicleRaycaster=FT,FT.prototype.castRay=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),vi(i,e,t,n)},FT.prototype.__destroy__=function(){yi(this.a)},BT.prototype=Object.create(lT.prototype),BT.prototype.constructor=BT,BT.prototype.b=BT,BT.c={},t.btQuadWord=BT,BT.prototype.x=BT.prototype.x=function(){return Ci(this.a)},BT.prototype.y=BT.prototype.y=function(){return Ai(this.a)},BT.prototype.z=BT.prototype.z=function(){return xi(this.a)},BT.prototype.w=function(){return Si(this.a)},BT.prototype.setX=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ti(t,e)},BT.prototype.setY=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ei(t,e)},BT.prototype.setZ=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Pi(t,e)},BT.prototype.setW=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Oi(t,e)},BT.prototype.__destroy__=function(){Mi(this.a)},kT.prototype=Object.create(xT.prototype),kT.prototype.constructor=kT,kT.prototype.b=kT,kT.c={},t.btCylinderShape=kT,kT.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ii(t,e)},kT.prototype.getMargin=function(){return wi(this.a)},kT.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Di(t,e)},kT.prototype.getLocalScaling=function(){return pT(Li(this.a),NT)},kT.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Ni(n,e,t)},kT.prototype.__destroy__=function(){Fi(this.a)},VT.prototype=Object.create(TT.prototype),VT.prototype.constructor=VT,VT.prototype.b=VT,VT.c={},t.btDiscreteDynamicsWorld=VT,VT.prototype.setGravity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ki(t,e)},VT.prototype.getGravity=function(){return pT(Vi(this.a),NT)},VT.prototype.addRigidBody=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),void 0===t?zi(i,e):void 0===n?_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_2(i,e,t):ji(i,e,t,n)},VT.prototype.removeRigidBody=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ui(t,e)},VT.prototype.addConstraint=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),void 0===t?Gi(n,e):Hi(n,e,t)},VT.prototype.removeConstraint=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Wi(t,e)},VT.prototype.stepSimulation=function(e,t,n){var i=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),void 0===t?Xi(i,e):void 0===n?Yi(i,e,t):Qi(i,e,t,n)},VT.prototype.setContactAddedCallback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ki(t,e)},VT.prototype.setContactProcessedCallback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zi(t,e)},VT.prototype.setContactDestroyedCallback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),qi(t,e)},VT.prototype.getDispatcher=function(){return pT(Ji(this.a),jT)},VT.prototype.rayTest=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),$i(i,e,t,n)},VT.prototype.getPairCache=function(){return pT(er(this.a),iP)},VT.prototype.getDispatchInfo=function(){return pT(tr(this.a),JT)},VT.prototype.addCollisionObject=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),void 0===t?nr(i,e):void 0===n?ir(i,e,t):rr(i,e,t,n)},VT.prototype.removeCollisionObject=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),or(t,e)},VT.prototype.getBroadphase=function(){return pT(ar(this.a),tE)},VT.prototype.convexSweepTest=function(e,t,n,i,r){var o=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),sr(o,e,t,n,i,r)},VT.prototype.contactPairTest=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),cr(i,e,t,n)},VT.prototype.contactTest=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),lr(n,e,t)},VT.prototype.updateSingleAabb=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ur(t,e)},VT.prototype.setDebugDrawer=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pr(t,e)},VT.prototype.getDebugDrawer=function(){return pT(hr(this.a),MT)},VT.prototype.debugDrawWorld=function(){dr(this.a)},VT.prototype.debugDrawObject=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),fr(i,e,t,n)},VT.prototype.addAction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),_r(t,e)},VT.prototype.removeAction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),mr(t,e)},VT.prototype.getSolverInfo=function(){return pT(br(this.a),EP)},VT.prototype.setInternalTickCallback=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),void 0===t?gr(i,e):void 0===n?vr(i,e,t):yr(i,e,t,n)},VT.prototype.__destroy__=function(){Cr(this.a)},zT.prototype=Object.create(xT.prototype),zT.prototype.constructor=zT,zT.prototype.b=zT,zT.c={},t.btConvexShape=zT,zT.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ar(t,e)},zT.prototype.getLocalScaling=function(){return pT(xr(this.a),NT)},zT.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Sr(n,e,t)},zT.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Tr(t,e)},zT.prototype.getMargin=function(){return Er(this.a)},zT.prototype.__destroy__=function(){Pr(this.a)},jT.prototype=Object.create(lT.prototype),jT.prototype.constructor=jT,jT.prototype.b=jT,jT.c={},t.btDispatcher=jT,jT.prototype.getNumManifolds=function(){return Or(this.a)},jT.prototype.getManifoldByIndexInternal=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Mr(t,e),rE)},jT.prototype.__destroy__=function(){Rr(this.a)},UT.prototype=Object.create(ET.prototype),UT.prototype.constructor=UT,UT.prototype.b=UT,UT.c={},t.btGeneric6DofConstraint=UT,UT.prototype.setLinearLowerLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Dr(t,e)},UT.prototype.setLinearUpperLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Lr(t,e)},UT.prototype.setAngularLowerLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Nr(t,e)},UT.prototype.setAngularUpperLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Fr(t,e)},UT.prototype.getFrameOffsetA=function(){return pT(Br(this.a),sP)},UT.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),kr(t,e)},UT.prototype.getBreakingImpulseThreshold=function(){return Vr(this.a)},UT.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zr(t,e)},UT.prototype.getParam=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),jr(n,e,t)},UT.prototype.setParam=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),Ur(i,e,t,n)},UT.prototype.__destroy__=function(){Gr(this.a)},GT.prototype=Object.create(lT.prototype),GT.prototype.constructor=GT,GT.prototype.b=GT,GT.c={},t.btStridingMeshInterface=GT,GT.prototype.setScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Hr(t,e)},GT.prototype.__destroy__=function(){Wr(this.a)},HT.prototype=Object.create(lT.prototype),HT.prototype.constructor=HT,HT.prototype.b=HT,HT.c={},t.btMotionState=HT,HT.prototype.getWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Xr(t,e)},HT.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Yr(t,e)},HT.prototype.__destroy__=function(){Qr(this.a)},WT.prototype=Object.create(lT.prototype),WT.prototype.constructor=WT,WT.prototype.b=WT,WT.c={},t.ConvexResultCallback=WT,WT.prototype.hasHit=function(){return!!Kr(this.a)},WT.prototype.get_m_collisionFilterGroup=WT.prototype.f=function(){return Zr(this.a)},WT.prototype.set_m_collisionFilterGroup=WT.prototype.h=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),qr(t,e)},Object.defineProperty(WT.prototype,"m_collisionFilterGroup",{get:WT.prototype.f,set:WT.prototype.h}),WT.prototype.get_m_collisionFilterMask=WT.prototype.g=function(){return Jr(this.a)},WT.prototype.set_m_collisionFilterMask=WT.prototype.i=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),$r(t,e)},Object.defineProperty(WT.prototype,"m_collisionFilterMask",{get:WT.prototype.g,set:WT.prototype.i}),WT.prototype.get_m_closestHitFraction=WT.prototype.j=function(){return eo(this.a)},WT.prototype.set_m_closestHitFraction=WT.prototype.l=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),to(t,e)},Object.defineProperty(WT.prototype,"m_closestHitFraction",{get:WT.prototype.j,set:WT.prototype.l}),WT.prototype.__destroy__=function(){no(this.a)},XT.prototype=Object.create(lT.prototype),XT.prototype.constructor=XT,XT.prototype.b=XT,XT.c={},t.ContactResultCallback=XT,XT.prototype.addSingleResult=function(e,t,n,i,r,o,a){var s=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),o&&"object"==typeof o&&(o=o.a),a&&"object"==typeof a&&(a=a.a),io(s,e,t,n,i,r,o,a)},XT.prototype.__destroy__=function(){ro(this.a)},YT.prototype=Object.create(lT.prototype),YT.prototype.constructor=YT,YT.prototype.b=YT,YT.c={},t.btSoftBodySolver=YT,YT.prototype.__destroy__=function(){oo(this.a)},QT.prototype=Object.create(lT.prototype),QT.prototype.constructor=QT,QT.prototype.b=QT,QT.c={},t.RayResultCallback=QT,QT.prototype.hasHit=function(){return!!ao(this.a)},QT.prototype.get_m_collisionFilterGroup=QT.prototype.f=function(){return so(this.a)},QT.prototype.set_m_collisionFilterGroup=QT.prototype.h=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),co(t,e)},Object.defineProperty(QT.prototype,"m_collisionFilterGroup",{get:QT.prototype.f,set:QT.prototype.h}),QT.prototype.get_m_collisionFilterMask=QT.prototype.g=function(){return lo(this.a)},QT.prototype.set_m_collisionFilterMask=QT.prototype.i=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),uo(t,e)},Object.defineProperty(QT.prototype,"m_collisionFilterMask",{get:QT.prototype.g,set:QT.prototype.i}),QT.prototype.get_m_closestHitFraction=QT.prototype.j=function(){return po(this.a)},QT.prototype.set_m_closestHitFraction=QT.prototype.l=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ho(t,e)},Object.defineProperty(QT.prototype,"m_closestHitFraction",{get:QT.prototype.j,set:QT.prototype.l}),QT.prototype.get_m_collisionObject=QT.prototype.u=function(){return pT(fo(this.a),ST)},QT.prototype.set_m_collisionObject=QT.prototype.G=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),_o(t,e)},Object.defineProperty(QT.prototype,"m_collisionObject",{get:QT.prototype.u,set:QT.prototype.G}),QT.prototype.__destroy__=function(){mo(this.a)},KT.prototype=Object.create(lT.prototype),KT.prototype.constructor=KT,KT.prototype.b=KT,KT.c={},t.btMatrix3x3=KT,KT.prototype.setEulerZYX=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),bo(i,e,t,n)},KT.prototype.getRotation=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),go(t,e)},KT.prototype.getRow=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(vo(t,e),NT)},KT.prototype.__destroy__=function(){yo(this.a)},ZT.prototype=Object.create(lT.prototype),ZT.prototype.constructor=ZT,ZT.prototype.b=ZT,ZT.c={},t.btScalarArray=ZT,ZT.prototype.size=ZT.prototype.size=function(){return Co(this.a)},ZT.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),Ao(t,e)},ZT.prototype.__destroy__=function(){xo(this.a)},qT.prototype=Object.create(lT.prototype),qT.prototype.constructor=qT,qT.prototype.b=qT,qT.c={},t.Material=qT,qT.prototype.get_m_kLST=qT.prototype.Kb=function(){return So(this.a)},qT.prototype.set_m_kLST=qT.prototype.ve=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),To(t,e)},Object.defineProperty(qT.prototype,"m_kLST",{get:qT.prototype.Kb,set:qT.prototype.ve}),qT.prototype.get_m_kAST=qT.prototype.Jb=function(){return Eo(this.a)},qT.prototype.set_m_kAST=qT.prototype.ue=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Po(t,e)},Object.defineProperty(qT.prototype,"m_kAST",{get:qT.prototype.Jb,set:qT.prototype.ue}),qT.prototype.get_m_kVST=qT.prototype.Lb=function(){return Oo(this.a)},qT.prototype.set_m_kVST=qT.prototype.we=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Mo(t,e)},Object.defineProperty(qT.prototype,"m_kVST",{get:qT.prototype.Lb,set:qT.prototype.we}),qT.prototype.get_m_flags=qT.prototype.rb=function(){return Ro(this.a)},qT.prototype.set_m_flags=qT.prototype.ce=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Io(t,e)},Object.defineProperty(qT.prototype,"m_flags",{get:qT.prototype.rb,set:qT.prototype.ce}),qT.prototype.__destroy__=function(){wo(this.a)},JT.prototype=Object.create(lT.prototype),JT.prototype.constructor=JT,JT.prototype.b=JT,JT.c={},t.btDispatcherInfo=JT,JT.prototype.get_m_timeStep=JT.prototype.zc=function(){return Do(this.a)},JT.prototype.set_m_timeStep=JT.prototype.kf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Lo(t,e)},Object.defineProperty(JT.prototype,"m_timeStep",{get:JT.prototype.zc,set:JT.prototype.kf}),JT.prototype.get_m_stepCount=JT.prototype.qc=function(){return No(this.a)},JT.prototype.set_m_stepCount=JT.prototype.af=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Fo(t,e)},Object.defineProperty(JT.prototype,"m_stepCount",{get:JT.prototype.qc,set:JT.prototype.af}),JT.prototype.get_m_dispatchFunc=JT.prototype.kb=function(){return Bo(this.a)},JT.prototype.set_m_dispatchFunc=JT.prototype.Wd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ko(t,e)},Object.defineProperty(JT.prototype,"m_dispatchFunc",{get:JT.prototype.kb,set:JT.prototype.Wd}),JT.prototype.get_m_timeOfImpact=JT.prototype.yc=function(){return Vo(this.a)},JT.prototype.set_m_timeOfImpact=JT.prototype.jf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zo(t,e)},Object.defineProperty(JT.prototype,"m_timeOfImpact",{get:JT.prototype.yc,set:JT.prototype.jf}),JT.prototype.get_m_useContinuous=JT.prototype.Bc=function(){return!!jo(this.a)},JT.prototype.set_m_useContinuous=JT.prototype.mf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Uo(t,e)},Object.defineProperty(JT.prototype,"m_useContinuous",{get:JT.prototype.Bc,set:JT.prototype.mf}),JT.prototype.get_m_enableSatConvex=JT.prototype.ob=function(){return!!Go(this.a)},JT.prototype.set_m_enableSatConvex=JT.prototype.$d=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ho(t,e)},Object.defineProperty(JT.prototype,"m_enableSatConvex",{get:JT.prototype.ob,set:JT.prototype.$d}),JT.prototype.get_m_enableSPU=JT.prototype.nb=function(){return!!Wo(this.a)},JT.prototype.set_m_enableSPU=JT.prototype.Zd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Xo(t,e)},Object.defineProperty(JT.prototype,"m_enableSPU",{get:JT.prototype.nb,set:JT.prototype.Zd}),JT.prototype.get_m_useEpa=JT.prototype.Dc=function(){return!!Yo(this.a)},JT.prototype.set_m_useEpa=JT.prototype.pf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Qo(t,e)},Object.defineProperty(JT.prototype,"m_useEpa",{get:JT.prototype.Dc,set:JT.prototype.pf}),JT.prototype.get_m_allowedCcdPenetration=JT.prototype.Na=function(){return Ko(this.a)},JT.prototype.set_m_allowedCcdPenetration=JT.prototype.zd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zo(t,e)},Object.defineProperty(JT.prototype,"m_allowedCcdPenetration",{get:JT.prototype.Na,set:JT.prototype.zd}),JT.prototype.get_m_useConvexConservativeDistanceUtil=JT.prototype.Cc=function(){return!!qo(this.a)},JT.prototype.set_m_useConvexConservativeDistanceUtil=JT.prototype.nf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Jo(t,e)},Object.defineProperty(JT.prototype,"m_useConvexConservativeDistanceUtil",{get:JT.prototype.Cc,set:JT.prototype.nf}),JT.prototype.get_m_convexConservativeDistanceThreshold=JT.prototype.fb=function(){return $o(this.a)},JT.prototype.set_m_convexConservativeDistanceThreshold=JT.prototype.Rd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ea(t,e)},Object.defineProperty(JT.prototype,"m_convexConservativeDistanceThreshold",{get:JT.prototype.fb,set:JT.prototype.Rd}),JT.prototype.__destroy__=function(){ta(this.a)},$T.prototype=Object.create(lT.prototype),$T.prototype.constructor=$T,$T.prototype.b=$T,$T.c={},t.btWheelInfoConstructionInfo=$T,$T.prototype.get_m_chassisConnectionCS=$T.prototype.Za=function(){return pT(na(this.a),NT)},$T.prototype.set_m_chassisConnectionCS=$T.prototype.Ld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ia(t,e)},Object.defineProperty($T.prototype,"m_chassisConnectionCS",{get:$T.prototype.Za,set:$T.prototype.Ld}),$T.prototype.get_m_wheelDirectionCS=$T.prototype.V=function(){return pT(ra(this.a),NT)},$T.prototype.set_m_wheelDirectionCS=$T.prototype.fa=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),oa(t,e)},Object.defineProperty($T.prototype,"m_wheelDirectionCS",{get:$T.prototype.V,set:$T.prototype.fa}),$T.prototype.get_m_wheelAxleCS=$T.prototype.U=function(){return pT(aa(this.a),NT)},$T.prototype.set_m_wheelAxleCS=$T.prototype.ea=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),sa(t,e)},Object.defineProperty($T.prototype,"m_wheelAxleCS",{get:$T.prototype.U,set:$T.prototype.ea}),$T.prototype.get_m_suspensionRestLength=$T.prototype.vc=function(){return ca(this.a)},$T.prototype.set_m_suspensionRestLength=$T.prototype.ff=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),la(t,e)},Object.defineProperty($T.prototype,"m_suspensionRestLength",{get:$T.prototype.vc,set:$T.prototype.ff}),$T.prototype.get_m_maxSuspensionTravelCm=$T.prototype.D=function(){return ua(this.a)},$T.prototype.set_m_maxSuspensionTravelCm=$T.prototype.L=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pa(t,e)},Object.defineProperty($T.prototype,"m_maxSuspensionTravelCm",{get:$T.prototype.D,set:$T.prototype.L}),$T.prototype.get_m_wheelRadius=$T.prototype.Jc=function(){return ha(this.a)},$T.prototype.set_m_wheelRadius=$T.prototype.vf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),da(t,e)},Object.defineProperty($T.prototype,"m_wheelRadius",{get:$T.prototype.Jc,set:$T.prototype.vf}),$T.prototype.get_m_suspensionStiffness=$T.prototype.F=function(){return fa(this.a)},$T.prototype.set_m_suspensionStiffness=$T.prototype.M=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),_a(t,e)},Object.defineProperty($T.prototype,"m_suspensionStiffness",{get:$T.prototype.F,set:$T.prototype.M}),$T.prototype.get_m_wheelsDampingCompression=$T.prototype.W=function(){return ma(this.a)},$T.prototype.set_m_wheelsDampingCompression=$T.prototype.ga=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ba(t,e)},Object.defineProperty($T.prototype,"m_wheelsDampingCompression",{get:$T.prototype.W,set:$T.prototype.ga}),$T.prototype.get_m_wheelsDampingRelaxation=$T.prototype.X=function(){return ga(this.a)},$T.prototype.set_m_wheelsDampingRelaxation=$T.prototype.ha=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),va(t,e)},Object.defineProperty($T.prototype,"m_wheelsDampingRelaxation",{get:$T.prototype.X,set:$T.prototype.ha}),$T.prototype.get_m_frictionSlip=$T.prototype.v=function(){return ya(this.a)},$T.prototype.set_m_frictionSlip=$T.prototype.H=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ca(t,e)},Object.defineProperty($T.prototype,"m_frictionSlip",{get:$T.prototype.v,set:$T.prototype.H}),$T.prototype.get_m_maxSuspensionForce=$T.prototype.C=function(){return Aa(this.a)},$T.prototype.set_m_maxSuspensionForce=$T.prototype.K=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),xa(t,e)},Object.defineProperty($T.prototype,"m_maxSuspensionForce",{get:$T.prototype.C,set:$T.prototype.K}),$T.prototype.get_m_bIsFrontWheel=$T.prototype.O=function(){return!!Sa(this.a)},$T.prototype.set_m_bIsFrontWheel=$T.prototype.Z=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ta(t,e)},Object.defineProperty($T.prototype,"m_bIsFrontWheel",{get:$T.prototype.O,set:$T.prototype.Z}),$T.prototype.__destroy__=function(){Ea(this.a)},eE.prototype=Object.create(zT.prototype),eE.prototype.constructor=eE,eE.prototype.b=eE,eE.c={},t.btConvexTriangleMeshShape=eE,eE.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ma(t,e)},eE.prototype.getLocalScaling=function(){return pT(Ra(this.a),NT)},eE.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Ia(n,e,t)},eE.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),wa(t,e)},eE.prototype.getMargin=function(){return Da(this.a)},eE.prototype.__destroy__=function(){La(this.a)},tE.prototype=Object.create(lT.prototype),tE.prototype.constructor=tE,tE.prototype.b=tE,tE.c={},t.btBroadphaseInterface=tE,tE.prototype.getOverlappingPairCache=function(){return pT(Na(this.a),iP)},tE.prototype.__destroy__=function(){Fa(this.a)},nE.prototype=Object.create(lT.prototype),nE.prototype.constructor=nE,nE.prototype.b=nE,nE.c={},t.btRigidBodyConstructionInfo=nE,nE.prototype.get_m_linearDamping=nE.prototype.Mb=function(){return Va(this.a)},nE.prototype.set_m_linearDamping=nE.prototype.xe=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),za(t,e)},Object.defineProperty(nE.prototype,"m_linearDamping",{get:nE.prototype.Mb,set:nE.prototype.xe}),nE.prototype.get_m_angularDamping=nE.prototype.Pa=function(){return ja(this.a)},nE.prototype.set_m_angularDamping=nE.prototype.Bd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ua(t,e)},Object.defineProperty(nE.prototype,"m_angularDamping",{get:nE.prototype.Pa,set:nE.prototype.Bd}),nE.prototype.get_m_friction=nE.prototype.sb=function(){return Ga(this.a)},nE.prototype.set_m_friction=nE.prototype.de=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ha(t,e)},Object.defineProperty(nE.prototype,"m_friction",{get:nE.prototype.sb,set:nE.prototype.de}),nE.prototype.get_m_rollingFriction=nE.prototype.ic=function(){return Wa(this.a)},nE.prototype.set_m_rollingFriction=nE.prototype.Te=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Xa(t,e)},Object.defineProperty(nE.prototype,"m_rollingFriction",{get:nE.prototype.ic,set:nE.prototype.Te}),nE.prototype.get_m_restitution=nE.prototype.fc=function(){return Ya(this.a)},nE.prototype.set_m_restitution=nE.prototype.Re=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Qa(t,e)},Object.defineProperty(nE.prototype,"m_restitution",{get:nE.prototype.fc,set:nE.prototype.Re}),nE.prototype.get_m_linearSleepingThreshold=nE.prototype.Nb=function(){return Ka(this.a)},nE.prototype.set_m_linearSleepingThreshold=nE.prototype.ye=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Za(t,e)},Object.defineProperty(nE.prototype,"m_linearSleepingThreshold",{get:nE.prototype.Nb,set:nE.prototype.ye}),nE.prototype.get_m_angularSleepingThreshold=nE.prototype.Qa=function(){return qa(this.a)},nE.prototype.set_m_angularSleepingThreshold=nE.prototype.Cd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ja(t,e)},Object.defineProperty(nE.prototype,"m_angularSleepingThreshold",{get:nE.prototype.Qa,set:nE.prototype.Cd}),nE.prototype.get_m_additionalDamping=nE.prototype.Ka=function(){return!!$a(this.a)},nE.prototype.set_m_additionalDamping=nE.prototype.wd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),es(t,e)},Object.defineProperty(nE.prototype,"m_additionalDamping",{get:nE.prototype.Ka,set:nE.prototype.wd}),nE.prototype.get_m_additionalDampingFactor=nE.prototype.La=function(){return ts(this.a)},nE.prototype.set_m_additionalDampingFactor=nE.prototype.xd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ns(t,e)},Object.defineProperty(nE.prototype,"m_additionalDampingFactor",{get:nE.prototype.La,set:nE.prototype.xd}),nE.prototype.get_m_additionalLinearDampingThresholdSqr=nE.prototype.Ma=function(){return is(this.a)},nE.prototype.set_m_additionalLinearDampingThresholdSqr=nE.prototype.yd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),rs(t,e)},Object.defineProperty(nE.prototype,"m_additionalLinearDampingThresholdSqr",{get:nE.prototype.Ma,set:nE.prototype.yd}),nE.prototype.get_m_additionalAngularDampingThresholdSqr=nE.prototype.Ja=function(){return os(this.a)},nE.prototype.set_m_additionalAngularDampingThresholdSqr=nE.prototype.vd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),as(t,e)},Object.defineProperty(nE.prototype,"m_additionalAngularDampingThresholdSqr",{get:nE.prototype.Ja,set:nE.prototype.vd}),nE.prototype.get_m_additionalAngularDampingFactor=nE.prototype.Ia=function(){return ss(this.a)},nE.prototype.set_m_additionalAngularDampingFactor=nE.prototype.ud=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),cs(t,e)},Object.defineProperty(nE.prototype,"m_additionalAngularDampingFactor",{get:nE.prototype.Ia,set:nE.prototype.ud}),nE.prototype.__destroy__=function(){ls(this.a)},iE.prototype=Object.create(lT.prototype),iE.prototype.constructor=iE,iE.prototype.b=iE,iE.c={},t.btCollisionConfiguration=iE,iE.prototype.__destroy__=function(){us(this.a)},rE.prototype=Object.create(lT.prototype),rE.prototype.constructor=rE,rE.prototype.b=rE,rE.c={},t.btPersistentManifold=rE,rE.prototype.getBody0=function(){return pT(hs(this.a),ST)},rE.prototype.getBody1=function(){return pT(ds(this.a),ST)},rE.prototype.getNumContacts=function(){return fs(this.a)},rE.prototype.getContactPoint=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(_s(t,e),_P)},rE.prototype.__destroy__=function(){ms(this.a)},oE.prototype=Object.create(xT.prototype),oE.prototype.constructor=oE,oE.prototype.b=oE,oE.c={},t.btCompoundShape=oE,oE.prototype.addChildShape=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),vs(n,e,t)},oE.prototype.removeChildShape=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ys(t,e)},oE.prototype.removeChildShapeByIndex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Cs(t,e)},oE.prototype.getNumChildShapes=function(){return As(this.a)},oE.prototype.getChildShape=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(xs(t,e),xT)},oE.prototype.updateChildTransform=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),void 0===n?Ss(i,e,t):Ts(i,e,t,n)},oE.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Es(t,e)},oE.prototype.getMargin=function(){return Ps(this.a)},oE.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Os(t,e)},oE.prototype.getLocalScaling=function(){return pT(Ms(this.a),NT)},oE.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Rs(n,e,t)},oE.prototype.__destroy__=function(){Is(this.a)},aE.prototype=Object.create(WT.prototype),aE.prototype.constructor=aE,aE.prototype.b=aE,aE.c={},t.ClosestConvexResultCallback=aE,aE.prototype.hasHit=function(){return!!Ds(this.a)},aE.prototype.get_m_convexFromWorld=aE.prototype.gb=function(){return pT(Ls(this.a),NT)},aE.prototype.set_m_convexFromWorld=aE.prototype.Sd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ns(t,e)},Object.defineProperty(aE.prototype,"m_convexFromWorld",{get:aE.prototype.gb,set:aE.prototype.Sd}),aE.prototype.get_m_convexToWorld=aE.prototype.hb=function(){return pT(Fs(this.a),NT)},aE.prototype.set_m_convexToWorld=aE.prototype.Td=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bs(t,e)},Object.defineProperty(aE.prototype,"m_convexToWorld",{get:aE.prototype.hb,set:aE.prototype.Td}),aE.prototype.get_m_hitNormalWorld=aE.prototype.A=function(){return pT(ks(this.a),NT)},aE.prototype.set_m_hitNormalWorld=aE.prototype.I=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vs(t,e)},Object.defineProperty(aE.prototype,"m_hitNormalWorld",{get:aE.prototype.A,set:aE.prototype.I}),aE.prototype.get_m_hitPointWorld=aE.prototype.B=function(){return pT(zs(this.a),NT)},aE.prototype.set_m_hitPointWorld=aE.prototype.J=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),js(t,e)},Object.defineProperty(aE.prototype,"m_hitPointWorld",{get:aE.prototype.B,set:aE.prototype.J}),aE.prototype.get_m_collisionFilterGroup=aE.prototype.f=function(){return Us(this.a)},aE.prototype.set_m_collisionFilterGroup=aE.prototype.h=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Gs(t,e)},Object.defineProperty(aE.prototype,"m_collisionFilterGroup",{get:aE.prototype.f,set:aE.prototype.h}),aE.prototype.get_m_collisionFilterMask=aE.prototype.g=function(){return Hs(this.a)},aE.prototype.set_m_collisionFilterMask=aE.prototype.i=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ws(t,e)},Object.defineProperty(aE.prototype,"m_collisionFilterMask",{get:aE.prototype.g,set:aE.prototype.i}),aE.prototype.get_m_closestHitFraction=aE.prototype.j=function(){return Xs(this.a)},aE.prototype.set_m_closestHitFraction=aE.prototype.l=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ys(t,e)},Object.defineProperty(aE.prototype,"m_closestHitFraction",{get:aE.prototype.j,set:aE.prototype.l}),aE.prototype.__destroy__=function(){Qs(this.a)},sE.prototype=Object.create(QT.prototype),sE.prototype.constructor=sE,sE.prototype.b=sE,sE.c={},t.AllHitsRayResultCallback=sE,sE.prototype.hasHit=function(){return!!Zs(this.a)},sE.prototype.get_m_collisionObjects=sE.prototype.bb=function(){return pT(qs(this.a),hP)},sE.prototype.set_m_collisionObjects=sE.prototype.Od=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Js(t,e)},Object.defineProperty(sE.prototype,"m_collisionObjects",{get:sE.prototype.bb,set:sE.prototype.Od}),sE.prototype.get_m_rayFromWorld=sE.prototype.S=function(){return pT($s(this.a),NT)},sE.prototype.set_m_rayFromWorld=sE.prototype.ba=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ec(t,e)},Object.defineProperty(sE.prototype,"m_rayFromWorld",{get:sE.prototype.S,set:sE.prototype.ba}),sE.prototype.get_m_rayToWorld=sE.prototype.T=function(){return pT(tc(this.a),NT)},sE.prototype.set_m_rayToWorld=sE.prototype.da=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),nc(t,e)},Object.defineProperty(sE.prototype,"m_rayToWorld",{get:sE.prototype.T,set:sE.prototype.da}),sE.prototype.get_m_hitNormalWorld=sE.prototype.A=function(){return pT(ic(this.a),BE)},sE.prototype.set_m_hitNormalWorld=sE.prototype.I=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),rc(t,e)},Object.defineProperty(sE.prototype,"m_hitNormalWorld",{get:sE.prototype.A,set:sE.prototype.I}),sE.prototype.get_m_hitPointWorld=sE.prototype.B=function(){return pT(oc(this.a),BE)},sE.prototype.set_m_hitPointWorld=sE.prototype.J=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ac(t,e)},Object.defineProperty(sE.prototype,"m_hitPointWorld",{get:sE.prototype.B,set:sE.prototype.J}),sE.prototype.get_m_hitFractions=sE.prototype.zb=function(){return pT(sc(this.a),ZT)},sE.prototype.set_m_hitFractions=sE.prototype.ke=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),cc(t,e)},Object.defineProperty(sE.prototype,"m_hitFractions",{get:sE.prototype.zb,set:sE.prototype.ke}),sE.prototype.get_m_collisionFilterGroup=sE.prototype.f=function(){return lc(this.a)},sE.prototype.set_m_collisionFilterGroup=sE.prototype.h=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),uc(t,e)},Object.defineProperty(sE.prototype,"m_collisionFilterGroup",{get:sE.prototype.f,set:sE.prototype.h}),sE.prototype.get_m_collisionFilterMask=sE.prototype.g=function(){return pc(this.a)},sE.prototype.set_m_collisionFilterMask=sE.prototype.i=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hc(t,e)},Object.defineProperty(sE.prototype,"m_collisionFilterMask",{get:sE.prototype.g,set:sE.prototype.i}),sE.prototype.get_m_closestHitFraction=sE.prototype.j=function(){return dc(this.a)},sE.prototype.set_m_closestHitFraction=sE.prototype.l=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),fc(t,e)},Object.defineProperty(sE.prototype,"m_closestHitFraction",{get:sE.prototype.j,set:sE.prototype.l}),sE.prototype.get_m_collisionObject=sE.prototype.u=function(){return pT(_c(this.a),ST)},sE.prototype.set_m_collisionObject=sE.prototype.G=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),mc(t,e)},Object.defineProperty(sE.prototype,"m_collisionObject",{get:sE.prototype.u,set:sE.prototype.G}),sE.prototype.__destroy__=function(){bc(this.a)},cE.prototype=Object.create(lT.prototype),cE.prototype.constructor=cE,cE.prototype.b=cE,cE.c={},t.tMaterialArray=cE,cE.prototype.size=cE.prototype.size=function(){return gc(this.a)},cE.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(vc(t,e),qT)},cE.prototype.__destroy__=function(){yc(this.a)},lE.prototype=Object.create(FT.prototype),lE.prototype.constructor=lE,lE.prototype.b=lE,lE.c={},t.btDefaultVehicleRaycaster=lE,lE.prototype.castRay=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),Ac(i,e,t,n)},lE.prototype.__destroy__=function(){xc(this.a)},uE.prototype=Object.create(PT.prototype),uE.prototype.constructor=uE,uE.prototype.b=uE,uE.c={},t.btEmptyShape=uE,uE.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Tc(t,e)},uE.prototype.getLocalScaling=function(){return pT(Ec(this.a),NT)},uE.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Pc(n,e,t)},uE.prototype.__destroy__=function(){Oc(this.a)},pE.prototype=Object.create(lT.prototype),pE.prototype.constructor=pE,pE.prototype.b=pE,pE.c={},t.btConstraintSetting=pE,pE.prototype.get_m_tau=pE.prototype.xc=function(){return Rc(this.a)},pE.prototype.set_m_tau=pE.prototype.hf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ic(t,e)},Object.defineProperty(pE.prototype,"m_tau",{get:pE.prototype.xc,set:pE.prototype.hf}),pE.prototype.get_m_damping=pE.prototype.ib=function(){return wc(this.a)},pE.prototype.set_m_damping=pE.prototype.Ud=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Dc(t,e)},Object.defineProperty(pE.prototype,"m_damping",{get:pE.prototype.ib,set:pE.prototype.Ud}),pE.prototype.get_m_impulseClamp=pE.prototype.Fb=function(){return Lc(this.a)},pE.prototype.set_m_impulseClamp=pE.prototype.qe=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Nc(t,e)},Object.defineProperty(pE.prototype,"m_impulseClamp",{get:pE.prototype.Fb,set:pE.prototype.qe}),pE.prototype.__destroy__=function(){Fc(this.a)},hE.prototype=Object.create(lT.prototype),hE.prototype.constructor=hE,hE.prototype.b=hE,hE.c={},t.LocalShapeInfo=hE,hE.prototype.get_m_shapePart=hE.prototype.lc=function(){return Bc(this.a)},hE.prototype.set_m_shapePart=hE.prototype.We=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),kc(t,e)},Object.defineProperty(hE.prototype,"m_shapePart",{get:hE.prototype.lc,set:hE.prototype.We}),hE.prototype.get_m_triangleIndex=hE.prototype.Ac=function(){return Vc(this.a)},hE.prototype.set_m_triangleIndex=hE.prototype.lf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zc(t,e)},Object.defineProperty(hE.prototype,"m_triangleIndex",{get:hE.prototype.Ac,set:hE.prototype.lf}),hE.prototype.__destroy__=function(){jc(this.a)},dE.prototype=Object.create(ST.prototype),dE.prototype.constructor=dE,dE.prototype.b=dE,dE.c={},t.btRigidBody=dE,dE.prototype.getCenterOfMassTransform=function(){return pT(Gc(this.a),sP)},dE.prototype.setCenterOfMassTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Hc(t,e)},dE.prototype.setSleepingThresholds=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Wc(n,e,t)},dE.prototype.getLinearDamping=function(){return Xc(this.a)},dE.prototype.getAngularDamping=function(){return Yc(this.a)},dE.prototype.setDamping=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Qc(n,e,t)},dE.prototype.setMassProps=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Kc(n,e,t)},dE.prototype.getLinearFactor=function(){return pT(Zc(this.a),NT)},dE.prototype.setLinearFactor=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),qc(t,e)},dE.prototype.applyTorque=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Jc(t,e)},dE.prototype.applyLocalTorque=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),$c(t,e)},dE.prototype.applyForce=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),el(n,e,t)},dE.prototype.applyCentralForce=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),tl(t,e)},dE.prototype.applyCentralLocalForce=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),nl(t,e)},dE.prototype.applyTorqueImpulse=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),il(t,e)},dE.prototype.applyImpulse=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),rl(n,e,t)},dE.prototype.applyCentralImpulse=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ol(t,e)},dE.prototype.updateInertiaTensor=function(){al(this.a)},dE.prototype.getLinearVelocity=function(){return pT(sl(this.a),NT)},dE.prototype.getAngularVelocity=function(){return pT(cl(this.a),NT)},dE.prototype.setLinearVelocity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ll(t,e)},dE.prototype.setAngularVelocity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ul(t,e)},dE.prototype.getMotionState=function(){return pT(pl(this.a),HT)},dE.prototype.setMotionState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hl(t,e)},dE.prototype.getAngularFactor=function(){return pT(dl(this.a),NT)},dE.prototype.setAngularFactor=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),fl(t,e)},dE.prototype.upcast=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(_l(t,e),dE)},dE.prototype.getAabb=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),ml(n,e,t)},dE.prototype.applyGravity=function(){bl(this.a)},dE.prototype.getGravity=function(){return pT(gl(this.a),NT)},dE.prototype.setGravity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),vl(t,e)},dE.prototype.getBroadphaseProxy=function(){return pT(yl(this.a),gP)},dE.prototype.clearForces=function(){Cl(this.a)},dE.prototype.setAnisotropicFriction=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Al(n,e,t)},dE.prototype.getCollisionShape=function(){return pT(xl(this.a),xT)},dE.prototype.setContactProcessingThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Sl(t,e)},dE.prototype.setActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Tl(t,e)},dE.prototype.forceActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),El(t,e)},dE.prototype.activate=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),void 0===e?Pl(t):Ol(t,e)},dE.prototype.isActive=function(){return!!Ml(this.a)},dE.prototype.isKinematicObject=function(){return!!Rl(this.a)},dE.prototype.isStaticObject=function(){return!!Il(this.a)},dE.prototype.isStaticOrKinematicObject=function(){return!!wl(this.a)},dE.prototype.getRestitution=function(){return Dl(this.a)},dE.prototype.getFriction=function(){return Ll(this.a)},dE.prototype.getRollingFriction=function(){return Nl(this.a)},dE.prototype.setRestitution=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Fl(t,e)},dE.prototype.setFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bl(t,e)},dE.prototype.setRollingFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),kl(t,e)},dE.prototype.getWorldTransform=function(){return pT(Vl(this.a),sP)},dE.prototype.getCollisionFlags=function(){return zl(this.a)},dE.prototype.setCollisionFlags=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jl(t,e)},dE.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ul(t,e)},dE.prototype.setCollisionShape=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Gl(t,e)},dE.prototype.setCcdMotionThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Hl(t,e)},dE.prototype.setCcdSweptSphereRadius=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Wl(t,e)},dE.prototype.getUserIndex=function(){return Xl(this.a)},dE.prototype.setUserIndex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Yl(t,e)},dE.prototype.getUserPointer=function(){return pT(Ql(this.a),yE)},dE.prototype.setUserPointer=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Kl(t,e)},dE.prototype.getBroadphaseHandle=function(){return pT(Zl(this.a),gP)},dE.prototype.__destroy__=function(){ql(this.a)},fE.prototype=Object.create(lT.prototype),fE.prototype.constructor=fE,fE.prototype.b=fE,fE.c={},t.btIndexedMeshArray=fE,fE.prototype.size=fE.prototype.size=function(){return Jl(this.a)},fE.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT($l(t,e),rP)},fE.prototype.__destroy__=function(){eu(this.a)},_E.prototype=Object.create(lT.prototype),_E.prototype.constructor=_E,_E.prototype.b=_E,_E.c={},t.btDbvtBroadphase=_E,_E.prototype.__destroy__=function(){nu(this.a)},mE.prototype=Object.create(PT.prototype),mE.prototype.constructor=mE,mE.prototype.b=mE,mE.c={},t.btHeightfieldTerrainShape=mE,mE.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ru(t,e)},mE.prototype.getMargin=function(){return ou(this.a)},mE.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),au(t,e)},mE.prototype.getLocalScaling=function(){return pT(su(this.a),NT)},mE.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),cu(n,e,t)},mE.prototype.__destroy__=function(){lu(this.a)},bE.prototype=Object.create(YT.prototype),bE.prototype.constructor=bE,bE.prototype.b=bE,bE.c={},t.btDefaultSoftBodySolver=bE,bE.prototype.__destroy__=function(){pu(this.a)},gE.prototype=Object.create(jT.prototype),gE.prototype.constructor=gE,gE.prototype.b=gE,gE.c={},t.btCollisionDispatcher=gE,gE.prototype.getNumManifolds=function(){return du(this.a)},gE.prototype.getManifoldByIndexInternal=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(fu(t,e),rE)},gE.prototype.__destroy__=function(){_u(this.a)},vE.prototype=Object.create(lT.prototype),vE.prototype.constructor=vE,vE.prototype.b=vE,vE.c={},t.btAxisSweep3=vE,vE.prototype.__destroy__=function(){yu(this.a)},yE.prototype=Object.create(lT.prototype),yE.prototype.constructor=yE,yE.prototype.b=yE,yE.c={},t.VoidPtr=yE,yE.prototype.__destroy__=function(){Cu(this.a)},CE.prototype=Object.create(lT.prototype),CE.prototype.constructor=CE,CE.prototype.b=CE,CE.c={},t.btSoftBodyWorldInfo=CE,CE.prototype.get_air_density=CE.prototype.ma=function(){return xu(this.a)},CE.prototype.set_air_density=CE.prototype.Xc=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Su(t,e)},Object.defineProperty(CE.prototype,"air_density",{get:CE.prototype.ma,set:CE.prototype.Xc}),CE.prototype.get_water_density=CE.prototype.Sc=function(){return Tu(this.a)},CE.prototype.set_water_density=CE.prototype.Ef=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Eu(t,e)},Object.defineProperty(CE.prototype,"water_density",{get:CE.prototype.Sc,set:CE.prototype.Ef}),CE.prototype.get_water_offset=CE.prototype.Uc=function(){return Pu(this.a)},CE.prototype.set_water_offset=CE.prototype.Gf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ou(t,e)},Object.defineProperty(CE.prototype,"water_offset",{get:CE.prototype.Uc,set:CE.prototype.Gf}),CE.prototype.get_m_maxDisplacement=CE.prototype.Tb=function(){return Mu(this.a)},CE.prototype.set_m_maxDisplacement=CE.prototype.Ee=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ru(t,e)},Object.defineProperty(CE.prototype,"m_maxDisplacement",{get:CE.prototype.Tb,set:CE.prototype.Ee}),CE.prototype.get_water_normal=CE.prototype.Tc=function(){return pT(Iu(this.a),NT)},CE.prototype.set_water_normal=CE.prototype.Ff=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),wu(t,e)},Object.defineProperty(CE.prototype,"water_normal",{get:CE.prototype.Tc,set:CE.prototype.Ff}),CE.prototype.get_m_broadphase=CE.prototype.Ua=function(){return pT(Du(this.a),tE)},CE.prototype.set_m_broadphase=CE.prototype.Gd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Lu(t,e)},Object.defineProperty(CE.prototype,"m_broadphase",{get:CE.prototype.Ua,set:CE.prototype.Gd}),CE.prototype.get_m_dispatcher=CE.prototype.lb=function(){return pT(Nu(this.a),jT)},CE.prototype.set_m_dispatcher=CE.prototype.Xd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Fu(t,e)},Object.defineProperty(CE.prototype,"m_dispatcher",{get:CE.prototype.lb,set:CE.prototype.Xd}),CE.prototype.get_m_gravity=CE.prototype.ub=function(){return pT(Bu(this.a),NT)},CE.prototype.set_m_gravity=CE.prototype.fe=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ku(t,e)},Object.defineProperty(CE.prototype,"m_gravity",{get:CE.prototype.ub,set:CE.prototype.fe}),CE.prototype.__destroy__=function(){Vu(this.a)},AE.prototype=Object.create(ET.prototype),AE.prototype.constructor=AE,AE.prototype.b=AE,AE.c={},t.btConeTwistConstraint=AE,AE.prototype.setLimit=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Uu(n,e,t)},AE.prototype.setAngularOnly=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Gu(t,e)},AE.prototype.setDamping=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Hu(t,e)},AE.prototype.enableMotor=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Wu(t,e)},AE.prototype.setMaxMotorImpulse=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Xu(t,e)},AE.prototype.setMaxMotorImpulseNormalized=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Yu(t,e)},AE.prototype.setMotorTarget=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Qu(t,e)},AE.prototype.setMotorTargetInConstraintSpace=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ku(t,e)},AE.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zu(t,e)},AE.prototype.getBreakingImpulseThreshold=function(){return qu(this.a)},AE.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ju(t,e)},AE.prototype.getParam=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),$u(n,e,t)},AE.prototype.setParam=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),ep(i,e,t,n)},AE.prototype.__destroy__=function(){tp(this.a)},xE.prototype=Object.create(ET.prototype),xE.prototype.constructor=xE,xE.prototype.b=xE,xE.c={},t.btHingeConstraint=xE,xE.prototype.setLimit=function(e,t,n,i,r){var o=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),void 0===r?cp(o,e,t,n,i):lp(o,e,t,n,i,r)},xE.prototype.enableAngularMotor=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),up(i,e,t,n)},xE.prototype.setAngularOnly=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pp(t,e)},xE.prototype.enableMotor=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hp(t,e)},xE.prototype.setMaxMotorImpulse=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),dp(t,e)},xE.prototype.setMotorTarget=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),fp(n,e,t)},xE.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),_p(t,e)},xE.prototype.getBreakingImpulseThreshold=function(){return mp(this.a)},xE.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),bp(t,e)},xE.prototype.getParam=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),gp(n,e,t)},xE.prototype.setParam=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),vp(i,e,t,n)},xE.prototype.__destroy__=function(){yp(this.a)},SE.prototype=Object.create(DT.prototype),SE.prototype.constructor=SE,SE.prototype.b=SE,SE.c={},t.btConeShapeZ=SE,SE.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ap(t,e)},SE.prototype.getLocalScaling=function(){return pT(xp(this.a),NT)},SE.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Sp(n,e,t)},SE.prototype.__destroy__=function(){Tp(this.a)},TE.prototype=Object.create(DT.prototype),TE.prototype.constructor=TE,TE.prototype.b=TE,TE.c={},t.btConeShapeX=TE,TE.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Pp(t,e)},TE.prototype.getLocalScaling=function(){return pT(Op(this.a),NT)},TE.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Mp(n,e,t)},TE.prototype.__destroy__=function(){Rp(this.a)},EE.prototype=Object.create(GT.prototype),EE.prototype.constructor=EE,EE.prototype.b=EE,EE.c={},t.btTriangleMesh=EE,EE.prototype.addTriangle=function(e,t,n,i){var r=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),void 0===i?Lp(r,e,t,n):Np(r,e,t,n,i)},EE.prototype.findOrAddVertex=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Fp(n,e,t)},EE.prototype.addIndex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bp(t,e)},EE.prototype.getIndexedMeshArray=function(){return pT(kp(this.a),fE)},EE.prototype.setScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vp(t,e)},EE.prototype.__destroy__=function(){zp(this.a)},PE.prototype=Object.create(xT.prototype),PE.prototype.constructor=PE,PE.prototype.b=PE,PE.c={},t.btConvexHullShape=PE,PE.prototype.addPoint=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),void 0===t?Hp(n,e):Wp(n,e,t)},PE.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Xp(t,e)},PE.prototype.getMargin=function(){return Yp(this.a)},PE.prototype.getNumVertices=function(){return Qp(this.a)},PE.prototype.initializePolyhedralFeatures=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),!!Kp(t,e)},PE.prototype.recalcLocalAabb=function(){Zp(this.a)},PE.prototype.getConvexPolyhedron=function(){return pT(qp(this.a),UE)},PE.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Jp(t,e)},PE.prototype.getLocalScaling=function(){return pT($p(this.a),NT)},PE.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),eh(n,e,t)},PE.prototype.__destroy__=function(){th(this.a)},OE.prototype=Object.create(lT.prototype),OE.prototype.constructor=OE,OE.prototype.b=OE,OE.c={},t.btVehicleTuning=OE,OE.prototype.get_m_suspensionStiffness=OE.prototype.F=function(){return ih(this.a)},OE.prototype.set_m_suspensionStiffness=OE.prototype.M=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),rh(t,e)},Object.defineProperty(OE.prototype,"m_suspensionStiffness",{get:OE.prototype.F,set:OE.prototype.M}),OE.prototype.get_m_suspensionCompression=OE.prototype.rc=function(){return oh(this.a)},OE.prototype.set_m_suspensionCompression=OE.prototype.bf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ah(t,e)},Object.defineProperty(OE.prototype,"m_suspensionCompression",{get:OE.prototype.rc,set:OE.prototype.bf}),OE.prototype.get_m_suspensionDamping=OE.prototype.sc=function(){return sh(this.a)},OE.prototype.set_m_suspensionDamping=OE.prototype.cf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ch(t,e)},Object.defineProperty(OE.prototype,"m_suspensionDamping",{get:OE.prototype.sc,set:OE.prototype.cf}),OE.prototype.get_m_maxSuspensionTravelCm=OE.prototype.D=function(){return lh(this.a)},OE.prototype.set_m_maxSuspensionTravelCm=OE.prototype.L=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),uh(t,e)},Object.defineProperty(OE.prototype,"m_maxSuspensionTravelCm",{get:OE.prototype.D,set:OE.prototype.L}),OE.prototype.get_m_frictionSlip=OE.prototype.v=function(){return ph(this.a)},OE.prototype.set_m_frictionSlip=OE.prototype.H=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hh(t,e)},Object.defineProperty(OE.prototype,"m_frictionSlip",{get:OE.prototype.v,set:OE.prototype.H}),OE.prototype.get_m_maxSuspensionForce=OE.prototype.C=function(){return dh(this.a)},OE.prototype.set_m_maxSuspensionForce=OE.prototype.K=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),fh(t,e)},Object.defineProperty(OE.prototype,"m_maxSuspensionForce",{get:OE.prototype.C,set:OE.prototype.K}),ME.prototype=Object.create(lT.prototype),ME.prototype.constructor=ME,ME.prototype.b=ME,ME.c={},t.btCollisionObjectWrapper=ME,ME.prototype.getWorldTransform=function(){return pT(_h(this.a),sP)},ME.prototype.getCollisionObject=function(){return pT(mh(this.a),ST)},ME.prototype.getCollisionShape=function(){return pT(bh(this.a),xT)},RE.prototype=Object.create(lT.prototype),RE.prototype.constructor=RE,RE.prototype.b=RE,RE.c={},t.btShapeHull=RE,RE.prototype.buildHull=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),!!vh(t,e)},RE.prototype.numVertices=function(){return yh(this.a)},RE.prototype.getVertexPointer=function(){return pT(Ch(this.a),NT)},RE.prototype.__destroy__=function(){Ah(this.a)},IE.prototype=Object.create(HT.prototype),IE.prototype.constructor=IE,IE.prototype.b=IE,IE.c={},t.btDefaultMotionState=IE,IE.prototype.getWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Eh(t,e)},IE.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ph(t,e)},IE.prototype.get_m_graphicsWorldTrans=IE.prototype.tb=function(){return pT(Oh(this.a),sP)},IE.prototype.set_m_graphicsWorldTrans=IE.prototype.ee=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Mh(t,e)},Object.defineProperty(IE.prototype,"m_graphicsWorldTrans",{get:IE.prototype.tb,set:IE.prototype.ee}),IE.prototype.__destroy__=function(){Rh(this.a)},wE.prototype=Object.create(lT.prototype),wE.prototype.constructor=wE,wE.prototype.b=wE,wE.c={},t.btWheelInfo=wE,wE.prototype.getSuspensionRestLength=function(){return wh(this.a)},wE.prototype.updateWheel=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Dh(n,e,t)},wE.prototype.get_m_suspensionStiffness=wE.prototype.F=function(){return Lh(this.a)},wE.prototype.set_m_suspensionStiffness=wE.prototype.M=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Nh(t,e)},Object.defineProperty(wE.prototype,"m_suspensionStiffness",{get:wE.prototype.F,set:wE.prototype.M}),wE.prototype.get_m_frictionSlip=wE.prototype.v=function(){return Fh(this.a)},wE.prototype.set_m_frictionSlip=wE.prototype.H=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bh(t,e)},Object.defineProperty(wE.prototype,"m_frictionSlip",{get:wE.prototype.v,set:wE.prototype.H}),wE.prototype.get_m_engineForce=wE.prototype.pb=function(){return kh(this.a)},wE.prototype.set_m_engineForce=wE.prototype.ae=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vh(t,e)},Object.defineProperty(wE.prototype,"m_engineForce",{get:wE.prototype.pb,set:wE.prototype.ae}),wE.prototype.get_m_rollInfluence=wE.prototype.hc=function(){return zh(this.a)},wE.prototype.set_m_rollInfluence=wE.prototype.Se=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jh(t,e)},Object.defineProperty(wE.prototype,"m_rollInfluence",{get:wE.prototype.hc,set:wE.prototype.Se}),wE.prototype.get_m_suspensionRestLength1=wE.prototype.wc=function(){return Uh(this.a)},wE.prototype.set_m_suspensionRestLength1=wE.prototype.gf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Gh(t,e)},Object.defineProperty(wE.prototype,"m_suspensionRestLength1",{get:wE.prototype.wc,set:wE.prototype.gf}),wE.prototype.get_m_wheelsRadius=wE.prototype.Kc=function(){return Hh(this.a)},wE.prototype.set_m_wheelsRadius=wE.prototype.wf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Wh(t,e)},Object.defineProperty(wE.prototype,"m_wheelsRadius",{get:wE.prototype.Kc,set:wE.prototype.wf}),wE.prototype.get_m_wheelsDampingCompression=wE.prototype.W=function(){return Xh(this.a)},wE.prototype.set_m_wheelsDampingCompression=wE.prototype.ga=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Yh(t,e)},Object.defineProperty(wE.prototype,"m_wheelsDampingCompression",{get:wE.prototype.W,set:wE.prototype.ga}),wE.prototype.get_m_wheelsDampingRelaxation=wE.prototype.X=function(){return Qh(this.a)},wE.prototype.set_m_wheelsDampingRelaxation=wE.prototype.ha=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Kh(t,e)},Object.defineProperty(wE.prototype,"m_wheelsDampingRelaxation",{get:wE.prototype.X,set:wE.prototype.ha}),wE.prototype.get_m_steering=wE.prototype.pc=function(){return Zh(this.a)},wE.prototype.set_m_steering=wE.prototype.$e=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),qh(t,e)},Object.defineProperty(wE.prototype,"m_steering",{get:wE.prototype.pc,set:wE.prototype.$e}),wE.prototype.get_m_maxSuspensionForce=wE.prototype.C=function(){return Jh(this.a)},wE.prototype.set_m_maxSuspensionForce=wE.prototype.K=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),$h(t,e)},Object.defineProperty(wE.prototype,"m_maxSuspensionForce",{get:wE.prototype.C,set:wE.prototype.K}),wE.prototype.get_m_maxSuspensionTravelCm=wE.prototype.D=function(){return ed(this.a)},wE.prototype.set_m_maxSuspensionTravelCm=wE.prototype.L=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),td(t,e)},Object.defineProperty(wE.prototype,"m_maxSuspensionTravelCm",{get:wE.prototype.D,set:wE.prototype.L}),wE.prototype.get_m_wheelsSuspensionForce=wE.prototype.Lc=function(){return nd(this.a)},wE.prototype.set_m_wheelsSuspensionForce=wE.prototype.xf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),id(t,e)},Object.defineProperty(wE.prototype,"m_wheelsSuspensionForce",{get:wE.prototype.Lc,set:wE.prototype.xf}),wE.prototype.get_m_bIsFrontWheel=wE.prototype.O=function(){return!!rd(this.a)},wE.prototype.set_m_bIsFrontWheel=wE.prototype.Z=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),od(t,e)},Object.defineProperty(wE.prototype,"m_bIsFrontWheel",{get:wE.prototype.O,set:wE.prototype.Z}),wE.prototype.get_m_raycastInfo=wE.prototype.ec=function(){return pT(ad(this.a),WE)},wE.prototype.set_m_raycastInfo=wE.prototype.Qe=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),sd(t,e)},Object.defineProperty(wE.prototype,"m_raycastInfo",{get:wE.prototype.ec,set:wE.prototype.Qe}),wE.prototype.get_m_chassisConnectionPointCS=wE.prototype.$a=function(){return pT(cd(this.a),NT)},wE.prototype.set_m_chassisConnectionPointCS=wE.prototype.Md=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ld(t,e)},Object.defineProperty(wE.prototype,"m_chassisConnectionPointCS",{get:wE.prototype.$a,set:wE.prototype.Md}),wE.prototype.get_m_worldTransform=wE.prototype.Mc=function(){return pT(ud(this.a),sP)},wE.prototype.set_m_worldTransform=wE.prototype.yf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pd(t,e)},Object.defineProperty(wE.prototype,"m_worldTransform",{get:wE.prototype.Mc,set:wE.prototype.yf}),wE.prototype.get_m_wheelDirectionCS=wE.prototype.V=function(){return pT(hd(this.a),NT)},wE.prototype.set_m_wheelDirectionCS=wE.prototype.fa=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),dd(t,e)},Object.defineProperty(wE.prototype,"m_wheelDirectionCS",{get:wE.prototype.V,set:wE.prototype.fa}),wE.prototype.get_m_wheelAxleCS=wE.prototype.U=function(){return pT(fd(this.a),NT)},wE.prototype.set_m_wheelAxleCS=wE.prototype.ea=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),_d(t,e)},Object.defineProperty(wE.prototype,"m_wheelAxleCS",{get:wE.prototype.U,set:wE.prototype.ea}),wE.prototype.get_m_rotation=wE.prototype.jc=function(){return md(this.a)},wE.prototype.set_m_rotation=wE.prototype.Ue=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),bd(t,e)},Object.defineProperty(wE.prototype,"m_rotation",{get:wE.prototype.jc,set:wE.prototype.Ue}),wE.prototype.get_m_deltaRotation=wE.prototype.jb=function(){return gd(this.a)},wE.prototype.set_m_deltaRotation=wE.prototype.Vd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),vd(t,e)},Object.defineProperty(wE.prototype,"m_deltaRotation",{get:wE.prototype.jb,set:wE.prototype.Vd}),wE.prototype.get_m_brake=wE.prototype.Ta=function(){return yd(this.a)},wE.prototype.set_m_brake=wE.prototype.Fd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Cd(t,e)},Object.defineProperty(wE.prototype,"m_brake",{get:wE.prototype.Ta,set:wE.prototype.Fd}),wE.prototype.get_m_clippedInvContactDotSuspension=wE.prototype.ab=function(){return Ad(this.a)},wE.prototype.set_m_clippedInvContactDotSuspension=wE.prototype.Nd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),xd(t,e)},Object.defineProperty(wE.prototype,"m_clippedInvContactDotSuspension",{get:wE.prototype.ab,set:wE.prototype.Nd}),wE.prototype.get_m_suspensionRelativeVelocity=wE.prototype.uc=function(){return Sd(this.a)},wE.prototype.set_m_suspensionRelativeVelocity=wE.prototype.ef=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Td(t,e)},Object.defineProperty(wE.prototype,"m_suspensionRelativeVelocity",{get:wE.prototype.uc,set:wE.prototype.ef}),wE.prototype.get_m_skidInfo=wE.prototype.mc=function(){return Ed(this.a)},wE.prototype.set_m_skidInfo=wE.prototype.Xe=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Pd(t,e)},Object.defineProperty(wE.prototype,"m_skidInfo",{get:wE.prototype.mc,set:wE.prototype.Xe}),wE.prototype.__destroy__=function(){Od(this.a)},DE.prototype=Object.create(NT.prototype),DE.prototype.constructor=DE,DE.prototype.b=DE,DE.c={},t.btVector4=DE,DE.prototype.w=function(){return Id(this.a)},DE.prototype.setValue=function(e,t,n,i){var r=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),wd(r,e,t,n,i)},DE.prototype.length=DE.prototype.length=function(){return Dd(this.a)},DE.prototype.x=DE.prototype.x=function(){return Ld(this.a)},DE.prototype.y=DE.prototype.y=function(){return Nd(this.a)},DE.prototype.z=DE.prototype.z=function(){return Fd(this.a)},DE.prototype.setX=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bd(t,e)},DE.prototype.setY=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),kd(t,e)},DE.prototype.setZ=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vd(t,e)},DE.prototype.normalize=DE.prototype.normalize=function(){zd(this.a)},DE.prototype.rotate=DE.prototype.rotate=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),pT(jd(n,e,t),NT)},DE.prototype.dot=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),Ud(t,e)},DE.prototype.op_mul=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Gd(t,e),NT)},DE.prototype.op_add=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Hd(t,e),NT)},DE.prototype.op_sub=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Wd(t,e),NT)},DE.prototype.__destroy__=function(){Xd(this.a)},LE.prototype=Object.create(lT.prototype),LE.prototype.constructor=LE,LE.prototype.b=LE,LE.c={},t.btDefaultCollisionConstructionInfo=LE,LE.prototype.__destroy__=function(){Qd(this.a)},NE.prototype=Object.create(lT.prototype),NE.prototype.constructor=NE,NE.prototype.b=NE,NE.c={},t.Anchor=NE,NE.prototype.get_m_node=NE.prototype.Ub=function(){return pT(Kd(this.a),ZE)},NE.prototype.set_m_node=NE.prototype.Fe=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zd(t,e)},Object.defineProperty(NE.prototype,"m_node",{get:NE.prototype.Ub,set:NE.prototype.Fe}),NE.prototype.get_m_local=NE.prototype.Ob=function(){return pT(qd(this.a),NT)},NE.prototype.set_m_local=NE.prototype.ze=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Jd(t,e)},Object.defineProperty(NE.prototype,"m_local",{get:NE.prototype.Ob,set:NE.prototype.ze}),NE.prototype.get_m_body=NE.prototype.Sa=function(){return pT($d(this.a),dE)},NE.prototype.set_m_body=NE.prototype.Ed=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ef(t,e)},Object.defineProperty(NE.prototype,"m_body",{get:NE.prototype.Sa,set:NE.prototype.Ed}),NE.prototype.get_m_influence=NE.prototype.Hb=function(){return tf(this.a)},NE.prototype.set_m_influence=NE.prototype.se=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),nf(t,e)},Object.defineProperty(NE.prototype,"m_influence",{get:NE.prototype.Hb,set:NE.prototype.se}),NE.prototype.get_m_c0=NE.prototype.Va=function(){return pT(rf(this.a),KT)},NE.prototype.set_m_c0=NE.prototype.Hd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),of(t,e)},Object.defineProperty(NE.prototype,"m_c0",{get:NE.prototype.Va,set:NE.prototype.Hd}),NE.prototype.get_m_c1=NE.prototype.Wa=function(){return pT(af(this.a),NT)},NE.prototype.set_m_c1=NE.prototype.Id=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),sf(t,e)},Object.defineProperty(NE.prototype,"m_c1",{get:NE.prototype.Wa,set:NE.prototype.Id}),NE.prototype.get_m_c2=NE.prototype.Xa=function(){return cf(this.a)},NE.prototype.set_m_c2=NE.prototype.Jd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),lf(t,e)},Object.defineProperty(NE.prototype,"m_c2",{get:NE.prototype.Xa,set:NE.prototype.Jd}),NE.prototype.__destroy__=function(){uf(this.a)},FE.prototype=Object.create(lT.prototype),FE.prototype.constructor=FE,FE.prototype.b=FE,FE.c={},t.btVehicleRaycasterResult=FE,FE.prototype.get_m_hitPointInWorld=FE.prototype.Cb=function(){return pT(pf(this.a),NT)},FE.prototype.set_m_hitPointInWorld=FE.prototype.ne=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hf(t,e)},Object.defineProperty(FE.prototype,"m_hitPointInWorld",{get:FE.prototype.Cb,set:FE.prototype.ne}),FE.prototype.get_m_hitNormalInWorld=FE.prototype.Ab=function(){return pT(df(this.a),NT)},FE.prototype.set_m_hitNormalInWorld=FE.prototype.le=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ff(t,e)},Object.defineProperty(FE.prototype,"m_hitNormalInWorld",{get:FE.prototype.Ab,set:FE.prototype.le}),FE.prototype.get_m_distFraction=FE.prototype.mb=function(){return _f(this.a)},FE.prototype.set_m_distFraction=FE.prototype.Yd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),mf(t,e)},Object.defineProperty(FE.prototype,"m_distFraction",{get:FE.prototype.mb,set:FE.prototype.Yd}),FE.prototype.__destroy__=function(){bf(this.a)},BE.prototype=Object.create(lT.prototype),BE.prototype.constructor=BE,BE.prototype.b=BE,BE.c={},t.btVector3Array=BE,BE.prototype.size=BE.prototype.size=function(){return gf(this.a)},BE.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(vf(t,e),NT)},BE.prototype.__destroy__=function(){yf(this.a)},kE.prototype=Object.create(lT.prototype),kE.prototype.constructor=kE,kE.prototype.b=kE,kE.c={},t.btConstraintSolver=kE,kE.prototype.__destroy__=function(){Cf(this.a)},VE.prototype=Object.create(LT.prototype),VE.prototype.constructor=VE,VE.prototype.b=VE,VE.c={},t.btRaycastVehicle=VE,VE.prototype.applyEngineForce=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),xf(n,e,t)},VE.prototype.setSteeringValue=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Sf(n,e,t)},VE.prototype.getWheelTransformWS=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Tf(t,e),sP)},VE.prototype.updateWheelTransform=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Ef(n,e,t)},VE.prototype.addWheel=function(e,t,n,i,r,o,a){var s=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),o&&"object"==typeof o&&(o=o.a),a&&"object"==typeof a&&(a=a.a),pT(Pf(s,e,t,n,i,r,o,a),wE)},VE.prototype.getNumWheels=function(){return Of(this.a)},VE.prototype.getRigidBody=function(){return pT(Mf(this.a),dE)},VE.prototype.getWheelInfo=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Rf(t,e),wE)},VE.prototype.setBrake=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),If(n,e,t)},VE.prototype.setCoordinateSystem=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),wf(i,e,t,n)},VE.prototype.getCurrentSpeedKmHour=function(){return Df(this.a)},VE.prototype.getChassisWorldTransform=function(){return pT(Lf(this.a),sP)},VE.prototype.rayCast=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),Nf(t,e)},VE.prototype.updateVehicle=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ff(t,e)},VE.prototype.resetSuspension=function(){Bf(this.a)},VE.prototype.getSteeringValue=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),kf(t,e)},VE.prototype.updateWheelTransformsWS=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),void 0===t?Vf(n,e):zf(n,e,t)},VE.prototype.setPitchControl=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jf(t,e)},VE.prototype.updateSuspension=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Uf(t,e)},VE.prototype.updateFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Gf(t,e)},VE.prototype.getRightAxis=function(){return Hf(this.a)},VE.prototype.getUpAxis=function(){return Wf(this.a)},VE.prototype.getForwardAxis=function(){return Xf(this.a)},VE.prototype.getForwardVector=function(){return pT(Yf(this.a),NT)},VE.prototype.getUserConstraintType=function(){return Qf(this.a)},VE.prototype.setUserConstraintType=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Kf(t,e)},VE.prototype.setUserConstraintId=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zf(t,e)},VE.prototype.getUserConstraintId=function(){return qf(this.a)},VE.prototype.updateAction=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Jf(n,e,t)},VE.prototype.__destroy__=function(){$f(this.a)},zE.prototype=Object.create(kT.prototype),zE.prototype.constructor=zE,zE.prototype.b=zE,zE.c={},t.btCylinderShapeX=zE,zE.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),t_(t,e)},zE.prototype.getMargin=function(){return n_(this.a)},zE.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),i_(t,e)},zE.prototype.getLocalScaling=function(){return pT(r_(this.a),NT)},zE.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),o_(n,e,t)},zE.prototype.__destroy__=function(){a_(this.a)},jE.prototype=Object.create(kT.prototype),jE.prototype.constructor=jE,jE.prototype.b=jE,jE.c={},t.btCylinderShapeZ=jE,jE.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),c_(t,e)},jE.prototype.getMargin=function(){return l_(this.a)},jE.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),u_(t,e)},jE.prototype.getLocalScaling=function(){return pT(p_(this.a),NT)},jE.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),h_(n,e,t)},jE.prototype.__destroy__=function(){d_(this.a)},UE.prototype=Object.create(lT.prototype),UE.prototype.constructor=UE,UE.prototype.b=UE,UE.c={},t.btConvexPolyhedron=UE,UE.prototype.get_m_vertices=UE.prototype.Gc=function(){return pT(f_(this.a),BE)},UE.prototype.set_m_vertices=UE.prototype.sf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),__(t,e)},Object.defineProperty(UE.prototype,"m_vertices",{get:UE.prototype.Gc,set:UE.prototype.sf}),UE.prototype.get_m_faces=UE.prototype.P=function(){return pT(m_(this.a),tP)},UE.prototype.set_m_faces=UE.prototype.$=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),b_(t,e)},Object.defineProperty(UE.prototype,"m_faces",{get:UE.prototype.P,set:UE.prototype.$}),UE.prototype.__destroy__=function(){g_(this.a)},GE.prototype=Object.create(lT.prototype),GE.prototype.constructor=GE,GE.prototype.b=GE,GE.c={},t.btSequentialImpulseConstraintSolver=GE,GE.prototype.__destroy__=function(){y_(this.a)},HE.prototype=Object.create(lT.prototype),HE.prototype.constructor=HE,HE.prototype.b=HE,HE.c={},t.tAnchorArray=HE,HE.prototype.size=HE.prototype.size=function(){return C_(this.a)},HE.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(A_(t,e),NE)},HE.prototype.clear=HE.prototype.clear=function(){x_(this.a)},HE.prototype.push_back=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),S_(t,e)},HE.prototype.pop_back=function(){T_(this.a)},HE.prototype.__destroy__=function(){E_(this.a)},WE.prototype=Object.create(lT.prototype),WE.prototype.constructor=WE,WE.prototype.b=WE,WE.c={},t.RaycastInfo=WE,WE.prototype.get_m_contactNormalWS=WE.prototype.cb=function(){return pT(P_(this.a),NT)},WE.prototype.set_m_contactNormalWS=WE.prototype.Pd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),O_(t,e)},Object.defineProperty(WE.prototype,"m_contactNormalWS",{get:WE.prototype.cb,set:WE.prototype.Pd}),WE.prototype.get_m_contactPointWS=WE.prototype.eb=function(){return pT(M_(this.a),NT)},WE.prototype.set_m_contactPointWS=WE.prototype.Qd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),R_(t,e)},Object.defineProperty(WE.prototype,"m_contactPointWS",{get:WE.prototype.eb,set:WE.prototype.Qd}),WE.prototype.get_m_suspensionLength=WE.prototype.tc=function(){return I_(this.a)},WE.prototype.set_m_suspensionLength=WE.prototype.df=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),w_(t,e)},Object.defineProperty(WE.prototype,"m_suspensionLength",{get:WE.prototype.tc,set:WE.prototype.df}),WE.prototype.get_m_hardPointWS=WE.prototype.wb=function(){return pT(D_(this.a),NT)},WE.prototype.set_m_hardPointWS=WE.prototype.he=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),L_(t,e)},Object.defineProperty(WE.prototype,"m_hardPointWS",{get:WE.prototype.wb,set:WE.prototype.he}),WE.prototype.get_m_wheelDirectionWS=WE.prototype.Ic=function(){return pT(N_(this.a),NT)},WE.prototype.set_m_wheelDirectionWS=WE.prototype.uf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),F_(t,e)},Object.defineProperty(WE.prototype,"m_wheelDirectionWS",{get:WE.prototype.Ic,set:WE.prototype.uf}),WE.prototype.get_m_wheelAxleWS=WE.prototype.Hc=function(){return pT(B_(this.a),NT)},WE.prototype.set_m_wheelAxleWS=WE.prototype.tf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),k_(t,e)},Object.defineProperty(WE.prototype,"m_wheelAxleWS",{get:WE.prototype.Hc,set:WE.prototype.tf}),WE.prototype.get_m_isInContact=WE.prototype.Ib=function(){return!!V_(this.a)},WE.prototype.set_m_isInContact=WE.prototype.te=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),z_(t,e)},Object.defineProperty(WE.prototype,"m_isInContact",{get:WE.prototype.Ib,set:WE.prototype.te}),WE.prototype.get_m_groundObject=WE.prototype.vb=function(){return j_(this.a)},WE.prototype.set_m_groundObject=WE.prototype.ge=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),U_(t,e)},Object.defineProperty(WE.prototype,"m_groundObject",{get:WE.prototype.vb,set:WE.prototype.ge}),WE.prototype.__destroy__=function(){G_(this.a)},XE.prototype=Object.create(xT.prototype),XE.prototype.constructor=XE,XE.prototype.b=XE,XE.c={},t.btMultiSphereShape=XE,XE.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),W_(t,e)},XE.prototype.getLocalScaling=function(){return pT(X_(this.a),NT)},XE.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Y_(n,e,t)},XE.prototype.__destroy__=function(){Q_(this.a)},YE.prototype=Object.create(ST.prototype),YE.prototype.constructor=YE,YE.prototype.b=YE,YE.c={},t.btSoftBody=YE,YE.prototype.checkLink=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),!!Z_(n,e,t)},YE.prototype.checkFace=function(e,t,n){var i=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),!!q_(i,e,t,n)},YE.prototype.appendMaterial=function(){return pT(J_(this.a),qT)},YE.prototype.appendNode=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),$_(n,e,t)},YE.prototype.appendLink=function(e,t,n,i){var r=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),em(r,e,t,n,i)},YE.prototype.appendFace=function(e,t,n,i){var r=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),tm(r,e,t,n,i)},YE.prototype.appendTetra=function(e,t,n,i,r){var o=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),nm(o,e,t,n,i,r)},YE.prototype.appendAnchor=function(e,t,n,i){var r=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),im(r,e,t,n,i)},YE.prototype.addForce=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),void 0===t?rm(n,e):om(n,e,t)},YE.prototype.addAeroForceToNode=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),am(n,e,t)},YE.prototype.getTotalMass=function(){return sm(this.a)},YE.prototype.setTotalMass=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),cm(n,e,t)},YE.prototype.setMass=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),lm(n,e,t)},YE.prototype.transform=YE.prototype.transform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),um(t,e)},YE.prototype.translate=YE.prototype.translate=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pm(t,e)},YE.prototype.rotate=YE.prototype.rotate=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hm(t,e)},YE.prototype.scale=YE.prototype.scale=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),dm(t,e)},YE.prototype.generateClusters=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),void 0===t?fm(n,e):_m(n,e,t)},YE.prototype.generateBendingConstraints=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),mm(n,e,t)},YE.prototype.upcast=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(bm(t,e),YE)},YE.prototype.setAnisotropicFriction=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),gm(n,e,t)},YE.prototype.getCollisionShape=function(){return pT(vm(this.a),xT)},YE.prototype.setContactProcessingThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ym(t,e)},YE.prototype.setActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Cm(t,e)},YE.prototype.forceActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Am(t,e)},YE.prototype.activate=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),void 0===e?xm(t):Sm(t,e)},YE.prototype.isActive=function(){return!!Tm(this.a)},YE.prototype.isKinematicObject=function(){return!!Em(this.a)},YE.prototype.isStaticObject=function(){return!!Pm(this.a)},YE.prototype.isStaticOrKinematicObject=function(){return!!Om(this.a)},YE.prototype.getRestitution=function(){return Mm(this.a)},YE.prototype.getFriction=function(){return Rm(this.a)},YE.prototype.getRollingFriction=function(){return Im(this.a)},YE.prototype.setRestitution=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),wm(t,e)},YE.prototype.setFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Dm(t,e)},YE.prototype.setRollingFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Lm(t,e)},YE.prototype.getWorldTransform=function(){return pT(Nm(this.a),sP)},YE.prototype.getCollisionFlags=function(){return Fm(this.a)},YE.prototype.setCollisionFlags=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bm(t,e)},YE.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),km(t,e)},YE.prototype.setCollisionShape=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Vm(t,e)},YE.prototype.setCcdMotionThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zm(t,e)},YE.prototype.setCcdSweptSphereRadius=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jm(t,e)},YE.prototype.getUserIndex=function(){return Um(this.a)},YE.prototype.setUserIndex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Gm(t,e)},YE.prototype.getUserPointer=function(){return pT(Hm(this.a),yE)},YE.prototype.setUserPointer=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Wm(t,e)},YE.prototype.getBroadphaseHandle=function(){return pT(Xm(this.a),gP)},YE.prototype.get_m_cfg=YE.prototype.Ya=function(){return pT(Ym(this.a),KE)},YE.prototype.set_m_cfg=YE.prototype.Kd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Qm(t,e)},Object.defineProperty(YE.prototype,"m_cfg",{get:YE.prototype.Ya,set:YE.prototype.Kd}),YE.prototype.get_m_nodes=YE.prototype.Vb=function(){return pT(Km(this.a),vP)},YE.prototype.set_m_nodes=YE.prototype.Ge=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zm(t,e)},Object.defineProperty(YE.prototype,"m_nodes",{get:YE.prototype.Vb,set:YE.prototype.Ge}),YE.prototype.get_m_faces=YE.prototype.P=function(){return pT(qm(this.a),RP)},YE.prototype.set_m_faces=YE.prototype.$=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Jm(t,e)},Object.defineProperty(YE.prototype,"m_faces",{get:YE.prototype.P,set:YE.prototype.$}),YE.prototype.get_m_materials=YE.prototype.Sb=function(){return pT($m(this.a),cE)},YE.prototype.set_m_materials=YE.prototype.De=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),eb(t,e)},Object.defineProperty(YE.prototype,"m_materials",{get:YE.prototype.Sb,set:YE.prototype.De}),YE.prototype.get_m_anchors=YE.prototype.Oa=function(){return pT(tb(this.a),HE)},YE.prototype.set_m_anchors=YE.prototype.Ad=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),nb(t,e)},Object.defineProperty(YE.prototype,"m_anchors",{get:YE.prototype.Oa,set:YE.prototype.Ad}),YE.prototype.__destroy__=function(){ib(this.a)},QE.prototype=Object.create(lT.prototype),QE.prototype.constructor=QE,QE.prototype.b=QE,QE.c={},t.btIntArray=QE,QE.prototype.size=QE.prototype.size=function(){return rb(this.a)},QE.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),ob(t,e)},QE.prototype.__destroy__=function(){ab(this.a)},KE.prototype=Object.create(lT.prototype),KE.prototype.constructor=KE,KE.prototype.b=KE,KE.c={},t.Config=KE,KE.prototype.get_kVCF=KE.prototype.Ha=function(){return sb(this.a)},KE.prototype.set_kVCF=KE.prototype.td=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),cb(t,e)},Object.defineProperty(KE.prototype,"kVCF",{get:KE.prototype.Ha,set:KE.prototype.td}),KE.prototype.get_kDP=KE.prototype.ua=function(){return lb(this.a)},KE.prototype.set_kDP=KE.prototype.ed=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ub(t,e)},Object.defineProperty(KE.prototype,"kDP",{get:KE.prototype.ua,set:KE.prototype.ed}),KE.prototype.get_kDG=KE.prototype.ta=function(){return pb(this.a)},KE.prototype.set_kDG=KE.prototype.dd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hb(t,e)},Object.defineProperty(KE.prototype,"kDG",{get:KE.prototype.ta,set:KE.prototype.dd}),KE.prototype.get_kLF=KE.prototype.wa=function(){return db(this.a)},KE.prototype.set_kLF=KE.prototype.hd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),fb(t,e)},Object.defineProperty(KE.prototype,"kLF",{get:KE.prototype.wa,set:KE.prototype.hd}),KE.prototype.get_kPR=KE.prototype.ya=function(){return _b(this.a)},KE.prototype.set_kPR=KE.prototype.kd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),mb(t,e)},Object.defineProperty(KE.prototype,"kPR",{get:KE.prototype.ya,set:KE.prototype.kd}),KE.prototype.get_kVC=KE.prototype.Ga=function(){return bb(this.a)},KE.prototype.set_kVC=KE.prototype.sd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),gb(t,e)},Object.defineProperty(KE.prototype,"kVC",{get:KE.prototype.Ga,set:KE.prototype.sd}),KE.prototype.get_kDF=KE.prototype.sa=function(){return vb(this.a)},KE.prototype.set_kDF=KE.prototype.cd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),yb(t,e)},Object.defineProperty(KE.prototype,"kDF",{get:KE.prototype.sa,set:KE.prototype.cd}),KE.prototype.get_kMT=KE.prototype.xa=function(){return Cb(this.a)},KE.prototype.set_kMT=KE.prototype.jd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ab(t,e)},Object.defineProperty(KE.prototype,"kMT",{get:KE.prototype.xa,set:KE.prototype.jd}),KE.prototype.get_kCHR=KE.prototype.ra=function(){return xb(this.a)},KE.prototype.set_kCHR=KE.prototype.bd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Sb(t,e)},Object.defineProperty(KE.prototype,"kCHR",{get:KE.prototype.ra,set:KE.prototype.bd}),KE.prototype.get_kKHR=KE.prototype.va=function(){return Tb(this.a)},KE.prototype.set_kKHR=KE.prototype.gd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Eb(t,e)},Object.defineProperty(KE.prototype,"kKHR",{get:KE.prototype.va,set:KE.prototype.gd}),KE.prototype.get_kSHR=KE.prototype.za=function(){return Pb(this.a)},KE.prototype.set_kSHR=KE.prototype.ld=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ob(t,e)},Object.defineProperty(KE.prototype,"kSHR",{get:KE.prototype.za,set:KE.prototype.ld}),KE.prototype.get_kAHR=KE.prototype.qa=function(){return Mb(this.a)},KE.prototype.set_kAHR=KE.prototype.ad=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Rb(t,e)},Object.defineProperty(KE.prototype,"kAHR",{get:KE.prototype.qa,set:KE.prototype.ad}),KE.prototype.get_kSRHR_CL=KE.prototype.Ca=function(){return Ib(this.a)},KE.prototype.set_kSRHR_CL=KE.prototype.od=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),wb(t,e)},Object.defineProperty(KE.prototype,"kSRHR_CL",{get:KE.prototype.Ca,set:KE.prototype.od}),KE.prototype.get_kSKHR_CL=KE.prototype.Aa=function(){return Db(this.a)},KE.prototype.set_kSKHR_CL=KE.prototype.md=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Lb(t,e)},Object.defineProperty(KE.prototype,"kSKHR_CL",{get:KE.prototype.Aa,set:KE.prototype.md}),KE.prototype.get_kSSHR_CL=KE.prototype.Ea=function(){return Nb(this.a)},KE.prototype.set_kSSHR_CL=KE.prototype.qd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Fb(t,e)},Object.defineProperty(KE.prototype,"kSSHR_CL",{get:KE.prototype.Ea,set:KE.prototype.qd}),KE.prototype.get_kSR_SPLT_CL=KE.prototype.Da=function(){return Bb(this.a)},KE.prototype.set_kSR_SPLT_CL=KE.prototype.pd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),kb(t,e)},Object.defineProperty(KE.prototype,"kSR_SPLT_CL",{get:KE.prototype.Da,set:KE.prototype.pd}),KE.prototype.get_kSK_SPLT_CL=KE.prototype.Ba=function(){return Vb(this.a)},KE.prototype.set_kSK_SPLT_CL=KE.prototype.nd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zb(t,e)},Object.defineProperty(KE.prototype,"kSK_SPLT_CL",{get:KE.prototype.Ba,set:KE.prototype.nd}),KE.prototype.get_kSS_SPLT_CL=KE.prototype.Fa=function(){return jb(this.a)},KE.prototype.set_kSS_SPLT_CL=KE.prototype.rd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ub(t,e)},Object.defineProperty(KE.prototype,"kSS_SPLT_CL",{get:KE.prototype.Fa,set:KE.prototype.rd}),KE.prototype.get_maxvolume=KE.prototype.Oc=function(){return Gb(this.a)},KE.prototype.set_maxvolume=KE.prototype.Af=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Hb(t,e)},Object.defineProperty(KE.prototype,"maxvolume",{get:KE.prototype.Oc,set:KE.prototype.Af}),KE.prototype.get_timescale=KE.prototype.Qc=function(){return Wb(this.a)},KE.prototype.set_timescale=KE.prototype.Cf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Xb(t,e)},Object.defineProperty(KE.prototype,"timescale",{get:KE.prototype.Qc,set:KE.prototype.Cf}),KE.prototype.get_viterations=KE.prototype.Rc=function(){return Yb(this.a)},KE.prototype.set_viterations=KE.prototype.Df=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Qb(t,e)},Object.defineProperty(KE.prototype,"viterations",{get:KE.prototype.Rc,set:KE.prototype.Df}),KE.prototype.get_piterations=KE.prototype.Pc=function(){return Kb(this.a)},KE.prototype.set_piterations=KE.prototype.Bf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zb(t,e)},Object.defineProperty(KE.prototype,"piterations",{get:KE.prototype.Pc,set:KE.prototype.Bf}),KE.prototype.get_diterations=KE.prototype.pa=function(){return qb(this.a)},KE.prototype.set_diterations=KE.prototype.$c=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Jb(t,e)},Object.defineProperty(KE.prototype,"diterations",{get:KE.prototype.pa,set:KE.prototype.$c}),KE.prototype.get_citerations=KE.prototype.na=function(){return $b(this.a)},KE.prototype.set_citerations=KE.prototype.Yc=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),eg(t,e)},Object.defineProperty(KE.prototype,"citerations",{get:KE.prototype.na,set:KE.prototype.Yc}),KE.prototype.get_collisions=KE.prototype.oa=function(){return tg(this.a)},KE.prototype.set_collisions=KE.prototype.Zc=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ng(t,e)},Object.defineProperty(KE.prototype,"collisions",{get:KE.prototype.oa,set:KE.prototype.Zc}),KE.prototype.__destroy__=function(){ig(this.a)},ZE.prototype=Object.create(lT.prototype),ZE.prototype.constructor=ZE,ZE.prototype.b=ZE,ZE.c={},t.Node=ZE,ZE.prototype.get_m_x=ZE.prototype.Nc=function(){return pT(rg(this.a),NT)},ZE.prototype.set_m_x=ZE.prototype.zf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),og(t,e)},Object.defineProperty(ZE.prototype,"m_x",{get:ZE.prototype.Nc,set:ZE.prototype.zf}),ZE.prototype.get_m_q=ZE.prototype.cc=function(){return pT(ag(this.a),NT)},ZE.prototype.set_m_q=ZE.prototype.Oe=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),sg(t,e)},Object.defineProperty(ZE.prototype,"m_q",{get:ZE.prototype.cc,set:ZE.prototype.Oe}),ZE.prototype.get_m_v=ZE.prototype.Fc=function(){return pT(cg(this.a),NT)},ZE.prototype.set_m_v=ZE.prototype.rf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),lg(t,e)},Object.defineProperty(ZE.prototype,"m_v",{get:ZE.prototype.Fc,set:ZE.prototype.rf}),ZE.prototype.get_m_f=ZE.prototype.qb=function(){return pT(ug(this.a),NT)},ZE.prototype.set_m_f=ZE.prototype.be=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pg(t,e)},Object.defineProperty(ZE.prototype,"m_f",{get:ZE.prototype.qb,set:ZE.prototype.be}),ZE.prototype.get_m_n=ZE.prototype.R=function(){return pT(hg(this.a),NT)},ZE.prototype.set_m_n=ZE.prototype.aa=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),dg(t,e)},Object.defineProperty(ZE.prototype,"m_n",{get:ZE.prototype.R,set:ZE.prototype.aa}),ZE.prototype.get_m_im=ZE.prototype.Eb=function(){return fg(this.a)},ZE.prototype.set_m_im=ZE.prototype.pe=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),_g(t,e)},Object.defineProperty(ZE.prototype,"m_im",{get:ZE.prototype.Eb,set:ZE.prototype.pe}),ZE.prototype.get_m_area=ZE.prototype.Ra=function(){return mg(this.a)},ZE.prototype.set_m_area=ZE.prototype.Dd=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),bg(t,e)},Object.defineProperty(ZE.prototype,"m_area",{get:ZE.prototype.Ra,set:ZE.prototype.Dd}),ZE.prototype.__destroy__=function(){gg(this.a)},qE.prototype=Object.create(lT.prototype),qE.prototype.constructor=qE,qE.prototype.b=qE,qE.c={},t.btGhostPairCallback=qE,qE.prototype.__destroy__=function(){yg(this.a)},JE.prototype=Object.create(lT.prototype),JE.prototype.constructor=JE,JE.prototype.b=JE,JE.c={},t.btOverlappingPairCallback=JE,JE.prototype.__destroy__=function(){Cg(this.a)},$E.prototype=Object.create(LT.prototype),$E.prototype.constructor=$E,$E.prototype.b=$E,$E.c={},t.btKinematicCharacterController=$E,$E.prototype.setUpAxis=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Sg(t,e)},$E.prototype.setWalkDirection=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Tg(t,e)},$E.prototype.setVelocityForTimeInterval=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Eg(n,e,t)},$E.prototype.warp=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Pg(t,e)},$E.prototype.preStep=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Og(t,e)},$E.prototype.playerStep=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Mg(n,e,t)},$E.prototype.setFallSpeed=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Rg(t,e)},$E.prototype.setJumpSpeed=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ig(t,e)},$E.prototype.setMaxJumpHeight=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),wg(t,e)},$E.prototype.canJump=function(){return!!Dg(this.a)},$E.prototype.jump=function(){Lg(this.a)},$E.prototype.setGravity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ng(t,e)},$E.prototype.getGravity=function(){return Fg(this.a)},$E.prototype.setMaxSlope=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bg(t,e)},$E.prototype.getMaxSlope=function(){return kg(this.a)},$E.prototype.getGhostObject=function(){return pT(Vg(this.a),fP)},$E.prototype.setUseGhostSweepTest=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zg(t,e)},$E.prototype.onGround=function(){return!!jg(this.a)},$E.prototype.setUpInterpolate=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ug(t,e)},$E.prototype.updateAction=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Gg(n,e,t)},$E.prototype.__destroy__=function(){Hg(this.a)},eP.prototype=Object.create(lT.prototype),eP.prototype.constructor=eP,eP.prototype.b=eP,eP.c={},t.btSoftBodyArray=eP,eP.prototype.size=eP.prototype.size=function(){return Wg(this.a)},eP.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Xg(t,e),YE)},eP.prototype.__destroy__=function(){Yg(this.a)},tP.prototype=Object.create(lT.prototype),tP.prototype.constructor=tP,tP.prototype.b=tP,tP.c={},t.btFaceArray=tP,tP.prototype.size=tP.prototype.size=function(){return Qg(this.a)},tP.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Kg(t,e),CP)},tP.prototype.__destroy__=function(){Zg(this.a)},nP.prototype=Object.create(PT.prototype),nP.prototype.constructor=nP,nP.prototype.b=nP,nP.c={},t.btStaticPlaneShape=nP,nP.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Jg(t,e)},nP.prototype.getLocalScaling=function(){return pT($g(this.a),NT)},nP.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),ev(n,e,t)},nP.prototype.__destroy__=function(){tv(this.a)},iP.prototype=Object.create(lT.prototype),iP.prototype.constructor=iP,iP.prototype.b=iP,iP.c={},t.btOverlappingPairCache=iP,iP.prototype.setInternalGhostPairCallback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),nv(t,e)},iP.prototype.getNumOverlappingPairs=function(){return iv(this.a)},iP.prototype.__destroy__=function(){rv(this.a)},rP.prototype=Object.create(lT.prototype),rP.prototype.constructor=rP,rP.prototype.b=rP,rP.c={},t.btIndexedMesh=rP,rP.prototype.get_m_numTriangles=rP.prototype.Zb=function(){return ov(this.a)},rP.prototype.set_m_numTriangles=rP.prototype.Ke=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),av(t,e)},Object.defineProperty(rP.prototype,"m_numTriangles",{get:rP.prototype.Zb,set:rP.prototype.Ke}),rP.prototype.__destroy__=function(){sv(this.a)},oP.prototype=Object.create(VT.prototype),oP.prototype.constructor=oP,oP.prototype.b=oP,oP.c={},t.btSoftRigidDynamicsWorld=oP,oP.prototype.addSoftBody=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),lv(i,e,t,n)},oP.prototype.removeSoftBody=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),uv(t,e)},oP.prototype.removeCollisionObject=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pv(t,e)},oP.prototype.getWorldInfo=function(){return pT(hv(this.a),CE)},oP.prototype.getSoftBodyArray=function(){return pT(dv(this.a),eP)},oP.prototype.getDispatcher=function(){return pT(fv(this.a),jT)},oP.prototype.rayTest=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),_v(i,e,t,n)},oP.prototype.getPairCache=function(){return pT(mv(this.a),iP)},oP.prototype.getDispatchInfo=function(){return pT(bv(this.a),JT)},oP.prototype.addCollisionObject=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),void 0===t?gv(i,e):void 0===n?vv(i,e,t):yv(i,e,t,n)},oP.prototype.getBroadphase=function(){return pT(Cv(this.a),tE)},oP.prototype.convexSweepTest=function(e,t,n,i,r){var o=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),Av(o,e,t,n,i,r)},oP.prototype.contactPairTest=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),xv(i,e,t,n)},oP.prototype.contactTest=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Sv(n,e,t)},oP.prototype.updateSingleAabb=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Tv(t,e)},oP.prototype.setDebugDrawer=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ev(t,e)},oP.prototype.getDebugDrawer=function(){return pT(Pv(this.a),MT)},oP.prototype.debugDrawWorld=function(){Ov(this.a)},oP.prototype.debugDrawObject=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),Mv(i,e,t,n)},oP.prototype.setGravity=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Rv(t,e)},oP.prototype.getGravity=function(){return pT(Iv(this.a),NT)},oP.prototype.addRigidBody=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),void 0===t?wv(i,e):void 0===n?_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_2(i,e,t):Dv(i,e,t,n)},oP.prototype.removeRigidBody=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Lv(t,e)},oP.prototype.addConstraint=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),void 0===t?Nv(n,e):Fv(n,e,t)},oP.prototype.removeConstraint=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bv(t,e)},oP.prototype.stepSimulation=function(e,t,n){var i=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),void 0===t?kv(i,e):void 0===n?Vv(i,e,t):zv(i,e,t,n)},oP.prototype.setContactAddedCallback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),jv(t,e)},oP.prototype.setContactProcessedCallback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Uv(t,e)},oP.prototype.setContactDestroyedCallback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Gv(t,e)},oP.prototype.addAction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Hv(t,e)},oP.prototype.removeAction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Wv(t,e)},oP.prototype.getSolverInfo=function(){return pT(Xv(this.a),EP)},oP.prototype.setInternalTickCallback=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),void 0===t?Yv(i,e):void 0===n?Qv(i,e,t):Kv(i,e,t,n)},oP.prototype.__destroy__=function(){Zv(this.a)},aP.prototype=Object.create(ET.prototype),aP.prototype.constructor=aP,aP.prototype.b=aP,aP.c={},t.btFixedConstraint=aP,aP.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Jv(t,e)},aP.prototype.getBreakingImpulseThreshold=function(){return $v(this.a)},aP.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ey(t,e)},aP.prototype.getParam=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),ty(n,e,t)},aP.prototype.setParam=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),ny(i,e,t,n)},aP.prototype.__destroy__=function(){iy(this.a)},sP.prototype=Object.create(lT.prototype),sP.prototype.constructor=sP,sP.prototype.b=sP,sP.c={},t.btTransform=sP,sP.prototype.setIdentity=function(){ay(this.a)},sP.prototype.setOrigin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),sy(t,e)},sP.prototype.setRotation=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),cy(t,e)},sP.prototype.getOrigin=function(){return pT(ly(this.a),NT)},sP.prototype.getRotation=function(){return pT(uy(this.a),SP)},sP.prototype.getBasis=function(){return pT(py(this.a),KT)},sP.prototype.setFromOpenGLMatrix=function(e){var t=this.a;bT(),"object"==typeof e&&(e=CT(e)),hy(t,e)},sP.prototype.inverse=sP.prototype.inverse=function(){return pT(dy(this.a),sP)},sP.prototype.op_mul=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(fy(t,e),sP)},sP.prototype.__destroy__=function(){_y(this.a)},cP.prototype=Object.create(QT.prototype),cP.prototype.constructor=cP,cP.prototype.b=cP,cP.c={},t.ClosestRayResultCallback=cP,cP.prototype.hasHit=function(){return!!by(this.a)},cP.prototype.get_m_rayFromWorld=cP.prototype.S=function(){return pT(gy(this.a),NT)},cP.prototype.set_m_rayFromWorld=cP.prototype.ba=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),vy(t,e)},Object.defineProperty(cP.prototype,"m_rayFromWorld",{get:cP.prototype.S,set:cP.prototype.ba}),cP.prototype.get_m_rayToWorld=cP.prototype.T=function(){return pT(yy(this.a),NT)},cP.prototype.set_m_rayToWorld=cP.prototype.da=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Cy(t,e)},Object.defineProperty(cP.prototype,"m_rayToWorld",{get:cP.prototype.T,set:cP.prototype.da}),cP.prototype.get_m_hitNormalWorld=cP.prototype.A=function(){return pT(Ay(this.a),NT)},cP.prototype.set_m_hitNormalWorld=cP.prototype.I=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),xy(t,e)},Object.defineProperty(cP.prototype,"m_hitNormalWorld",{get:cP.prototype.A,set:cP.prototype.I}),cP.prototype.get_m_hitPointWorld=cP.prototype.B=function(){return pT(Sy(this.a),NT)},cP.prototype.set_m_hitPointWorld=cP.prototype.J=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Ty(t,e)},Object.defineProperty(cP.prototype,"m_hitPointWorld",{get:cP.prototype.B,set:cP.prototype.J}),cP.prototype.get_m_collisionFilterGroup=cP.prototype.f=function(){return Ey(this.a)},cP.prototype.set_m_collisionFilterGroup=cP.prototype.h=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Py(t,e)},Object.defineProperty(cP.prototype,"m_collisionFilterGroup",{get:cP.prototype.f,set:cP.prototype.h}),cP.prototype.get_m_collisionFilterMask=cP.prototype.g=function(){return Oy(this.a)},cP.prototype.set_m_collisionFilterMask=cP.prototype.i=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),My(t,e)},Object.defineProperty(cP.prototype,"m_collisionFilterMask",{get:cP.prototype.g,set:cP.prototype.i}),cP.prototype.get_m_closestHitFraction=cP.prototype.j=function(){return Ry(this.a)},cP.prototype.set_m_closestHitFraction=cP.prototype.l=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Iy(t,e)},Object.defineProperty(cP.prototype,"m_closestHitFraction",{get:cP.prototype.j,set:cP.prototype.l}),cP.prototype.get_m_collisionObject=cP.prototype.u=function(){return pT(wy(this.a),ST)},cP.prototype.set_m_collisionObject=cP.prototype.G=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Dy(t,e)},Object.defineProperty(cP.prototype,"m_collisionObject",{get:cP.prototype.u,set:cP.prototype.G}),cP.prototype.__destroy__=function(){Ly(this.a)},lP.prototype=Object.create(RT.prototype),lP.prototype.constructor=lP,lP.prototype.b=lP,lP.c={},t.btSoftBodyRigidBodyCollisionConfiguration=lP,lP.prototype.__destroy__=function(){By(this.a)},uP.prototype=Object.create(XT.prototype),uP.prototype.constructor=uP,uP.prototype.b=uP,uP.c={},t.ConcreteContactResultCallback=uP,uP.prototype.addSingleResult=function(e,t,n,i,r,o,a){var s=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),o&&"object"==typeof o&&(o=o.a),a&&"object"==typeof a&&(a=a.a),Vy(s,e,t,n,i,r,o,a)},uP.prototype.__destroy__=function(){zy(this.a)},pP.prototype=Object.create(IT.prototype),pP.prototype.constructor=pP,pP.prototype.b=pP,pP.c={},t.btBvhTriangleMeshShape=pP,pP.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Gy(t,e)},pP.prototype.getLocalScaling=function(){return pT(Hy(this.a),NT)},pP.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Wy(n,e,t)},pP.prototype.__destroy__=function(){Xy(this.a)},hP.prototype=Object.create(lT.prototype),hP.prototype.constructor=hP,hP.prototype.b=hP,hP.c={},t.btConstCollisionObjectArray=hP,hP.prototype.size=hP.prototype.size=function(){return Yy(this.a)},hP.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Qy(t,e),ST)},hP.prototype.__destroy__=function(){Ky(this.a)},dP.prototype=Object.create(ET.prototype),dP.prototype.constructor=dP,dP.prototype.b=dP,dP.c={},t.btSliderConstraint=dP,dP.prototype.setLowerLinLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Jy(t,e)},dP.prototype.setUpperLinLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),$y(t,e)},dP.prototype.setLowerAngLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),eC(t,e)},dP.prototype.setUpperAngLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),tC(t,e)},dP.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),nC(t,e)},dP.prototype.getBreakingImpulseThreshold=function(){return iC(this.a)},dP.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),rC(t,e)},dP.prototype.getParam=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),oC(n,e,t)},dP.prototype.setParam=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),aC(i,e,t,n)},dP.prototype.__destroy__=function(){sC(this.a)},fP.prototype=Object.create(wT.prototype),fP.prototype.constructor=fP,fP.prototype.b=fP,fP.c={},t.btPairCachingGhostObject=fP,fP.prototype.setAnisotropicFriction=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),lC(n,e,t)},fP.prototype.getCollisionShape=function(){return pT(uC(this.a),xT)},fP.prototype.setContactProcessingThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pC(t,e)},fP.prototype.setActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hC(t,e)},fP.prototype.forceActivationState=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),dC(t,e)},fP.prototype.activate=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),void 0===e?fC(t):_C(t,e)},fP.prototype.isActive=function(){return!!mC(this.a)},fP.prototype.isKinematicObject=function(){return!!bC(this.a)},fP.prototype.isStaticObject=function(){return!!gC(this.a)},fP.prototype.isStaticOrKinematicObject=function(){return!!vC(this.a)},fP.prototype.getRestitution=function(){return yC(this.a)},fP.prototype.getFriction=function(){return CC(this.a)},fP.prototype.getRollingFriction=function(){return AC(this.a)},fP.prototype.setRestitution=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),xC(t,e)},fP.prototype.setFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),SC(t,e)},fP.prototype.setRollingFriction=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),TC(t,e)},fP.prototype.getWorldTransform=function(){return pT(EC(this.a),sP)},fP.prototype.getCollisionFlags=function(){return PC(this.a)},fP.prototype.setCollisionFlags=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),OC(t,e)},fP.prototype.setWorldTransform=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),MC(t,e)},fP.prototype.setCollisionShape=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),RC(t,e)},fP.prototype.setCcdMotionThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),IC(t,e)},fP.prototype.setCcdSweptSphereRadius=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),wC(t,e)},fP.prototype.getUserIndex=function(){return DC(this.a)},fP.prototype.setUserIndex=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),LC(t,e)},fP.prototype.getUserPointer=function(){return pT(NC(this.a),yE)},fP.prototype.setUserPointer=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),FC(t,e)},fP.prototype.getBroadphaseHandle=function(){return pT(BC(this.a),gP)},fP.prototype.getNumOverlappingObjects=function(){return kC(this.a)},fP.prototype.getOverlappingObject=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(VC(t,e),ST)},fP.prototype.__destroy__=function(){zC(this.a)},_P.prototype=Object.create(lT.prototype),_P.prototype.constructor=_P,_P.prototype.b=_P,_P.c={},t.btManifoldPoint=_P,_P.prototype.getPositionWorldOnA=function(){return pT(jC(this.a),NT)},_P.prototype.getPositionWorldOnB=function(){return pT(UC(this.a),NT)},_P.prototype.getAppliedImpulse=function(){return GC(this.a)},_P.prototype.getDistance=function(){return HC(this.a)},_P.prototype.get_m_localPointA=_P.prototype.Pb=function(){return pT(WC(this.a),NT)},_P.prototype.set_m_localPointA=_P.prototype.Ae=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),XC(t,e)},Object.defineProperty(_P.prototype,"m_localPointA",{get:_P.prototype.Pb,set:_P.prototype.Ae}),_P.prototype.get_m_localPointB=_P.prototype.Qb=function(){return pT(YC(this.a),NT)},_P.prototype.set_m_localPointB=_P.prototype.Be=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),QC(t,e)},Object.defineProperty(_P.prototype,"m_localPointB",{get:_P.prototype.Qb,set:_P.prototype.Be}),_P.prototype.get_m_positionWorldOnB=_P.prototype.bc=function(){return pT(KC(this.a),NT)},_P.prototype.set_m_positionWorldOnB=_P.prototype.Ne=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ZC(t,e)},Object.defineProperty(_P.prototype,"m_positionWorldOnB",{get:_P.prototype.bc,set:_P.prototype.Ne}),_P.prototype.get_m_positionWorldOnA=_P.prototype.ac=function(){return pT(qC(this.a),NT)},_P.prototype.set_m_positionWorldOnA=_P.prototype.Me=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),JC(t,e)},Object.defineProperty(_P.prototype,"m_positionWorldOnA",{get:_P.prototype.ac,set:_P.prototype.Me}),_P.prototype.get_m_normalWorldOnB=_P.prototype.Xb=function(){return pT($C(this.a),NT)},_P.prototype.set_m_normalWorldOnB=_P.prototype.Ie=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),eA(t,e)},Object.defineProperty(_P.prototype,"m_normalWorldOnB",{get:_P.prototype.Xb,set:_P.prototype.Ie}),_P.prototype.get_m_userPersistentData=_P.prototype.Ec=function(){return tA(this.a)},_P.prototype.set_m_userPersistentData=_P.prototype.qf=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),nA(t,e)},Object.defineProperty(_P.prototype,"m_userPersistentData",{get:_P.prototype.Ec,set:_P.prototype.qf}),_P.prototype.__destroy__=function(){iA(this.a)},mP.prototype=Object.create(ET.prototype),mP.prototype.constructor=mP,mP.prototype.b=mP,mP.c={},t.btPoint2PointConstraint=mP,mP.prototype.setPivotA=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),aA(t,e)},mP.prototype.setPivotB=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),sA(t,e)},mP.prototype.getPivotInA=function(){return pT(cA(this.a),NT)},mP.prototype.getPivotInB=function(){return pT(lA(this.a),NT)},mP.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),uA(t,e)},mP.prototype.getBreakingImpulseThreshold=function(){return pA(this.a)},mP.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hA(t,e)},mP.prototype.getParam=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),dA(n,e,t)},mP.prototype.setParam=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),fA(i,e,t,n)},mP.prototype.get_m_setting=mP.prototype.kc=function(){return pT(_A(this.a),pE)},mP.prototype.set_m_setting=mP.prototype.Ve=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),mA(t,e)},Object.defineProperty(mP.prototype,"m_setting",{get:mP.prototype.kc,set:mP.prototype.Ve}),mP.prototype.__destroy__=function(){bA(this.a)},bP.prototype=Object.create(lT.prototype),bP.prototype.constructor=bP,bP.prototype.b=bP,bP.c={},t.btSoftBodyHelpers=bP,bP.prototype.CreateRope=function(e,t,n,i,r){var o=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),pT(vA(o,e,t,n,i,r),YE)},bP.prototype.CreatePatch=function(e,t,n,i,r,o,a,s,c){var l=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),o&&"object"==typeof o&&(o=o.a),a&&"object"==typeof a&&(a=a.a),s&&"object"==typeof s&&(s=s.a),c&&"object"==typeof c&&(c=c.a),pT(yA(l,e,t,n,i,r,o,a,s,c),YE)},bP.prototype.CreatePatchUV=function(e,t,n,i,r,o,a,s,c,l){var u=this.a;return bT(),e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),o&&"object"==typeof o&&(o=o.a),a&&"object"==typeof a&&(a=a.a),s&&"object"==typeof s&&(s=s.a),c&&"object"==typeof c&&(c=c.a),"object"==typeof l&&(l=CT(l)),pT(CA(u,e,t,n,i,r,o,a,s,c,l),YE)},bP.prototype.CreateEllipsoid=function(e,t,n,i){var r=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),pT(AA(r,e,t,n,i),YE)},bP.prototype.CreateFromTriMesh=function(e,t,n,i,r){var o=this.a;if(bT(),e&&"object"==typeof e&&(e=e.a),"object"==typeof t&&(t=CT(t)),"object"==typeof n&&"object"==typeof n){var a=gT(n,L);vT(n,L,a),n=a}return i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),pT(xA(o,e,t,n,i,r),YE)},bP.prototype.CreateFromConvexHull=function(e,t,n,i){var r=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),pT(SA(r,e,t,n,i),YE)},bP.prototype.__destroy__=function(){TA(this.a)},gP.prototype=Object.create(lT.prototype),gP.prototype.constructor=gP,gP.prototype.b=gP,gP.c={},t.btBroadphaseProxy=gP,gP.prototype.get_m_collisionFilterGroup=gP.prototype.f=function(){return EA(this.a)},gP.prototype.set_m_collisionFilterGroup=gP.prototype.h=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),PA(t,e)},Object.defineProperty(gP.prototype,"m_collisionFilterGroup",{get:gP.prototype.f,set:gP.prototype.h}),gP.prototype.get_m_collisionFilterMask=gP.prototype.g=function(){return OA(this.a)},gP.prototype.set_m_collisionFilterMask=gP.prototype.i=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),MA(t,e)},Object.defineProperty(gP.prototype,"m_collisionFilterMask",{get:gP.prototype.g,set:gP.prototype.i}),gP.prototype.__destroy__=function(){RA(this.a)},vP.prototype=Object.create(lT.prototype),vP.prototype.constructor=vP,vP.prototype.b=vP,vP.c={},t.tNodeArray=vP,vP.prototype.size=vP.prototype.size=function(){return IA(this.a)},vP.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(wA(t,e),ZE)},vP.prototype.__destroy__=function(){DA(this.a)},yP.prototype=Object.create(xT.prototype),yP.prototype.constructor=yP,yP.prototype.b=yP,yP.c={},t.btBoxShape=yP,yP.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),NA(t,e)},yP.prototype.getMargin=function(){return FA(this.a)},yP.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),BA(t,e)},yP.prototype.getLocalScaling=function(){return pT(kA(this.a),NT)},yP.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),VA(n,e,t)},yP.prototype.__destroy__=function(){zA(this.a)},CP.prototype=Object.create(lT.prototype),CP.prototype.constructor=CP,CP.prototype.b=CP,CP.c={},t.btFace=CP,CP.prototype.get_m_indices=CP.prototype.Gb=function(){return pT(jA(this.a),QE)},CP.prototype.set_m_indices=CP.prototype.re=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),UA(t,e)},Object.defineProperty(CP.prototype,"m_indices",{get:CP.prototype.Gb,set:CP.prototype.re}),CP.prototype.get_m_plane=CP.prototype.$b=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),GA(t,e)},CP.prototype.set_m_plane=CP.prototype.Le=function(e,t){var n=this.a;bT(),e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),HA(n,e,t)},Object.defineProperty(CP.prototype,"m_plane",{get:CP.prototype.$b,set:CP.prototype.Le}),CP.prototype.__destroy__=function(){WA(this.a)},AP.prototype=Object.create(MT.prototype),AP.prototype.constructor=AP,AP.prototype.b=AP,AP.c={},t.DebugDrawer=AP,AP.prototype.drawLine=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),YA(i,e,t,n)},AP.prototype.drawContactPoint=function(e,t,n,i,r){var o=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),r&&"object"==typeof r&&(r=r.a),QA(o,e,t,n,i,r)},AP.prototype.reportErrorWarning=function(e){var t=this.a;bT(),e=e&&"object"==typeof e?e.a:yT(e),KA(t,e)},AP.prototype.draw3dText=function(e,t){var n=this.a;bT(),e&&"object"==typeof e&&(e=e.a),t=t&&"object"==typeof t?t.a:yT(t),ZA(n,e,t)},AP.prototype.setDebugMode=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),qA(t,e)},AP.prototype.getDebugMode=function(){return JA(this.a)},AP.prototype.__destroy__=function(){$A(this.a)},xP.prototype=Object.create(OT.prototype),xP.prototype.constructor=xP,xP.prototype.b=xP,xP.c={},t.btCapsuleShapeX=xP,xP.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),tx(t,e)},xP.prototype.getMargin=function(){return nx(this.a)},xP.prototype.getUpAxis=function(){return ix(this.a)},xP.prototype.getRadius=function(){return rx(this.a)},xP.prototype.getHalfHeight=function(){return ox(this.a)},xP.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),ax(t,e)},xP.prototype.getLocalScaling=function(){return pT(sx(this.a),NT)},xP.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),cx(n,e,t)},xP.prototype.__destroy__=function(){lx(this.a)},SP.prototype=Object.create(BT.prototype),SP.prototype.constructor=SP,SP.prototype.b=SP,SP.c={},t.btQuaternion=SP,SP.prototype.setValue=function(e,t,n,i){var r=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),i&&"object"==typeof i&&(i=i.a),px(r,e,t,n,i)},SP.prototype.setEulerZYX=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),hx(i,e,t,n)},SP.prototype.setRotation=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),dx(n,e,t)},SP.prototype.normalize=SP.prototype.normalize=function(){fx(this.a)},SP.prototype.length2=function(){return _x(this.a)},SP.prototype.length=SP.prototype.length=function(){return mx(this.a)},SP.prototype.dot=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),bx(t,e)},SP.prototype.normalized=function(){return pT(gx(this.a),SP)},SP.prototype.getAxis=function(){return pT(vx(this.a),NT)},SP.prototype.inverse=SP.prototype.inverse=function(){return pT(yx(this.a),SP)},SP.prototype.getAngle=function(){return Cx(this.a)},SP.prototype.getAngleShortestPath=function(){return Ax(this.a)},SP.prototype.angle=SP.prototype.angle=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),xx(t,e)},SP.prototype.angleShortestPath=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),Sx(t,e)},SP.prototype.op_add=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Tx(t,e),SP)},SP.prototype.op_sub=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Ex(t,e),SP)},SP.prototype.op_mul=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Px(t,e),SP)},SP.prototype.op_mulq=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Ox(t,e),SP)},SP.prototype.op_div=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(Mx(t,e),SP)},SP.prototype.x=SP.prototype.x=function(){return Rx(this.a)},SP.prototype.y=SP.prototype.y=function(){return Ix(this.a)},SP.prototype.z=SP.prototype.z=function(){return wx(this.a)},SP.prototype.w=function(){return Dx(this.a)},SP.prototype.setX=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Lx(t,e)},SP.prototype.setY=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Nx(t,e)},SP.prototype.setZ=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Fx(t,e)},SP.prototype.setW=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Bx(t,e)},SP.prototype.__destroy__=function(){kx(this.a)},TP.prototype=Object.create(OT.prototype),TP.prototype.constructor=TP,TP.prototype.b=TP,TP.c={},t.btCapsuleShapeZ=TP,TP.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zx(t,e)},TP.prototype.getMargin=function(){return jx(this.a)},TP.prototype.getUpAxis=function(){return Ux(this.a)},TP.prototype.getRadius=function(){return Gx(this.a)},TP.prototype.getHalfHeight=function(){return Hx(this.a)},TP.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Wx(t,e)},TP.prototype.getLocalScaling=function(){return pT(Xx(this.a),NT)},TP.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),Yx(n,e,t)},TP.prototype.__destroy__=function(){Qx(this.a)},EP.prototype=Object.create(lT.prototype),EP.prototype.constructor=EP,EP.prototype.b=EP,EP.c={},t.btContactSolverInfo=EP,EP.prototype.get_m_splitImpulse=EP.prototype.nc=function(){return!!Kx(this.a)},EP.prototype.set_m_splitImpulse=EP.prototype.Ye=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Zx(t,e)},Object.defineProperty(EP.prototype,"m_splitImpulse",{get:EP.prototype.nc,set:EP.prototype.Ye}),EP.prototype.get_m_splitImpulsePenetrationThreshold=EP.prototype.oc=function(){return qx(this.a)},EP.prototype.set_m_splitImpulsePenetrationThreshold=EP.prototype.Ze=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),Jx(t,e)},Object.defineProperty(EP.prototype,"m_splitImpulsePenetrationThreshold",{get:EP.prototype.oc,set:EP.prototype.Ze}),EP.prototype.get_m_numIterations=EP.prototype.Yb=function(){return $x(this.a)},EP.prototype.set_m_numIterations=EP.prototype.Je=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),eS(t,e)},Object.defineProperty(EP.prototype,"m_numIterations",{get:EP.prototype.Yb,set:EP.prototype.Je}),EP.prototype.__destroy__=function(){tS(this.a)},PP.prototype=Object.create(UT.prototype),PP.prototype.constructor=PP,PP.prototype.b=PP,PP.c={},t.btGeneric6DofSpringConstraint=PP,PP.prototype.enableSpring=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),rS(n,e,t)},PP.prototype.setStiffness=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),oS(n,e,t)},PP.prototype.setDamping=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),aS(n,e,t)},PP.prototype.setEquilibriumPoint=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),void 0===e?sS(n):void 0===t?cS(n,e):lS(n,e,t)},PP.prototype.setLinearLowerLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),uS(t,e)},PP.prototype.setLinearUpperLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),pS(t,e)},PP.prototype.setAngularLowerLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),hS(t,e)},PP.prototype.setAngularUpperLimit=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),dS(t,e)},PP.prototype.getFrameOffsetA=function(){return pT(fS(this.a),sP)},PP.prototype.enableFeedback=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),_S(t,e)},PP.prototype.getBreakingImpulseThreshold=function(){return mS(this.a)},PP.prototype.setBreakingImpulseThreshold=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),bS(t,e)},PP.prototype.getParam=function(e,t){var n=this.a;return e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),gS(n,e,t)},PP.prototype.setParam=function(e,t,n){var i=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),n&&"object"==typeof n&&(n=n.a),vS(i,e,t,n)},PP.prototype.__destroy__=function(){yS(this.a)},OP.prototype=Object.create(xT.prototype),OP.prototype.constructor=OP,OP.prototype.b=OP,OP.c={},t.btSphereShape=OP,OP.prototype.setMargin=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),AS(t,e)},OP.prototype.getMargin=function(){return xS(this.a)},OP.prototype.setLocalScaling=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),SS(t,e)},OP.prototype.getLocalScaling=function(){return pT(TS(this.a),NT)},OP.prototype.calculateLocalInertia=function(e,t){var n=this.a;e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),ES(n,e,t)},OP.prototype.__destroy__=function(){PS(this.a)},MP.prototype=Object.create(lT.prototype),MP.prototype.constructor=MP,MP.prototype.b=MP,MP.c={},t.Face=MP,MP.prototype.get_m_n=MP.prototype.R=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(OS(t,e),ZE)},MP.prototype.set_m_n=MP.prototype.aa=function(e,t){var n=this.a;bT(),e&&"object"==typeof e&&(e=e.a),t&&"object"==typeof t&&(t=t.a),MS(n,e,t)},Object.defineProperty(MP.prototype,"m_n",{get:MP.prototype.R,set:MP.prototype.aa}),MP.prototype.get_m_normal=MP.prototype.Wb=function(){return pT(RS(this.a),NT)},MP.prototype.set_m_normal=MP.prototype.He=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),IS(t,e)},Object.defineProperty(MP.prototype,"m_normal",{get:MP.prototype.Wb,set:MP.prototype.He}),MP.prototype.get_m_ra=MP.prototype.dc=function(){return wS(this.a)},MP.prototype.set_m_ra=MP.prototype.Pe=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),DS(t,e)},Object.defineProperty(MP.prototype,"m_ra",{get:MP.prototype.dc,set:MP.prototype.Pe}),MP.prototype.__destroy__=function(){LS(this.a)},RP.prototype=Object.create(lT.prototype),RP.prototype.constructor=RP,RP.prototype.b=RP,RP.c={},t.tFaceArray=RP,RP.prototype.size=RP.prototype.size=function(){return NS(this.a)},RP.prototype.at=function(e){var t=this.a;return e&&"object"==typeof e&&(e=e.a),pT(FS(t,e),MP)},RP.prototype.__destroy__=function(){BS(this.a)},IP.prototype=Object.create(lT.prototype),IP.prototype.constructor=IP,IP.prototype.b=IP,IP.c={},t.LocalConvexResult=IP,IP.prototype.get_m_hitCollisionObject=IP.prototype.xb=function(){return pT(VS(this.a),ST)},IP.prototype.set_m_hitCollisionObject=IP.prototype.ie=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),zS(t,e)},Object.defineProperty(IP.prototype,"m_hitCollisionObject",{get:IP.prototype.xb,set:IP.prototype.ie}),IP.prototype.get_m_localShapeInfo=IP.prototype.Rb=function(){return pT(jS(this.a),hE)},IP.prototype.set_m_localShapeInfo=IP.prototype.Ce=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),US(t,e)},Object.defineProperty(IP.prototype,"m_localShapeInfo",{get:IP.prototype.Rb,set:IP.prototype.Ce}),IP.prototype.get_m_hitNormalLocal=IP.prototype.Bb=function(){return pT(GS(this.a),NT)},IP.prototype.set_m_hitNormalLocal=IP.prototype.me=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),HS(t,e)},Object.defineProperty(IP.prototype,"m_hitNormalLocal",{get:IP.prototype.Bb,set:IP.prototype.me}),IP.prototype.get_m_hitPointLocal=IP.prototype.Db=function(){return pT(WS(this.a),NT)},IP.prototype.set_m_hitPointLocal=IP.prototype.oe=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),XS(t,e)},Object.defineProperty(IP.prototype,"m_hitPointLocal",{get:IP.prototype.Db,set:IP.prototype.oe}),IP.prototype.get_m_hitFraction=IP.prototype.yb=function(){return YS(this.a)},IP.prototype.set_m_hitFraction=IP.prototype.je=function(e){var t=this.a;e&&"object"==typeof e&&(e=e.a),QS(t,e)},Object.defineProperty(IP.prototype,"m_hitFraction",{get:IP.prototype.yb,set:IP.prototype.je}),IP.prototype.__destroy__=function(){KS(this.a)},function(){function e(){t.BT_CONSTRAINT_ERP=ZS(),t.BT_CONSTRAINT_STOP_ERP=qS(),t.BT_CONSTRAINT_CFM=JS(),t.BT_CONSTRAINT_STOP_CFM=$S(),t.PHY_FLOAT=eT(),t.PHY_DOUBLE=tT(),t.PHY_INTEGER=nT(),t.PHY_SHORT=iT(),t.PHY_FIXEDPOINT88=rT(),t.PHY_UCHAR=oT()}W?e():G.unshift(e)}(),this.Ammo=t,e.ready});e.exports=c}).call(this,"/index.js",n(221).setImmediate,n(208),"/",n(223).Buffer)},function(e,t,n){!function(){"use strict";var t,n,i=function(e,t){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t(n)},r=function(e,t){for(var n in e)t(n)},o=function(e,t,n){null!=e&&(n=n||{},Object.getOwnPropertyNames(e).forEach((function(e){n[e]||(t(e),n[e]=!0)})),o(Object.getPrototypeOf(e),t,n))};Object.defineProperty(Date.prototype,"toPrunedJSON",{value:Date.prototype.toJSON});var a=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,s={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function c(e){return a.lastIndex=0,a.test(e)?'"'+e.replace(a,(function(e){var t=s[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)}))+'"':'"'+e+'"'}var l=function(e,a,s){var l,u='"-pruned-"';if("object"==typeof a){var p=a;a=p.depthDecr,s=p.arrayMaxLength,n=p.iterator||i,p.allProperties?n=o:p.inheritedProperties&&(n=r),"prunedString"in p&&(u=p.prunedString),p.replacer&&(l=p.replacer)}else n=i;return t=[],s=s||50,function e(i,r,o){var a,p,h,d,f=r[i];switch(f&&"object"==typeof f&&"function"==typeof f.toPrunedJSON&&(f=f.toPrunedJSON(i)),f&&"function"==typeof f.toJSON&&(f=f.toJSON()),typeof f){case"string":return c(f);case"number":return isFinite(f)?String(f):"null";case"boolean":case"null":return String(f);case"object":if(!f)return"null";if(o<=0||-1!==t.indexOf(f)){if(l){var _=l(f,u,!0);return void 0===_?void 0:""+_}return u}if(t.push(f),d=[],"[object Array]"===Object.prototype.toString.apply(f)){for(h=Math.min(f.length,s),a=0;as?l(f,p,!1):p}return n(f,(function(t){try{(p=e(t,f,o-1))&&d.push(c(t)+":"+p)}catch(e){}})),"{"+d.join(",")+"}";case"function":case"undefined":return l?l(f,void 0,!1):void 0}}("",{"":e},a=a||6)};l.log=function(){console.log.apply(console,Array.prototype.map.call(arguments,(function(e){return JSON.parse(JSON.prune(e))})))},l.forEachProperty=o,e.exports=l}()},function(e,t,n){(function(e){var i=void 0!==e&&e||"undefined"!=typeof self&&self||window,r=Function.prototype.apply;function o(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new o(r.call(setTimeout,i,arguments),clearTimeout)},t.setInterval=function(){return new o(r.call(setInterval,i,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(i,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(222),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(165))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var i,r,o,a,s,c=1,l={},u=!1,p=e.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(e);h=h&&h.setTimeout?h:e,"[object process]"==={}.toString.call(e.process)?i=function(e){t.nextTick((function(){f(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((o=new MessageChannel).port1.onmessage=function(e){f(e.data)},i=function(e){o.port2.postMessage(e)}):p&&"onreadystatechange"in p.createElement("script")?(r=p.documentElement,i=function(e){var t=p.createElement("script");t.onreadystatechange=function(){f(e),t.onreadystatechange=null,r.removeChild(t),t=null},r.appendChild(t)}):i=function(e){setTimeout(f,0,e)}:(a="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&f(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),i=function(t){e.postMessage(a+t,"*")}),h.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function f(e,t){if(c.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return j(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return U(e).length;default:if(i)return j(e).length;t=(""+t).toLowerCase(),i=!0}}function _(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return R(this,t,n);case"utf8":case"utf-8":return E(this,t,n);case"ascii":return O(this,t,n);case"latin1":case"binary":return M(this,t,n);case"base64":return T(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function m(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function b(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=c.from(t,i)),c.isBuffer(t))return 0===t.length?-1:g(e,t,n,i,r);if("number"==typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):g(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function g(e,t,n,i,r){var o,a=1,s=e.length,c=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,s/=2,c/=2,n/=2}function l(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){var u=-1;for(o=n;os&&(n=s-c),o=n;o>=0;o--){for(var p=!0,h=0;hr&&(i=r):i=r;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var a=0;a>8,r=n%256,o.push(r),o.push(i);return o}(t,e.length-n),e,n,i)}function T(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function E(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r239?4:l>223?3:l>191?2:1;if(r+p<=n)switch(p){case 1:l<128&&(u=l);break;case 2:128==(192&(o=e[r+1]))&&(c=(31&l)<<6|63&o)>127&&(u=c);break;case 3:o=e[r+1],a=e[r+2],128==(192&o)&&128==(192&a)&&(c=(15&l)<<12|(63&o)<<6|63&a)>2047&&(c<55296||c>57343)&&(u=c);break;case 4:o=e[r+1],a=e[r+2],s=e[r+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(c=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&c<1114112&&(u=c)}null===u?(u=65533,p=1):u>65535&&(u-=65536,i.push(u>>>10&1023|55296),u=56320|1023&u),i.push(u),r+=p}return function(e){var t=e.length;if(t<=P)return String.fromCharCode.apply(String,e);var n="",i=0;for(;i0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},c.prototype.compare=function(e,t,n,i,r){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),l=this.slice(i,r),u=e.slice(t,n),p=0;pr)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return v(this,e,t,n);case"utf8":case"utf-8":return y(this,e,t,n);case"ascii":return C(this,e,t,n);case"latin1":case"binary":return A(this,e,t,n);case"base64":return x(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var P=4096;function O(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;ri)&&(n=i);for(var r="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,n,i,r,o){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function L(e,t,n,i){t<0&&(t=65535+t+1);for(var r=0,o=Math.min(e.length-n,2);r>>8*(i?r:1-r)}function N(e,t,n,i){t<0&&(t=4294967295+t+1);for(var r=0,o=Math.min(e.length-n,4);r>>8*(i?r:3-r)&255}function F(e,t,n,i,r,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function B(e,t,n,i,o){return o||F(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function k(e,t,n,i,o){return o||F(e,0,n,8),r.write(e,t,n,i,52,8),n+8}c.prototype.slice=function(e,t){var n,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t0&&(r*=256);)i+=this[e+--t]*r;return i},c.prototype.readUInt8=function(e,t){return t||w(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||w(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||w(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||w(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||w(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||w(e,t,this.length);for(var i=this[e],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*t)),i},c.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||w(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},c.prototype.readInt8=function(e,t){return t||w(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||w(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(e,t){t||w(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(e,t){return t||w(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||w(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||w(e,4,this.length),r.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||w(e,4,this.length),r.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||w(e,8,this.length),r.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||w(e,8,this.length),r.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,n,i){(e=+e,t|=0,n|=0,i)||D(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+r]=e/o&255;return t+n},c.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):N(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);D(this,e,t,n,r-1,-r)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+n},c.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);D(this,e,t,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},c.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):N(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,n){return B(this,e,t,!0,n)},c.prototype.writeFloatBE=function(e,t,n){return B(this,e,t,!1,n)},c.prototype.writeDoubleLE=function(e,t,n){return k(this,e,t,!0,n)},c.prototype.writeDoubleBE=function(e,t,n){return k(this,e,t,!1,n)},c.prototype.copy=function(e,t,n,i){if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t=0;--r)e[r+t]=this[r+n];else if(o<1e3||!c.TYPED_ARRAY_SUPPORT)for(r=0;r>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function U(e){return i.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(V,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function G(e,t,n,i){for(var r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}}).call(this,n(165))},function(e,t,n){"use strict";t.byteLength=function(e){var t=l(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,i=l(e),a=i[0],s=i[1],c=new o(function(e,t,n){return 3*(t+n)/4-n}(0,a,s)),u=0,p=s>0?a-4:a;for(n=0;n>16&255,c[u++]=t>>8&255,c[u++]=255&t;2===s&&(t=r[e.charCodeAt(n)]<<2|r[e.charCodeAt(n+1)]>>4,c[u++]=255&t);1===s&&(t=r[e.charCodeAt(n)]<<10|r[e.charCodeAt(n+1)]<<4|r[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t);return c},t.fromByteArray=function(e){for(var t,n=e.length,r=n%3,o=[],a=16383,s=0,c=n-r;sc?c:s+a));1===r?(t=e[n-1],o.push(i[t>>2]+i[t<<4&63]+"==")):2===r&&(t=(e[n-2]<<8)+e[n-1],o.push(i[t>>10]+i[t>>4&63]+i[t<<2&63]+"="));return o.join("")};for(var i=[],r=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,c=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function u(e,t,n){for(var r,o,a=[],s=t;s>18&63]+i[o>>12&63]+i[o>>6&63]+i[63&o]);return a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,i,r){var o,a,s=8*r-i-1,c=(1<>1,u=-7,p=n?r-1:0,h=n?-1:1,d=e[t+p];for(p+=h,o=d&(1<<-u)-1,d>>=-u,u+=s;u>0;o=256*o+e[t+p],p+=h,u-=8);for(a=o&(1<<-u)-1,o>>=-u,u+=i;u>0;a=256*a+e[t+p],p+=h,u-=8);if(0===o)o=1-l;else{if(o===c)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,i),o-=l}return(d?-1:1)*a*Math.pow(2,o-i)},t.write=function(e,t,n,i,r,o){var a,s,c,l=8*o-r-1,u=(1<>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:o-1,f=i?1:-1,_=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=u):(a=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-a))<1&&(a--,c*=2),(t+=a+p>=1?h/c:h*Math.pow(2,1-p))*c>=2&&(a++,c/=2),a+p>=u?(s=0,a=u):a+p>=1?(s=(t*c-1)*Math.pow(2,r),a+=p):(s=t*Math.pow(2,p-1)*Math.pow(2,r),a=0));r>=8;e[n+d]=255&s,d+=f,s/=256,r-=8);for(a=a<0;e[n+d]=255&a,d+=f,a/=256,l-=8);e[n+d-f]|=128*_}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t){},function(e,t,n){(function(t){var i;"undefined"!=typeof self&&self,i=function(e,t,n,i,r){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="./legacy/legacy.ts")}({"../../../../node_modules/@fortawesome/fontawesome-svg-core/index.es.js":function(e,t,n){"use strict";n.r(t),function(e,i){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){for(var n=0;n-1;r--){var o=n[r],a=(o.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(a)>-1&&(i=o)}return g.head.insertBefore(t,i),e}}function be(){for(var e=12,t="";e-- >0;)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return t}function ge(e){for(var t=[],n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function ve(e){return e.classList?ge(e.classList):(e.getAttribute("class")||"").split(" ").filter((function(e){return e}))}function ye(e,t){var n=t.split("-"),i=n[0],r=n.slice(1).join("-");return i!==e||""===r||function(e){return~B.indexOf(e)}(r)?null:r}function Ce(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Ae(e){return Object.keys(e||{}).reduce((function(t,n){return t+"".concat(n,": ").concat(e[n],";")}),"")}function xe(e){return e.size!==_e.size||e.x!==_e.x||e.y!==_e.y||e.rotate!==_e.rotate||e.flipX||e.flipY}function Se(e){var t=e.transform,n=e.containerWidth,i=e.iconWidth,r={transform:"translate(".concat(n/2," 256)")},o="translate(".concat(32*t.x,", ").concat(32*t.y,") "),a="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),s="rotate(".concat(t.rotate," 0 0)");return{outer:r,inner:{transform:"".concat(o," ").concat(a," ").concat(s)},path:{transform:"translate(".concat(i/2*-1," -256)")}}}var Te={x:0,y:0,width:"100%",height:"100%"};function Ee(e){var t=e.icons,n=t.main,i=t.mask,r=e.prefix,o=e.iconName,a=e.transform,c=e.symbol,l=e.title,u=e.extra,p=e.watchable,h=void 0!==p&&p,d=i.found?i:n,f=d.width,_=d.height,m="fa-w-".concat(Math.ceil(f/_*16)),b=[z.replacementClass,o?"".concat(z.familyPrefix,"-").concat(o):"",m].filter((function(e){return-1===u.classes.indexOf(e)})).concat(u.classes).join(" "),g={children:[],attributes:s({},u.attributes,{"data-prefix":r,"data-icon":o,class:b,role:u.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(f," ").concat(_)})};h&&(g.attributes[S]=""),l&&g.children.push({tag:"title",attributes:{id:g.attributes["aria-labelledby"]||"title-".concat(be())},children:[l]});var v=s({},g,{prefix:r,iconName:o,main:n,mask:i,transform:a,symbol:c,styles:u.styles}),y=i.found&&n.found?function(e){var t=e.children,n=e.attributes,i=e.main,r=e.mask,o=e.transform,a=i.width,c=i.icon,l=r.width,u=r.icon,p=Se({transform:o,containerWidth:l,iconWidth:a}),h={tag:"rect",attributes:s({},Te,{fill:"white"})},d={tag:"g",attributes:s({},p.inner),children:[{tag:"path",attributes:s({},c.attributes,p.path,{fill:"black"})}]},f={tag:"g",attributes:s({},p.outer),children:[d]},_="mask-".concat(be()),m="clip-".concat(be()),b={tag:"defs",children:[{tag:"clipPath",attributes:{id:m},children:[u]},{tag:"mask",attributes:s({},Te,{id:_,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[h,f]}]};return t.push(b,{tag:"rect",attributes:s({fill:"currentColor","clip-path":"url(#".concat(m,")"),mask:"url(#".concat(_,")")},Te)}),{children:t,attributes:n}}(v):function(e){var t=e.children,n=e.attributes,i=e.main,r=e.transform,o=Ae(e.styles);if(o.length>0&&(n.style=o),xe(r)){var a=Se({transform:r,containerWidth:i.width,iconWidth:i.width});t.push({tag:"g",attributes:s({},a.outer),children:[{tag:"g",attributes:s({},a.inner),children:[{tag:i.icon.tag,children:i.icon.children,attributes:s({},i.icon.attributes,a.path)}]}]})}else t.push(i.icon);return{children:t,attributes:n}}(v),C=y.children,A=y.attributes;return v.children=C,v.attributes=A,c?function(e){var t=e.prefix,n=e.iconName,i=e.children,r=e.attributes,o=e.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:s({},r,{id:!0===o?"".concat(t,"-").concat(z.familyPrefix,"-").concat(n):o}),children:i}]}]}(v):function(e){var t=e.children,n=e.main,i=e.mask,r=e.attributes,o=e.styles,a=e.transform;if(xe(a)&&n.found&&!i.found){var c={x:n.width/n.height/2,y:.5};r.style=Ae(s({},o,{"transform-origin":"".concat(c.x+a.x/16,"em ").concat(c.y+a.y/16,"em")}))}return[{tag:"svg",attributes:r,children:t}]}(v)}function Pe(e){var t=e.content,n=e.width,i=e.height,r=e.transform,o=e.title,a=e.extra,c=e.watchable,l=void 0!==c&&c,u=s({},a.attributes,o?{title:o}:{},{class:a.classes.join(" ")});l&&(u[S]="");var p=s({},a.styles);xe(r)&&(p.transform=function(e){var t=e.transform,n=e.width,i=void 0===n?16:n,r=e.height,o=void 0===r?16:r,a=e.startCentered,s=void 0!==a&&a,c="";return c+=s&&A?"translate(".concat(t.x/fe-i/2,"em, ").concat(t.y/fe-o/2,"em) "):s?"translate(calc(-50% + ".concat(t.x/fe,"em), calc(-50% + ").concat(t.y/fe,"em)) "):"translate(".concat(t.x/fe,"em, ").concat(t.y/fe,"em) "),(c+="scale(".concat(t.size/fe*(t.flipX?-1:1),", ").concat(t.size/fe*(t.flipY?-1:1),") "))+"rotate(".concat(t.rotate,"deg) ")}({transform:r,startCentered:!0,width:n,height:i}),p["-webkit-transform"]=p.transform);var h=Ae(p);h.length>0&&(u.style=h);var d=[];return d.push({tag:"span",attributes:u,children:[t]}),o&&d.push({tag:"span",attributes:{class:"sr-only"},children:[o]}),d}function Oe(e){var t=e.content,n=e.title,i=e.extra,r=s({},i.attributes,n?{title:n}:{},{class:i.classes.join(" ")}),o=Ae(i.styles);o.length>0&&(r.style=o);var a=[];return a.push({tag:"span",attributes:r,children:[t]}),n&&a.push({tag:"span",attributes:{class:"sr-only"},children:[n]}),a}var Me=function(){},Re=z.measurePerformance&&y&&y.mark&&y.measure?y:{mark:Me,measure:Me},Ie='FA "5.9.0"',we=function(e){Re.mark("".concat(Ie," ").concat(e," ends")),Re.measure("".concat(Ie," ").concat(e),"".concat(Ie," ").concat(e," begins"),"".concat(Ie," ").concat(e," ends"))},De=function(e){return Re.mark("".concat(Ie," ").concat(e," begins")),function(){return we(e)}},Le=function(e,t,n,i){var r,o,a,s=Object.keys(e),c=s.length,l=void 0!==i?function(e,t){return function(n,i,r,o){return e.call(t,n,i,r,o)}}(t,i):t;for(void 0===n?(r=1,a=e[s[0]]):(r=0,a=n);r2&&void 0!==arguments[2]?arguments[2]:{},i=n.skipHooks,r=void 0!==i&&i,o=Object.keys(t).reduce((function(e,n){var i=t[n];return i.icon?e[i.iconName]=i.icon:e[n]=i,e}),{});"function"!=typeof U.hooks.addPack||r?U.styles[e]=s({},U.styles[e]||{},o):U.hooks.addPack(e,o),"fas"===e&&Fe("fa",t)}var Be=U.styles,ke=U.shims,Ve={},ze={},je={},Ue=function(){var e=function(e){return Le(Be,(function(t,n,i){return t[i]=Le(n,e,{}),t}),{})};Ve=e((function(e,t,n){return t[3]&&(e[t[3]]=n),e})),ze=e((function(e,t,n){var i=t[2];return e[n]=n,i.forEach((function(t){e[t]=n})),e}));var t="far"in Be;je=Le(ke,(function(e,n){var i=n[0],r=n[1],o=n[2];return"far"!==r||t||(r="fas"),e[i]={prefix:r,iconName:o},e}),{})};function Ge(e,t){return(Ve[e]||{})[t]}Ue();var He=U.styles;function We(e){return e.reduce((function(e,t){var n=ye(z.familyPrefix,t);if(He[t])e.prefix=t;else if(z.autoFetchSvg&&["fas","far","fal","fab","fa"].indexOf(t)>-1)e.prefix=t;else if(n){var i="fa"===e.prefix?function(e){return je[e]||{prefix:null,iconName:null}}(n):{};e.iconName=i.iconName||n,e.prefix=i.prefix||e.prefix}else t!==z.replacementClass&&0!==t.indexOf("fa-w-")&&e.rest.push(t);return e}),{prefix:null,iconName:null,rest:[]})}function Xe(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}function Ye(e){var t=e.tag,n=e.attributes,i=void 0===n?{}:n,r=e.children,o=void 0===r?[]:r;return"string"==typeof e?Ce(e):"<".concat(t," ").concat(function(e){return Object.keys(e||{}).reduce((function(t,n){return t+"".concat(n,'="').concat(Ce(e[n]),'" ')}),"").trim()}(i),">").concat(o.map(Ye).join(""),"")}var Qe=function(){};function Ke(e){return"string"==typeof(e.getAttribute?e.getAttribute(S):null)}var Ze={replace:function(e){var t=e[0],n=e[1].map((function(e){return Ye(e)})).join("\n");if(t.parentNode&&t.outerHTML)t.outerHTML=n+(z.keepOriginalSource&&"svg"!==t.tagName.toLowerCase()?"\x3c!-- ".concat(t.outerHTML," --\x3e"):"");else if(t.parentNode){var i=document.createElement("span");t.parentNode.replaceChild(i,t),i.outerHTML=n}},nest:function(e){var t=e[0],n=e[1];if(~ve(t).indexOf(z.replacementClass))return Ze.replace(e);var i=new RegExp("".concat(z.familyPrefix,"-.*"));delete n[0].attributes.style;var r=n[0].attributes.class.split(" ").reduce((function(e,t){return t===z.replacementClass||t.match(i)?e.toSvg.push(t):e.toNode.push(t),e}),{toNode:[],toSvg:[]});n[0].attributes.class=r.toSvg.join(" ");var o=n.map((function(e){return Ye(e)})).join("\n");t.setAttribute("class",r.toNode.join(" ")),t.setAttribute(S,""),t.innerHTML=o}};function qe(e){e()}function Je(e,t){var n="function"==typeof t?t:Qe;if(0===e.length)n();else{var i=qe;"async"===z.mutateApproach&&(i=b.requestAnimationFrame||qe),i((function(){var t=!0===z.autoReplaceSvg?Ze.replace:Ze[z.autoReplaceSvg]||Ze.replace,i=De("mutate");e.map(t),i(),n()}))}}var $e=!1;function et(){$e=!1}var tt=null;function nt(e){if(v&&z.observeMutations){var t=e.treeCallback,n=e.nodeCallback,i=e.pseudoElementsCallback,r=e.observeMutationsRoot,o=void 0===r?g:r;tt=new v((function(e){$e||ge(e).forEach((function(e){if("childList"===e.type&&e.addedNodes.length>0&&!Ke(e.addedNodes[0])&&(z.searchPseudoElements&&i(e.target),t(e.target)),"attributes"===e.type&&e.target.parentNode&&z.searchPseudoElements&&i(e.target.parentNode),"attributes"===e.type&&Ke(e.target)&&~F.indexOf(e.attributeName))if("class"===e.attributeName){var r=We(ve(e.target)),o=r.prefix,a=r.iconName;o&&e.target.setAttribute("data-prefix",o),a&&e.target.setAttribute("data-icon",a)}else n(e.target)}))})),C&&tt.observe(o,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function it(e){var t,n,i=e.getAttribute("data-prefix"),r=e.getAttribute("data-icon"),o=void 0!==e.innerText?e.innerText.trim():"",a=We(ve(e));return i&&r&&(a.prefix=i,a.iconName=r),a.prefix&&o.length>1?a.iconName=(t=a.prefix,n=e.innerText,(ze[t]||{})[n]):a.prefix&&1===o.length&&(a.iconName=Ge(a.prefix,Ne(e.innerText))),a}var rt=function(e){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce((function(e,t){var n=t.toLowerCase().split("-"),i=n[0],r=n.slice(1).join("-");if(i&&"h"===r)return e.flipX=!0,e;if(i&&"v"===r)return e.flipY=!0,e;if(r=parseFloat(r),isNaN(r))return e;switch(i){case"grow":e.size=e.size+r;break;case"shrink":e.size=e.size-r;break;case"left":e.x=e.x-r;break;case"right":e.x=e.x+r;break;case"up":e.y=e.y-r;break;case"down":e.y=e.y+r;break;case"rotate":e.rotate=e.rotate+r}return e}),t):t};function ot(e){var t=it(e),n=t.iconName,i=t.prefix,r=t.rest,o=function(e){var t=e.getAttribute("style"),n=[];return t&&(n=t.split(";").reduce((function(e,t){var n=t.split(":"),i=n[0],r=n.slice(1);return i&&r.length>0&&(e[i]=r.join(":").trim()),e}),{})),n}(e),a=function(e){return rt(e.getAttribute("data-fa-transform"))}(e),s=function(e){var t=e.getAttribute("data-fa-symbol");return null!==t&&(""===t||t)}(e),c=function(e){var t=ge(e.attributes).reduce((function(e,t){return"class"!==e.name&&"style"!==e.name&&(e[t.name]=t.value),e}),{}),n=e.getAttribute("title");return z.autoA11y&&(n?t["aria-labelledby"]="".concat(z.replacementClass,"-title-").concat(be()):(t["aria-hidden"]="true",t.focusable="false")),t}(e),l=function(e){var t=e.getAttribute("data-fa-mask");return t?We(t.split(" ").map((function(e){return e.trim()}))):{prefix:null,iconName:null,rest:[]}}(e);return{iconName:n,title:e.getAttribute("title"),prefix:i,transform:a,symbol:s,mask:l,extra:{classes:r,styles:o,attributes:c}}}function at(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}at.prototype=Object.create(Error.prototype),at.prototype.constructor=at;var st={fill:"currentColor"},ct={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},lt={tag:"path",attributes:s({},st,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},ut=s({},ct,{attributeName:"opacity"}),pt={tag:"g",children:[lt,{tag:"circle",attributes:s({},st,{cx:"256",cy:"364",r:"28"}),children:[{tag:"animate",attributes:s({},ct,{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:s({},ut,{values:"1;0;1;1;0;1;"})}]},{tag:"path",attributes:s({},st,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:[{tag:"animate",attributes:s({},ut,{values:"1;0;0;0;0;1;"})}]},{tag:"path",attributes:s({},st,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:s({},ut,{values:"0;0;1;1;0;0;"})}]}]},ht=U.styles;function dt(e,t){return new de((function(n,i){var r={found:!1,width:512,height:512,icon:pt};if(e&&t&&ht[t]&&ht[t][e]){var o=ht[t][e];return n(r={found:!0,width:o[0],height:o[1],icon:{tag:"path",attributes:{fill:"currentColor",d:o.slice(4)[0]}}})}e&&t&&!z.showMissingIcons?i(new at("Icon is missing for prefix ".concat(t," with icon name ").concat(e))):n(r)}))}var ft=U.styles;function _t(e){var t=ot(e);return~t.extra.classes.indexOf(I)?function(e,t){var n=t.title,i=t.transform,r=t.extra,o=null,a=null;if(A){var s=parseInt(getComputedStyle(e).fontSize,10),c=e.getBoundingClientRect();o=c.width/s,a=c.height/s}return z.autoA11y&&!n&&(r.attributes["aria-hidden"]="true"),de.resolve([e,Pe({content:e.innerHTML,width:o,height:a,transform:i,title:n,extra:r,watchable:!0})])}(e,t):function(e,t){var n=t.iconName,i=t.title,r=t.prefix,o=t.transform,a=t.symbol,s=t.mask,l=t.extra;return new de((function(t,u){de.all([dt(n,r),dt(s.iconName,s.prefix)]).then((function(s){var u=c(s,2),p=u[0],h=u[1];t([e,Ee({icons:{main:p,mask:h},prefix:r,iconName:n,transform:o,symbol:a,mask:h,title:i,extra:l,watchable:!0})])}))}))}(e,t)}function mt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(C){var n=g.documentElement.classList,i=function(e){return n.add("".concat(E,"-").concat(e))},r=function(e){return n.remove("".concat(E,"-").concat(e))},o=z.autoFetchSvg?Object.keys(M):Object.keys(ft),a=[".".concat(I,":not([").concat(S,"])")].concat(o.map((function(e){return".".concat(e,":not([").concat(S,"])")}))).join(", ");if(0!==a.length){var s=[];try{s=ge(e.querySelectorAll(a))}catch(e){}if(s.length>0){i("pending"),r("complete");var c=De("onTree"),l=s.reduce((function(e,t){try{var n=_t(t);n&&e.push(n)}catch(e){O||e instanceof at&&console.error(e)}return e}),[]);return new de((function(e,n){de.all(l).then((function(n){Je(n,(function(){i("active"),i("complete"),r("pending"),"function"==typeof t&&t(),c(),e()}))})).catch((function(){c(),n()}))}))}}}}function bt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;_t(e).then((function(e){e&&Je([e],t)}))}function gt(e,t){var n="".concat("data-fa-pseudo-element-pending").concat(t.replace(":","-"));return new de((function(i,r){if(null!==e.getAttribute(n))return i();var o=ge(e.children).filter((function(e){return e.getAttribute(T)===t}))[0],a=b.getComputedStyle(e,t),c=a.getPropertyValue("font-family").match(w),l=a.getPropertyValue("font-weight");if(o&&!c)return e.removeChild(o),i();if(c){var u=a.getPropertyValue("content"),p=~["Light","Regular","Solid","Brands"].indexOf(c[1])?R[c[1].toLowerCase()]:D[l],h=Ne(3===u.length?u.substr(1,1):u),d=Ge(p,h),f=d;if(!d||o&&o.getAttribute("data-prefix")===p&&o.getAttribute("data-icon")===f)i();else{e.setAttribute(n,f),o&&e.removeChild(o);var _={iconName:null,title:null,prefix:null,transform:_e,symbol:!1,mask:null,extra:{classes:[],styles:{},attributes:{}}},m=_.extra;m.attributes[T]=t,dt(d,p).then((function(r){var o=Ee(s({},_,{icons:{main:r,mask:{prefix:null,iconName:null,rest:[]}},prefix:p,iconName:f,extra:m,watchable:!0})),a=g.createElement("svg");":before"===t?e.insertBefore(a,e.firstChild):e.appendChild(a),a.outerHTML=o.map((function(e){return Ye(e)})).join("\n"),e.removeAttribute(n),i()})).catch(r)}}else i()}))}function vt(e){return de.all([gt(e,":before"),gt(e,":after")])}function yt(e){return!(e.parentNode===document.head||~P.indexOf(e.tagName.toUpperCase())||e.getAttribute(T)||e.parentNode&&"svg"===e.parentNode.tagName)}function Ct(e){if(C)return new de((function(t,n){var i=ge(e.querySelectorAll("*")).filter(yt).map(vt),r=De("searchPseudoElements");$e=!0,de.all(i).then((function(){r(),et(),t()})).catch((function(){r(),et(),n()}))}))}function At(){var e=x,t=z.familyPrefix,n=z.replacementClass,i='svg:not(:root).svg-inline--fa {\n overflow: visible;\n}\n\n.svg-inline--fa {\n display: inline-block;\n font-size: inherit;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: 0.3em;\n width: auto;\n}\n.svg-inline--fa.fa-border {\n height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n width: 2em;\n}\n.svg-inline--fa.fa-fw {\n width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: #ff253a;\n border-radius: 1em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #fff;\n height: 1.5em;\n line-height: 1;\n max-width: 5em;\n min-width: 1.5em;\n overflow: hidden;\n padding: 0.25em;\n right: 0;\n text-overflow: ellipsis;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: 0;\n right: 0;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: 0;\n left: 0;\n right: auto;\n top: auto;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n right: 0;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: 0;\n right: auto;\n top: 0;\n -webkit-transform: scale(0.25);\n transform: scale(0.25);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-lg {\n font-size: 1.3333333333em;\n line-height: 0.75em;\n vertical-align: -0.0667em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit;\n}\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: 0.1em;\n padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: 0.3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none;\n}\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n}';if("fa"!==t||n!==e){var r=new RegExp("\\.".concat("fa","\\-"),"g"),o=new RegExp("\\.".concat(e),"g");i=i.replace(r,".".concat(t,"-")).replace(o,".".concat(n))}return i}function xt(e){return{found:!0,width:e[0],height:e[1],icon:{tag:"path",attributes:{fill:"currentColor",d:e.slice(4)[0]}}}}function St(){z.autoAddCss&&!Rt&&(me(At()),Rt=!0)}function Tt(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map((function(e){return Ye(e)}))}}),Object.defineProperty(e,"node",{get:function(){if(C){var t=g.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function Et(e){var t=e.prefix,n=void 0===t?"fa":t,i=e.iconName;if(i)return Xe(Ot.definitions,n,i)||Xe(U.styles,n,i)}var Pt,Ot=new(function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.definitions={}}var t,n,i;return t=e,(n=[{key:"add",value:function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;i0&&void 0!==arguments[0]?arguments[0]:{};if(C){St();var t=e.node,n=void 0===t?g:t,i=e.callback,r=void 0===i?function(){}:i;return z.searchPseudoElements&&Ct(n),mt(n,r)}return de.reject("Operation requires a DOM of some kind.")},css:At,insertCss:function(){Rt||(me(At()),Rt=!0)},watch:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.autoReplaceSvgRoot,n=e.observeMutationsRoot;!1===z.autoReplaceSvg&&(z.autoReplaceSvg=!0),z.observeMutations=!0,W((function(){kt({autoReplaceSvgRoot:t}),nt({treeCallback:mt,nodeCallback:bt,pseudoElementsCallback:Ct,observeMutationsRoot:n})}))}},wt={transform:function(e){return rt(e)}},Dt=(Pt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.transform,i=void 0===n?_e:n,r=t.symbol,o=void 0!==r&&r,a=t.mask,c=void 0===a?null:a,l=t.title,u=void 0===l?null:l,p=t.classes,h=void 0===p?[]:p,d=t.attributes,f=void 0===d?{}:d,_=t.styles,m=void 0===_?{}:_;if(e){var b=e.prefix,g=e.iconName,v=e.icon;return Tt(s({type:"icon"},e),(function(){return St(),z.autoA11y&&(u?f["aria-labelledby"]="".concat(z.replacementClass,"-title-").concat(be()):(f["aria-hidden"]="true",f.focusable="false")),Ee({icons:{main:xt(v),mask:c?xt(c.icon):{found:!1,width:null,height:null,icon:{}}},prefix:b,iconName:g,transform:s({},_e,i),symbol:o,title:u,extra:{attributes:f,styles:m,classes:h}})}))}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(e||{}).icon?e:Et(e||{}),i=t.mask;return i&&(i=(i||{}).icon?i:Et(i||{})),Pt(n,s({},t,{mask:i}))}),Lt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.transform,i=void 0===n?_e:n,r=t.title,o=void 0===r?null:r,a=t.classes,c=void 0===a?[]:a,u=t.attributes,p=void 0===u?{}:u,h=t.styles,d=void 0===h?{}:h;return Tt({type:"text",content:e},(function(){return St(),Pe({content:e,transform:s({},_e,i),title:o,extra:{attributes:p,styles:d,classes:["".concat(z.familyPrefix,"-layers-text")].concat(l(c))}})}))},Nt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.title,i=void 0===n?null:n,r=t.classes,o=void 0===r?[]:r,a=t.attributes,s=void 0===a?{}:a,c=t.styles,u=void 0===c?{}:c;return Tt({type:"counter",content:e},(function(){return St(),Oe({content:e.toString(),title:i,extra:{attributes:s,styles:u,classes:["".concat(z.familyPrefix,"-layers-counter")].concat(l(o))}})}))},Ft=function(e){return Tt({type:"layer"},(function(){St();var t=[];return e((function(e){Array.isArray(e)?e.map((function(e){t=t.concat(e.abstract)})):t=t.concat(e.abstract)})),[{tag:"span",attributes:{class:"".concat(z.familyPrefix,"-layers")},children:t}]}))},Bt={noAuto:Mt,config:z,dom:It,library:Ot,parse:wt,findIconDefinition:Et,icon:Dt,text:Lt,counter:Nt,layer:Ft,toHtml:Ye},kt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.autoReplaceSvgRoot,n=void 0===t?g:t;(Object.keys(U.styles).length>0||z.autoFetchSvg)&&C&&z.autoReplaceSvg&&Bt.dom.i2svg({node:n})}}.call(this,n("../../../../node_modules/webpack/buildin/global.js"),n("../../../../node_modules/timers-browserify/main.js").setImmediate)},"../../../../node_modules/@fortawesome/free-regular-svg-icons/index.es.js":function(e,t,n){"use strict";n.r(t),n.d(t,"far",(function(){return Qt})),n.d(t,"prefix",(function(){return i})),n.d(t,"faAddressBook",(function(){return r})),n.d(t,"faAddressCard",(function(){return o})),n.d(t,"faAngry",(function(){return a})),n.d(t,"faArrowAltCircleDown",(function(){return s})),n.d(t,"faArrowAltCircleLeft",(function(){return c})),n.d(t,"faArrowAltCircleRight",(function(){return l})),n.d(t,"faArrowAltCircleUp",(function(){return u})),n.d(t,"faBell",(function(){return p})),n.d(t,"faBellSlash",(function(){return h})),n.d(t,"faBookmark",(function(){return d})),n.d(t,"faBuilding",(function(){return f})),n.d(t,"faCalendar",(function(){return _})),n.d(t,"faCalendarAlt",(function(){return m})),n.d(t,"faCalendarCheck",(function(){return b})),n.d(t,"faCalendarMinus",(function(){return g})),n.d(t,"faCalendarPlus",(function(){return v})),n.d(t,"faCalendarTimes",(function(){return y})),n.d(t,"faCaretSquareDown",(function(){return C})),n.d(t,"faCaretSquareLeft",(function(){return A})),n.d(t,"faCaretSquareRight",(function(){return x})),n.d(t,"faCaretSquareUp",(function(){return S})),n.d(t,"faChartBar",(function(){return T})),n.d(t,"faCheckCircle",(function(){return E})),n.d(t,"faCheckSquare",(function(){return P})),n.d(t,"faCircle",(function(){return O})),n.d(t,"faClipboard",(function(){return M})),n.d(t,"faClock",(function(){return R})),n.d(t,"faClone",(function(){return I})),n.d(t,"faClosedCaptioning",(function(){return w})),n.d(t,"faComment",(function(){return D})),n.d(t,"faCommentAlt",(function(){return L})),n.d(t,"faCommentDots",(function(){return N})),n.d(t,"faComments",(function(){return F})),n.d(t,"faCompass",(function(){return B})),n.d(t,"faCopy",(function(){return k})),n.d(t,"faCopyright",(function(){return V})),n.d(t,"faCreditCard",(function(){return z})),n.d(t,"faDizzy",(function(){return j})),n.d(t,"faDotCircle",(function(){return U})),n.d(t,"faEdit",(function(){return G})),n.d(t,"faEnvelope",(function(){return H})),n.d(t,"faEnvelopeOpen",(function(){return W})),n.d(t,"faEye",(function(){return X})),n.d(t,"faEyeSlash",(function(){return Y})),n.d(t,"faFile",(function(){return Q})),n.d(t,"faFileAlt",(function(){return K})),n.d(t,"faFileArchive",(function(){return Z})),n.d(t,"faFileAudio",(function(){return q})),n.d(t,"faFileCode",(function(){return J})),n.d(t,"faFileExcel",(function(){return $})),n.d(t,"faFileImage",(function(){return ee})),n.d(t,"faFilePdf",(function(){return te})),n.d(t,"faFilePowerpoint",(function(){return ne})),n.d(t,"faFileVideo",(function(){return ie})),n.d(t,"faFileWord",(function(){return re})),n.d(t,"faFlag",(function(){return oe})),n.d(t,"faFlushed",(function(){return ae})),n.d(t,"faFolder",(function(){return se})),n.d(t,"faFolderOpen",(function(){return ce})),n.d(t,"faFontAwesomeLogoFull",(function(){return le})),n.d(t,"faFrown",(function(){return ue})),n.d(t,"faFrownOpen",(function(){return pe})),n.d(t,"faFutbol",(function(){return he})),n.d(t,"faGem",(function(){return de})),n.d(t,"faGrimace",(function(){return fe})),n.d(t,"faGrin",(function(){return _e})),n.d(t,"faGrinAlt",(function(){return me})),n.d(t,"faGrinBeam",(function(){return be})),n.d(t,"faGrinBeamSweat",(function(){return ge})),n.d(t,"faGrinHearts",(function(){return ve})),n.d(t,"faGrinSquint",(function(){return ye})),n.d(t,"faGrinSquintTears",(function(){return Ce})),n.d(t,"faGrinStars",(function(){return Ae})),n.d(t,"faGrinTears",(function(){return xe})),n.d(t,"faGrinTongue",(function(){return Se})),n.d(t,"faGrinTongueSquint",(function(){return Te})),n.d(t,"faGrinTongueWink",(function(){return Ee})),n.d(t,"faGrinWink",(function(){return Pe})),n.d(t,"faHandLizard",(function(){return Oe})),n.d(t,"faHandPaper",(function(){return Me})),n.d(t,"faHandPeace",(function(){return Re})),n.d(t,"faHandPointDown",(function(){return Ie})),n.d(t,"faHandPointLeft",(function(){return we})),n.d(t,"faHandPointRight",(function(){return De})),n.d(t,"faHandPointUp",(function(){return Le})),n.d(t,"faHandPointer",(function(){return Ne})),n.d(t,"faHandRock",(function(){return Fe})),n.d(t,"faHandScissors",(function(){return Be})),n.d(t,"faHandSpock",(function(){return ke})),n.d(t,"faHandshake",(function(){return Ve})),n.d(t,"faHdd",(function(){return ze})),n.d(t,"faHeart",(function(){return je})),n.d(t,"faHospital",(function(){return Ue})),n.d(t,"faHourglass",(function(){return Ge})),n.d(t,"faIdBadge",(function(){return He})),n.d(t,"faIdCard",(function(){return We})),n.d(t,"faImage",(function(){return Xe})),n.d(t,"faImages",(function(){return Ye})),n.d(t,"faKeyboard",(function(){return Qe})),n.d(t,"faKiss",(function(){return Ke})),n.d(t,"faKissBeam",(function(){return Ze})),n.d(t,"faKissWinkHeart",(function(){return qe})),n.d(t,"faLaugh",(function(){return Je})),n.d(t,"faLaughBeam",(function(){return $e})),n.d(t,"faLaughSquint",(function(){return et})),n.d(t,"faLaughWink",(function(){return tt})),n.d(t,"faLemon",(function(){return nt})),n.d(t,"faLifeRing",(function(){return it})),n.d(t,"faLightbulb",(function(){return rt})),n.d(t,"faListAlt",(function(){return ot})),n.d(t,"faMap",(function(){return at})),n.d(t,"faMeh",(function(){return st})),n.d(t,"faMehBlank",(function(){return ct})),n.d(t,"faMehRollingEyes",(function(){return lt})),n.d(t,"faMinusSquare",(function(){return ut})),n.d(t,"faMoneyBillAlt",(function(){return pt})),n.d(t,"faMoon",(function(){return ht})),n.d(t,"faNewspaper",(function(){return dt})),n.d(t,"faObjectGroup",(function(){return ft})),n.d(t,"faObjectUngroup",(function(){return _t})),n.d(t,"faPaperPlane",(function(){return mt})),n.d(t,"faPauseCircle",(function(){return bt})),n.d(t,"faPlayCircle",(function(){return gt})),n.d(t,"faPlusSquare",(function(){return vt})),n.d(t,"faQuestionCircle",(function(){return yt})),n.d(t,"faRegistered",(function(){return Ct})),n.d(t,"faSadCry",(function(){return At})),n.d(t,"faSadTear",(function(){return xt})),n.d(t,"faSave",(function(){return St})),n.d(t,"faShareSquare",(function(){return Tt})),n.d(t,"faSmile",(function(){return Et})),n.d(t,"faSmileBeam",(function(){return Pt})),n.d(t,"faSmileWink",(function(){return Ot})),n.d(t,"faSnowflake",(function(){return Mt})),n.d(t,"faSquare",(function(){return Rt})),n.d(t,"faStar",(function(){return It})),n.d(t,"faStarHalf",(function(){return wt})),n.d(t,"faStickyNote",(function(){return Dt})),n.d(t,"faStopCircle",(function(){return Lt})),n.d(t,"faSun",(function(){return Nt})),n.d(t,"faSurprise",(function(){return Ft})),n.d(t,"faThumbsDown",(function(){return Bt})),n.d(t,"faThumbsUp",(function(){return kt})),n.d(t,"faTimesCircle",(function(){return Vt})),n.d(t,"faTired",(function(){return zt})),n.d(t,"faTrashAlt",(function(){return jt})),n.d(t,"faUser",(function(){return Ut})),n.d(t,"faUserCircle",(function(){return Gt})),n.d(t,"faWindowClose",(function(){return Ht})),n.d(t,"faWindowMaximize",(function(){return Wt})),n.d(t,"faWindowMinimize",(function(){return Xt})),n.d(t,"faWindowRestore",(function(){return Yt}));var i="far",r={prefix:"far",iconName:"address-book",icon:[448,512,[],"f2b9","M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-68 304H48V48h320v416zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z"]},o={prefix:"far",iconName:"address-card",icon:[576,512,[],"f2bb","M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H48V80h480v352zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2zM360 320h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8z"]},a={prefix:"far",iconName:"angry",icon:[496,512,[],"f556","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-144c-33.6 0-65.2 14.8-86.8 40.6-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.2 33.8-3c24.8-29.7 75-29.7 99.8 0 8.1 9.7 23.2 11.9 33.8 3 10.2-8.5 11.5-23.6 3.1-33.8-21.6-25.8-53.2-40.6-86.8-40.6zm-48-72c10.3 0 19.9-6.7 23-17.1 3.8-12.7-3.4-26.1-16.1-29.9l-80-24c-12.8-3.9-26.1 3.4-29.9 16.1-3.8 12.7 3.4 26.1 16.1 29.9l28.2 8.5c-3.1 4.9-5.3 10.4-5.3 16.6 0 17.7 14.3 32 32 32s32-14.4 32-32.1zm199-54.9c-3.8-12.7-17.1-19.9-29.9-16.1l-80 24c-12.7 3.8-19.9 17.2-16.1 29.9 3.1 10.4 12.7 17.1 23 17.1 0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.2-2.2-11.7-5.3-16.6l28.2-8.5c12.7-3.7 19.9-17.1 16.1-29.8z"]},s={prefix:"far",iconName:"arrow-alt-circle-down",icon:[512,512,[],"f358","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z"]},c={prefix:"far",iconName:"arrow-alt-circle-left",icon:[512,512,[],"f359","M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z"]},l={prefix:"far",iconName:"arrow-alt-circle-right",icon:[512,512,[],"f35a","M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z"]},u={prefix:"far",iconName:"arrow-alt-circle-up",icon:[512,512,[],"f35b","M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z"]},p={prefix:"far",iconName:"bell",icon:[448,512,[],"f0f3","M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z"]},h={prefix:"far",iconName:"bell-slash",icon:[640,512,[],"f1f6","M633.99 471.02L36 3.51C29.1-2.01 19.03-.9 13.51 6l-10 12.49C-2.02 25.39-.9 35.46 6 40.98l598 467.51c6.9 5.52 16.96 4.4 22.49-2.49l10-12.49c5.52-6.9 4.41-16.97-2.5-22.49zM163.53 368c16.71-22.03 34.48-55.8 41.4-110.58l-45.47-35.55c-3.27 90.73-36.47 120.68-54.84 140.42-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h279.66l-61.4-48H163.53zM320 96c61.86 0 112 50.14 112 112 0 .2-.06.38-.06.58.02 16.84 1.16 31.77 2.79 45.73l59.53 46.54c-8.31-22.13-14.34-51.49-14.34-92.85 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-26.02 5.41-49.45 16.94-69.13 32.72l38.17 29.84C275 103.18 296.65 96 320 96zm0 416c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z"]},d={prefix:"far",iconName:"bookmark",icon:[384,512,[],"f02e","M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z"]},f={prefix:"far",iconName:"building",icon:[448,512,[],"f1ad","M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z"]},_={prefix:"far",iconName:"calendar",icon:[448,512,[],"f133","M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z"]},m={prefix:"far",iconName:"calendar-alt",icon:[448,512,[],"f073","M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"]},b={prefix:"far",iconName:"calendar-check",icon:[448,512,[],"f274","M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z"]},g={prefix:"far",iconName:"calendar-minus",icon:[448,512,[],"f272","M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"]},v={prefix:"far",iconName:"calendar-plus",icon:[448,512,[],"f271","M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"]},y={prefix:"far",iconName:"calendar-times",icon:[448,512,[],"f273","M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"]},C={prefix:"far",iconName:"caret-square-down",icon:[448,512,[],"f150","M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"]},A={prefix:"far",iconName:"caret-square-left",icon:[448,512,[],"f191","M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"]},x={prefix:"far",iconName:"caret-square-right",icon:[448,512,[],"f152","M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"]},S={prefix:"far",iconName:"caret-square-up",icon:[448,512,[],"f151","M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"]},T={prefix:"far",iconName:"chart-bar",icon:[512,512,[],"f080","M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z"]},E={prefix:"far",iconName:"check-circle",icon:[512,512,[],"f058","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z"]},P={prefix:"far",iconName:"check-square",icon:[448,512,[],"f14a","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z"]},O={prefix:"far",iconName:"circle",icon:[512,512,[],"f111","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z"]},M={prefix:"far",iconName:"clipboard",icon:[384,512,[],"f328","M336 64h-80c0-35.29-28.71-64-64-64s-64 28.71-64 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h42v36c0 6.627 5.373 12 12 12h168c6.627 0 12-5.373 12-12v-36h42a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zM192 40c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24"]},R={prefix:"far",iconName:"clock",icon:[512,512,[],"f017","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z"]},I={prefix:"far",iconName:"clone",icon:[512,512,[],"f24d","M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z"]},w={prefix:"far",iconName:"closed-captioning",icon:[512,512,[],"f20a","M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z"]},D={prefix:"far",iconName:"comment",icon:[512,512,[],"f075","M256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z"]},L={prefix:"far",iconName:"comment-alt",icon:[512,512,[],"f27a","M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288z"]},N={prefix:"far",iconName:"comment-dots",icon:[512,512,[],"f4ad","M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z"]},F={prefix:"far",iconName:"comments",icon:[576,512,[],"f086","M532 386.2c27.5-27.1 44-61.1 44-98.2 0-80-76.5-146.1-176.2-157.9C368.3 72.5 294.3 32 208 32 93.1 32 0 103.6 0 192c0 37 16.5 71 44 98.2-15.3 30.7-37.3 54.5-37.7 54.9-6.3 6.7-8.1 16.5-4.4 25 3.6 8.5 12 14 21.2 14 53.5 0 96.7-20.2 125.2-38.8 9.2 2.1 18.7 3.7 28.4 4.9C208.1 407.6 281.8 448 368 448c20.8 0 40.8-2.4 59.8-6.8C456.3 459.7 499.4 480 553 480c9.2 0 17.5-5.5 21.2-14 3.6-8.5 1.9-18.3-4.4-25-.4-.3-22.5-24.1-37.8-54.8zm-392.8-92.3L122.1 305c-14.1 9.1-28.5 16.3-43.1 21.4 2.7-4.7 5.4-9.7 8-14.8l15.5-31.1L77.7 256C64.2 242.6 48 220.7 48 192c0-60.7 73.3-112 160-112s160 51.3 160 112-73.3 112-160 112c-16.5 0-33-1.9-49-5.6l-19.8-4.5zM498.3 352l-24.7 24.4 15.5 31.1c2.6 5.1 5.3 10.1 8 14.8-14.6-5.1-29-12.3-43.1-21.4l-17.1-11.1-19.9 4.6c-16 3.7-32.5 5.6-49 5.6-54 0-102.2-20.1-131.3-49.7C338 339.5 416 272.9 416 192c0-3.4-.4-6.7-.7-10C479.7 196.5 528 238.8 528 288c0 28.7-16.2 50.6-29.7 64z"]},B={prefix:"far",iconName:"compass",icon:[496,512,[],"f14e","M347.94 129.86L203.6 195.83a31.938 31.938 0 0 0-15.77 15.77l-65.97 144.34c-7.61 16.65 9.54 33.81 26.2 26.2l144.34-65.97a31.938 31.938 0 0 0 15.77-15.77l65.97-144.34c7.61-16.66-9.54-33.81-26.2-26.2zm-77.36 148.72c-12.47 12.47-32.69 12.47-45.16 0-12.47-12.47-12.47-32.69 0-45.16 12.47-12.47 32.69-12.47 45.16 0 12.47 12.47 12.47 32.69 0 45.16zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z"]},k={prefix:"far",iconName:"copy",icon:[448,512,[],"f0c5","M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"]},V={prefix:"far",iconName:"copyright",icon:[512,512,[],"f1f9","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z"]},z={prefix:"far",iconName:"credit-card",icon:[576,512,[],"f09d","M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z"]},j={prefix:"far",iconName:"dizzy",icon:[496,512,[],"f567","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-33.8-217.9c7.8-7.8 7.8-20.5 0-28.3L196.3 192l17.9-17.9c7.8-7.8 7.8-20.5 0-28.3-7.8-7.8-20.5-7.8-28.3 0L168 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.9 7.7 20.5 7.7 28.4-.2zm160-92.2c-7.8-7.8-20.5-7.8-28.3 0L328 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.8 7.8 20.5 7.8 28.3 0 7.8-7.8 7.8-20.5 0-28.3l-17.8-18 17.9-17.9c7.7-7.8 7.7-20.4 0-28.2zM248 272c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64z"]},U={prefix:"far",iconName:"dot-circle",icon:[512,512,[],"f192","M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z"]},G={prefix:"far",iconName:"edit",icon:[576,512,[],"f044","M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z"]},H={prefix:"far",iconName:"envelope",icon:[512,512,[],"f0e0","M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"]},W={prefix:"far",iconName:"envelope-open",icon:[512,512,[],"f2b6","M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z"]},X={prefix:"far",iconName:"eye",icon:[576,512,[],"f06e","M569.354 231.631C512.97 135.949 407.81 72 288 72 168.14 72 63.004 135.994 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.031 376.051 168.19 440 288 440c119.86 0 224.996-63.994 281.354-159.631a47.997 47.997 0 0 0 0-48.738zM288 392c-102.556 0-192.091-54.701-240-136 44.157-74.933 123.677-127.27 216.162-135.007C273.958 131.078 280 144.83 280 160c0 30.928-25.072 56-56 56s-56-25.072-56-56l.001-.042C157.794 179.043 152 200.844 152 224c0 75.111 60.889 136 136 136s136-60.889 136-136c0-31.031-10.4-59.629-27.895-82.515C451.704 164.638 498.009 205.106 528 256c-47.908 81.299-137.444 136-240 136z"]},Y={prefix:"far",iconName:"eye-slash",icon:[576,512,[],"f070","M272.702 359.139c-80.483-9.011-136.212-86.886-116.93-167.042l116.93 167.042zM288 392c-102.556 0-192.092-54.701-240-136 21.755-36.917 52.1-68.342 88.344-91.658l-27.541-39.343C67.001 152.234 31.921 188.741 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.004 376.006 168.14 440 288 440a332.89 332.89 0 0 0 39.648-2.367l-32.021-45.744A284.16 284.16 0 0 1 288 392zm281.354-111.631c-33.232 56.394-83.421 101.742-143.554 129.492l48.116 68.74c3.801 5.429 2.48 12.912-2.949 16.712L450.23 509.83c-5.429 3.801-12.912 2.48-16.712-2.949L102.084 33.399c-3.801-5.429-2.48-12.912 2.949-16.712L125.77 2.17c5.429-3.801 12.912-2.48 16.712 2.949l55.526 79.325C226.612 76.343 256.808 72 288 72c119.86 0 224.996 63.994 281.354 159.631a48.002 48.002 0 0 1 0 48.738zM528 256c-44.157-74.933-123.677-127.27-216.162-135.007C302.042 131.078 296 144.83 296 160c0 30.928 25.072 56 56 56s56-25.072 56-56l-.001-.042c30.632 57.277 16.739 130.26-36.928 171.719l26.695 38.135C452.626 346.551 498.308 306.386 528 256z"]},Q={prefix:"far",iconName:"file",icon:[384,512,[],"f15b","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"]},K={prefix:"far",iconName:"file-alt",icon:[384,512,[],"f15c","M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z"]},Z={prefix:"far",iconName:"file-archive",icon:[384,512,[],"f1c6","M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM256 51.882L332.118 128H256V51.882zM336 464H48V48h79.714v16h32V48H208v104c0 13.255 10.745 24 24 24h104v288zM192.27 96h-32V64h32v32zm-32 0v32h-32V96h32zm0 64v32h-32v-32h32zm32 0h-32v-32h32v32zm1.909 105.678A12 12 0 0 0 182.406 256H160.27v-32h-32v32l-19.69 97.106C101.989 385.611 126.834 416 160 416c33.052 0 57.871-30.192 51.476-62.62l-17.297-87.702zM160.27 390.073c-17.918 0-32.444-12.105-32.444-27.036 0-14.932 14.525-27.036 32.444-27.036s32.444 12.105 32.444 27.036c0 14.931-14.526 27.036-32.444 27.036zm32-166.073h-32v-32h32v32z"]},q={prefix:"far",iconName:"file-audio",icon:[384,512,[],"f1c7","M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z"]},J={prefix:"far",iconName:"file-code",icon:[384,512,[],"f1c9","M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm101.677-115.115L116.854 320l32.822-28.885a8.793 8.793 0 0 0 .605-12.624l-17.403-18.564c-3.384-3.613-8.964-3.662-12.438-.401L62.78 313.58c-3.703 3.474-3.704 9.367.001 12.84l57.659 54.055a8.738 8.738 0 0 0 6.012 2.381 8.746 8.746 0 0 0 6.427-2.782l17.403-18.563a8.795 8.795 0 0 0-.605-12.626zm84.284-127.85l-24.401-7.084a8.796 8.796 0 0 0-10.905 5.998L144.04 408.061c-1.353 4.66 1.338 9.552 5.998 10.905l24.403 7.084c4.68 1.355 9.557-1.354 10.905-5.998l54.612-188.112c1.354-4.66-1.337-9.552-5.997-10.905zm87.258 92.545l-57.658-54.055c-3.526-3.307-9.099-3.165-12.439.401l-17.403 18.563a8.795 8.795 0 0 0 .605 12.625L267.146 320l-32.822 28.885a8.793 8.793 0 0 0-.605 12.624l17.403 18.564a8.797 8.797 0 0 0 12.439.401h-.001l57.66-54.055c3.703-3.473 3.703-9.366-.001-12.839z"]},$={prefix:"far",iconName:"file-excel",icon:[384,512,[],"f1c3","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z"]},ee={prefix:"far",iconName:"file-image",icon:[384,512,[],"f1c5","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z"]},te={prefix:"far",iconName:"file-pdf",icon:[384,512,[],"f1c1","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z"]},ne={prefix:"far",iconName:"file-powerpoint",icon:[384,512,[],"f1c4","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z"]},ie={prefix:"far",iconName:"file-video",icon:[384,512,[],"f1c8","M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z"]},re={prefix:"far",iconName:"file-word",icon:[384,512,[],"f1c2","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z"]},oe={prefix:"far",iconName:"flag",icon:[512,512,[],"f024","M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z"]},ae={prefix:"far",iconName:"flushed",icon:[496,512,[],"f579","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm96-312c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-112 24c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80zm-80 48c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm160 144H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z"]},se={prefix:"far",iconName:"folder",icon:[512,512,[],"f07b","M464 128H272l-54.63-54.63c-6-6-14.14-9.37-22.63-9.37H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm0 272H48V112h140.12l54.63 54.63c6 6 14.14 9.37 22.63 9.37H464v224z"]},ce={prefix:"far",iconName:"folder-open",icon:[576,512,[],"f07c","M527.943 224H480v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h400a48.001 48.001 0 0 0 40.704-22.56l79.942-128c19.948-31.917-3.038-73.44-40.703-73.44zM54 112h134.118l64 64H426a6 6 0 0 1 6 6v42H152a48 48 0 0 0-41.098 23.202L48 351.449V117.993A5.993 5.993 0 0 1 54 112zm394 288H72l77.234-128H528l-80 128z"]},le={prefix:"far",iconName:"font-awesome-logo-full",icon:[3992,512,["Font Awesome"],"f4e6","M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z"]},ue={prefix:"far",iconName:"frown",icon:[496,512,[],"f119","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z"]},pe={prefix:"far",iconName:"frown-open",icon:[496,512,[],"f57a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-48-248c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 112c-35.6 0-88.8 21.3-95.8 61.2-2 11.8 9 21.5 20.5 18.1 31.2-9.6 59.4-15.3 75.3-15.3s44.1 5.7 75.3 15.3c11.4 3.5 22.5-6.3 20.5-18.1-7-39.9-60.2-61.2-95.8-61.2z"]},he={prefix:"far",iconName:"futbol",icon:[496,512,[],"f1e3","M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z"]},de={prefix:"far",iconName:"gem",icon:[576,512,[],"f3a5","M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z"]},fe={prefix:"far",iconName:"grimace",icon:[496,512,[],"f57f","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm16 16H152c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h192c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48zm-168 96h-24c-8.8 0-16-7.2-16-16v-8h40v24zm0-40h-40v-8c0-8.8 7.2-16 16-16h24v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm56 24c0 8.8-7.2 16-16 16h-24v-24h40v8zm0-24h-40v-24h24c8.8 0 16 7.2 16 16v8z"]},_e={prefix:"far",iconName:"grin",icon:[496,512,[],"f580","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z"]},me={prefix:"far",iconName:"grin-alt",icon:[496,512,[],"f581","M200.3 248c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zm128 0c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3z"]},be={prefix:"far",iconName:"grin-beam",icon:[496,512,[],"f582","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-235.9-72.9c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3zm160 0c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3z"]},ge={prefix:"far",iconName:"grin-beam-sweat",icon:[496,512,[],"f583","M440 160c29.5 0 53.3-26.3 53.3-58.7 0-25-31.7-75.5-46.2-97.3-3.6-5.3-10.7-5.3-14.2 0-14.5 21.8-46.2 72.3-46.2 97.3 0 32.4 23.8 58.7 53.3 58.7zM248 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zm105.3-52.9c-24.6 15.7-46 12.9-46.4 12.9 6.9 20.2 10.8 41.8 10.8 64.3 0 110.3-89.7 200-200 200S48 366.3 48 256 137.7 56 248 56c39.8 0 76.8 11.8 108 31.9 1.7-9.5 6.3-24.1 17.2-45.7C336.4 20.6 293.7 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-27-4.4-52.9-12.4-77.2zM168 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z"]},ve={prefix:"far",iconName:"grin-hearts",icon:[496,512,[],"f584","M353.6 304.6c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-152.8-48.9c4.5 1.2 9.2-1.5 10.5-6l19.4-69.9c5.6-20.3-7.4-41.1-28.8-44.5-18.6-3-36.4 9.8-41.5 27.9l-2 7.1-7.1-1.9c-18.2-4.7-38.2 4.3-44.9 22-7.7 20.2 3.8 41.9 24.2 47.2l70.2 18.1zm188.8-65.3c-6.7-17.6-26.7-26.7-44.9-22l-7.1 1.9-2-7.1c-5-18.1-22.8-30.9-41.5-27.9-21.4 3.4-34.4 24.2-28.8 44.5l19.4 69.9c1.2 4.5 5.9 7.2 10.5 6l70.2-18.2c20.4-5.3 31.9-26.9 24.2-47.1zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200z"]},ye={prefix:"far",iconName:"grin-squint",icon:[496,512,[],"f585","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-234.7-40.8c3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3l-80-48c-5.1-3-11.4-1.9-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11.1.1 15.5zm242.9 2.5c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11-.1-15.5-3.8-4.4-10.2-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48z"]},Ce={prefix:"far",iconName:"grin-squint-tears",icon:[512,512,[],"f586","M117.1 384.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 479 124.3 420.8 128 395c.8-6.4-4.6-11.8-10.9-10.9zm-41.2-41.7C40.3 268 53 176.1 114.6 114.6 152.4 76.8 202.6 56 256 56c36.2 0 70.8 9.8 101.2 27.7 3.8-20.3 8-36.1 12-48.3C333.8 17.2 294.9 8 256 8 192.5 8 129.1 32.2 80.6 80.6c-74.1 74.1-91.3 183.4-52 274 12.2-4.1 27.7-8.3 47.3-12.2zm352.3-187.6c45 76.6 34.9 176.9-30.8 242.6-37.8 37.8-88 58.6-141.4 58.6-30.5 0-59.8-7-86.4-19.8-3.9 19.5-8 35-12.2 47.2 31.4 13.6 65 20.6 98.7 20.6 63.5 0 126.9-24.2 175.4-72.6 78.1-78.1 93.1-195.4 45.2-288.6-12.3 4-28.2 8.1-48.5 12zm-33.3-26.9c25.8-3.7 84-13.7 100.9-30.6 21.9-21.9 21.5-57.9-.9-80.3s-58.3-22.8-80.3-.9C397.7 33 387.7 91.2 384 117c-.8 6.4 4.6 11.8 10.9 10.9zm-187 108.3c-3-3-7.2-4.2-11.4-3.2L106 255.7c-5.7 1.4-9.5 6.7-9.1 12.6.5 5.8 5.1 10.5 10.9 11l52.3 4.8 4.8 52.3c.5 5.8 5.2 10.4 11 10.9h.9c5.5 0 10.3-3.7 11.7-9.1l22.6-90.5c1-4.2-.2-8.5-3.2-11.5zm39.7-25.1l90.5-22.6c5.7-1.4 9.5-6.7 9.1-12.6-.5-5.8-5.1-10.5-10.9-11l-52.3-4.8-4.8-52.3c-.5-5.8-5.2-10.4-11-10.9-5.6-.1-11.2 3.4-12.6 9.1L233 196.5c-1 4.1.2 8.4 3.2 11.4 5 5 11.3 3.2 11.4 3.2zm52 88.5c-29.1 29.1-59.7 52.9-83.9 65.4-9.2 4.8-10 17.5-1.7 23.4 38.9 27.7 107 6.2 143.7-30.6S416 253 388.3 214.1c-5.8-8.2-18.5-7.6-23.4 1.7-12.3 24.2-36.2 54.7-65.3 83.8z"]},Ae={prefix:"far",iconName:"grin-stars",icon:[496,512,[],"f587","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-227.9-57.5c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.5 1.9-12.2-4.3-13.2l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6.1 34.9zm259.7-72.7l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6 34.9c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.6 1.8-12.2-4.4-13.2z"]},xe={prefix:"far",iconName:"grin-tears",icon:[640,512,[],"f588","M117.1 256.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 351 124.3 292.8 128 267c.8-6.4-4.6-11.8-10.9-10.9zm506.7 30.6c-16.9-16.9-75.1-26.9-100.9-30.6-6.3-.9-11.7 4.5-10.8 10.8 3.7 25.8 13.7 84 30.6 100.9 21.9 21.9 57.9 21.5 80.3-.9 22.3-22.3 22.7-58.3.8-80.2zm-126.6 61.7C463.8 412.3 396.9 456 320 456c-76.9 0-143.8-43.7-177.2-107.6-12.5 37.4-25.2 43.9-28.3 46.5C159.1 460.7 234.5 504 320 504s160.9-43.3 205.5-109.1c-3.2-2.7-15.9-9.2-28.3-46.5zM122.7 224.5C137.9 129.2 220.5 56 320 56c99.5 0 182.1 73.2 197.3 168.5 2.1-.2 5.2-2.4 49.5 7C554.4 106 448.7 8 320 8S85.6 106 73.2 231.4c44.5-9.4 47.1-7.2 49.5-6.9zM320 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zM240 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z"]},Se={prefix:"far",iconName:"grin-tongue",icon:[496,512,[],"f589","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zM168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z"]},Te={prefix:"far",iconName:"grin-tongue-squint",icon:[496,512,[],"f58a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zm36.9-281.1c-3.8-4.4-10.3-5.5-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zm-162.9 45.5l-80-48c-5-3-11.4-2-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3z"]},Ee={prefix:"far",iconName:"grin-tongue-wink",icon:[496,512,[],"f58b","M152 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm176-52c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3z"]},Pe={prefix:"far",iconName:"grin-wink",icon:[496,512,[],"f58c","M328 180c-25.69 0-55.88 16.92-59.86 42.12-1.75 11.22 11.5 18.24 19.83 10.84l9.55-8.48c14.81-13.19 46.16-13.19 60.97 0l9.55 8.48c8.48 7.43 21.56.25 19.83-10.84C383.88 196.92 353.69 180 328 180zm-160 60c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm185.55 64.64c-25.93 8.3-64.4 13.06-105.55 13.06s-79.62-4.75-105.55-13.06c-9.94-3.13-19.4 5.37-17.71 15.34C132.67 367.13 196.06 400 248 400s115.33-32.87 123.26-80.02c1.68-9.89-7.67-18.48-17.71-15.34zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z"]},Oe={prefix:"far",iconName:"hand-lizard",icon:[576,512,[],"f258","M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z"]},Me={prefix:"far",iconName:"hand-paper",icon:[448,512,[],"f256","M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z"]},Re={prefix:"far",iconName:"hand-peace",icon:[448,512,[],"f25b","M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z"]},Ie={prefix:"far",iconName:"hand-point-down",icon:[448,512,[],"f0a7","M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z"]},we={prefix:"far",iconName:"hand-point-left",icon:[512,512,[],"f0a5","M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z"]},De={prefix:"far",iconName:"hand-point-right",icon:[512,512,[],"f0a4","M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z"]},Le={prefix:"far",iconName:"hand-point-up",icon:[448,512,[],"f0a6","M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z"]},Ne={prefix:"far",iconName:"hand-pointer",icon:[448,512,[],"f25a","M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z"]},Fe={prefix:"far",iconName:"hand-rock",icon:[512,512,[],"f255","M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z"]},Be={prefix:"far",iconName:"hand-scissors",icon:[512,512,[],"f257","M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z"]},ke={prefix:"far",iconName:"hand-spock",icon:[512,512,[],"f259","M21.096 381.79l129.092 121.513a32 32 0 0 0 21.932 8.698h237.6c14.17 0 26.653-9.319 30.68-22.904l31.815-107.313A115.955 115.955 0 0 0 477 348.811v-36.839c0-4.051.476-8.104 1.414-12.045l31.73-133.41c10.099-42.412-22.316-82.738-65.544-82.525-4.144-24.856-22.543-47.165-49.85-53.992-35.803-8.952-72.227 12.655-81.25 48.75L296.599 184 274.924 52.01c-8.286-36.07-44.303-58.572-80.304-50.296-29.616 6.804-50.138 32.389-51.882 61.295-42.637.831-73.455 40.563-64.071 81.844l31.04 136.508c-27.194-22.515-67.284-19.992-91.482 5.722-25.376 26.961-24.098 69.325 2.871 94.707zm32.068-61.811l.002-.001c7.219-7.672 19.241-7.98 26.856-.813l53.012 49.894C143.225 378.649 160 371.4 160 357.406v-69.479c0-1.193-.134-2.383-.397-3.546l-34.13-150.172c-5.596-24.617 31.502-32.86 37.054-8.421l30.399 133.757a16 16 0 0 0 15.603 12.454h8.604c10.276 0 17.894-9.567 15.594-19.583l-41.62-181.153c-5.623-24.469 31.39-33.076 37.035-8.508l45.22 196.828A16 16 0 0 0 288.956 272h13.217a16 16 0 0 0 15.522-12.119l42.372-169.49c6.104-24.422 42.962-15.159 36.865 9.217L358.805 252.12c-2.521 10.088 5.115 19.88 15.522 19.88h9.694a16 16 0 0 0 15.565-12.295L426.509 146.6c5.821-24.448 42.797-15.687 36.966 8.802L431.72 288.81a100.094 100.094 0 0 0-2.72 23.162v36.839c0 6.548-.943 13.051-2.805 19.328L397.775 464h-219.31L53.978 346.836c-7.629-7.18-7.994-19.229-.814-26.857z"]},Ve={prefix:"far",iconName:"handshake",icon:[640,512,[],"f2b5","M519.2 127.9l-47.6-47.6A56.252 56.252 0 0 0 432 64H205.2c-14.8 0-29.1 5.9-39.6 16.3L118 127.9H0v255.7h64c17.6 0 31.8-14.2 31.9-31.7h9.1l84.6 76.4c30.9 25.1 73.8 25.7 105.6 3.8 12.5 10.8 26 15.9 41.1 15.9 18.2 0 35.3-7.4 48.8-24 22.1 8.7 48.2 2.6 64-16.8l26.2-32.3c5.6-6.9 9.1-14.8 10.9-23h57.9c.1 17.5 14.4 31.7 31.9 31.7h64V127.9H519.2zM48 351.6c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16zm390-6.9l-26.1 32.2c-2.8 3.4-7.8 4-11.3 1.2l-23.9-19.4-30 36.5c-6 7.3-15 4.8-18 2.4l-36.8-31.5-15.6 19.2c-13.9 17.1-39.2 19.7-55.3 6.6l-97.3-88H96V175.8h41.9l61.7-61.6c2-.8 3.7-1.5 5.7-2.3H262l-38.7 35.5c-29.4 26.9-31.1 72.3-4.4 101.3 14.8 16.2 61.2 41.2 101.5 4.4l8.2-7.5 108.2 87.8c3.4 2.8 3.9 7.9 1.2 11.3zm106-40.8h-69.2c-2.3-2.8-4.9-5.4-7.7-7.7l-102.7-83.4 12.5-11.4c6.5-6 7-16.1 1-22.6L367 167.1c-6-6.5-16.1-6.9-22.6-1l-55.2 50.6c-9.5 8.7-25.7 9.4-34.6 0-9.3-9.9-8.5-25.1 1.2-33.9l65.6-60.1c7.4-6.8 17-10.5 27-10.5l83.7-.2c2.1 0 4.1.8 5.5 2.3l61.7 61.6H544v128zm48 47.7c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16z"]},ze={prefix:"far",iconName:"hdd",icon:[576,512,[],"f0a0","M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z"]},je={prefix:"far",iconName:"heart",icon:[512,512,[],"f004","M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z"]},Ue={prefix:"far",iconName:"hospital",icon:[448,512,[],"f0f8","M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z"]},Ge={prefix:"far",iconName:"hourglass",icon:[384,512,[],"f254","M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z"]},He={prefix:"far",iconName:"id-badge",icon:[384,512,[],"f2c1","M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm0 464H48V48h288v416zM144 112h96c8.8 0 16-7.2 16-16s-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16zm48 176c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z"]},We={prefix:"far",iconName:"id-card",icon:[576,512,[],"f2c2","M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H303.2c.9-4.5.8 3.6.8-22.4 0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6 0 26-.2 17.9.8 22.4H48V144h480v288zm-168-80h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm-168 96c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z"]},Xe={prefix:"far",iconName:"image",icon:[512,512,[],"f03e","M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z"]},Ye={prefix:"far",iconName:"images",icon:[576,512,[],"f302","M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z"]},Qe={prefix:"far",iconName:"keyboard",icon:[576,512,[],"f11c","M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z"]},Ke={prefix:"far",iconName:"kiss",icon:[496,512,[],"f596","M168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm136 132c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z"]},Ze={prefix:"far",iconName:"kiss-beam",icon:[496,512,[],"f597","M168 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm56-148c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zm24-156c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4z"]},qe={prefix:"far",iconName:"kiss-wink-heart",icon:[504,512,[],"f598","M304 308.5c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36 21.7-9.1 35.1-23.4 35.1-36.4zm70.5-83.5l9.5 8.5c3.8 3.3 9.3 4 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 5.8 3.1 11.2.7 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0zM136 208.5c0 17.7 14.3 32 32 32s32-14.3 32-32-14.3-32-32-32-32 14.3-32 32zm365.1 194c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zM334 436.3c-26.1 12.5-55.2 19.7-86 19.7-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200c0 22.1-3.7 43.3-10.4 63.2 9 6.4 17 14.2 22.6 23.9 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-2.5-7.3 4.3 17.2-13.4-46.8z"]},Je={prefix:"far",iconName:"laugh",icon:[496,512,[],"f599","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 224c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm-160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z"]},$e={prefix:"far",iconName:"laugh-beam",icon:[496,512,[],"f59a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 152c-23.8 0-52.7 29.3-56 71.4-.7 8.6 10.8 11.9 14.9 4.5l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.1-42.1-32-71.4-55.8-71.4zm-201 75.9l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.6 8.5 10.9 11.9 15.1 4.5zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z"]},et={prefix:"far",iconName:"laugh-squint",icon:[496,512,[],"f59b","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM343.6 196l33.6-40.3c8.6-10.3-3.8-24.8-15.4-18l-80 48c-7.8 4.7-7.8 15.9 0 20.6l80 48c11.5 6.8 24-7.6 15.4-18L343.6 196zm-209.4 58.3l80-48c7.8-4.7 7.8-15.9 0-20.6l-80-48c-11.6-6.9-24 7.7-15.4 18l33.6 40.3-33.6 40.3c-8.7 10.4 3.8 24.8 15.4 18zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z"]},tt={prefix:"far",iconName:"laugh-wink",icon:[496,512,[],"f59c","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6C68.8 359.6 48 309.4 48 256s20.8-103.6 58.6-141.4C144.4 76.8 194.6 56 248 56s103.6 20.8 141.4 58.6c37.8 37.8 58.6 88 58.6 141.4s-20.8 103.6-58.6 141.4zM328 164c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1zm-160 60c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z"]},nt={prefix:"far",iconName:"lemon",icon:[512,512,[],"f094","M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z"]},it={prefix:"far",iconName:"life-ring",icon:[512,512,[],"f1cd","M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z"]},rt={prefix:"far",iconName:"lightbulb",icon:[352,512,[],"f0eb","M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z"]},ot={prefix:"far",iconName:"list-alt",icon:[512,512,[],"f022","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z"]},at={prefix:"far",iconName:"map",icon:[576,512,[],"f279","M560.02 32c-1.96 0-3.98.37-5.96 1.16L384.01 96H384L212 35.28A64.252 64.252 0 0 0 191.76 32c-6.69 0-13.37 1.05-19.81 3.14L20.12 87.95A32.006 32.006 0 0 0 0 117.66v346.32C0 473.17 7.53 480 15.99 480c1.96 0 3.97-.37 5.96-1.16L192 416l172 60.71a63.98 63.98 0 0 0 40.05.15l151.83-52.81A31.996 31.996 0 0 0 576 394.34V48.02c0-9.19-7.53-16.02-15.98-16.02zM224 90.42l128 45.19v285.97l-128-45.19V90.42zM48 418.05V129.07l128-44.53v286.2l-.64.23L48 418.05zm480-35.13l-128 44.53V141.26l.64-.24L528 93.95v288.97z"]},st={prefix:"far",iconName:"meh",icon:[496,512,[],"f11a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z"]},ct={prefix:"far",iconName:"meh-blank",icon:[496,512,[],"f5a4","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z"]},lt={prefix:"far",iconName:"meh-rolling-eyes",icon:[496,512,[],"f5a5","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm88-304c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 112c-22.1 0-40-17.9-40-40 0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40zm-104-40c0-39.8-32.2-72-72-72s-72 32.2-72 72 32.2 72 72 72 72-32.2 72-72zm-112 0c0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40s-40-17.9-40-40zm192 128H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z"]},ut={prefix:"far",iconName:"minus-square",icon:[448,512,[],"f146","M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"]},pt={prefix:"far",iconName:"money-bill-alt",icon:[640,512,[],"f3d1","M320 144c-53.02 0-96 50.14-96 112 0 61.85 42.98 112 96 112 53 0 96-50.13 96-112 0-61.86-42.98-112-96-112zm40 168c0 4.42-3.58 8-8 8h-64c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h16v-55.44l-.47.31a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09l15.33-10.22a23.99 23.99 0 0 1 13.31-4.03H328c4.42 0 8 3.58 8 8v88h16c4.42 0 8 3.58 8 8v16zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zm-16 272c-35.35 0-64 28.65-64 64H112c0-35.35-28.65-64-64-64V176c35.35 0 64-28.65 64-64h416c0 35.35 28.65 64 64 64v160z"]},ht={prefix:"far",iconName:"moon",icon:[512,512,[],"f186","M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z"]},dt={prefix:"far",iconName:"newspaper",icon:[576,512,[],"f1ea","M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z"]},ft={prefix:"far",iconName:"object-group",icon:[512,512,[],"f247","M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z"]},_t={prefix:"far",iconName:"object-ungroup",icon:[576,512,[],"f248","M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z"]},mt={prefix:"far",iconName:"paper-plane",icon:[512,512,[],"f1d8","M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z"]},bt={prefix:"far",iconName:"pause-circle",icon:[512,512,[],"f28b","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z"]},gt={prefix:"far",iconName:"play-circle",icon:[512,512,[],"f144","M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z"]},vt={prefix:"far",iconName:"plus-square",icon:[448,512,[],"f0fe","M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"]},yt={prefix:"far",iconName:"question-circle",icon:[512,512,[],"f059","M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z"]},Ct={prefix:"far",iconName:"registered",icon:[512,512,[],"f25d","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z"]},At={prefix:"far",iconName:"sad-cry",icon:[496,512,[],"f5b3","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm144 386.4V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v151.4C315.5 447 282.8 456 248 456s-67.5-9-96-24.6V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v114.4c-34.6-36-56-84.7-56-138.4 0-110.3 89.7-200 200-200s200 89.7 200 200c0 53.7-21.4 102.5-56 138.4zM205.8 234.5c4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.3 7.9 4.8 13.7 1.6zM344 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.5 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm-96 92c-30.9 0-56 28.7-56 64s25.1 64 56 64 56-28.7 56-64-25.1-64-56-64z"]},xt={prefix:"far",iconName:"sad-tear",icon:[496,512,[],"f5b4","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm8-152c-13.2 0-24 10.8-24 24s10.8 24 24 24c23.8 0 46.3 10.5 61.6 28.8 8.1 9.8 23.2 11.9 33.8 3.1 10.2-8.5 11.6-23.6 3.1-33.8C330 320.8 294.1 304 256 304zm-88-64c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-165.6 98.8C151 290.1 126 325.4 126 342.9c0 22.7 18.8 41.1 42 41.1s42-18.4 42-41.1c0-17.5-25-52.8-36.4-68.1-2.8-3.7-8.4-3.7-11.2 0z"]},St={prefix:"far",iconName:"save",icon:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z"]},Tt={prefix:"far",iconName:"share-square",icon:[576,512,[],"f14d","M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z"]},Et={prefix:"far",iconName:"smile",icon:[496,512,[],"f118","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z"]},Pt={prefix:"far",iconName:"smile-beam",icon:[496,512,[],"f5b8","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm84-143.4c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.6-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.2-8.4-25.3-7.1-33.8 3.1zM136.5 211c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.4 1.1 7.4-.5 9.3-3.7l9.5-17zM328 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4z"]},Ot={prefix:"far",iconName:"smile-wink",icon:[496,512,[],"f4da","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm117.8-146.4c-10.2-8.5-25.3-7.1-33.8 3.1-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-60c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1z"]},Mt={prefix:"far",iconName:"snowflake",icon:[448,512,[],"f2dc","M438.237 355.927l-66.574-38.54 59.448-10.327c5.846-1.375 10.609-5.183 13.458-10.13 2.48-4.307 3.506-9.478 2.524-14.651-2.11-11.115-12.686-18.039-23.621-15.467l-85.423 31.115L255.914 256l82.136-41.926 85.423 31.115c10.936 2.572 21.512-4.352 23.621-15.467 2.111-11.115-5.046-22.209-15.981-24.781l-59.448-10.327 66.573-38.54c9.54-5.523 12.615-18.092 6.867-28.074-5.748-9.982-18.14-13.596-27.68-8.074l-66.574 38.54 20.805-56.787c3.246-10.782-2.758-22.542-13.413-26.268-10.654-3.725-21.922 1.997-25.168 12.779l-15.838 89.735-72.423 41.926V136l69.585-58.621c7.689-8.21 6.997-20.856-1.548-28.245-8.545-7.391-21.705-6.723-29.394 1.486l-38.644 46.46V20c0-11.046-9.318-20-20.813-20s-20.813 8.954-20.813 20v77.08l-38.644-46.46c-7.689-8.21-20.849-8.876-29.394-1.486-8.544 7.389-9.236 20.035-1.547 28.245L203.187 136v83.853l-72.423-41.926-15.838-89.736c-3.247-10.782-14.515-16.504-25.169-12.779-10.656 3.725-16.659 15.486-13.413 26.268l20.805 56.787-66.573-38.54c-9.54-5.523-21.933-1.908-27.68 8.074s-2.673 22.551 6.867 28.074l66.574 38.54-59.449 10.328C5.953 207.515-1.202 218.609.907 229.724c2.11 11.114 12.686 18.038 23.622 15.466l85.422-31.115L192.086 256l-82.136 41.926-85.423-31.115c-10.936-2.572-21.511 4.352-23.622 15.466-2.109 11.113 5.046 22.209 15.981 24.781l59.449 10.328-66.574 38.54C.223 361.449-2.852 374.018 2.896 384s18.14 13.597 27.68 8.074l66.574-38.54-20.805 56.786c-1.735 5.764-.828 11.805 2.02 16.751 2.48 4.307 6.433 7.784 11.392 9.517 10.655 3.725 21.923-1.997 25.169-12.779l15.838-89.736 72.423-41.926V376l-69.585 58.621c-7.69 8.21-6.997 20.855 1.547 28.245 8.544 7.388 21.705 6.723 29.394-1.487l38.644-46.46V492c0 11.046 9.318 20 20.813 20s20.813-8.954 20.813-20v-77.081l38.644 46.46c4.111 4.389 9.782 6.621 15.478 6.621 4.96 0 9.939-1.694 13.916-5.134 8.545-7.39 9.237-20.035 1.548-28.245L244.813 376v-83.853l72.423 41.926 15.838 89.736c3.246 10.782 14.514 16.504 25.168 12.779 10.653-3.726 16.659-15.487 13.412-26.268l-20.805-56.787 66.574 38.54c9.54 5.523 21.933 1.908 27.68-8.074 5.749-9.981 2.675-22.55-6.866-28.072z"]},Rt={prefix:"far",iconName:"square",icon:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z"]},It={prefix:"far",iconName:"star",icon:[576,512,[],"f005","M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z"]},wt={prefix:"far",iconName:"star-half",icon:[576,512,[],"f089","M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z"]},Dt={prefix:"far",iconName:"sticky-note",icon:[448,512,[],"f249","M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z"]},Lt={prefix:"far",iconName:"stop-circle",icon:[512,512,[],"f28d","M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z"]},Nt={prefix:"far",iconName:"sun",icon:[512,512,[],"f185","M220.116 487.936l-20.213-49.425a3.992 3.992 0 0 0-5.808-1.886l-45.404 28.104c-29.466 18.24-66.295-8.519-58.054-42.179l12.699-51.865a3.993 3.993 0 0 0-3.59-4.941l-53.251-3.951c-34.554-2.562-48.632-45.855-22.174-68.247L65.08 259.05a3.992 3.992 0 0 0 0-6.106l-40.76-34.497c-26.45-22.384-12.39-65.682 22.174-68.246l53.251-3.951a3.993 3.993 0 0 0 3.59-4.941L90.637 89.443c-8.239-33.656 28.581-60.42 58.054-42.179l45.403 28.104a3.993 3.993 0 0 0 5.808-1.887l20.213-49.425c13.116-32.071 58.638-32.081 71.758 0l20.212 49.424a3.994 3.994 0 0 0 5.809 1.887l45.403-28.104c29.464-18.236 66.297 8.513 58.054 42.179l-12.699 51.865a3.995 3.995 0 0 0 3.59 4.941l53.251 3.951c34.553 2.563 48.633 45.854 22.175 68.246l-40.76 34.497a3.993 3.993 0 0 0 0 6.107l40.76 34.496c26.511 22.441 12.322 65.689-22.175 68.247l-53.251 3.951a3.993 3.993 0 0 0-3.589 4.942l12.698 51.864c8.241 33.658-28.583 60.421-58.054 42.18l-45.403-28.104a3.994 3.994 0 0 0-5.809 1.887l-20.212 49.424c-13.159 32.178-58.675 31.993-71.757 0zm16.814-64.568l19.064 46.616 19.064-46.615c10.308-25.2 40.778-35.066 63.892-20.759l42.822 26.507-11.976-48.919c-6.475-26.444 12.38-52.339 39.487-54.349l50.226-3.726-38.444-32.536c-20.782-17.591-20.747-49.621.001-67.18l38.442-32.536-50.225-3.727c-27.151-2.015-45.95-27.948-39.488-54.349l11.978-48.919-42.823 26.507c-23.151 14.327-53.603 4.4-63.892-20.76l-19.064-46.615-19.064 46.617c-10.305 25.198-40.778 35.066-63.891 20.76l-42.823-26.508 11.977 48.918c6.474 26.446-12.381 52.338-39.488 54.35l-50.224 3.726 38.443 32.537c20.782 17.588 20.747 49.619 0 67.178L52.48 322.123l50.226 3.726c27.151 2.014 45.95 27.947 39.487 54.349l-11.977 48.919 42.823-26.507c23.188-14.355 53.622-4.352 63.891 20.758zM256 384c-70.58 0-128-57.421-128-128 0-70.58 57.42-128 128-128 70.579 0 128 57.42 128 128 0 70.579-57.421 128-128 128zm0-208c-44.112 0-80 35.888-80 80s35.888 80 80 80 80-35.888 80-80-35.888-80-80-80z"]},Ft={prefix:"far",iconName:"surprise",icon:[496,512,[],"f5c2","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-176c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm-48-72c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z"]},Bt={prefix:"far",iconName:"thumbs-down",icon:[512,512,[],"f165","M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z"]},kt={prefix:"far",iconName:"thumbs-up",icon:[512,512,[],"f164","M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z"]},Vt={prefix:"far",iconName:"times-circle",icon:[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z"]},zt={prefix:"far",iconName:"tired",icon:[496,512,[],"f5c8","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm129.1-303.8c-3.8-4.4-10.3-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.8 1.6 15.3-2.5 3.8-4.5 3.9-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zM220 208c0-4.2-2.2-8.1-5.8-10.3l-80-48c-5-3-11.5-1.9-15.3 2.5-3.8 4.5-3.9 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.5 4.1 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3zm28 64c-45.4 0-100.9 38.3-107.8 93.3-1.5 11.8 6.9 21.6 15.5 17.9C178.4 373.5 212 368 248 368s69.6 5.5 92.3 15.2c8.5 3.7 17-6 15.5-17.9-6.9-55-62.4-93.3-107.8-93.3z"]},jt={prefix:"far",iconName:"trash-alt",icon:[448,512,[],"f2ed","M192 188v216c0 6.627-5.373 12-12 12h-24c-6.627 0-12-5.373-12-12V188c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12zm100-12h-24c-6.627 0-12 5.373-12 12v216c0 6.627 5.373 12 12 12h24c6.627 0 12-5.373 12-12V188c0-6.627-5.373-12-12-12zm132-96c13.255 0 24 10.745 24 24v12c0 6.627-5.373 12-12 12h-20v336c0 26.51-21.49 48-48 48H80c-26.51 0-48-21.49-48-48V128H12c-6.627 0-12-5.373-12-12v-12c0-13.255 10.745-24 24-24h74.411l34.018-56.696A48 48 0 0 1 173.589 0h100.823a48 48 0 0 1 41.16 23.304L349.589 80H424zm-269.611 0h139.223L276.16 50.913A6 6 0 0 0 271.015 48h-94.028a6 6 0 0 0-5.145 2.913L154.389 80zM368 128H80v330a6 6 0 0 0 6 6h276a6 6 0 0 0 6-6V128z"]},Ut={prefix:"far",iconName:"user",icon:[448,512,[],"f007","M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z"]},Gt={prefix:"far",iconName:"user-circle",icon:[496,512,[],"f2bd","M248 104c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-240C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-49.7 0-95.1-18.3-130.1-48.4 14.9-23 40.4-38.6 69.6-39.5 20.8 6.4 40.6 9.6 60.5 9.6s39.7-3.1 60.5-9.6c29.2 1 54.7 16.5 69.6 39.5-35 30.1-80.4 48.4-130.1 48.4zm162.7-84.1c-24.4-31.4-62.1-51.9-105.1-51.9-10.2 0-26 9.6-57.6 9.6-31.5 0-47.4-9.6-57.6-9.6-42.9 0-80.6 20.5-105.1 51.9C61.9 339.2 48 299.2 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 43.2-13.9 83.2-37.3 115.9z"]},Ht={prefix:"far",iconName:"window-close",icon:[512,512,[],"f410","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z"]},Wt={prefix:"far",iconName:"window-maximize",icon:[512,512,[],"f2d0","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z"]},Xt={prefix:"far",iconName:"window-minimize",icon:[512,512,[],"f2d1","M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z"]},Yt={prefix:"far",iconName:"window-restore",icon:[512,512,[],"f2d2","M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z"]},Qt={faAddressBook:r,faAddressCard:o,faAngry:a,faArrowAltCircleDown:s,faArrowAltCircleLeft:c,faArrowAltCircleRight:l,faArrowAltCircleUp:u,faBell:p,faBellSlash:h,faBookmark:d,faBuilding:f,faCalendar:_,faCalendarAlt:m,faCalendarCheck:b,faCalendarMinus:g,faCalendarPlus:v,faCalendarTimes:y,faCaretSquareDown:C,faCaretSquareLeft:A,faCaretSquareRight:x,faCaretSquareUp:S,faChartBar:T,faCheckCircle:E,faCheckSquare:P,faCircle:O,faClipboard:M,faClock:R,faClone:I,faClosedCaptioning:w,faComment:D,faCommentAlt:L,faCommentDots:N,faComments:F,faCompass:B,faCopy:k,faCopyright:V,faCreditCard:z,faDizzy:j,faDotCircle:U,faEdit:G,faEnvelope:H,faEnvelopeOpen:W,faEye:X,faEyeSlash:Y,faFile:Q,faFileAlt:K,faFileArchive:Z,faFileAudio:q,faFileCode:J,faFileExcel:$,faFileImage:ee,faFilePdf:te,faFilePowerpoint:ne,faFileVideo:ie,faFileWord:re,faFlag:oe,faFlushed:ae,faFolder:se,faFolderOpen:ce,faFontAwesomeLogoFull:le,faFrown:ue,faFrownOpen:pe,faFutbol:he,faGem:de,faGrimace:fe,faGrin:_e,faGrinAlt:me,faGrinBeam:be,faGrinBeamSweat:ge,faGrinHearts:ve,faGrinSquint:ye,faGrinSquintTears:Ce,faGrinStars:Ae,faGrinTears:xe,faGrinTongue:Se,faGrinTongueSquint:Te,faGrinTongueWink:Ee,faGrinWink:Pe,faHandLizard:Oe,faHandPaper:Me,faHandPeace:Re,faHandPointDown:Ie,faHandPointLeft:we,faHandPointRight:De,faHandPointUp:Le,faHandPointer:Ne,faHandRock:Fe,faHandScissors:Be,faHandSpock:ke,faHandshake:Ve,faHdd:ze,faHeart:je,faHospital:Ue,faHourglass:Ge,faIdBadge:He,faIdCard:We,faImage:Xe,faImages:Ye,faKeyboard:Qe,faKiss:Ke,faKissBeam:Ze,faKissWinkHeart:qe,faLaugh:Je,faLaughBeam:$e,faLaughSquint:et,faLaughWink:tt,faLemon:nt,faLifeRing:it,faLightbulb:rt,faListAlt:ot,faMap:at,faMeh:st,faMehBlank:ct,faMehRollingEyes:lt,faMinusSquare:ut,faMoneyBillAlt:pt,faMoon:ht,faNewspaper:dt,faObjectGroup:ft,faObjectUngroup:_t,faPaperPlane:mt,faPauseCircle:bt,faPlayCircle:gt,faPlusSquare:vt,faQuestionCircle:yt,faRegistered:Ct,faSadCry:At,faSadTear:xt,faSave:St,faShareSquare:Tt,faSmile:Et,faSmileBeam:Pt,faSmileWink:Ot,faSnowflake:Mt,faSquare:Rt,faStar:It,faStarHalf:wt,faStickyNote:Dt,faStopCircle:Lt,faSun:Nt,faSurprise:Ft,faThumbsDown:Bt,faThumbsUp:kt,faTimesCircle:Vt,faTired:zt,faTrashAlt:jt,faUser:Ut,faUserCircle:Gt,faWindowClose:Ht,faWindowMaximize:Wt,faWindowMinimize:Xt,faWindowRestore:Yt}},"../../../../node_modules/@fortawesome/free-solid-svg-icons/index.es.js":function(e,t,n){"use strict";n.r(t),n.d(t,"fas",(function(){return Kf})),n.d(t,"prefix",(function(){return i})),n.d(t,"faAd",(function(){return r})),n.d(t,"faAddressBook",(function(){return o})),n.d(t,"faAddressCard",(function(){return a})),n.d(t,"faAdjust",(function(){return s})),n.d(t,"faAirFreshener",(function(){return c})),n.d(t,"faAlignCenter",(function(){return l})),n.d(t,"faAlignJustify",(function(){return u})),n.d(t,"faAlignLeft",(function(){return p})),n.d(t,"faAlignRight",(function(){return h})),n.d(t,"faAllergies",(function(){return d})),n.d(t,"faAmbulance",(function(){return f})),n.d(t,"faAmericanSignLanguageInterpreting",(function(){return _})),n.d(t,"faAnchor",(function(){return m})),n.d(t,"faAngleDoubleDown",(function(){return b})),n.d(t,"faAngleDoubleLeft",(function(){return g})),n.d(t,"faAngleDoubleRight",(function(){return v})),n.d(t,"faAngleDoubleUp",(function(){return y})),n.d(t,"faAngleDown",(function(){return C})),n.d(t,"faAngleLeft",(function(){return A})),n.d(t,"faAngleRight",(function(){return x})),n.d(t,"faAngleUp",(function(){return S})),n.d(t,"faAngry",(function(){return T})),n.d(t,"faAnkh",(function(){return E})),n.d(t,"faAppleAlt",(function(){return P})),n.d(t,"faArchive",(function(){return O})),n.d(t,"faArchway",(function(){return M})),n.d(t,"faArrowAltCircleDown",(function(){return R})),n.d(t,"faArrowAltCircleLeft",(function(){return I})),n.d(t,"faArrowAltCircleRight",(function(){return w})),n.d(t,"faArrowAltCircleUp",(function(){return D})),n.d(t,"faArrowCircleDown",(function(){return L})),n.d(t,"faArrowCircleLeft",(function(){return N})),n.d(t,"faArrowCircleRight",(function(){return F})),n.d(t,"faArrowCircleUp",(function(){return B})),n.d(t,"faArrowDown",(function(){return k})),n.d(t,"faArrowLeft",(function(){return V})),n.d(t,"faArrowRight",(function(){return z})),n.d(t,"faArrowUp",(function(){return j})),n.d(t,"faArrowsAlt",(function(){return U})),n.d(t,"faArrowsAltH",(function(){return G})),n.d(t,"faArrowsAltV",(function(){return H})),n.d(t,"faAssistiveListeningSystems",(function(){return W})),n.d(t,"faAsterisk",(function(){return X})),n.d(t,"faAt",(function(){return Y})),n.d(t,"faAtlas",(function(){return Q})),n.d(t,"faAtom",(function(){return K})),n.d(t,"faAudioDescription",(function(){return Z})),n.d(t,"faAward",(function(){return q})),n.d(t,"faBackspace",(function(){return J})),n.d(t,"faBackward",(function(){return $})),n.d(t,"faBalanceScale",(function(){return ee})),n.d(t,"faBan",(function(){return te})),n.d(t,"faBandAid",(function(){return ne})),n.d(t,"faBarcode",(function(){return ie})),n.d(t,"faBars",(function(){return re})),n.d(t,"faBaseballBall",(function(){return oe})),n.d(t,"faBasketballBall",(function(){return ae})),n.d(t,"faBath",(function(){return se})),n.d(t,"faBatteryEmpty",(function(){return ce})),n.d(t,"faBatteryFull",(function(){return le})),n.d(t,"faBatteryHalf",(function(){return ue})),n.d(t,"faBatteryQuarter",(function(){return pe})),n.d(t,"faBatteryThreeQuarters",(function(){return he})),n.d(t,"faBed",(function(){return de})),n.d(t,"faBeer",(function(){return fe})),n.d(t,"faBell",(function(){return _e})),n.d(t,"faBellSlash",(function(){return me})),n.d(t,"faBezierCurve",(function(){return be})),n.d(t,"faBible",(function(){return ge})),n.d(t,"faBicycle",(function(){return ve})),n.d(t,"faBinoculars",(function(){return ye})),n.d(t,"faBirthdayCake",(function(){return Ce})),n.d(t,"faBlender",(function(){return Ae})),n.d(t,"faBlenderPhone",(function(){return xe})),n.d(t,"faBlind",(function(){return Se})),n.d(t,"faBold",(function(){return Te})),n.d(t,"faBolt",(function(){return Ee})),n.d(t,"faBomb",(function(){return Pe})),n.d(t,"faBone",(function(){return Oe})),n.d(t,"faBong",(function(){return Me})),n.d(t,"faBook",(function(){return Re})),n.d(t,"faBookDead",(function(){return Ie})),n.d(t,"faBookOpen",(function(){return we})),n.d(t,"faBookReader",(function(){return De})),n.d(t,"faBookmark",(function(){return Le})),n.d(t,"faBowlingBall",(function(){return Ne})),n.d(t,"faBox",(function(){return Fe})),n.d(t,"faBoxOpen",(function(){return Be})),n.d(t,"faBoxes",(function(){return ke})),n.d(t,"faBraille",(function(){return Ve})),n.d(t,"faBrain",(function(){return ze})),n.d(t,"faBriefcase",(function(){return je})),n.d(t,"faBriefcaseMedical",(function(){return Ue})),n.d(t,"faBroadcastTower",(function(){return Ge})),n.d(t,"faBroom",(function(){return He})),n.d(t,"faBrush",(function(){return We})),n.d(t,"faBug",(function(){return Xe})),n.d(t,"faBuilding",(function(){return Ye})),n.d(t,"faBullhorn",(function(){return Qe})),n.d(t,"faBullseye",(function(){return Ke})),n.d(t,"faBurn",(function(){return Ze})),n.d(t,"faBus",(function(){return qe})),n.d(t,"faBusAlt",(function(){return Je})),n.d(t,"faBusinessTime",(function(){return $e})),n.d(t,"faCalculator",(function(){return et})),n.d(t,"faCalendar",(function(){return tt})),n.d(t,"faCalendarAlt",(function(){return nt})),n.d(t,"faCalendarCheck",(function(){return it})),n.d(t,"faCalendarMinus",(function(){return rt})),n.d(t,"faCalendarPlus",(function(){return ot})),n.d(t,"faCalendarTimes",(function(){return at})),n.d(t,"faCamera",(function(){return st})),n.d(t,"faCameraRetro",(function(){return ct})),n.d(t,"faCampground",(function(){return lt})),n.d(t,"faCannabis",(function(){return ut})),n.d(t,"faCapsules",(function(){return pt})),n.d(t,"faCar",(function(){return ht})),n.d(t,"faCarAlt",(function(){return dt})),n.d(t,"faCarBattery",(function(){return ft})),n.d(t,"faCarCrash",(function(){return _t})),n.d(t,"faCarSide",(function(){return mt})),n.d(t,"faCaretDown",(function(){return bt})),n.d(t,"faCaretLeft",(function(){return gt})),n.d(t,"faCaretRight",(function(){return vt})),n.d(t,"faCaretSquareDown",(function(){return yt})),n.d(t,"faCaretSquareLeft",(function(){return Ct})),n.d(t,"faCaretSquareRight",(function(){return At})),n.d(t,"faCaretSquareUp",(function(){return xt})),n.d(t,"faCaretUp",(function(){return St})),n.d(t,"faCartArrowDown",(function(){return Tt})),n.d(t,"faCartPlus",(function(){return Et})),n.d(t,"faCat",(function(){return Pt})),n.d(t,"faCertificate",(function(){return Ot})),n.d(t,"faChair",(function(){return Mt})),n.d(t,"faChalkboard",(function(){return Rt})),n.d(t,"faChalkboardTeacher",(function(){return It})),n.d(t,"faChargingStation",(function(){return wt})),n.d(t,"faChartArea",(function(){return Dt})),n.d(t,"faChartBar",(function(){return Lt})),n.d(t,"faChartLine",(function(){return Nt})),n.d(t,"faChartPie",(function(){return Ft})),n.d(t,"faCheck",(function(){return Bt})),n.d(t,"faCheckCircle",(function(){return kt})),n.d(t,"faCheckDouble",(function(){return Vt})),n.d(t,"faCheckSquare",(function(){return zt})),n.d(t,"faChess",(function(){return jt})),n.d(t,"faChessBishop",(function(){return Ut})),n.d(t,"faChessBoard",(function(){return Gt})),n.d(t,"faChessKing",(function(){return Ht})),n.d(t,"faChessKnight",(function(){return Wt})),n.d(t,"faChessPawn",(function(){return Xt})),n.d(t,"faChessQueen",(function(){return Yt})),n.d(t,"faChessRook",(function(){return Qt})),n.d(t,"faChevronCircleDown",(function(){return Kt})),n.d(t,"faChevronCircleLeft",(function(){return Zt})),n.d(t,"faChevronCircleRight",(function(){return qt})),n.d(t,"faChevronCircleUp",(function(){return Jt})),n.d(t,"faChevronDown",(function(){return $t})),n.d(t,"faChevronLeft",(function(){return en})),n.d(t,"faChevronRight",(function(){return tn})),n.d(t,"faChevronUp",(function(){return nn})),n.d(t,"faChild",(function(){return rn})),n.d(t,"faChurch",(function(){return on})),n.d(t,"faCircle",(function(){return an})),n.d(t,"faCircleNotch",(function(){return sn})),n.d(t,"faCity",(function(){return cn})),n.d(t,"faClipboard",(function(){return ln})),n.d(t,"faClipboardCheck",(function(){return un})),n.d(t,"faClipboardList",(function(){return pn})),n.d(t,"faClock",(function(){return hn})),n.d(t,"faClone",(function(){return dn})),n.d(t,"faClosedCaptioning",(function(){return fn})),n.d(t,"faCloud",(function(){return _n})),n.d(t,"faCloudDownloadAlt",(function(){return mn})),n.d(t,"faCloudMoon",(function(){return bn})),n.d(t,"faCloudSun",(function(){return gn})),n.d(t,"faCloudUploadAlt",(function(){return vn})),n.d(t,"faCocktail",(function(){return yn})),n.d(t,"faCode",(function(){return Cn})),n.d(t,"faCodeBranch",(function(){return An})),n.d(t,"faCoffee",(function(){return xn})),n.d(t,"faCog",(function(){return Sn})),n.d(t,"faCogs",(function(){return Tn})),n.d(t,"faCoins",(function(){return En})),n.d(t,"faColumns",(function(){return Pn})),n.d(t,"faComment",(function(){return On})),n.d(t,"faCommentAlt",(function(){return Mn})),n.d(t,"faCommentDollar",(function(){return Rn})),n.d(t,"faCommentDots",(function(){return In})),n.d(t,"faCommentSlash",(function(){return wn})),n.d(t,"faComments",(function(){return Dn})),n.d(t,"faCommentsDollar",(function(){return Ln})),n.d(t,"faCompactDisc",(function(){return Nn})),n.d(t,"faCompass",(function(){return Fn})),n.d(t,"faCompress",(function(){return Bn})),n.d(t,"faConciergeBell",(function(){return kn})),n.d(t,"faCookie",(function(){return Vn})),n.d(t,"faCookieBite",(function(){return zn})),n.d(t,"faCopy",(function(){return jn})),n.d(t,"faCopyright",(function(){return Un})),n.d(t,"faCouch",(function(){return Gn})),n.d(t,"faCreditCard",(function(){return Hn})),n.d(t,"faCrop",(function(){return Wn})),n.d(t,"faCropAlt",(function(){return Xn})),n.d(t,"faCross",(function(){return Yn})),n.d(t,"faCrosshairs",(function(){return Qn})),n.d(t,"faCrow",(function(){return Kn})),n.d(t,"faCrown",(function(){return Zn})),n.d(t,"faCube",(function(){return qn})),n.d(t,"faCubes",(function(){return Jn})),n.d(t,"faCut",(function(){return $n})),n.d(t,"faDatabase",(function(){return ei})),n.d(t,"faDeaf",(function(){return ti})),n.d(t,"faDesktop",(function(){return ni})),n.d(t,"faDharmachakra",(function(){return ii})),n.d(t,"faDiagnoses",(function(){return ri})),n.d(t,"faDice",(function(){return oi})),n.d(t,"faDiceD20",(function(){return ai})),n.d(t,"faDiceD6",(function(){return si})),n.d(t,"faDiceFive",(function(){return ci})),n.d(t,"faDiceFour",(function(){return li})),n.d(t,"faDiceOne",(function(){return ui})),n.d(t,"faDiceSix",(function(){return pi})),n.d(t,"faDiceThree",(function(){return hi})),n.d(t,"faDiceTwo",(function(){return di})),n.d(t,"faDigitalTachograph",(function(){return fi})),n.d(t,"faDirections",(function(){return _i})),n.d(t,"faDivide",(function(){return mi})),n.d(t,"faDizzy",(function(){return bi})),n.d(t,"faDna",(function(){return gi})),n.d(t,"faDog",(function(){return vi})),n.d(t,"faDollarSign",(function(){return yi})),n.d(t,"faDolly",(function(){return Ci})),n.d(t,"faDollyFlatbed",(function(){return Ai})),n.d(t,"faDonate",(function(){return xi})),n.d(t,"faDoorClosed",(function(){return Si})),n.d(t,"faDoorOpen",(function(){return Ti})),n.d(t,"faDotCircle",(function(){return Ei})),n.d(t,"faDove",(function(){return Pi})),n.d(t,"faDownload",(function(){return Oi})),n.d(t,"faDraftingCompass",(function(){return Mi})),n.d(t,"faDragon",(function(){return Ri})),n.d(t,"faDrawPolygon",(function(){return Ii})),n.d(t,"faDrum",(function(){return wi})),n.d(t,"faDrumSteelpan",(function(){return Di})),n.d(t,"faDrumstickBite",(function(){return Li})),n.d(t,"faDumbbell",(function(){return Ni})),n.d(t,"faDungeon",(function(){return Fi})),n.d(t,"faEdit",(function(){return Bi})),n.d(t,"faEject",(function(){return ki})),n.d(t,"faEllipsisH",(function(){return Vi})),n.d(t,"faEllipsisV",(function(){return zi})),n.d(t,"faEnvelope",(function(){return ji})),n.d(t,"faEnvelopeOpen",(function(){return Ui})),n.d(t,"faEnvelopeOpenText",(function(){return Gi})),n.d(t,"faEnvelopeSquare",(function(){return Hi})),n.d(t,"faEquals",(function(){return Wi})),n.d(t,"faEraser",(function(){return Xi})),n.d(t,"faEuroSign",(function(){return Yi})),n.d(t,"faExchangeAlt",(function(){return Qi})),n.d(t,"faExclamation",(function(){return Ki})),n.d(t,"faExclamationCircle",(function(){return Zi})),n.d(t,"faExclamationTriangle",(function(){return qi})),n.d(t,"faExpand",(function(){return Ji})),n.d(t,"faExpandArrowsAlt",(function(){return $i})),n.d(t,"faExternalLinkAlt",(function(){return er})),n.d(t,"faExternalLinkSquareAlt",(function(){return tr})),n.d(t,"faEye",(function(){return nr})),n.d(t,"faEyeDropper",(function(){return ir})),n.d(t,"faEyeSlash",(function(){return rr})),n.d(t,"faFastBackward",(function(){return or})),n.d(t,"faFastForward",(function(){return ar})),n.d(t,"faFax",(function(){return sr})),n.d(t,"faFeather",(function(){return cr})),n.d(t,"faFeatherAlt",(function(){return lr})),n.d(t,"faFemale",(function(){return ur})),n.d(t,"faFighterJet",(function(){return pr})),n.d(t,"faFile",(function(){return hr})),n.d(t,"faFileAlt",(function(){return dr})),n.d(t,"faFileArchive",(function(){return fr})),n.d(t,"faFileAudio",(function(){return _r})),n.d(t,"faFileCode",(function(){return mr})),n.d(t,"faFileContract",(function(){return br})),n.d(t,"faFileCsv",(function(){return gr})),n.d(t,"faFileDownload",(function(){return vr})),n.d(t,"faFileExcel",(function(){return yr})),n.d(t,"faFileExport",(function(){return Cr})),n.d(t,"faFileImage",(function(){return Ar})),n.d(t,"faFileImport",(function(){return xr})),n.d(t,"faFileInvoice",(function(){return Sr})),n.d(t,"faFileInvoiceDollar",(function(){return Tr})),n.d(t,"faFileMedical",(function(){return Er})),n.d(t,"faFileMedicalAlt",(function(){return Pr})),n.d(t,"faFilePdf",(function(){return Or})),n.d(t,"faFilePowerpoint",(function(){return Mr})),n.d(t,"faFilePrescription",(function(){return Rr})),n.d(t,"faFileSignature",(function(){return Ir})),n.d(t,"faFileUpload",(function(){return wr})),n.d(t,"faFileVideo",(function(){return Dr})),n.d(t,"faFileWord",(function(){return Lr})),n.d(t,"faFill",(function(){return Nr})),n.d(t,"faFillDrip",(function(){return Fr})),n.d(t,"faFilm",(function(){return Br})),n.d(t,"faFilter",(function(){return kr})),n.d(t,"faFingerprint",(function(){return Vr})),n.d(t,"faFire",(function(){return zr})),n.d(t,"faFireExtinguisher",(function(){return jr})),n.d(t,"faFirstAid",(function(){return Ur})),n.d(t,"faFish",(function(){return Gr})),n.d(t,"faFistRaised",(function(){return Hr})),n.d(t,"faFlag",(function(){return Wr})),n.d(t,"faFlagCheckered",(function(){return Xr})),n.d(t,"faFlask",(function(){return Yr})),n.d(t,"faFlushed",(function(){return Qr})),n.d(t,"faFolder",(function(){return Kr})),n.d(t,"faFolderMinus",(function(){return Zr})),n.d(t,"faFolderOpen",(function(){return qr})),n.d(t,"faFolderPlus",(function(){return Jr})),n.d(t,"faFont",(function(){return $r})),n.d(t,"faFontAwesomeLogoFull",(function(){return eo})),n.d(t,"faFootballBall",(function(){return to})),n.d(t,"faForward",(function(){return no})),n.d(t,"faFrog",(function(){return io})),n.d(t,"faFrown",(function(){return ro})),n.d(t,"faFrownOpen",(function(){return oo})),n.d(t,"faFunnelDollar",(function(){return ao})),n.d(t,"faFutbol",(function(){return so})),n.d(t,"faGamepad",(function(){return co})),n.d(t,"faGasPump",(function(){return lo})),n.d(t,"faGavel",(function(){return uo})),n.d(t,"faGem",(function(){return po})),n.d(t,"faGenderless",(function(){return ho})),n.d(t,"faGhost",(function(){return fo})),n.d(t,"faGift",(function(){return _o})),n.d(t,"faGlassMartini",(function(){return mo})),n.d(t,"faGlassMartiniAlt",(function(){return bo})),n.d(t,"faGlasses",(function(){return go})),n.d(t,"faGlobe",(function(){return vo})),n.d(t,"faGlobeAfrica",(function(){return yo})),n.d(t,"faGlobeAmericas",(function(){return Co})),n.d(t,"faGlobeAsia",(function(){return Ao})),n.d(t,"faGolfBall",(function(){return xo})),n.d(t,"faGopuram",(function(){return So})),n.d(t,"faGraduationCap",(function(){return To})),n.d(t,"faGreaterThan",(function(){return Eo})),n.d(t,"faGreaterThanEqual",(function(){return Po})),n.d(t,"faGrimace",(function(){return Oo})),n.d(t,"faGrin",(function(){return Mo})),n.d(t,"faGrinAlt",(function(){return Ro})),n.d(t,"faGrinBeam",(function(){return Io})),n.d(t,"faGrinBeamSweat",(function(){return wo})),n.d(t,"faGrinHearts",(function(){return Do})),n.d(t,"faGrinSquint",(function(){return Lo})),n.d(t,"faGrinSquintTears",(function(){return No})),n.d(t,"faGrinStars",(function(){return Fo})),n.d(t,"faGrinTears",(function(){return Bo})),n.d(t,"faGrinTongue",(function(){return ko})),n.d(t,"faGrinTongueSquint",(function(){return Vo})),n.d(t,"faGrinTongueWink",(function(){return zo})),n.d(t,"faGrinWink",(function(){return jo})),n.d(t,"faGripHorizontal",(function(){return Uo})),n.d(t,"faGripVertical",(function(){return Go})),n.d(t,"faHSquare",(function(){return Ho})),n.d(t,"faHammer",(function(){return Wo})),n.d(t,"faHamsa",(function(){return Xo})),n.d(t,"faHandHolding",(function(){return Yo})),n.d(t,"faHandHoldingHeart",(function(){return Qo})),n.d(t,"faHandHoldingUsd",(function(){return Ko})),n.d(t,"faHandLizard",(function(){return Zo})),n.d(t,"faHandPaper",(function(){return qo})),n.d(t,"faHandPeace",(function(){return Jo})),n.d(t,"faHandPointDown",(function(){return $o})),n.d(t,"faHandPointLeft",(function(){return ea})),n.d(t,"faHandPointRight",(function(){return ta})),n.d(t,"faHandPointUp",(function(){return na})),n.d(t,"faHandPointer",(function(){return ia})),n.d(t,"faHandRock",(function(){return ra})),n.d(t,"faHandScissors",(function(){return oa})),n.d(t,"faHandSpock",(function(){return aa})),n.d(t,"faHands",(function(){return sa})),n.d(t,"faHandsHelping",(function(){return ca})),n.d(t,"faHandshake",(function(){return la})),n.d(t,"faHanukiah",(function(){return ua})),n.d(t,"faHashtag",(function(){return pa})),n.d(t,"faHatWizard",(function(){return ha})),n.d(t,"faHaykal",(function(){return da})),n.d(t,"faHdd",(function(){return fa})),n.d(t,"faHeading",(function(){return _a})),n.d(t,"faHeadphones",(function(){return ma})),n.d(t,"faHeadphonesAlt",(function(){return ba})),n.d(t,"faHeadset",(function(){return ga})),n.d(t,"faHeart",(function(){return va})),n.d(t,"faHeartbeat",(function(){return ya})),n.d(t,"faHelicopter",(function(){return Ca})),n.d(t,"faHighlighter",(function(){return Aa})),n.d(t,"faHiking",(function(){return xa})),n.d(t,"faHippo",(function(){return Sa})),n.d(t,"faHistory",(function(){return Ta})),n.d(t,"faHockeyPuck",(function(){return Ea})),n.d(t,"faHome",(function(){return Pa})),n.d(t,"faHorse",(function(){return Oa})),n.d(t,"faHospital",(function(){return Ma})),n.d(t,"faHospitalAlt",(function(){return Ra})),n.d(t,"faHospitalSymbol",(function(){return Ia})),n.d(t,"faHotTub",(function(){return wa})),n.d(t,"faHotel",(function(){return Da})),n.d(t,"faHourglass",(function(){return La})),n.d(t,"faHourglassEnd",(function(){return Na})),n.d(t,"faHourglassHalf",(function(){return Fa})),n.d(t,"faHourglassStart",(function(){return Ba})),n.d(t,"faHouseDamage",(function(){return ka})),n.d(t,"faHryvnia",(function(){return Va})),n.d(t,"faICursor",(function(){return za})),n.d(t,"faIdBadge",(function(){return ja})),n.d(t,"faIdCard",(function(){return Ua})),n.d(t,"faIdCardAlt",(function(){return Ga})),n.d(t,"faImage",(function(){return Ha})),n.d(t,"faImages",(function(){return Wa})),n.d(t,"faInbox",(function(){return Xa})),n.d(t,"faIndent",(function(){return Ya})),n.d(t,"faIndustry",(function(){return Qa})),n.d(t,"faInfinity",(function(){return Ka})),n.d(t,"faInfo",(function(){return Za})),n.d(t,"faInfoCircle",(function(){return qa})),n.d(t,"faItalic",(function(){return Ja})),n.d(t,"faJedi",(function(){return $a})),n.d(t,"faJoint",(function(){return es})),n.d(t,"faJournalWhills",(function(){return ts})),n.d(t,"faKaaba",(function(){return ns})),n.d(t,"faKey",(function(){return is})),n.d(t,"faKeyboard",(function(){return rs})),n.d(t,"faKhanda",(function(){return os})),n.d(t,"faKiss",(function(){return as})),n.d(t,"faKissBeam",(function(){return ss})),n.d(t,"faKissWinkHeart",(function(){return cs})),n.d(t,"faKiwiBird",(function(){return ls})),n.d(t,"faLandmark",(function(){return us})),n.d(t,"faLanguage",(function(){return ps})),n.d(t,"faLaptop",(function(){return hs})),n.d(t,"faLaptopCode",(function(){return ds})),n.d(t,"faLaugh",(function(){return fs})),n.d(t,"faLaughBeam",(function(){return _s})),n.d(t,"faLaughSquint",(function(){return ms})),n.d(t,"faLaughWink",(function(){return bs})),n.d(t,"faLayerGroup",(function(){return gs})),n.d(t,"faLeaf",(function(){return vs})),n.d(t,"faLemon",(function(){return ys})),n.d(t,"faLessThan",(function(){return Cs})),n.d(t,"faLessThanEqual",(function(){return As})),n.d(t,"faLevelDownAlt",(function(){return xs})),n.d(t,"faLevelUpAlt",(function(){return Ss})),n.d(t,"faLifeRing",(function(){return Ts})),n.d(t,"faLightbulb",(function(){return Es})),n.d(t,"faLink",(function(){return Ps})),n.d(t,"faLiraSign",(function(){return Os})),n.d(t,"faList",(function(){return Ms})),n.d(t,"faListAlt",(function(){return Rs})),n.d(t,"faListOl",(function(){return Is})),n.d(t,"faListUl",(function(){return ws})),n.d(t,"faLocationArrow",(function(){return Ds})),n.d(t,"faLock",(function(){return Ls})),n.d(t,"faLockOpen",(function(){return Ns})),n.d(t,"faLongArrowAltDown",(function(){return Fs})),n.d(t,"faLongArrowAltLeft",(function(){return Bs})),n.d(t,"faLongArrowAltRight",(function(){return ks})),n.d(t,"faLongArrowAltUp",(function(){return Vs})),n.d(t,"faLowVision",(function(){return zs})),n.d(t,"faLuggageCart",(function(){return js})),n.d(t,"faMagic",(function(){return Us})),n.d(t,"faMagnet",(function(){return Gs})),n.d(t,"faMailBulk",(function(){return Hs})),n.d(t,"faMale",(function(){return Ws})),n.d(t,"faMap",(function(){return Xs})),n.d(t,"faMapMarked",(function(){return Ys})),n.d(t,"faMapMarkedAlt",(function(){return Qs})),n.d(t,"faMapMarker",(function(){return Ks})),n.d(t,"faMapMarkerAlt",(function(){return Zs})),n.d(t,"faMapPin",(function(){return qs})),n.d(t,"faMapSigns",(function(){return Js})),n.d(t,"faMarker",(function(){return $s})),n.d(t,"faMars",(function(){return ec})),n.d(t,"faMarsDouble",(function(){return tc})),n.d(t,"faMarsStroke",(function(){return nc})),n.d(t,"faMarsStrokeH",(function(){return ic})),n.d(t,"faMarsStrokeV",(function(){return rc})),n.d(t,"faMask",(function(){return oc})),n.d(t,"faMedal",(function(){return ac})),n.d(t,"faMedkit",(function(){return sc})),n.d(t,"faMeh",(function(){return cc})),n.d(t,"faMehBlank",(function(){return lc})),n.d(t,"faMehRollingEyes",(function(){return uc})),n.d(t,"faMemory",(function(){return pc})),n.d(t,"faMenorah",(function(){return hc})),n.d(t,"faMercury",(function(){return dc})),n.d(t,"faMicrochip",(function(){return fc})),n.d(t,"faMicrophone",(function(){return _c})),n.d(t,"faMicrophoneAlt",(function(){return mc})),n.d(t,"faMicrophoneAltSlash",(function(){return bc})),n.d(t,"faMicrophoneSlash",(function(){return gc})),n.d(t,"faMicroscope",(function(){return vc})),n.d(t,"faMinus",(function(){return yc})),n.d(t,"faMinusCircle",(function(){return Cc})),n.d(t,"faMinusSquare",(function(){return Ac})),n.d(t,"faMobile",(function(){return xc})),n.d(t,"faMobileAlt",(function(){return Sc})),n.d(t,"faMoneyBill",(function(){return Tc})),n.d(t,"faMoneyBillAlt",(function(){return Ec})),n.d(t,"faMoneyBillWave",(function(){return Pc})),n.d(t,"faMoneyBillWaveAlt",(function(){return Oc})),n.d(t,"faMoneyCheck",(function(){return Mc})),n.d(t,"faMoneyCheckAlt",(function(){return Rc})),n.d(t,"faMonument",(function(){return Ic})),n.d(t,"faMoon",(function(){return wc})),n.d(t,"faMortarPestle",(function(){return Dc})),n.d(t,"faMosque",(function(){return Lc})),n.d(t,"faMotorcycle",(function(){return Nc})),n.d(t,"faMountain",(function(){return Fc})),n.d(t,"faMousePointer",(function(){return Bc})),n.d(t,"faMusic",(function(){return kc})),n.d(t,"faNetworkWired",(function(){return Vc})),n.d(t,"faNeuter",(function(){return zc})),n.d(t,"faNewspaper",(function(){return jc})),n.d(t,"faNotEqual",(function(){return Uc})),n.d(t,"faNotesMedical",(function(){return Gc})),n.d(t,"faObjectGroup",(function(){return Hc})),n.d(t,"faObjectUngroup",(function(){return Wc})),n.d(t,"faOilCan",(function(){return Xc})),n.d(t,"faOm",(function(){return Yc})),n.d(t,"faOtter",(function(){return Qc})),n.d(t,"faOutdent",(function(){return Kc})),n.d(t,"faPaintBrush",(function(){return Zc})),n.d(t,"faPaintRoller",(function(){return qc})),n.d(t,"faPalette",(function(){return Jc})),n.d(t,"faPallet",(function(){return $c})),n.d(t,"faPaperPlane",(function(){return el})),n.d(t,"faPaperclip",(function(){return tl})),n.d(t,"faParachuteBox",(function(){return nl})),n.d(t,"faParagraph",(function(){return il})),n.d(t,"faParking",(function(){return rl})),n.d(t,"faPassport",(function(){return ol})),n.d(t,"faPastafarianism",(function(){return al})),n.d(t,"faPaste",(function(){return sl})),n.d(t,"faPause",(function(){return cl})),n.d(t,"faPauseCircle",(function(){return ll})),n.d(t,"faPaw",(function(){return ul})),n.d(t,"faPeace",(function(){return pl})),n.d(t,"faPen",(function(){return hl})),n.d(t,"faPenAlt",(function(){return dl})),n.d(t,"faPenFancy",(function(){return fl})),n.d(t,"faPenNib",(function(){return _l})),n.d(t,"faPenSquare",(function(){return ml})),n.d(t,"faPencilAlt",(function(){return bl})),n.d(t,"faPencilRuler",(function(){return gl})),n.d(t,"faPeopleCarry",(function(){return vl})),n.d(t,"faPercent",(function(){return yl})),n.d(t,"faPercentage",(function(){return Cl})),n.d(t,"faPhone",(function(){return Al})),n.d(t,"faPhoneSlash",(function(){return xl})),n.d(t,"faPhoneSquare",(function(){return Sl})),n.d(t,"faPhoneVolume",(function(){return Tl})),n.d(t,"faPiggyBank",(function(){return El})),n.d(t,"faPills",(function(){return Pl})),n.d(t,"faPlaceOfWorship",(function(){return Ol})),n.d(t,"faPlane",(function(){return Ml})),n.d(t,"faPlaneArrival",(function(){return Rl})),n.d(t,"faPlaneDeparture",(function(){return Il})),n.d(t,"faPlay",(function(){return wl})),n.d(t,"faPlayCircle",(function(){return Dl})),n.d(t,"faPlug",(function(){return Ll})),n.d(t,"faPlus",(function(){return Nl})),n.d(t,"faPlusCircle",(function(){return Fl})),n.d(t,"faPlusSquare",(function(){return Bl})),n.d(t,"faPodcast",(function(){return kl})),n.d(t,"faPoll",(function(){return Vl})),n.d(t,"faPollH",(function(){return zl})),n.d(t,"faPoo",(function(){return jl})),n.d(t,"faPoop",(function(){return Ul})),n.d(t,"faPortrait",(function(){return Gl})),n.d(t,"faPoundSign",(function(){return Hl})),n.d(t,"faPowerOff",(function(){return Wl})),n.d(t,"faPray",(function(){return Xl})),n.d(t,"faPrayingHands",(function(){return Yl})),n.d(t,"faPrescription",(function(){return Ql})),n.d(t,"faPrescriptionBottle",(function(){return Kl})),n.d(t,"faPrescriptionBottleAlt",(function(){return Zl})),n.d(t,"faPrint",(function(){return ql})),n.d(t,"faProcedures",(function(){return Jl})),n.d(t,"faProjectDiagram",(function(){return $l})),n.d(t,"faPuzzlePiece",(function(){return eu})),n.d(t,"faQrcode",(function(){return tu})),n.d(t,"faQuestion",(function(){return nu})),n.d(t,"faQuestionCircle",(function(){return iu})),n.d(t,"faQuidditch",(function(){return ru})),n.d(t,"faQuoteLeft",(function(){return ou})),n.d(t,"faQuoteRight",(function(){return au})),n.d(t,"faQuran",(function(){return su})),n.d(t,"faRandom",(function(){return cu})),n.d(t,"faReceipt",(function(){return lu})),n.d(t,"faRecycle",(function(){return uu})),n.d(t,"faRedo",(function(){return pu})),n.d(t,"faRedoAlt",(function(){return hu})),n.d(t,"faRegistered",(function(){return du})),n.d(t,"faReply",(function(){return fu})),n.d(t,"faReplyAll",(function(){return _u})),n.d(t,"faRetweet",(function(){return mu})),n.d(t,"faRibbon",(function(){return bu})),n.d(t,"faRing",(function(){return gu})),n.d(t,"faRoad",(function(){return vu})),n.d(t,"faRobot",(function(){return yu})),n.d(t,"faRocket",(function(){return Cu})),n.d(t,"faRoute",(function(){return Au})),n.d(t,"faRss",(function(){return xu})),n.d(t,"faRssSquare",(function(){return Su})),n.d(t,"faRubleSign",(function(){return Tu})),n.d(t,"faRuler",(function(){return Eu})),n.d(t,"faRulerCombined",(function(){return Pu})),n.d(t,"faRulerHorizontal",(function(){return Ou})),n.d(t,"faRulerVertical",(function(){return Mu})),n.d(t,"faRunning",(function(){return Ru})),n.d(t,"faRupeeSign",(function(){return Iu})),n.d(t,"faSadCry",(function(){return wu})),n.d(t,"faSadTear",(function(){return Du})),n.d(t,"faSave",(function(){return Lu})),n.d(t,"faSchool",(function(){return Nu})),n.d(t,"faScrewdriver",(function(){return Fu})),n.d(t,"faScroll",(function(){return Bu})),n.d(t,"faSearch",(function(){return ku})),n.d(t,"faSearchDollar",(function(){return Vu})),n.d(t,"faSearchLocation",(function(){return zu})),n.d(t,"faSearchMinus",(function(){return ju})),n.d(t,"faSearchPlus",(function(){return Uu})),n.d(t,"faSeedling",(function(){return Gu})),n.d(t,"faServer",(function(){return Hu})),n.d(t,"faShapes",(function(){return Wu})),n.d(t,"faShare",(function(){return Xu})),n.d(t,"faShareAlt",(function(){return Yu})),n.d(t,"faShareAltSquare",(function(){return Qu})),n.d(t,"faShareSquare",(function(){return Ku})),n.d(t,"faShekelSign",(function(){return Zu})),n.d(t,"faShieldAlt",(function(){return qu})),n.d(t,"faShip",(function(){return Ju})),n.d(t,"faShippingFast",(function(){return $u})),n.d(t,"faShoePrints",(function(){return ep})),n.d(t,"faShoppingBag",(function(){return tp})),n.d(t,"faShoppingBasket",(function(){return np})),n.d(t,"faShoppingCart",(function(){return ip})),n.d(t,"faShower",(function(){return rp})),n.d(t,"faShuttleVan",(function(){return op})),n.d(t,"faSign",(function(){return ap})),n.d(t,"faSignInAlt",(function(){return sp})),n.d(t,"faSignLanguage",(function(){return cp})),n.d(t,"faSignOutAlt",(function(){return lp})),n.d(t,"faSignal",(function(){return up})),n.d(t,"faSignature",(function(){return pp})),n.d(t,"faSitemap",(function(){return hp})),n.d(t,"faSkull",(function(){return dp})),n.d(t,"faSkullCrossbones",(function(){return fp})),n.d(t,"faSlash",(function(){return _p})),n.d(t,"faSlidersH",(function(){return mp})),n.d(t,"faSmile",(function(){return bp})),n.d(t,"faSmileBeam",(function(){return gp})),n.d(t,"faSmileWink",(function(){return vp})),n.d(t,"faSmoking",(function(){return yp})),n.d(t,"faSmokingBan",(function(){return Cp})),n.d(t,"faSnowflake",(function(){return Ap})),n.d(t,"faSocks",(function(){return xp})),n.d(t,"faSolarPanel",(function(){return Sp})),n.d(t,"faSort",(function(){return Tp})),n.d(t,"faSortAlphaDown",(function(){return Ep})),n.d(t,"faSortAlphaUp",(function(){return Pp})),n.d(t,"faSortAmountDown",(function(){return Op})),n.d(t,"faSortAmountUp",(function(){return Mp})),n.d(t,"faSortDown",(function(){return Rp})),n.d(t,"faSortNumericDown",(function(){return Ip})),n.d(t,"faSortNumericUp",(function(){return wp})),n.d(t,"faSortUp",(function(){return Dp})),n.d(t,"faSpa",(function(){return Lp})),n.d(t,"faSpaceShuttle",(function(){return Np})),n.d(t,"faSpider",(function(){return Fp})),n.d(t,"faSpinner",(function(){return Bp})),n.d(t,"faSplotch",(function(){return kp})),n.d(t,"faSprayCan",(function(){return Vp})),n.d(t,"faSquare",(function(){return zp})),n.d(t,"faSquareFull",(function(){return jp})),n.d(t,"faSquareRootAlt",(function(){return Up})),n.d(t,"faStamp",(function(){return Gp})),n.d(t,"faStar",(function(){return Hp})),n.d(t,"faStarAndCrescent",(function(){return Wp})),n.d(t,"faStarHalf",(function(){return Xp})),n.d(t,"faStarHalfAlt",(function(){return Yp})),n.d(t,"faStarOfDavid",(function(){return Qp})),n.d(t,"faStarOfLife",(function(){return Kp})),n.d(t,"faStepBackward",(function(){return Zp})),n.d(t,"faStepForward",(function(){return qp})),n.d(t,"faStethoscope",(function(){return Jp})),n.d(t,"faStickyNote",(function(){return $p})),n.d(t,"faStop",(function(){return eh})),n.d(t,"faStopCircle",(function(){return th})),n.d(t,"faStopwatch",(function(){return nh})),n.d(t,"faStore",(function(){return ih})),n.d(t,"faStoreAlt",(function(){return rh})),n.d(t,"faStream",(function(){return oh})),n.d(t,"faStreetView",(function(){return ah})),n.d(t,"faStrikethrough",(function(){return sh})),n.d(t,"faStroopwafel",(function(){return ch})),n.d(t,"faSubscript",(function(){return lh})),n.d(t,"faSubway",(function(){return uh})),n.d(t,"faSuitcase",(function(){return ph})),n.d(t,"faSuitcaseRolling",(function(){return hh})),n.d(t,"faSun",(function(){return dh})),n.d(t,"faSuperscript",(function(){return fh})),n.d(t,"faSurprise",(function(){return _h})),n.d(t,"faSwatchbook",(function(){return mh})),n.d(t,"faSwimmer",(function(){return bh})),n.d(t,"faSwimmingPool",(function(){return gh})),n.d(t,"faSynagogue",(function(){return vh})),n.d(t,"faSync",(function(){return yh})),n.d(t,"faSyncAlt",(function(){return Ch})),n.d(t,"faSyringe",(function(){return Ah})),n.d(t,"faTable",(function(){return xh})),n.d(t,"faTableTennis",(function(){return Sh})),n.d(t,"faTablet",(function(){return Th})),n.d(t,"faTabletAlt",(function(){return Eh})),n.d(t,"faTablets",(function(){return Ph})),n.d(t,"faTachometerAlt",(function(){return Oh})),n.d(t,"faTag",(function(){return Mh})),n.d(t,"faTags",(function(){return Rh})),n.d(t,"faTape",(function(){return Ih})),n.d(t,"faTasks",(function(){return wh})),n.d(t,"faTaxi",(function(){return Dh})),n.d(t,"faTeeth",(function(){return Lh})),n.d(t,"faTeethOpen",(function(){return Nh})),n.d(t,"faTerminal",(function(){return Fh})),n.d(t,"faTextHeight",(function(){return Bh})),n.d(t,"faTextWidth",(function(){return kh})),n.d(t,"faTh",(function(){return Vh})),n.d(t,"faThLarge",(function(){return zh})),n.d(t,"faThList",(function(){return jh})),n.d(t,"faTheaterMasks",(function(){return Uh})),n.d(t,"faThermometer",(function(){return Gh})),n.d(t,"faThermometerEmpty",(function(){return Hh})),n.d(t,"faThermometerFull",(function(){return Wh})),n.d(t,"faThermometerHalf",(function(){return Xh})),n.d(t,"faThermometerQuarter",(function(){return Yh})),n.d(t,"faThermometerThreeQuarters",(function(){return Qh})),n.d(t,"faThumbsDown",(function(){return Kh})),n.d(t,"faThumbsUp",(function(){return Zh})),n.d(t,"faThumbtack",(function(){return qh})),n.d(t,"faTicketAlt",(function(){return Jh})),n.d(t,"faTimes",(function(){return $h})),n.d(t,"faTimesCircle",(function(){return ed})),n.d(t,"faTint",(function(){return td})),n.d(t,"faTintSlash",(function(){return nd})),n.d(t,"faTired",(function(){return id})),n.d(t,"faToggleOff",(function(){return rd})),n.d(t,"faToggleOn",(function(){return od})),n.d(t,"faToiletPaper",(function(){return ad})),n.d(t,"faToolbox",(function(){return sd})),n.d(t,"faTooth",(function(){return cd})),n.d(t,"faTorah",(function(){return ld})),n.d(t,"faToriiGate",(function(){return ud})),n.d(t,"faTractor",(function(){return pd})),n.d(t,"faTrademark",(function(){return hd})),n.d(t,"faTrafficLight",(function(){return dd})),n.d(t,"faTrain",(function(){return fd})),n.d(t,"faTransgender",(function(){return _d})),n.d(t,"faTransgenderAlt",(function(){return md})),n.d(t,"faTrash",(function(){return bd})),n.d(t,"faTrashAlt",(function(){return gd})),n.d(t,"faTree",(function(){return vd})),n.d(t,"faTrophy",(function(){return yd})),n.d(t,"faTruck",(function(){return Cd})),n.d(t,"faTruckLoading",(function(){return Ad})),n.d(t,"faTruckMonster",(function(){return xd})),n.d(t,"faTruckMoving",(function(){return Sd})),n.d(t,"faTruckPickup",(function(){return Td})),n.d(t,"faTshirt",(function(){return Ed})),n.d(t,"faTty",(function(){return Pd})),n.d(t,"faTv",(function(){return Od})),n.d(t,"faUmbrella",(function(){return Md})),n.d(t,"faUmbrellaBeach",(function(){return Rd})),n.d(t,"faUnderline",(function(){return Id})),n.d(t,"faUndo",(function(){return wd})),n.d(t,"faUndoAlt",(function(){return Dd})),n.d(t,"faUniversalAccess",(function(){return Ld})),n.d(t,"faUniversity",(function(){return Nd})),n.d(t,"faUnlink",(function(){return Fd})),n.d(t,"faUnlock",(function(){return Bd})),n.d(t,"faUnlockAlt",(function(){return kd})),n.d(t,"faUpload",(function(){return Vd})),n.d(t,"faUser",(function(){return zd})),n.d(t,"faUserAlt",(function(){return jd})),n.d(t,"faUserAltSlash",(function(){return Ud})),n.d(t,"faUserAstronaut",(function(){return Gd})),n.d(t,"faUserCheck",(function(){return Hd})),n.d(t,"faUserCircle",(function(){return Wd})),n.d(t,"faUserClock",(function(){return Xd}));n.d(t,"faUserCog",(function(){return Yd})),n.d(t,"faUserEdit",(function(){return Qd})),n.d(t,"faUserFriends",(function(){return Kd})),n.d(t,"faUserGraduate",(function(){return Zd})),n.d(t,"faUserInjured",(function(){return qd})),n.d(t,"faUserLock",(function(){return Jd})),n.d(t,"faUserMd",(function(){return $d})),n.d(t,"faUserMinus",(function(){return ef})),n.d(t,"faUserNinja",(function(){return tf})),n.d(t,"faUserPlus",(function(){return nf})),n.d(t,"faUserSecret",(function(){return rf})),n.d(t,"faUserShield",(function(){return of})),n.d(t,"faUserSlash",(function(){return af})),n.d(t,"faUserTag",(function(){return sf})),n.d(t,"faUserTie",(function(){return cf})),n.d(t,"faUserTimes",(function(){return lf})),n.d(t,"faUsers",(function(){return uf})),n.d(t,"faUsersCog",(function(){return pf})),n.d(t,"faUtensilSpoon",(function(){return hf})),n.d(t,"faUtensils",(function(){return df})),n.d(t,"faVectorSquare",(function(){return ff})),n.d(t,"faVenus",(function(){return _f})),n.d(t,"faVenusDouble",(function(){return mf})),n.d(t,"faVenusMars",(function(){return bf})),n.d(t,"faVial",(function(){return gf})),n.d(t,"faVials",(function(){return vf})),n.d(t,"faVideo",(function(){return yf})),n.d(t,"faVideoSlash",(function(){return Cf})),n.d(t,"faVihara",(function(){return Af})),n.d(t,"faVolleyballBall",(function(){return xf})),n.d(t,"faVolumeDown",(function(){return Sf})),n.d(t,"faVolumeMute",(function(){return Tf})),n.d(t,"faVolumeOff",(function(){return Ef})),n.d(t,"faVolumeUp",(function(){return Pf})),n.d(t,"faVrCardboard",(function(){return Of})),n.d(t,"faWalking",(function(){return Mf})),n.d(t,"faWallet",(function(){return Rf})),n.d(t,"faWarehouse",(function(){return If})),n.d(t,"faWeight",(function(){return wf})),n.d(t,"faWeightHanging",(function(){return Df})),n.d(t,"faWheelchair",(function(){return Lf})),n.d(t,"faWifi",(function(){return Nf})),n.d(t,"faWind",(function(){return Ff})),n.d(t,"faWindowClose",(function(){return Bf})),n.d(t,"faWindowMaximize",(function(){return kf})),n.d(t,"faWindowMinimize",(function(){return Vf})),n.d(t,"faWindowRestore",(function(){return zf})),n.d(t,"faWineBottle",(function(){return jf})),n.d(t,"faWineGlass",(function(){return Uf})),n.d(t,"faWineGlassAlt",(function(){return Gf})),n.d(t,"faWonSign",(function(){return Hf})),n.d(t,"faWrench",(function(){return Wf})),n.d(t,"faXRay",(function(){return Xf})),n.d(t,"faYenSign",(function(){return Yf})),n.d(t,"faYinYang",(function(){return Qf}));var i="fas",r={prefix:"fas",iconName:"ad",icon:[512,512,[],"f641","M157.52 272h36.96L176 218.78 157.52 272zM352 256c-13.23 0-24 10.77-24 24s10.77 24 24 24 24-10.77 24-24-10.77-24-24-24zM464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM250.58 352h-16.94c-6.81 0-12.88-4.32-15.12-10.75L211.15 320h-70.29l-7.38 21.25A16 16 0 0 1 118.36 352h-16.94c-11.01 0-18.73-10.85-15.12-21.25L140 176.12A23.995 23.995 0 0 1 162.67 160h26.66A23.99 23.99 0 0 1 212 176.13l53.69 154.62c3.61 10.4-4.11 21.25-15.11 21.25zM424 336c0 8.84-7.16 16-16 16h-16c-4.85 0-9.04-2.27-11.98-5.68-8.62 3.66-18.09 5.68-28.02 5.68-39.7 0-72-32.3-72-72s32.3-72 72-72c8.46 0 16.46 1.73 24 4.42V176c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v160z"]},o={prefix:"fas",iconName:"address-book",icon:[448,512,[],"f2b9","M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-228-32c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H118.4C106 384 96 375.4 96 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z"]},a={prefix:"fas",iconName:"address-card",icon:[576,512,[],"f2bb","M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"]},s={prefix:"fas",iconName:"adjust",icon:[512,512,[],"f042","M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z"]},c={prefix:"fas",iconName:"air-freshener",icon:[384,512,[],"f5d0","M378.94 321.41L284.7 224h49.22c15.3 0 23.66-16.6 13.86-27.53L234.45 69.96c3.43-6.61 5.55-14 5.55-21.96 0-26.51-21.49-48-48-48s-48 21.49-48 48c0 7.96 2.12 15.35 5.55 21.96L36.22 196.47C26.42 207.4 34.78 224 50.08 224H99.3L5.06 321.41C-6.69 333.56 3.34 352 21.7 352H160v32H48c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h288c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16H224v-32h138.3c18.36 0 28.39-18.44 16.64-30.59zM192 31.98c8.85 0 16.02 7.17 16.02 16.02 0 8.84-7.17 16.02-16.02 16.02S175.98 56.84 175.98 48c0-8.85 7.17-16.02 16.02-16.02zM304 432v32H80v-32h224z"]},l={prefix:"fas",iconName:"align-center",icon:[448,512,[],"f037","M352 44v40c0 8.837-7.163 16-16 16H112c-8.837 0-16-7.163-16-16V44c0-8.837 7.163-16 16-16h224c8.837 0 16 7.163 16 16zM16 228h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 256h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm320-200H112c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16h224c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16z"]},u={prefix:"fas",iconName:"align-justify",icon:[448,512,[],"f039","M0 84V44c0-8.837 7.163-16 16-16h416c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16zm16 144h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 256h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0-128h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"]},p={prefix:"fas",iconName:"align-left",icon:[448,512,[],"f036","M288 44v40c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16V44c0-8.837 7.163-16 16-16h256c8.837 0 16 7.163 16 16zM0 172v40c0 8.837 7.163 16 16 16h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16zm16 312h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm256-200H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16h256c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16z"]},h={prefix:"fas",iconName:"align-right",icon:[448,512,[],"f038","M160 84V44c0-8.837 7.163-16 16-16h256c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H176c-8.837 0-16-7.163-16-16zM16 228h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 256h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm160-128h256c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H176c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"]},d={prefix:"fas",iconName:"allergies",icon:[448,512,[],"f461","M416 112c-17.6 0-32 14.4-32 32v72c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32s-32 14.4-32 32v152c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V32c0-17.6-14.4-32-32-32s-32 14.4-32 32v184c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32S96 46.4 96 64v241l-23.6-32.5c-13-17.9-38-21.8-55.9-8.8s-21.8 38-8.8 55.9l125.6 172.7c9 12.4 23.5 19.8 38.8 19.8h197.6c22.3 0 41.6-15.3 46.7-37l26.5-112.7c3.2-13.7 4.9-28.3 5.1-42.3V144c0-17.6-14.4-32-32-32zM176 416c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 32c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32-128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"]},f={prefix:"fas",iconName:"ambulance",icon:[640,512,[],"f0f9","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"]},_={prefix:"fas",iconName:"american-sign-language-interpreting",icon:[640,512,[],"f2a3","M290.547 189.039c-20.295-10.149-44.147-11.199-64.739-3.89 42.606 0 71.208 20.475 85.578 50.576 8.576 17.899-5.148 38.071-23.617 38.071 18.429 0 32.211 20.136 23.617 38.071-14.725 30.846-46.123 50.854-80.298 50.854-.557 0-94.471-8.615-94.471-8.615l-66.406 33.347c-9.384 4.693-19.815.379-23.895-7.781L1.86 290.747c-4.167-8.615-1.111-18.897 6.946-23.621l58.072-33.069L108 159.861c6.39-57.245 34.731-109.767 79.743-146.726 11.391-9.448 28.341-7.781 37.51 3.613 9.446 11.394 7.78 28.067-3.612 37.516-12.503 10.559-23.618 22.509-32.509 35.57 21.672-14.729 46.679-24.732 74.186-28.067 14.725-1.945 28.063 8.336 29.73 23.065 1.945 14.728-8.336 28.067-23.062 29.734-16.116 1.945-31.12 7.503-44.178 15.284 26.114-5.713 58.712-3.138 88.079 11.115 13.336 6.669 18.893 22.509 12.224 35.848-6.389 13.06-22.504 18.617-35.564 12.226zm-27.229 69.472c-6.112-12.505-18.338-20.286-32.231-20.286a35.46 35.46 0 0 0-35.565 35.57c0 21.428 17.808 35.57 35.565 35.57 13.893 0 26.119-7.781 32.231-20.286 4.446-9.449 13.614-15.006 23.339-15.284-9.725-.277-18.893-5.835-23.339-15.284zm374.821-37.237c4.168 8.615 1.111 18.897-6.946 23.621l-58.071 33.069L532 352.16c-6.39 57.245-34.731 109.767-79.743 146.726-10.932 9.112-27.799 8.144-37.51-3.613-9.446-11.394-7.78-28.067 3.613-37.516 12.503-10.559 23.617-22.509 32.508-35.57-21.672 14.729-46.679 24.732-74.186 28.067-10.021 2.506-27.552-5.643-29.73-23.065-1.945-14.728 8.336-28.067 23.062-29.734 16.116-1.946 31.12-7.503 44.178-15.284-26.114 5.713-58.712 3.138-88.079-11.115-13.336-6.669-18.893-22.509-12.224-35.848 6.389-13.061 22.505-18.619 35.565-12.227 20.295 10.149 44.147 11.199 64.739 3.89-42.606 0-71.208-20.475-85.578-50.576-8.576-17.899 5.148-38.071 23.617-38.071-18.429 0-32.211-20.136-23.617-38.071 14.033-29.396 44.039-50.887 81.966-50.854l92.803 8.615 66.406-33.347c9.408-4.704 19.828-.354 23.894 7.781l44.455 88.926zm-229.227-18.618c-13.893 0-26.119 7.781-32.231 20.286-4.446 9.449-13.614 15.006-23.339 15.284 9.725.278 18.893 5.836 23.339 15.284 6.112 12.505 18.338 20.286 32.231 20.286a35.46 35.46 0 0 0 35.565-35.57c0-21.429-17.808-35.57-35.565-35.57z"]},m={prefix:"fas",iconName:"anchor",icon:[576,512,[],"f13d","M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z"]},b={prefix:"fas",iconName:"angle-double-down",icon:[320,512,[],"f103","M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z"]},g={prefix:"fas",iconName:"angle-double-left",icon:[448,512,[],"f100","M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z"]},v={prefix:"fas",iconName:"angle-double-right",icon:[448,512,[],"f101","M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z"]},y={prefix:"fas",iconName:"angle-double-up",icon:[320,512,[],"f102","M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z"]},C={prefix:"fas",iconName:"angle-down",icon:[320,512,[],"f107","M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"]},A={prefix:"fas",iconName:"angle-left",icon:[256,512,[],"f104","M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z"]},x={prefix:"fas",iconName:"angle-right",icon:[256,512,[],"f105","M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"]},S={prefix:"fas",iconName:"angle-up",icon:[320,512,[],"f106","M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z"]},T={prefix:"fas",iconName:"angry",icon:[496,512,[],"f556","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 240c0-9.3 4.1-17.5 10.5-23.4l-31-9.3c-8.5-2.5-13.3-11.5-10.7-19.9 2.5-8.5 11.4-13.2 19.9-10.7l80 24c8.5 2.5 13.3 11.5 10.7 19.9-2.1 6.9-8.4 11.4-15.3 11.4-.5 0-1.1-.2-1.7-.2.7 2.7 1.7 5.3 1.7 8.2 0 17.7-14.3 32-32 32S136 257.7 136 240zm168 154.2c-27.8-33.4-84.2-33.4-112.1 0-13.5 16.3-38.2-4.2-24.6-20.5 20-24 49.4-37.8 80.6-37.8s60.6 13.8 80.6 37.8c13.8 16.5-11.1 36.6-24.5 20.5zm76.6-186.9l-31 9.3c6.3 5.8 10.5 14.1 10.5 23.4 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-2.9.9-5.6 1.7-8.2-.6.1-1.1.2-1.7.2-6.9 0-13.2-4.5-15.3-11.4-2.5-8.5 2.3-17.4 10.7-19.9l80-24c8.4-2.5 17.4 2.3 19.9 10.7 2.5 8.5-2.3 17.4-10.8 19.9z"]},E={prefix:"fas",iconName:"ankh",icon:[320,512,[],"f644","M296 256h-44.62C272.46 222.01 288 181.65 288 144 288 55.63 230.69 0 160 0S32 55.63 32 144c0 37.65 15.54 78.01 36.62 112H24c-13.25 0-24 10.74-24 24v32c0 13.25 10.75 24 24 24h96v152c0 13.25 10.75 24 24 24h32c13.25 0 24-10.75 24-24V336h96c13.25 0 24-10.75 24-24v-32c0-13.26-10.75-24-24-24zM160 80c29.61 0 48 24.52 48 64 0 34.66-27.14 78.14-48 100.87-20.86-22.72-48-66.21-48-100.87 0-39.48 18.39-64 48-64z"]},P={prefix:"fas",iconName:"apple-alt",icon:[448,512,[],"f5d1","M350.85 129c25.97 4.67 47.27 18.67 63.92 42 14.65 20.67 24.64 46.67 29.96 78 4.67 28.67 4.32 57.33-1 86-7.99 47.33-23.97 87-47.94 119-28.64 38.67-64.59 58-107.87 58-10.66 0-22.3-3.33-34.96-10-8.66-5.33-18.31-8-28.97-8s-20.3 2.67-28.97 8c-12.66 6.67-24.3 10-34.96 10-43.28 0-79.23-19.33-107.87-58-23.97-32-39.95-71.67-47.94-119-5.32-28.67-5.67-57.33-1-86 5.32-31.33 15.31-57.33 29.96-78 16.65-23.33 37.95-37.33 63.92-42 15.98-2.67 37.95-.33 65.92 7 23.97 6.67 44.28 14.67 60.93 24 16.65-9.33 36.96-17.33 60.93-24 27.98-7.33 49.96-9.67 65.94-7zm-54.94-41c-9.32 8.67-21.65 15-36.96 19-10.66 3.33-22.3 5-34.96 5l-14.98-1c-1.33-9.33-1.33-20 0-32 2.67-24 10.32-42.33 22.97-55 9.32-8.67 21.65-15 36.96-19 10.66-3.33 22.3-5 34.96-5l14.98 1 1 15c0 12.67-1.67 24.33-4.99 35-3.99 15.33-10.31 27.67-18.98 37z"]},O={prefix:"fas",iconName:"archive",icon:[512,512,[],"f187","M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z"]},M={prefix:"fas",iconName:"archway",icon:[576,512,[],"f557","M560 448h-16V96H32v352H16.02c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16H176c8.84 0 16-7.16 16-16V320c0-53.02 42.98-96 96-96s96 42.98 96 96l.02 160v16c0 8.84 7.16 16 16 16H560c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm0-448H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h544c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z"]},R={prefix:"fas",iconName:"arrow-alt-circle-down",icon:[512,512,[],"f358","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z"]},I={prefix:"fas",iconName:"arrow-alt-circle-left",icon:[512,512,[],"f359","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z"]},w={prefix:"fas",iconName:"arrow-alt-circle-right",icon:[512,512,[],"f35a","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z"]},D={prefix:"fas",iconName:"arrow-alt-circle-up",icon:[512,512,[],"f35b","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm292 116V256h70.9c10.7 0 16.1-13 8.5-20.5L264.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3c-7.6 7.6-2.2 20.5 8.5 20.5H212v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z"]},L={prefix:"fas",iconName:"arrow-circle-down",icon:[512,512,[],"f0ab","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z"]},N={prefix:"fas",iconName:"arrow-circle-left",icon:[512,512,[],"f0a8","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z"]},F={prefix:"fas",iconName:"arrow-circle-right",icon:[512,512,[],"f0a9","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z"]},B={prefix:"fas",iconName:"arrow-circle-up",icon:[512,512,[],"f0aa","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z"]},k={prefix:"fas",iconName:"arrow-down",icon:[448,512,[],"f063","M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"]},V={prefix:"fas",iconName:"arrow-left",icon:[448,512,[],"f060","M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"]},z={prefix:"fas",iconName:"arrow-right",icon:[448,512,[],"f061","M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"]},j={prefix:"fas",iconName:"arrow-up",icon:[448,512,[],"f062","M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"]},U={prefix:"fas",iconName:"arrows-alt",icon:[512,512,[],"f0b2","M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z"]},G={prefix:"fas",iconName:"arrows-alt-h",icon:[512,512,[],"f337","M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z"]},H={prefix:"fas",iconName:"arrows-alt-v",icon:[256,512,[],"f338","M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z"]},W={prefix:"fas",iconName:"assistive-listening-systems",icon:[512,512,[],"f2a2","M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442-5 14.633 2.81 30.549 17.442 35.55 85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28zM152.971 439.029l-80-80L39.03 392.97l80 80 33.941-33.941z"]},X={prefix:"fas",iconName:"asterisk",icon:[512,512,[],"f069","M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z"]},Y={prefix:"fas",iconName:"at",icon:[512,512,[],"f1fa","M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z"]},Q={prefix:"fas",iconName:"atlas",icon:[448,512,[],"f558","M318.38 208h-39.09c-1.49 27.03-6.54 51.35-14.21 70.41 27.71-13.24 48.02-39.19 53.3-70.41zm0-32c-5.29-31.22-25.59-57.17-53.3-70.41 7.68 19.06 12.72 43.38 14.21 70.41h39.09zM224 97.31c-7.69 7.45-20.77 34.42-23.43 78.69h46.87c-2.67-44.26-15.75-71.24-23.44-78.69zm-41.08 8.28c-27.71 13.24-48.02 39.19-53.3 70.41h39.09c1.49-27.03 6.53-51.35 14.21-70.41zm0 172.82c-7.68-19.06-12.72-43.38-14.21-70.41h-39.09c5.28 31.22 25.59 57.17 53.3 70.41zM247.43 208h-46.87c2.66 44.26 15.74 71.24 23.43 78.69 7.7-7.45 20.78-34.43 23.44-78.69zM448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM224 64c70.69 0 128 57.31 128 128s-57.31 128-128 128S96 262.69 96 192 153.31 64 224 64zm160 384H96c-19.2 0-32-12.8-32-32s16-32 32-32h288v64z"]},K={prefix:"fas",iconName:"atom",icon:[448,512,[],"f5d2","M413.03 256c40.13-54.89 41.51-98.62 25.14-128-10.91-19.52-40.54-50.73-116.33-41.88C300.36 34.89 267.64 0 224 0s-76.36 34.89-97.84 86.12C50.43 77.34 20.73 108.48 9.83 128c-16.38 29.4-15 73.09 25.14 128-40.13 54.89-41.51 98.62-25.14 128 29.21 52.34 101.68 43.58 116.33 41.88C147.63 477.1 180.36 512 224 512s76.37-34.9 97.84-86.12c14.64 1.7 87.11 10.46 116.33-41.88 16.38-29.4 15-73.09-25.14-128zM63.38 352c-4.03-7.21-.19-24.8 14.95-48.29 6.96 6.53 14.2 12.89 21.87 19.18 1.71 13.71 4 27.08 6.76 40.08-24.56.89-39.89-4.37-43.58-10.97zm36.82-162.88c-7.66 6.29-14.9 12.65-21.87 19.18-15.13-23.5-18.97-41.09-14.95-48.3 3.41-6.14 16.39-11.47 37.92-11.47 1.71 0 3.87.3 5.69.37a472.191 472.191 0 0 0-6.79 40.22zM224 64c9.47 0 22.2 13.52 33.86 37.26-11.19 3.7-22.44 8-33.86 12.86-11.42-4.86-22.67-9.16-33.86-12.86C201.8 77.52 214.53 64 224 64zm0 384c-9.47 0-22.2-13.52-33.86-37.26 11.19-3.7 22.44-8 33.86-12.86 11.42 4.86 22.67 9.16 33.86 12.86C246.2 434.48 233.47 448 224 448zm62.5-157.33c-26.7 19.08-46.14 29.33-62.5 37.48-16.35-8.14-35.8-18.41-62.5-37.48-1.99-27.79-1.99-41.54 0-69.33 26.67-19.05 46.13-29.32 62.5-37.48 16.39 8.17 35.86 18.44 62.5 37.48 1.98 27.78 1.99 41.53 0 69.33zM384.62 352c-3.67 6.62-19 11.82-43.58 10.95 2.76-13 5.05-26.37 6.76-40.06 7.66-6.29 14.9-12.65 21.87-19.18 15.13 23.49 18.97 41.08 14.95 48.29zm-14.95-143.71c-6.96-6.53-14.2-12.89-21.87-19.18a473.535 473.535 0 0 0-6.79-40.22c1.82-.07 3.97-.37 5.69-.37 21.52 0 34.51 5.34 37.92 11.47 4.02 7.22.18 24.81-14.95 48.3zM224 224c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"]},Z={prefix:"fas",iconName:"audio-description",icon:[512,512,[],"f29e","M162.925 238.709l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zm166.474-32.099h-14.523v98.781h14.523c29.776 0 46.175-17.678 46.175-49.776 0-32.239-17.49-49.005-46.175-49.005zM512 112v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zM245.459 336.139l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm184.701-80.525c0-58.977-37.919-95.614-98.96-95.614h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386z"]},q={prefix:"fas",iconName:"award",icon:[384,512,[],"f559","M97.12 362.63c-8.69-8.69-4.16-6.24-25.12-11.85-9.51-2.55-17.87-7.45-25.43-13.32L1.2 448.7c-4.39 10.77 3.81 22.47 15.43 22.03l52.69-2.01L105.56 507c8 8.44 22.04 5.81 26.43-4.96l52.05-127.62c-10.84 6.04-22.87 9.58-35.31 9.58-19.5 0-37.82-7.59-51.61-21.37zM382.8 448.7l-45.37-111.24c-7.56 5.88-15.92 10.77-25.43 13.32-21.07 5.64-16.45 3.18-25.12 11.85-13.79 13.78-32.12 21.37-51.62 21.37-12.44 0-24.47-3.55-35.31-9.58L252 502.04c4.39 10.77 18.44 13.4 26.43 4.96l36.25-38.28 52.69 2.01c11.62.44 19.82-11.27 15.43-22.03zM263 340c15.28-15.55 17.03-14.21 38.79-20.14 13.89-3.79 24.75-14.84 28.47-28.98 7.48-28.4 5.54-24.97 25.95-45.75 10.17-10.35 14.14-25.44 10.42-39.58-7.47-28.38-7.48-24.42 0-52.83 3.72-14.14-.25-29.23-10.42-39.58-20.41-20.78-18.47-17.36-25.95-45.75-3.72-14.14-14.58-25.19-28.47-28.98-27.88-7.61-24.52-5.62-44.95-26.41-10.17-10.35-25-14.4-38.89-10.61-27.87 7.6-23.98 7.61-51.9 0-13.89-3.79-28.72.25-38.89 10.61-20.41 20.78-17.05 18.8-44.94 26.41-13.89 3.79-24.75 14.84-28.47 28.98-7.47 28.39-5.54 24.97-25.95 45.75-10.17 10.35-14.15 25.44-10.42 39.58 7.47 28.36 7.48 24.4 0 52.82-3.72 14.14.25 29.23 10.42 39.59 20.41 20.78 18.47 17.35 25.95 45.75 3.72 14.14 14.58 25.19 28.47 28.98C104.6 325.96 106.27 325 121 340c13.23 13.47 33.84 15.88 49.74 5.82a39.676 39.676 0 0 1 42.53 0c15.89 10.06 36.5 7.65 49.73-5.82zM97.66 175.96c0-53.03 42.24-96.02 94.34-96.02s94.34 42.99 94.34 96.02-42.24 96.02-94.34 96.02-94.34-42.99-94.34-96.02z"]},J={prefix:"fas",iconName:"backspace",icon:[640,512,[],"f55a","M576 64H205.26A63.97 63.97 0 0 0 160 82.75L9.37 233.37c-12.5 12.5-12.5 32.76 0 45.25L160 429.25c12 12 28.28 18.75 45.25 18.75H576c35.35 0 64-28.65 64-64V128c0-35.35-28.65-64-64-64zm-84.69 254.06c6.25 6.25 6.25 16.38 0 22.63l-22.62 22.62c-6.25 6.25-16.38 6.25-22.63 0L384 301.25l-62.06 62.06c-6.25 6.25-16.38 6.25-22.63 0l-22.62-22.62c-6.25-6.25-6.25-16.38 0-22.63L338.75 256l-62.06-62.06c-6.25-6.25-6.25-16.38 0-22.63l22.62-22.62c6.25-6.25 16.38-6.25 22.63 0L384 210.75l62.06-62.06c6.25-6.25 16.38-6.25 22.63 0l22.62 22.62c6.25 6.25 6.25 16.38 0 22.63L429.25 256l62.06 62.06z"]},$={prefix:"fas",iconName:"backward",icon:[512,512,[],"f04a","M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z"]},ee={prefix:"fas",iconName:"balance-scale",icon:[640,512,[],"f24e","M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},te={prefix:"fas",iconName:"ban",icon:[512,512,[],"f05e","M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z"]},ne={prefix:"fas",iconName:"band-aid",icon:[640,512,[],"f462","M0 160v192c0 35.3 28.7 64 64 64h96V96H64c-35.3 0-64 28.7-64 64zm576-64h-96v320h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64zM192 416h256V96H192v320zm176-232c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24z"]},ie={prefix:"fas",iconName:"barcode",icon:[512,512,[],"f02a","M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z"]},re={prefix:"fas",iconName:"bars",icon:[448,512,[],"f0c9","M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"]},oe={prefix:"fas",iconName:"baseball-ball",icon:[496,512,[],"f433","M368.5 363.9l28.8-13.9c11.1 22.9 26 43.2 44.1 60.9 34-42.5 54.5-96.3 54.5-154.9 0-58.5-20.4-112.2-54.2-154.6-17.8 17.3-32.6 37.1-43.6 59.5l-28.7-14.1c12.8-26 30-49 50.8-69C375.6 34.7 315 8 248 8 181.1 8 120.5 34.6 75.9 77.7c20.7 19.9 37.9 42.9 50.7 68.8l-28.7 14.1c-11-22.3-25.7-42.1-43.5-59.4C20.4 143.7 0 197.4 0 256c0 58.6 20.4 112.3 54.4 154.7 18.2-17.7 33.2-38 44.3-61l28.8 13.9c-12.9 26.7-30.3 50.3-51.5 70.7 44.5 43.1 105.1 69.7 172 69.7 66.8 0 127.3-26.5 171.9-69.5-21.1-20.4-38.5-43.9-51.4-70.6zm-228.3-32l-30.5-9.8c14.9-46.4 12.7-93.8-.6-134l30.4-10c15 45.6 18 99.9.7 153.8zm216.3-153.4l30.4 10c-13.2 40.1-15.5 87.5-.6 134l-30.5 9.8c-17.3-54-14.3-108.3.7-153.8z"]},ae={prefix:"fas",iconName:"basketball-ball",icon:[496,512,[],"f434","M212.3 10.3c-43.8 6.3-86.2 24.1-122.2 53.8l77.4 77.4c27.8-35.8 43.3-81.2 44.8-131.2zM248 222L405.9 64.1c-42.4-35-93.6-53.5-145.5-56.1-1.2 63.9-21.5 122.3-58.7 167.7L248 222zM56.1 98.1c-29.7 36-47.5 78.4-53.8 122.2 50-1.5 95.5-17 131.2-44.8L56.1 98.1zm272.2 204.2c45.3-37.1 103.7-57.4 167.7-58.7-2.6-51.9-21.1-103.1-56.1-145.5L282 256l46.3 46.3zM248 290L90.1 447.9c42.4 34.9 93.6 53.5 145.5 56.1 1.3-64 21.6-122.4 58.7-167.7L248 290zm191.9 123.9c29.7-36 47.5-78.4 53.8-122.2-50.1 1.6-95.5 17.1-131.2 44.8l77.4 77.4zM167.7 209.7C122.3 246.9 63.9 267.3 0 268.4c2.6 51.9 21.1 103.1 56.1 145.5L214 256l-46.3-46.3zm116 292c43.8-6.3 86.2-24.1 122.2-53.8l-77.4-77.4c-27.7 35.7-43.2 81.2-44.8 131.2z"]},se={prefix:"fas",iconName:"bath",icon:[512,512,[],"f2cd","M488 256H80V112c0-17.645 14.355-32 32-32 11.351 0 21.332 5.945 27.015 14.88-16.492 25.207-14.687 59.576 6.838 83.035-4.176 4.713-4.021 11.916.491 16.428l11.314 11.314c4.686 4.686 12.284 4.686 16.971 0l95.03-95.029c4.686-4.686 4.686-12.284 0-16.971l-11.314-11.314c-4.512-4.512-11.715-4.666-16.428-.491-17.949-16.469-42.294-21.429-64.178-15.365C163.281 45.667 139.212 32 112 32c-44.112 0-80 35.888-80 80v144h-8c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h8v32c0 28.43 12.362 53.969 32 71.547V456c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-8h256v8c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-32.453c19.638-17.578 32-43.117 32-71.547v-32h8c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z"]},ce={prefix:"fas",iconName:"battery-empty",icon:[640,512,[],"f244","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z"]},le={prefix:"fas",iconName:"battery-full",icon:[640,512,[],"f240","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z"]},ue={prefix:"fas",iconName:"battery-half",icon:[640,512,[],"f242","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-240 96H96v128h224V192z"]},pe={prefix:"fas",iconName:"battery-quarter",icon:[640,512,[],"f243","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-336 96H96v128h128V192z"]},he={prefix:"fas",iconName:"battery-three-quarters",icon:[640,512,[],"f241","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-144 96H96v128h320V192z"]},de={prefix:"fas",iconName:"bed",icon:[640,512,[],"f236","M176 256c44.11 0 80-35.89 80-80s-35.89-80-80-80-80 35.89-80 80 35.89 80 80 80zm352-128H304c-8.84 0-16 7.16-16 16v144H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h512v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V240c0-61.86-50.14-112-112-112z"]},fe={prefix:"fas",iconName:"beer",icon:[448,512,[],"f0fc","M368 96h-48V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24v-42.11l80.606-35.977C429.396 365.063 448 336.388 448 304.86V176c0-44.112-35.888-80-80-80zm16 208.86a16.018 16.018 0 0 1-9.479 14.611L320 343.805V160h48c8.822 0 16 7.178 16 16v128.86zM208 384c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16zm-96 0c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16z"]},_e={prefix:"fas",iconName:"bell",icon:[448,512,[],"f0f3","M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z"]},me={prefix:"fas",iconName:"bell-slash",icon:[640,512,[],"f1f6","M633.82 458.1l-90.62-70.05c.19-1.38.8-2.66.8-4.06.05-7.55-2.61-15.27-8.61-21.71-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-40.33 8.38-74.66 31.07-97.59 62.57L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.35 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.42-6.97 4.17-17.02-2.81-22.45zM157.23 251.54c-8.61 67.96-36.41 93.33-52.62 110.75-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h241.92L157.23 251.54zM320 512c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z"]},be={prefix:"fas",iconName:"bezier-curve",icon:[640,512,[],"f55b","M368 32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM208 88h-84.75C113.75 64.56 90.84 48 64 48 28.66 48 0 76.65 0 112s28.66 64 64 64c26.84 0 49.75-16.56 59.25-40h79.73c-55.37 32.52-95.86 87.32-109.54 152h49.4c11.3-41.61 36.77-77.21 71.04-101.56-3.7-8.08-5.88-16.99-5.88-26.44V88zm-48 232H64c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zM576 48c-26.84 0-49.75 16.56-59.25 40H432v72c0 9.45-2.19 18.36-5.88 26.44 34.27 24.35 59.74 59.95 71.04 101.56h49.4c-13.68-64.68-54.17-119.48-109.54-152h79.73c9.5 23.44 32.41 40 59.25 40 35.34 0 64-28.65 64-64s-28.66-64-64-64zm0 272h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z"]},ge={prefix:"fas",iconName:"bible",icon:[448,512,[],"f647","M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM144 144c0-8.84 7.16-16 16-16h48V80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v48h48c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-48v112c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V192h-48c-8.84 0-16-7.16-16-16v-32zm236.8 304H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z"]},ve={prefix:"fas",iconName:"bicycle",icon:[640,512,[],"f206","M512.509 192.001c-16.373-.064-32.03 2.955-46.436 8.495l-77.68-125.153A24 24 0 0 0 368.001 64h-64c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h50.649l14.896 24H256.002v-16c0-8.837-7.163-16-16-16h-87.459c-13.441 0-24.777 10.999-24.536 24.437.232 13.044 10.876 23.563 23.995 23.563h48.726l-29.417 47.52c-13.433-4.83-27.904-7.483-42.992-7.52C58.094 191.83.412 249.012.002 319.236-.413 390.279 57.055 448 128.002 448c59.642 0 109.758-40.793 123.967-96h52.033a24 24 0 0 0 20.406-11.367L410.37 201.77l14.938 24.067c-25.455 23.448-41.385 57.081-41.307 94.437.145 68.833 57.899 127.051 126.729 127.719 70.606.685 128.181-55.803 129.255-125.996 1.086-70.941-56.526-129.72-127.476-129.996zM186.75 265.772c9.727 10.529 16.673 23.661 19.642 38.228h-43.306l23.664-38.228zM128.002 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c5.869 0 11.586.653 17.099 1.859l-45.505 73.509C89.715 331.327 101.213 352 120.002 352h81.3c-12.37 28.225-40.562 48-73.3 48zm162.63-96h-35.624c-3.96-31.756-19.556-59.894-42.383-80.026L237.371 184h127.547l-74.286 120zm217.057 95.886c-41.036-2.165-74.049-35.692-75.627-76.755-.812-21.121 6.633-40.518 19.335-55.263l44.433 71.586c4.66 7.508 14.524 9.816 22.032 5.156l13.594-8.437c7.508-4.66 9.817-14.524 5.156-22.032l-44.468-71.643a79.901 79.901 0 0 1 19.858-2.497c44.112 0 80 35.888 80 80-.001 45.54-38.252 82.316-84.313 79.885z"]},ye={prefix:"fas",iconName:"binoculars",icon:[512,512,[],"f1e5","M416 48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v48h96V48zM63.91 159.99C61.4 253.84 3.46 274.22 0 404v44c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V288h32V128H95.84c-17.63 0-31.45 14.37-31.93 31.99zm384.18 0c-.48-17.62-14.3-31.99-31.93-31.99H320v160h32v160c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-44c-3.46-129.78-61.4-150.16-63.91-244.01zM176 32h-64c-8.84 0-16 7.16-16 16v48h96V48c0-8.84-7.16-16-16-16zm48 256h64V128h-64v160z"]},Ce={prefix:"fas",iconName:"birthday-cake",icon:[448,512,[],"f1fd","M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z"]},Ae={prefix:"fas",iconName:"blender",icon:[512,512,[],"f517","M416 384H160c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-128 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm40-416h166.54L512 0H48C21.49 0 0 21.49 0 48v160c0 26.51 21.49 48 48 48h103.27l8.73 96h256l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H328c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM64 192V64h69.82l11.64 128H64z"]},xe={prefix:"fas",iconName:"blender-phone",icon:[576,512,[],"f6b6","M392 64h166.54L576 0H192v352h288l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H392c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM158.8 335.01l-25.78-63.26c-2.78-6.81-9.8-10.99-17.24-10.26l-45.03 4.42c-17.28-46.94-17.65-99.78 0-147.72l45.03 4.42c7.43.73 14.46-3.46 17.24-10.26l25.78-63.26c3.02-7.39.2-15.85-6.68-20.07l-39.28-24.1C98.51-3.87 80.09-.5 68.95 11.97c-92.57 103.6-92 259.55 2.1 362.49 9.87 10.8 29.12 12.48 41.65 4.8l39.41-24.18c6.89-4.22 9.7-12.67 6.69-20.07zM480 384H192c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-144 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Se={prefix:"fas",iconName:"blind",icon:[384,512,[],"f29d","M380.15 510.837a8 8 0 0 1-10.989-2.687l-125.33-206.427a31.923 31.923 0 0 0 12.958-9.485l126.048 207.608a8 8 0 0 1-2.687 10.991zM142.803 314.338l-32.54 89.485 36.12 88.285c6.693 16.36 25.377 24.192 41.733 17.501 16.357-6.692 24.193-25.376 17.501-41.734l-62.814-153.537zM96 88c24.301 0 44-19.699 44-44S120.301 0 96 0 52 19.699 52 44s19.699 44 44 44zm154.837 169.128l-120-152c-4.733-5.995-11.75-9.108-18.837-9.112V96H80v.026c-7.146.003-14.217 3.161-18.944 9.24L0 183.766v95.694c0 13.455 11.011 24.791 24.464 24.536C37.505 303.748 48 293.1 48 280v-79.766l16-20.571v140.698L9.927 469.055c-6.04 16.609 2.528 34.969 19.138 41.009 16.602 6.039 34.968-2.524 41.009-19.138L136 309.638V202.441l-31.406-39.816a4 4 0 1 1 6.269-4.971l102.3 129.217c9.145 11.584 24.368 11.339 33.708 3.965 10.41-8.216 12.159-23.334 3.966-33.708z"]},Te={prefix:"fas",iconName:"bold",icon:[384,512,[],"f032","M304.793 243.891c33.639-18.537 53.657-54.16 53.657-95.693 0-48.236-26.25-87.626-68.626-104.179C265.138 34.01 240.849 32 209.661 32H24c-8.837 0-16 7.163-16 16v33.049c0 8.837 7.163 16 16 16h33.113v318.53H24c-8.837 0-16 7.163-16 16V464c0 8.837 7.163 16 16 16h195.69c24.203 0 44.834-1.289 66.866-7.584C337.52 457.193 376 410.647 376 350.014c0-52.168-26.573-91.684-71.207-106.123zM142.217 100.809h67.444c16.294 0 27.536 2.019 37.525 6.717 15.828 8.479 24.906 26.502 24.906 49.446 0 35.029-20.32 56.79-53.029 56.79h-76.846V100.809zm112.642 305.475c-10.14 4.056-22.677 4.907-31.409 4.907h-81.233V281.943h84.367c39.645 0 63.057 25.38 63.057 63.057.001 28.425-13.66 52.483-34.782 61.284z"]},Ee={prefix:"fas",iconName:"bolt",icon:[320,512,[],"f0e7","M295.973 160H180.572L215.19 30.184C219.25 14.956 207.756 0 192 0H56C43.971 0 33.8 8.905 32.211 20.828l-31.996 240C-1.704 275.217 9.504 288 24.004 288h118.701L96.646 482.466C93.05 497.649 104.659 512 119.992 512c8.35 0 16.376-4.374 20.778-11.978l175.973-303.997c9.244-15.967-2.288-36.025-20.77-36.025z"]},Pe={prefix:"fas",iconName:"bomb",icon:[512,512,[],"f1e2","M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-7.2 16-16z"]},Oe={prefix:"fas",iconName:"bone",icon:[640,512,[],"f5d7","M598.88 244.56c25.2-12.6 41.12-38.36 41.12-66.53v-7.64C640 129.3 606.7 96 565.61 96c-32.02 0-60.44 20.49-70.57 50.86-7.68 23.03-11.6 45.14-38.11 45.14H183.06c-27.38 0-31.58-25.54-38.11-45.14C134.83 116.49 106.4 96 74.39 96 33.3 96 0 129.3 0 170.39v7.64c0 28.17 15.92 53.93 41.12 66.53 9.43 4.71 9.43 18.17 0 22.88C15.92 280.04 0 305.8 0 333.97v7.64C0 382.7 33.3 416 74.38 416c32.02 0 60.44-20.49 70.57-50.86 7.68-23.03 11.6-45.14 38.11-45.14h273.87c27.38 0 31.58 25.54 38.11 45.14C505.17 395.51 533.6 416 565.61 416c41.08 0 74.38-33.3 74.38-74.39v-7.64c0-28.18-15.92-53.93-41.12-66.53-9.42-4.71-9.42-18.17.01-22.88z"]},Me={prefix:"fas",iconName:"bong",icon:[448,512,[],"f55c","M302.5 512c23.18 0 44.43-12.58 56-32.66C374.69 451.26 384 418.75 384 384c0-36.12-10.08-69.81-27.44-98.62L400 241.94l9.38 9.38c6.25 6.25 16.38 6.25 22.63 0l11.3-11.32c6.25-6.25 6.25-16.38 0-22.63l-52.69-52.69c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l9.38 9.38-39.41 39.41c-11.56-11.37-24.53-21.33-38.65-29.51V63.74l15.97-.02c8.82-.01 15.97-7.16 15.98-15.98l.04-31.72C320 7.17 312.82-.01 303.97 0L80.03.26c-8.82.01-15.97 7.16-15.98 15.98l-.04 31.73c-.01 8.85 7.17 16.02 16.02 16.01L96 63.96v153.93C38.67 251.1 0 312.97 0 384c0 34.75 9.31 67.27 25.5 95.34C37.08 499.42 58.33 512 81.5 512h221zM120.06 259.43L144 245.56V63.91l96-.11v181.76l23.94 13.87c24.81 14.37 44.12 35.73 56.56 60.57h-257c12.45-24.84 31.75-46.2 56.56-60.57z"]},Re={prefix:"fas",iconName:"book",icon:[448,512,[],"f02d","M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z"]},Ie={prefix:"fas",iconName:"book-dead",icon:[448,512,[],"f6b7","M272 136c8.84 0 16-7.16 16-16s-7.16-16-16-16-16 7.16-16 16 7.16 16 16 16zm176 222.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM240 56c44.18 0 80 28.65 80 64 0 20.87-12.68 39.23-32 50.91V184c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-13.09c-19.32-11.68-32-30.04-32-50.91 0-35.35 35.82-64 80-64zM129.05 233.85a7.996 7.996 0 0 1-4.2-10.5l6.29-14.7a7.995 7.995 0 0 1 10.51-4.2L240 246.6l98.35-42.15c4.06-1.74 8.77.14 10.51 4.2l6.29 14.7a7.996 7.996 0 0 1-4.2 10.5L280.6 264l70.34 30.15a7.996 7.996 0 0 1 4.2 10.5l-6.29 14.7a8.008 8.008 0 0 1-10.51 4.21L240 281.4l-98.35 42.15a8.003 8.003 0 0 1-10.51-4.21l-6.29-14.7a7.996 7.996 0 0 1 4.2-10.5L199.4 264l-70.35-30.15zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64zM208 136c8.84 0 16-7.16 16-16s-7.16-16-16-16-16 7.16-16 16 7.16 16 16 16z"]},we={prefix:"fas",iconName:"book-open",icon:[576,512,[],"f518","M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z"]},De={prefix:"fas",iconName:"book-reader",icon:[512,512,[],"f5da","M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z"]},Le={prefix:"fas",iconName:"bookmark",icon:[384,512,[],"f02e","M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z"]},Ne={prefix:"fas",iconName:"bowling-ball",icon:[496,512,[],"f436","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM120 192c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-96c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm48 144c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Fe={prefix:"fas",iconName:"box",icon:[512,512,[],"f466","M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z"]},Be={prefix:"fas",iconName:"box-open",icon:[640,512,[],"f49e","M53.2 41L1.7 143.8c-4.6 9.2.3 20.2 10.1 23l197.9 56.5c7.1 2 14.7-1 18.5-7.3L320 64 69.8 32.1c-6.9-.8-13.5 2.7-16.6 8.9zm585.1 102.8L586.8 41c-3.1-6.2-9.8-9.8-16.7-8.9L320 64l91.7 152.1c3.8 6.3 11.4 9.3 18.5 7.3l197.9-56.5c9.9-2.9 14.7-13.9 10.2-23.1zM425.7 256c-16.9 0-32.8-9-41.4-23.4L320 126l-64.2 106.6c-8.7 14.5-24.6 23.5-41.5 23.5-4.5 0-9-.6-13.3-1.9L64 215v178c0 14.7 10 27.5 24.2 31l216.2 54.1c10.2 2.5 20.9 2.5 31 0L551.8 424c14.2-3.6 24.2-16.4 24.2-31V215l-137 39.1c-4.3 1.3-8.8 1.9-13.3 1.9z"]},ke={prefix:"fas",iconName:"boxes",icon:[576,512,[],"f468","M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z"]},Ve={prefix:"fas",iconName:"braille",icon:[640,512,[],"f2a1","M128 256c0 35.346-28.654 64-64 64S0 291.346 0 256s28.654-64 64-64 64 28.654 64 64zM64 384c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352C28.654 32 0 60.654 0 96s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm224 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z"]},ze={prefix:"fas",iconName:"brain",icon:[576,512,[],"f5dc","M208 0c-29.87 0-54.74 20.55-61.8 48.22-.75-.02-1.45-.22-2.2-.22-35.34 0-64 28.65-64 64 0 4.84.64 9.51 1.66 14.04C52.54 138 32 166.57 32 200c0 12.58 3.16 24.32 8.34 34.91C16.34 248.72 0 274.33 0 304c0 33.34 20.42 61.88 49.42 73.89-.9 4.57-1.42 9.28-1.42 14.11 0 39.76 32.23 72 72 72 4.12 0 8.1-.55 12.03-1.21C141.61 491.31 168.25 512 200 512c39.77 0 72-32.24 72-72V205.45c-10.91 8.98-23.98 15.45-38.36 18.39-4.97 1.02-9.64-2.82-9.64-7.89v-16.18c0-3.57 2.35-6.78 5.8-7.66 24.2-6.16 42.2-27.95 42.2-54.04V64c0-35.35-28.66-64-64-64zm368 304c0-29.67-16.34-55.28-40.34-69.09 5.17-10.59 8.34-22.33 8.34-34.91 0-33.43-20.54-62-49.66-73.96 1.02-4.53 1.66-9.2 1.66-14.04 0-35.35-28.66-64-64-64-.75 0-1.45.2-2.2.22C422.74 20.55 397.87 0 368 0c-35.34 0-64 28.65-64 64v74.07c0 26.09 17.99 47.88 42.2 54.04 3.46.88 5.8 4.09 5.8 7.66v16.18c0 5.07-4.68 8.91-9.64 7.89-14.38-2.94-27.44-9.41-38.36-18.39V440c0 39.76 32.23 72 72 72 31.75 0 58.39-20.69 67.97-49.21 3.93.67 7.91 1.21 12.03 1.21 39.77 0 72-32.24 72-72 0-4.83-.52-9.54-1.42-14.11 29-12.01 49.42-40.55 49.42-73.89z"]},je={prefix:"fas",iconName:"briefcase",icon:[512,512,[],"f0b1","M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z"]},Ue={prefix:"fas",iconName:"briefcase-medical",icon:[512,512,[],"f469","M464 128h-80V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48zM192 96h128v32H192V96zm160 248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48z"]},Ge={prefix:"fas",iconName:"broadcast-tower",icon:[640,512,[],"f519","M150.94 192h33.73c11.01 0 18.61-10.83 14.86-21.18-4.93-13.58-7.55-27.98-7.55-42.82s2.62-29.24 7.55-42.82C203.29 74.83 195.68 64 184.67 64h-33.73c-7.01 0-13.46 4.49-15.41 11.23C130.64 92.21 128 109.88 128 128c0 18.12 2.64 35.79 7.54 52.76 1.94 6.74 8.39 11.24 15.4 11.24zM89.92 23.34C95.56 12.72 87.97 0 75.96 0H40.63c-6.27 0-12.14 3.59-14.74 9.31C9.4 45.54 0 85.65 0 128c0 24.75 3.12 68.33 26.69 118.86 2.62 5.63 8.42 9.14 14.61 9.14h34.84c12.02 0 19.61-12.74 13.95-23.37-49.78-93.32-16.71-178.15-.17-209.29zM614.06 9.29C611.46 3.58 605.6 0 599.33 0h-35.42c-11.98 0-19.66 12.66-14.02 23.25 18.27 34.29 48.42 119.42.28 209.23-5.72 10.68 1.8 23.52 13.91 23.52h35.23c6.27 0 12.13-3.58 14.73-9.29C630.57 210.48 640 170.36 640 128s-9.42-82.48-25.94-118.71zM489.06 64h-33.73c-11.01 0-18.61 10.83-14.86 21.18 4.93 13.58 7.55 27.98 7.55 42.82s-2.62 29.24-7.55 42.82c-3.76 10.35 3.85 21.18 14.86 21.18h33.73c7.02 0 13.46-4.49 15.41-11.24 4.9-16.97 7.53-34.64 7.53-52.76 0-18.12-2.64-35.79-7.54-52.76-1.94-6.75-8.39-11.24-15.4-11.24zm-116.3 100.12c7.05-10.29 11.2-22.71 11.2-36.12 0-35.35-28.63-64-63.96-64-35.32 0-63.96 28.65-63.96 64 0 13.41 4.15 25.83 11.2 36.12l-130.5 313.41c-3.4 8.15.46 17.52 8.61 20.92l29.51 12.31c8.15 3.4 17.52-.46 20.91-8.61L244.96 384h150.07l49.2 118.15c3.4 8.16 12.76 12.01 20.91 8.61l29.51-12.31c8.15-3.4 12-12.77 8.61-20.92l-130.5-313.41zM271.62 320L320 203.81 368.38 320h-96.76z"]},He={prefix:"fas",iconName:"broom",icon:[640,512,[],"f51a","M256.47 216.77l86.73 109.18s-16.6 102.36-76.57 150.12C206.66 523.85 0 510.19 0 510.19s3.8-23.14 11-55.43l94.62-112.17c3.97-4.7-.87-11.62-6.65-9.5l-60.4 22.09c14.44-41.66 32.72-80.04 54.6-97.47 59.97-47.76 163.3-40.94 163.3-40.94zM636.53 31.03l-19.86-25c-5.49-6.9-15.52-8.05-22.41-2.56l-232.48 177.8-34.14-42.97c-5.09-6.41-15.14-5.21-18.59 2.21l-25.33 54.55 86.73 109.18 58.8-12.45c8-1.69 11.42-11.2 6.34-17.6l-34.09-42.92 232.48-177.8c6.89-5.48 8.04-15.53 2.55-22.44z"]},We={prefix:"fas",iconName:"brush",icon:[384,512,[],"f55d","M352 0H32C14.33 0 0 14.33 0 32v224h384V32c0-17.67-14.33-32-32-32zM0 320c0 35.35 28.66 64 64 64h64v64c0 35.35 28.66 64 64 64s64-28.65 64-64v-64h64c35.34 0 64-28.65 64-64v-32H0v32zm192 104c13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24s-24-10.75-24-24c0-13.26 10.75-24 24-24z"]},Xe={prefix:"fas",iconName:"bug",icon:[512,512,[],"f188","M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z"]},Ye={prefix:"fas",iconName:"building",icon:[448,512,[],"f1ad","M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z"]},Qe={prefix:"fas",iconName:"bullhorn",icon:[576,512,[],"f0a1","M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z"]},Ke={prefix:"fas",iconName:"bullseye",icon:[496,512,[],"f140","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184zm0-312c-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128zm0 192c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64z"]},Ze={prefix:"fas",iconName:"burn",icon:[384,512,[],"f46a","M192 0C79.7 101.3 0 220.9 0 300.5 0 425 79 512 192 512s192-87 192-211.5c0-79.9-80.2-199.6-192-300.5zm0 448c-56.5 0-96-39-96-94.8 0-13.5 4.6-61.5 96-161.2 91.4 99.7 96 147.7 96 161.2 0 55.8-39.5 94.8-96 94.8z"]},qe={prefix:"fas",iconName:"bus",icon:[512,512,[],"f207","M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM112 400c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm16-112c-17.67 0-32-14.33-32-32V128c0-17.67 14.33-32 32-32h256c17.67 0 32 14.33 32 32v128c0 17.67-14.33 32-32 32H128zm272 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Je={prefix:"fas",iconName:"bus-alt",icon:[512,512,[],"f55e","M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM160 72c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H168c-4.42 0-8-3.58-8-8V72zm-48 328c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128-112H128c-17.67 0-32-14.33-32-32v-96c0-17.67 14.33-32 32-32h112v160zm32 0V128h112c17.67 0 32 14.33 32 32v96c0 17.67-14.33 32-32 32H272zm128 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},$e={prefix:"fas",iconName:"business-time",icon:[640,512,[],"f64a","M496 224c-79.59 0-144 64.41-144 144s64.41 144 144 144 144-64.41 144-144-64.41-144-144-144zm64 150.29c0 5.34-4.37 9.71-9.71 9.71h-60.57c-5.34 0-9.71-4.37-9.71-9.71v-76.57c0-5.34 4.37-9.71 9.71-9.71h12.57c5.34 0 9.71 4.37 9.71 9.71V352h38.29c5.34 0 9.71 4.37 9.71 9.71v12.58zM496 192c5.4 0 10.72.33 16 .81V144c0-25.6-22.4-48-48-48h-80V48c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h395.12c28.6-20.09 63.35-32 100.88-32zM320 96H192V64h128v32zm6.82 224H208c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h291.43C327.1 423.96 320 396.82 320 368c0-16.66 2.48-32.72 6.82-48z"]},et={prefix:"fas",iconName:"calculator",icon:[448,512,[],"f1ec","M400 0H48C22.4 0 0 22.4 0 48v416c0 25.6 22.4 48 48 48h352c25.6 0 48-22.4 48-48V48c0-25.6-22.4-48-48-48zM128 435.2c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8V268.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v166.4zm0-256c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8V76.8C64 70.4 70.4 64 76.8 64h294.4c6.4 0 12.8 6.4 12.8 12.8v102.4z"]},tt={prefix:"fas",iconName:"calendar",icon:[448,512,[],"f133","M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z"]},nt={prefix:"fas",iconName:"calendar-alt",icon:[448,512,[],"f073","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm116 204c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm128 128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm128 128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40z"]},it={prefix:"fas",iconName:"calendar-check",icon:[448,512,[],"f274","M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z"]},rt={prefix:"fas",iconName:"calendar-minus",icon:[448,512,[],"f272","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm304 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H132c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h184z"]},ot={prefix:"fas",iconName:"calendar-plus",icon:[448,512,[],"f271","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm316 140c0-6.6-5.4-12-12-12h-60v-60c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v60h-60c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h60v60c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-60h60c6.6 0 12-5.4 12-12v-40z"]},at={prefix:"fas",iconName:"calendar-times",icon:[448,512,[],"f273","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm257.3 160l48.1-48.1c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0L224 306.7l-48.1-48.1c-4.7-4.7-12.3-4.7-17 0l-28.3 28.3c-4.7 4.7-4.7 12.3 0 17l48.1 48.1-48.1 48.1c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l48.1-48.1 48.1 48.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L269.3 352z"]},st={prefix:"fas",iconName:"camera",icon:[512,512,[],"f030","M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z"]},ct={prefix:"fas",iconName:"camera-retro",icon:[512,512,[],"f083","M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z"]},lt={prefix:"fas",iconName:"campground",icon:[640,512,[],"f6bb","M624 448h-24.68L359.54 117.75l53.41-73.55c5.19-7.15 3.61-17.16-3.54-22.35l-25.9-18.79c-7.15-5.19-17.15-3.61-22.35 3.55L320 63.3 278.83 6.6c-5.19-7.15-15.2-8.74-22.35-3.55l-25.88 18.8c-7.15 5.19-8.74 15.2-3.54 22.35l53.41 73.55L40.68 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM320 288l116.36 160H203.64L320 288z"]},ut={prefix:"fas",iconName:"cannabis",icon:[512,512,[],"f55f","M503.47 360.25c-1.56-.82-32.39-16.89-76.78-25.81 64.25-75.12 84.05-161.67 84.93-165.64 1.18-5.33-.44-10.9-4.3-14.77-3.03-3.04-7.12-4.7-11.32-4.7-1.14 0-2.29.12-3.44.38-3.88.85-86.54 19.59-160.58 79.76.01-1.46.01-2.93.01-4.4 0-118.79-59.98-213.72-62.53-217.7A15.973 15.973 0 0 0 256 0c-5.45 0-10.53 2.78-13.47 7.37-2.55 3.98-62.53 98.91-62.53 217.7 0 1.47.01 2.94.01 4.4-74.03-60.16-156.69-78.9-160.58-79.76-1.14-.25-2.29-.38-3.44-.38-4.2 0-8.29 1.66-11.32 4.7A15.986 15.986 0 0 0 .38 168.8c.88 3.97 20.68 90.52 84.93 165.64-44.39 8.92-75.21 24.99-76.78 25.81a16.003 16.003 0 0 0-.02 28.29c2.45 1.29 60.76 31.72 133.49 31.72 6.14 0 11.96-.1 17.5-.31-11.37 22.23-16.52 38.31-16.81 39.22-1.8 5.68-.29 11.89 3.91 16.11a16.019 16.019 0 0 0 16.1 3.99c1.83-.57 37.72-11.99 77.3-39.29V504c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-64.01c39.58 27.3 75.47 38.71 77.3 39.29a16.019 16.019 0 0 0 16.1-3.99c4.2-4.22 5.71-10.43 3.91-16.11-.29-.91-5.45-16.99-16.81-39.22 5.54.21 11.37.31 17.5.31 72.72 0 131.04-30.43 133.49-31.72 5.24-2.78 8.52-8.22 8.51-14.15-.01-5.94-3.29-11.39-8.53-14.15z"]},pt={prefix:"fas",iconName:"capsules",icon:[576,512,[],"f46b","M555.3 300.1L424.2 112.8C401.9 81 366.4 64 330.4 64c-22.6 0-45.5 6.7-65.5 20.7-19.7 13.8-33.7 32.8-41.5 53.8C220.5 79.2 172 32 112 32 50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V218.9c3.3 8.6 7.3 17.1 12.8 25L368 431.2c22.2 31.8 57.7 48.8 93.8 48.8 22.7 0 45.5-6.7 65.5-20.7 51.7-36.2 64.2-107.5 28-159.2zM160 256H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm194.8 44.9l-65.6-93.7c-7.7-11-10.7-24.4-8.3-37.6 2.3-13.2 9.7-24.8 20.7-32.5 8.5-6 18.5-9.1 28.8-9.1 16.5 0 31.9 8 41.3 21.5l65.6 93.7-82.5 57.7z"]},ht={prefix:"fas",iconName:"car",icon:[512,512,[],"f1b9","M499.99 176h-59.87l-16.64-41.6C406.38 91.63 365.57 64 319.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4L71.87 176H12.01C4.2 176-1.53 183.34.37 190.91l6 24C7.7 220.25 12.5 224 18.01 224h20.07C24.65 235.73 16 252.78 16 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-19.22-8.65-36.27-22.07-48H494c5.51 0 10.31-3.75 11.64-9.09l6-24c1.89-7.57-3.84-14.91-11.65-14.91zm-352.06-17.83c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L384 208H128l19.93-49.83zM96 319.8c-19.2 0-32-12.76-32-31.9S76.8 256 96 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S396.8 256 416 256s32 12.76 32 31.9-12.8 31.9-32 31.9z"]},dt={prefix:"fas",iconName:"car-alt",icon:[480,512,[],"f5de","M438.66 212.33l-11.24-28.1-19.93-49.83C390.38 91.63 349.57 64 303.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4l-19.93 49.83-11.24 28.1C17.22 221.5 0 244.66 0 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-27.34-17.22-50.5-41.34-59.67zm-306.73-54.16c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L368 208H112l19.93-49.83zM80 319.8c-19.2 0-32-12.76-32-31.9S60.8 256 80 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S380.8 256 400 256s32 12.76 32 31.9-12.8 31.9-32 31.9z"]},ft={prefix:"fas",iconName:"car-battery",icon:[512,512,[],"f5df","M480 128h-32V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v48H192V80c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v48H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32zM192 264c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm256 0c0 4.42-3.58 8-8 8h-40v40c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-40h-40c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h40v-40c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v40h40c4.42 0 8 3.58 8 8v16z"]},_t={prefix:"fas",iconName:"car-crash",icon:[640,512,[],"f5e1","M143.25 220.81l-12.42 46.37c-3.01 11.25-3.63 22.89-2.41 34.39l-35.2 28.98c-6.57 5.41-16.31-.43-14.62-8.77l15.44-76.68c1.06-5.26-2.66-10.28-8-10.79l-77.86-7.55c-8.47-.82-11.23-11.83-4.14-16.54l65.15-43.3c4.46-2.97 5.38-9.15 1.98-13.29L21.46 93.22c-5.41-6.57.43-16.3 8.78-14.62l76.68 15.44c5.26 1.06 10.28-2.66 10.8-8l7.55-77.86c.82-8.48 11.83-11.23 16.55-4.14l43.3 65.14c2.97 4.46 9.15 5.38 13.29 1.98l60.4-49.71c6.57-5.41 16.3.43 14.62 8.77L262.1 86.38c-2.71 3.05-5.43 6.09-7.91 9.4l-32.15 42.97-10.71 14.32c-32.73 8.76-59.18 34.53-68.08 67.74zm494.57 132.51l-12.42 46.36c-3.13 11.68-9.38 21.61-17.55 29.36a66.876 66.876 0 0 1-8.76 7l-13.99 52.23c-1.14 4.27-3.1 8.1-5.65 11.38-7.67 9.84-20.74 14.68-33.54 11.25L515 502.62c-17.07-4.57-27.2-22.12-22.63-39.19l8.28-30.91-247.28-66.26-8.28 30.91c-4.57 17.07-22.12 27.2-39.19 22.63l-30.91-8.28c-12.8-3.43-21.7-14.16-23.42-26.51-.57-4.12-.35-8.42.79-12.68l13.99-52.23a66.62 66.62 0 0 1-4.09-10.45c-3.2-10.79-3.65-22.52-.52-34.2l12.42-46.37c5.31-19.8 19.36-34.83 36.89-42.21a64.336 64.336 0 0 1 18.49-4.72l18.13-24.23 32.15-42.97c3.45-4.61 7.19-8.9 11.2-12.84 8-7.89 17.03-14.44 26.74-19.51 4.86-2.54 9.89-4.71 15.05-6.49 10.33-3.58 21.19-5.63 32.24-6.04 11.05-.41 22.31.82 33.43 3.8l122.68 32.87c11.12 2.98 21.48 7.54 30.85 13.43a111.11 111.11 0 0 1 34.69 34.5c8.82 13.88 14.64 29.84 16.68 46.99l6.36 53.29 3.59 30.05a64.49 64.49 0 0 1 22.74 29.93c4.39 11.88 5.29 25.19 1.75 38.39zM255.58 234.34c-18.55-4.97-34.21 4.04-39.17 22.53-4.96 18.49 4.11 34.12 22.65 39.09 18.55 4.97 45.54 15.51 50.49-2.98 4.96-18.49-15.43-53.67-33.97-58.64zm290.61 28.17l-6.36-53.29c-.58-4.87-1.89-9.53-3.82-13.86-5.8-12.99-17.2-23.01-31.42-26.82l-122.68-32.87a48.008 48.008 0 0 0-50.86 17.61l-32.15 42.97 172 46.08 75.29 20.18zm18.49 54.65c-18.55-4.97-53.8 15.31-58.75 33.79-4.95 18.49 23.69 22.86 42.24 27.83 18.55 4.97 34.21-4.04 39.17-22.53 4.95-18.48-4.11-34.12-22.66-39.09z"]},mt={prefix:"fas",iconName:"car-side",icon:[640,512,[],"f5e4","M544 192h-16L419.22 56.02A64.025 64.025 0 0 0 369.24 32H155.33c-26.17 0-49.7 15.93-59.42 40.23L48 194.26C20.44 201.4 0 226.21 0 256v112c0 8.84 7.16 16 16 16h48c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h48c8.84 0 16-7.16 16-16v-80c0-53.02-42.98-96-96-96zM160 432c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm72-240H116.93l38.4-96H232v96zm48 0V96h89.24l76.8 96H280zm200 240c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z"]},bt={prefix:"fas",iconName:"caret-down",icon:[320,512,[],"f0d7","M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"]},gt={prefix:"fas",iconName:"caret-left",icon:[192,512,[],"f0d9","M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z"]},vt={prefix:"fas",iconName:"caret-right",icon:[192,512,[],"f0da","M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"]},yt={prefix:"fas",iconName:"caret-square-down",icon:[448,512,[],"f150","M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM92.5 220.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H101c-10.7 0-16.1 12.9-8.5 20.5z"]},Ct={prefix:"fas",iconName:"caret-square-left",icon:[448,512,[],"f191","M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM259.515 124.485l-123.03 123.03c-4.686 4.686-4.686 12.284 0 16.971l123.029 123.029c7.56 7.56 20.485 2.206 20.485-8.485V132.971c.001-10.691-12.925-16.045-20.484-8.486z"]},At={prefix:"fas",iconName:"caret-square-right",icon:[448,512,[],"f152","M48 32h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48zm140.485 355.515l123.029-123.029c4.686-4.686 4.686-12.284 0-16.971l-123.029-123.03c-7.56-7.56-20.485-2.206-20.485 8.485v246.059c0 10.691 12.926 16.045 20.485 8.486z"]},xt={prefix:"fas",iconName:"caret-square-up",icon:[448,512,[],"f151","M0 432V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm355.515-140.485l-123.03-123.03c-4.686-4.686-12.284-4.686-16.971 0L92.485 291.515c-7.56 7.56-2.206 20.485 8.485 20.485h246.059c10.691 0 16.045-12.926 8.486-20.485z"]},St={prefix:"fas",iconName:"caret-up",icon:[320,512,[],"f0d8","M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"]},Tt={prefix:"fas",iconName:"cart-arrow-down",icon:[576,512,[],"f218","M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z"]},Et={prefix:"fas",iconName:"cart-plus",icon:[576,512,[],"f217","M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM408 168h-48v-40c0-8.837-7.163-16-16-16h-16c-8.837 0-16 7.163-16 16v40h-48c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h48v40c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-40h48c8.837 0 16-7.163 16-16v-16c0-8.837-7.163-16-16-16z"]},Pt={prefix:"fas",iconName:"cat",icon:[512,512,[],"f6be","M290.59 192c-20.18 0-106.82 1.98-162.59 85.95V192c0-52.94-43.06-96-96-96-17.67 0-32 14.33-32 32s14.33 32 32 32c17.64 0 32 14.36 32 32v256c0 35.3 28.7 64 64 64h176c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-32l128-96v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V289.86c-10.29 2.67-20.89 4.54-32 4.54-61.81 0-113.52-44.05-125.41-102.4zM448 96h-64l-64-64v134.4c0 53.02 42.98 96 96 96s96-42.98 96-96V32l-64 64zm-72 80c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm80 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z"]},Ot={prefix:"fas",iconName:"certificate",icon:[512,512,[],"f0a3","M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z"]},Mt={prefix:"fas",iconName:"chair",icon:[448,512,[],"f6c0","M446.33 341.88l-10.67-32A31.996 31.996 0 0 0 405.3 288H42.69c-13.77 0-26 8.81-30.36 21.88l-10.67 32C-5.24 362.6 10.18 384 32.03 384H32v112c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h256v112c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-.03c21.85 0 37.27-21.4 30.36-42.12zM112 128c0-29.48 16.2-54.99 40-68.87V256h48V48h48v208h48V59.13c23.8 13.88 40 39.39 40 68.87v128h48V128C384 57.31 326.69 0 256 0h-64C121.31 0 64 57.31 64 128v128h48V128z"]},Rt={prefix:"fas",iconName:"chalkboard",icon:[640,512,[],"f51b","M96 64h448v352h64V40c0-22.06-17.94-40-40-40H72C49.94 0 32 17.94 32 40v376h64V64zm528 384H480v-64H288v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},It={prefix:"fas",iconName:"chalkboard-teacher",icon:[640,512,[],"f51c","M208 352c-2.39 0-4.78.35-7.06 1.09C187.98 357.3 174.35 360 160 360c-14.35 0-27.98-2.7-40.95-6.91-2.28-.74-4.66-1.09-7.05-1.09C49.94 352-.33 402.48 0 464.62.14 490.88 21.73 512 48 512h224c26.27 0 47.86-21.12 48-47.38.33-62.14-49.94-112.62-112-112.62zm-48-32c53.02 0 96-42.98 96-96s-42.98-96-96-96-96 42.98-96 96 42.98 96 96 96zM592 0H208c-26.47 0-48 22.25-48 49.59V96c23.42 0 45.1 6.78 64 17.8V64h352v288h-64v-64H384v64h-76.24c19.1 16.69 33.12 38.73 39.69 64H592c26.47 0 48-22.25 48-49.59V49.59C640 22.25 618.47 0 592 0z"]},wt={prefix:"fas",iconName:"charging-station",icon:[576,512,[],"f5e7","M336 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h320c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm208-320V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-32V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-16c-8.84 0-16 7.16-16 16v32c0 35.76 23.62 65.69 56 75.93v118.49c0 13.95-9.5 26.92-23.26 29.19C431.22 402.5 416 388.99 416 372v-28c0-48.6-39.4-88-88-88h-8V64c0-35.35-28.65-64-64-64H96C60.65 0 32 28.65 32 64v352h288V304h8c22.09 0 40 17.91 40 40v24.61c0 39.67 28.92 75.16 68.41 79.01C481.71 452.05 520 416.41 520 372V251.93c32.38-10.24 56-40.17 56-75.93v-32c0-8.84-7.16-16-16-16h-16zm-283.91 47.76l-93.7 139c-2.2 3.33-6.21 5.24-10.39 5.24-7.67 0-13.47-6.28-11.67-12.92L167.35 224H108c-7.25 0-12.85-5.59-11.89-11.89l16-107C112.9 99.9 117.98 96 124 96h68c7.88 0 13.62 6.54 11.6 13.21L192 160h57.7c9.24 0 15.01 8.78 10.39 15.76z"]},Dt={prefix:"fas",iconName:"chart-area",icon:[512,512,[],"f1fe","M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z"]},Lt={prefix:"fas",iconName:"chart-bar",icon:[512,512,[],"f080","M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},Nt={prefix:"fas",iconName:"chart-line",icon:[512,512,[],"f201","M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z"]},Ft={prefix:"fas",iconName:"chart-pie",icon:[544,512,[],"f200","M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z"]},Bt={prefix:"fas",iconName:"check",icon:[512,512,[],"f00c","M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"]},kt={prefix:"fas",iconName:"check-circle",icon:[512,512,[],"f058","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"]},Vt={prefix:"fas",iconName:"check-double",icon:[512,512,[],"f560","M504.5 171.95l-36.2-36.41c-10-10.05-26.21-10.05-36.2 0L192 377.02 79.9 264.28c-10-10.06-26.21-10.06-36.2 0L7.5 300.69c-10 10.05-10 26.36 0 36.41l166.4 167.36c10 10.06 26.21 10.06 36.2 0l294.4-296.09c10-10.06 10-26.36 0-36.42zM166.57 282.71c6.84 7.02 18.18 7.02 25.21.18L403.85 72.62c7.02-6.84 7.02-18.18.18-25.21L362.08 5.29c-6.84-7.02-18.18-7.02-25.21-.18L179.71 161.19l-68.23-68.77c-6.84-7.02-18.18-7.02-25.2-.18l-42.13 41.77c-7.02 6.84-7.02 18.18-.18 25.2l122.6 123.5z"]},zt={prefix:"fas",iconName:"check-square",icon:[448,512,[],"f14a","M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z"]},jt={prefix:"fas",iconName:"chess",icon:[512,512,[],"f439","M199.821 217.633a6 6 0 0 1 6 6l-.001 20.766a6 6 0 0 1-6 6h-25.805c0 31.715-2.153 96.201 17.398 153.229H64.597C84.54 345.452 82.02 279.245 82.02 250.399H56.183a6 6 0 0 1-6-6l.002-20.766a6 6 0 0 1 6-6h143.636zM41.554 115.088l34.58 95.071h103.734l34.572-95.072c2.846-7.826-2.95-16.101-11.278-16.101H152v-30.22h21.57a6 6 0 0 0 6-6V40.383a6 6 0 0 0-6-6h-28.367V6a6 6 0 0 0-6-6H116.82a6 6 0 0 0-6 6v28.383H82.421a6 6 0 0 0-6 6v22.383a6 6 0 0 0 6 6H104v30.219H52.831c-8.328.001-14.124 8.276-11.277 16.103zM222.678 445.17v-28.067a6 6 0 0 0-6-6H39.322a6 6 0 0 0-6 6v28.067l-22.148 14.164a6 6 0 0 0-2.767 5.055V506a6 6 0 0 0 6 6h227.187a6 6 0 0 0 6-6v-41.612a6 6 0 0 0-2.767-5.055l-22.149-14.163zm90.578-144.225l24.88 16.963c.09 18.124-.167 63.904-11.905 114.522h147.526c-11.713-50.475-11.969-96.324-11.882-114.537l24.859-16.949a3.856 3.856 0 0 0 1.684-3.187v-69.901a3.857 3.857 0 0 0-3.857-3.857h-27.655a3.857 3.857 0 0 0-3.857 3.857v31.514h-22.737v-31.514a3.857 3.857 0 0 0-3.858-3.857h-52.918a3.857 3.857 0 0 0-3.857 3.857v31.514h-22.737v-31.514a3.857 3.857 0 0 0-3.857-3.857H315.43a3.857 3.857 0 0 0-3.857 3.857v69.901a3.855 3.855 0 0 0 1.683 3.188zm71.585 51.906c0-8.372 6.787-15.158 15.159-15.158s15.158 6.787 15.158 15.158v30.318h-30.317v-30.318zM504.62 470.059l-13.664-10.639v-15.552a3.857 3.857 0 0 0-3.857-3.857H312.915a3.857 3.857 0 0 0-3.857 3.857v15.552l-13.677 10.639a3.857 3.857 0 0 0-1.488 3.044v35.039a3.857 3.857 0 0 0 3.857 3.857h204.5a3.857 3.857 0 0 0 3.857-3.857v-35.04a3.859 3.859 0 0 0-1.487-3.043z"]},Ut={prefix:"fas",iconName:"chess-bishop",icon:[320,512,[],"f43a","M123.158 77.881C107.369 72.53 96 57.597 96 40c0-22.091 17.909-40 40-40h47.796c22.091 0 40 17.909 40 40 0 17.541-11.295 32.434-27.005 37.829 23.993 16.657 48.577 46.839 68.703 82.05L144.929 280.443a6 6 0 0 0 0 8.485l14.142 14.142a6 6 0 0 0 8.485 0L280.9 189.726c17.758 38.297 29.371 79.443 29.371 114.273 0 53.786-22.897 75.788-58.446 86.033V448H68.174v-57.97C32.631 379.784 9.739 357.781 9.739 304c0-78.029 58.281-187.766 113.419-226.119zM320 500v-24c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12z"]},Gt={prefix:"fas",iconName:"chess-board",icon:[512,512,[],"f43c","M256 256v64h-64v-64h64zm0-256h-64v64h64V0zm0 256h64v-64h-64v64zM384 0h-64v64h64V0zm0 512h64v-64h-64v64zm128-64v-64h-64v64h64zm-384 64h64v-64h-64v64zm0-512H64v64h64V0zm384 192v-64h-64v64h64zm0 128v-64h-64v64h64zM0 512h64v-64H0v64zM0 64v64h64V64H0zm0 128v64h64v-64H0zm0 128v64h64v-64H0zm256 192h64v-64h-64v64zm-64-128v64h64v-64h-64zm64-192v-64h-64v64h64zM64 384v64h64v-64H64zm64-128H64v64h64v-64zm256 128h64v-64h-64v64zM512 0h-64v64h64V0zM384 256h64v-64h-64v64zm0-192v64h64V64h-64zm-64 320v64h64v-64h-64zm-192-64v64h64v-64h-64zm128 0v64h64v-64h-64zm-64-128h-64v64h64v-64zm-64-64H64v64h64v-64zm192 192h64v-64h-64v64zM192 128V64h-64v64h64zm128 0V64h-64v64h64zm0 64h64v-64h-64v64z"]},Ht={prefix:"fas",iconName:"chess-king",icon:[448,512,[],"f43f","M416 476v24c0 6.627-5.373 12-12 12H44c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12zm-8.033-324H248v-48h50a6 6 0 0 0 6-6V62a6 6 0 0 0-6-6h-50V6a6 6 0 0 0-6-6h-36a6 6 0 0 0-6 6v50h-50a6 6 0 0 0-6 6v36a6 6 0 0 0 6 6h50v48H40.033c-27.574 0-46.879 27.244-37.738 53.259L87.582 448h272.836l85.287-242.741C454.846 179.244 435.541 152 407.967 152z"]},Wt={prefix:"fas",iconName:"chess-knight",icon:[384,512,[],"f441","M352 224v224H32v-46.557c0-30.302 17.12-58.003 44.223-71.554l57.243-28.622A48 48 0 0 0 160 258.334V208l-22.127 11.063a23.996 23.996 0 0 0-12.55 15.645l-11.835 47.338a12 12 0 0 1-7.185 8.231l-29.601 11.84a11.998 11.998 0 0 1-9.33-.176L7.126 275.167A12 12 0 0 1 0 264.201v-158.26c0-6.365 2.529-12.47 7.03-16.971L16 80 1.789 51.578A16.937 16.937 0 0 1 0 44c0-6.627 5.373-12 12-12h148c106.039 0 192 85.961 192 192zm20 240H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12zM52 128c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z"]},Xt={prefix:"fas",iconName:"chess-pawn",icon:[320,512,[],"f443","M264 448H56s60-42.743 60-176H84c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h40.209C95.721 210.56 76 181.588 76 148c0-46.392 37.608-84 84-84s84 37.608 84 84c0 33.588-19.721 62.56-48.209 76H236c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12h-32c0 133.257 60 176 60 176zm28 16H28c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h264c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12z"]},Yt={prefix:"fas",iconName:"chess-queen",icon:[512,512,[],"f445","M436 512H76c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12zM255.579 0c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zm204.568 154.634c-5.768-3.045-12.916-.932-16.082 4.77-8.616 15.516-22.747 37.801-44.065 37.801-28.714 0-30.625-19.804-31.686-57.542-.183-6.492-5.501-11.664-11.995-11.664h-41.006c-5.175 0-9.754 3.328-11.388 8.238-8.89 26.709-26.073 40.992-47.925 40.992s-39.034-14.283-47.925-40.992c-1.634-4.91-6.213-8.238-11.388-8.238h-41.005c-6.495 0-11.813 5.174-11.995 11.667-1.052 37.642-2.934 57.539-31.688 57.539-20.691 0-33.817-20.224-44.425-38.025-3.266-5.48-10.258-7.431-15.899-4.453l-39.179 20.679a12 12 0 0 0-5.51 15.145L112 448h288l105.014-257.448a12 12 0 0 0-5.51-15.145l-39.357-20.773z"]},Qt={prefix:"fas",iconName:"chess-rook",icon:[384,512,[],"f447","M81.241 215.027C80.957 258.92 77.411 348.076 48 448h287.982c-29.4-99.604-32.936-188.912-33.221-232.975l45.418-42.312a11.998 11.998 0 0 0 3.82-8.78V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v44h-48V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v44H96V44c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v119.932c0 3.33 1.384 6.51 3.82 8.78l45.421 42.315zM160 256c0-17.673 14.327-32 32-32 17.673 0 32 14.327 32 32v64.004h-64V256zm224 220v24c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12z"]},Kt={prefix:"fas",iconName:"chevron-circle-down",icon:[512,512,[],"f13a","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM273 369.9l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L256 285.1 154.4 183.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L239 369.9c9.4 9.4 24.6 9.4 34 0z"]},Zt={prefix:"fas",iconName:"chevron-circle-left",icon:[512,512,[],"f137","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z"]},qt={prefix:"fas",iconName:"chevron-circle-right",icon:[512,512,[],"f138","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z"]},Jt={prefix:"fas",iconName:"chevron-circle-up",icon:[512,512,[],"f139","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z"]},$t={prefix:"fas",iconName:"chevron-down",icon:[448,512,[],"f078","M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z"]},en={prefix:"fas",iconName:"chevron-left",icon:[320,512,[],"f053","M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"]},tn={prefix:"fas",iconName:"chevron-right",icon:[320,512,[],"f054","M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"]},nn={prefix:"fas",iconName:"chevron-up",icon:[448,512,[],"f077","M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z"]},rn={prefix:"fas",iconName:"child",icon:[384,512,[],"f1ae","M120 72c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.764-32.235 72-72 72s-72-32.236-72-72zm254.627 1.373c-12.496-12.497-32.758-12.497-45.254 0L242.745 160H141.254L54.627 73.373c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.497-12.497 32.758 0 45.255L104 213.254V480c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V368h16v112c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V213.254l94.627-94.627c12.497-12.497 12.497-32.757 0-45.254z"]},on={prefix:"fas",iconName:"church",icon:[640,512,[],"f51d","M464.46 246.68L352 179.2V128h48c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-48V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v48h-48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v51.2l-112.46 67.48A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.65-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.54A32.024 32.024 0 0 0 0 395.96zm620.61-29.42L512 320v192h112c8.84 0 16-7.16 16-16V395.96c0-12.8-7.63-24.37-19.39-29.42z"]},an={prefix:"fas",iconName:"circle",icon:[512,512,[],"f111","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"]},sn={prefix:"fas",iconName:"circle-notch",icon:[512,512,[],"f1ce","M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z"]},cn={prefix:"fas",iconName:"city",icon:[640,512,[],"f64f","M616 192H480V24c0-13.26-10.74-24-24-24H312c-13.26 0-24 10.74-24 24v72h-64V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v80h-64V16c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v80H24c-13.26 0-24 10.74-24 24v360c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V216c0-13.26-10.75-24-24-24zM128 404c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm128 192c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12V76c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 288c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40z"]},ln={prefix:"fas",iconName:"clipboard",icon:[384,512,[],"f328","M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z"]},un={prefix:"fas",iconName:"clipboard-check",icon:[384,512,[],"f46c","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z"]},pn={prefix:"fas",iconName:"clipboard-list",icon:[384,512,[],"f46d","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"]},hn={prefix:"fas",iconName:"clock",icon:[512,512,[],"f017","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm57.1 350.1L224.9 294c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v137.7l63.5 46.2c5.4 3.9 6.5 11.4 2.6 16.8l-28.2 38.8c-3.9 5.3-11.4 6.5-16.8 2.6z"]},dn={prefix:"fas",iconName:"clone",icon:[512,512,[],"f24d","M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z"]},fn={prefix:"fas",iconName:"closed-captioning",icon:[512,512,[],"f20a","M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM218.1 287.7c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2.1 48 51.1 70.5 92.3 32.6zm190.4 0c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.5 56.9-172.7 32.1-172.7-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 222.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6z"]},_n={prefix:"fas",iconName:"cloud",icon:[640,512,[],"f0c2","M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z"]},mn={prefix:"fas",iconName:"cloud-download-alt",icon:[640,512,[],"f381","M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z"]},bn={prefix:"fas",iconName:"cloud-moon",icon:[640,512,[],"f6c3","M342.75 352.68c5.74-9.59 9.25-20.69 9.25-32.68 0-35.35-28.65-64-64-64-17.21 0-32.77 6.88-44.27 17.93C227.39 244.3 196.23 224 160 224c-53.02 0-96 42.98-96 96 0 1.95.46 3.78.57 5.7C27.08 338.77 0 374.05 0 416c0 53.02 42.98 96 96 96h240c44.18 0 80-35.82 80-80 0-41.87-32.28-75.84-73.25-79.32zm285.26-29.42c-104.23 19.22-199.95-58.16-199.95-160.03 0-58.68 32.45-112.64 85.18-141.7 8.13-4.48 6.08-16.41-3.15-18.06C497.14 1.17 484 0 470.84 0 352.25 0 256 93.04 256 208c0 7.26.4 14.44 1.15 21.51 9.87-3.38 20.18-5.51 30.85-5.51 52.94 0 96 43.06 96 96 0 3.59-.21 7.17-.63 10.73 33.49 15.39 57.47 46.55 63.24 83.86 7.96.87 16.03 1.41 24.23 1.41 66.26 0 126.79-29.19 166.88-77.02 5.93-7.07-.54-17.41-9.71-15.72z"]},gn={prefix:"fas",iconName:"cloud-sun",icon:[640,512,[],"f6c4","M342.75 352.68c5.74-9.59 9.25-20.69 9.25-32.68 0-35.35-28.65-64-64-64-17.21 0-32.77 6.88-44.27 17.93C227.39 244.31 196.23 224 160 224c-53.02 0-96 42.98-96 96 0 1.95.46 3.78.57 5.7C27.08 338.77 0 374.05 0 416c0 53.02 42.98 96 96 96h240c44.18 0 80-35.82 80-80 0-41.87-32.28-75.84-73.25-79.32zm243.19-99.8c-7.85-6.79-7.85-18.97 0-25.76L633.41 186c12.76-11.05 5.84-32.02-11-33.3l-61.59-4.67c-10.19-.78-17.28-10.49-14.9-20.43l14.95-62.48c3.89-16.26-13.96-29.02-28.08-20.07l-52.51 33.26c-8.61 5.46-20.06 1.75-23.85-7.72l-23.47-58.74c-6.32-15.81-28.19-15.81-34.51 0l-23.38 58.49c-3.83 9.59-15.44 13.35-24.17 7.82l-52.29-33.12c-14.13-8.95-31.98 3.81-28.08 20.07l14.95 62.48c2.38 9.94-4.7 19.65-14.9 20.43l-61.15 4.64c-17 1.29-23.99 22.46-11.1 33.62l31.23 27.05c7.82 5.17 15.21 11.01 21.78 17.84 11.42-4.71 23.73-7.18 36.37-7.18 5.97 0 11.77.71 17.44 1.76 7.09-54.98 53.68-97.76 110.56-97.76 61.76 0 112 50.24 112 112s-50.24 112-112 112c-.95 0-1.83-.26-2.77-.28 13.83 13.2 24.61 29.47 30.16 48.28h27.02c6.25 0 12.37 1.83 17.6 5.27l45.08 29.68c14.19 8.99 31.89-4.17 27.92-20.76l-14.69-61.38c-2.43-10.16 4.8-20.08 15.22-20.87l61.16-4.64c16.84-1.28 23.76-22.25 11-33.3l-47.47-41.11zm-202.66 59.94C393.3 317.34 404.32 320 416 320c44.11 0 80-35.89 80-80s-35.89-80-80-80c-43.25 0-78.39 34.56-79.75 77.49 26.44 15.53 44.59 43.13 47.03 75.33z"]},vn={prefix:"fas",iconName:"cloud-upload-alt",icon:[640,512,[],"f382","M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z"]},yn={prefix:"fas",iconName:"cocktail",icon:[576,512,[],"f561","M296 464h-56V338.78l168.74-168.73c15.52-15.52 4.53-42.05-17.42-42.05H24.68c-21.95 0-32.94 26.53-17.42 42.05L176 338.78V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM432 0c-62.61 0-115.35 40.2-135.18 96h52.54c16.65-28.55 47.27-48 82.64-48 52.93 0 96 43.06 96 96s-43.07 96-96 96c-14.04 0-27.29-3.2-39.32-8.64l-35.26 35.26C379.23 279.92 404.59 288 432 288c79.53 0 144-64.47 144-144S511.53 0 432 0z"]},Cn={prefix:"fas",iconName:"code",icon:[640,512,[],"f121","M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"]},An={prefix:"fas",iconName:"code-branch",icon:[384,512,[],"f126","M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z"]},xn={prefix:"fas",iconName:"coffee",icon:[640,512,[],"f0f4","M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z"]},Sn={prefix:"fas",iconName:"cog",icon:[512,512,[],"f013","M444.788 291.1l42.616 24.599c4.867 2.809 7.126 8.618 5.459 13.985-11.07 35.642-29.97 67.842-54.689 94.586a12.016 12.016 0 0 1-14.832 2.254l-42.584-24.595a191.577 191.577 0 0 1-60.759 35.13v49.182a12.01 12.01 0 0 1-9.377 11.718c-34.956 7.85-72.499 8.256-109.219.007-5.49-1.233-9.403-6.096-9.403-11.723v-49.184a191.555 191.555 0 0 1-60.759-35.13l-42.584 24.595a12.016 12.016 0 0 1-14.832-2.254c-24.718-26.744-43.619-58.944-54.689-94.586-1.667-5.366.592-11.175 5.459-13.985L67.212 291.1a193.48 193.48 0 0 1 0-70.199l-42.616-24.599c-4.867-2.809-7.126-8.618-5.459-13.985 11.07-35.642 29.97-67.842 54.689-94.586a12.016 12.016 0 0 1 14.832-2.254l42.584 24.595a191.577 191.577 0 0 1 60.759-35.13V25.759a12.01 12.01 0 0 1 9.377-11.718c34.956-7.85 72.499-8.256 109.219-.007 5.49 1.233 9.403 6.096 9.403 11.723v49.184a191.555 191.555 0 0 1 60.759 35.13l42.584-24.595a12.016 12.016 0 0 1 14.832 2.254c24.718 26.744 43.619 58.944 54.689 94.586 1.667 5.366-.592 11.175-5.459 13.985L444.788 220.9a193.485 193.485 0 0 1 0 70.2zM336 256c0-44.112-35.888-80-80-80s-80 35.888-80 80 35.888 80 80 80 80-35.888 80-80z"]},Tn={prefix:"fas",iconName:"cogs",icon:[640,512,[],"f085","M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z"]},En={prefix:"fas",iconName:"coins",icon:[512,512,[],"f51e","M0 405.3V448c0 35.3 86 64 192 64s192-28.7 192-64v-42.7C342.7 434.4 267.2 448 192 448S41.3 434.4 0 405.3zM320 128c106 0 192-28.7 192-64S426 0 320 0 128 28.7 128 64s86 64 192 64zM0 300.4V352c0 35.3 86 64 192 64s192-28.7 192-64v-51.6c-41.3 34-116.9 51.6-192 51.6S41.3 334.4 0 300.4zm416 11c57.3-11.1 96-31.7 96-55.4v-42.7c-23.2 16.4-57.3 27.6-96 34.5v63.6zM192 160C86 160 0 195.8 0 240s86 80 192 80 192-35.8 192-80-86-80-192-80zm219.3 56.3c60-10.8 100.7-32 100.7-56.3v-42.7c-35.5 25.1-96.5 38.6-160.7 41.8 29.5 14.3 51.2 33.5 60 57.2z"]},Pn={prefix:"fas",iconName:"columns",icon:[512,512,[],"f0db","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z"]},On={prefix:"fas",iconName:"comment",icon:[512,512,[],"f075","M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32z"]},Mn={prefix:"fas",iconName:"comment-alt",icon:[512,512,[],"f27a","M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z"]},Rn={prefix:"fas",iconName:"comment-dollar",icon:[512,512,[],"f651","M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95.01 57.02 130.74C44.46 421.05 2.7 465.97 2.2 466.5A7.995 7.995 0 0 0 8 480c66.26 0 115.99-31.75 140.6-51.38C181.29 440.93 217.59 448 256 448c141.38 0 256-93.12 256-208S397.38 32 256 32zm24 302.44V352c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-17.73c-11.42-1.35-22.28-5.19-31.78-11.46-6.22-4.11-6.82-13.11-1.55-18.38l17.52-17.52c3.74-3.74 9.31-4.24 14.11-2.03 3.18 1.46 6.66 2.22 10.26 2.22h32.78c4.66 0 8.44-3.78 8.44-8.42 0-3.75-2.52-7.08-6.12-8.11l-50.07-14.3c-22.25-6.35-40.01-24.71-42.91-47.67-4.05-32.07 19.03-59.43 49.32-63.05V128c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v17.73c11.42 1.35 22.28 5.19 31.78 11.46 6.22 4.11 6.82 13.11 1.55 18.38l-17.52 17.52c-3.74 3.74-9.31 4.24-14.11 2.03a24.516 24.516 0 0 0-10.26-2.22h-32.78c-4.66 0-8.44 3.78-8.44 8.42 0 3.75 2.52 7.08 6.12 8.11l50.07 14.3c22.25 6.36 40.01 24.71 42.91 47.67 4.05 32.06-19.03 59.42-49.32 63.04z"]},In={prefix:"fas",iconName:"comment-dots",icon:[512,512,[],"f4ad","M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},wn={prefix:"fas",iconName:"comment-slash",icon:[640,512,[],"f4b3","M64 240c0 49.6 21.4 95 57 130.7-12.6 50.3-54.3 95.2-54.8 95.8-2.2 2.3-2.8 5.7-1.5 8.7 1.3 2.9 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 27.4 0 53.7-3.6 78.4-10L72.9 186.4c-5.6 17.1-8.9 35-8.9 53.6zm569.8 218.1l-114.4-88.4C554.6 334.1 576 289.2 576 240c0-114.9-114.6-208-256-208-65.1 0-124.2 20.1-169.4 52.7L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z"]},Dn={prefix:"fas",iconName:"comments",icon:[576,512,[],"f086","M416 192c0-88.4-93.1-160-208-160S0 103.6 0 192c0 34.3 14.1 65.9 38 92-13.4 30.2-35.5 54.2-35.8 54.5-2.2 2.3-2.8 5.7-1.5 8.7S4.8 352 8 352c36.6 0 66.9-12.3 88.7-25 32.2 15.7 70.3 25 111.3 25 114.9 0 208-71.6 208-160zm122 220c23.9-26 38-57.7 38-92 0-66.9-53.5-124.2-129.3-148.1.9 6.6 1.3 13.3 1.3 20.1 0 105.9-107.7 192-240 192-10.8 0-21.3-.8-31.7-1.9C207.8 439.6 281.8 480 368 480c41 0 79.1-9.2 111.3-25 21.8 12.7 52.1 25 88.7 25 3.2 0 6.1-1.9 7.3-4.8 1.3-2.9.7-6.3-1.5-8.7-.3-.3-22.4-24.2-35.8-54.5z"]},Ln={prefix:"fas",iconName:"comments-dollar",icon:[576,512,[],"f653","M416 192c0-88.37-93.12-160-208-160S0 103.63 0 192c0 34.27 14.13 65.95 37.97 91.98C24.61 314.22 2.52 338.16 2.2 338.5A7.995 7.995 0 0 0 8 352c36.58 0 66.93-12.25 88.73-24.98C128.93 342.76 167.02 352 208 352c114.88 0 208-71.63 208-160zm-224 96v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V96c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07V288c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm346.01 123.99C561.87 385.96 576 354.27 576 320c0-66.94-53.49-124.2-129.33-148.07.86 6.6 1.33 13.29 1.33 20.07 0 105.87-107.66 192-240 192-10.78 0-21.32-.77-31.73-1.88C207.8 439.63 281.77 480 368 480c40.98 0 79.07-9.24 111.27-24.98C501.07 467.75 531.42 480 568 480c3.2 0 6.09-1.91 7.34-4.84 1.27-2.94.66-6.34-1.55-8.67-.31-.33-22.42-24.24-35.78-54.5z"]},Nn={prefix:"fas",iconName:"compact-disc",icon:[496,512,[],"f51f","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 256H56c0-105.9 86.1-192 192-192v32c-88.2 0-160 71.8-160 160zm160 96c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z"]},Fn={prefix:"fas",iconName:"compass",icon:[496,512,[],"f14e","M225.38 233.37c-12.5 12.5-12.5 32.76 0 45.25 12.49 12.5 32.76 12.5 45.25 0 12.5-12.5 12.5-32.76 0-45.25-12.5-12.49-32.76-12.49-45.25 0zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm126.14 148.05L308.17 300.4a31.938 31.938 0 0 1-15.77 15.77l-144.34 65.97c-16.65 7.61-33.81-9.55-26.2-26.2l65.98-144.35a31.938 31.938 0 0 1 15.77-15.77l144.34-65.97c16.65-7.6 33.8 9.55 26.19 26.2z"]},Bn={prefix:"fas",iconName:"compress",icon:[448,512,[],"f066","M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"]},kn={prefix:"fas",iconName:"concierge-bell",icon:[512,512,[],"f562","M288 130.54V112h16c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h16v18.54C115.49 146.11 32 239.18 32 352h448c0-112.82-83.49-205.89-192-221.46zM496 384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},Vn={prefix:"fas",iconName:"cookie",icon:[512,512,[],"f563","M510.37 254.79l-12.08-76.26a132.493 132.493 0 0 0-37.16-72.95l-54.76-54.75c-19.73-19.72-45.18-32.7-72.71-37.05l-76.7-12.15c-27.51-4.36-55.69.11-80.52 12.76L107.32 49.6a132.25 132.25 0 0 0-57.79 57.8l-35.1 68.88a132.602 132.602 0 0 0-12.82 80.94l12.08 76.27a132.493 132.493 0 0 0 37.16 72.95l54.76 54.75a132.087 132.087 0 0 0 72.71 37.05l76.7 12.14c27.51 4.36 55.69-.11 80.52-12.75l69.12-35.21a132.302 132.302 0 0 0 57.79-57.8l35.1-68.87c12.71-24.96 17.2-53.3 12.82-80.96zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},zn={prefix:"fas",iconName:"cookie-bite",icon:[512,512,[],"f564","M510.52 255.82c-69.97-.85-126.47-57.69-126.47-127.86-70.17 0-127-56.49-127.86-126.45-27.26-4.14-55.13.3-79.72 12.82l-69.13 35.22a132.221 132.221 0 0 0-57.79 57.81l-35.1 68.88a132.645 132.645 0 0 0-12.82 80.95l12.08 76.27a132.521 132.521 0 0 0 37.16 72.96l54.77 54.76a132.036 132.036 0 0 0 72.71 37.06l76.71 12.15c27.51 4.36 55.7-.11 80.53-12.76l69.13-35.21a132.273 132.273 0 0 0 57.79-57.81l35.1-68.88c12.56-24.64 17.01-52.58 12.91-79.91zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},jn={prefix:"fas",iconName:"copy",icon:[448,512,[],"f0c5","M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"]},Un={prefix:"fas",iconName:"copyright",icon:[512,512,[],"f1f9","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm117.134 346.753c-1.592 1.867-39.776 45.731-109.851 45.731-84.692 0-144.484-63.26-144.484-145.567 0-81.303 62.004-143.401 143.762-143.401 66.957 0 101.965 37.315 103.422 38.904a12 12 0 0 1 1.238 14.623l-22.38 34.655c-4.049 6.267-12.774 7.351-18.234 2.295-.233-.214-26.529-23.88-61.88-23.88-46.116 0-73.916 33.575-73.916 76.082 0 39.602 25.514 79.692 74.277 79.692 38.697 0 65.28-28.338 65.544-28.625 5.132-5.565 14.059-5.033 18.508 1.053l24.547 33.572a12.001 12.001 0 0 1-.553 14.866z"]},Gn={prefix:"fas",iconName:"couch",icon:[640,512,[],"f4b8","M160 224v64h320v-64c0-35.3 28.7-64 64-64h32c0-53-43-96-96-96H160c-53 0-96 43-96 96h32c35.3 0 64 28.7 64 64zm416-32h-32c-17.7 0-32 14.3-32 32v96H128v-96c0-17.7-14.3-32-32-32H64c-35.3 0-64 28.7-64 64 0 23.6 13 44 32 55.1V432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-16h384v16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V311.1c19-11.1 32-31.5 32-55.1 0-35.3-28.7-64-64-64z"]},Hn={prefix:"fas",iconName:"credit-card",icon:[576,512,[],"f09d","M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z"]},Wn={prefix:"fas",iconName:"crop",icon:[512,512,[],"f125","M488 352h-40V109.25l59.31-59.31c6.25-6.25 6.25-16.38 0-22.63L484.69 4.69c-6.25-6.25-16.38-6.25-22.63 0L402.75 64H192v96h114.75L160 306.75V24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v264c0 13.25 10.75 24 24 24h232v-96H205.25L352 205.25V488c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z"]},Xn={prefix:"fas",iconName:"crop-alt",icon:[512,512,[],"f565","M488 352h-40V96c0-17.67-14.33-32-32-32H192v96h160v328c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24zM160 24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v256c0 17.67 14.33 32 32 32h224v-96H160V24z"]},Yn={prefix:"fas",iconName:"cross",icon:[384,512,[],"f654","M352 128h-96V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h96v224c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V256h96c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"]},Qn={prefix:"fas",iconName:"crosshairs",icon:[512,512,[],"f05b","M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z"]},Kn={prefix:"fas",iconName:"crow",icon:[640,512,[],"f520","M544 32h-16.36C513.04 12.68 490.09 0 464 0c-44.18 0-80 35.82-80 80v20.98L12.09 393.57A30.216 30.216 0 0 0 0 417.74c0 22.46 23.64 37.07 43.73 27.03L165.27 384h96.49l44.41 120.1c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38L312.94 384H352c1.91 0 3.76-.23 5.66-.29l44.51 120.38c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38l-41.24-111.53C485.74 352.8 544 279.26 544 192v-80l96-16c0-35.35-42.98-64-96-64zm-80 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},Zn={prefix:"fas",iconName:"crown",icon:[640,512,[],"f521","M528 448H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm64-320c-26.5 0-48 21.5-48 48 0 7.1 1.6 13.7 4.4 19.8L476 239.2c-15.4 9.2-35.3 4-44.2-11.6L350.3 85C361 76.2 368 63 368 48c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 15 7 28.2 17.7 37l-81.5 142.6c-8.9 15.6-28.9 20.8-44.2 11.6l-72.3-43.4c2.7-6 4.4-12.7 4.4-19.8 0-26.5-21.5-48-48-48S0 149.5 0 176s21.5 48 48 48c2.6 0 5.2-.4 7.7-.8L128 416h384l72.3-192.8c2.5.4 5.1.8 7.7.8 26.5 0 48-21.5 48-48s-21.5-48-48-48z"]},qn={prefix:"fas",iconName:"cube",icon:[512,512,[],"f1b2","M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"]},Jn={prefix:"fas",iconName:"cubes",icon:[512,512,[],"f1b3","M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z"]},$n={prefix:"fas",iconName:"cut",icon:[448,512,[],"f0c4","M278.06 256L444.48 89.57c4.69-4.69 4.69-12.29 0-16.97-32.8-32.8-85.99-32.8-118.79 0L210.18 188.12l-24.86-24.86c4.31-10.92 6.68-22.81 6.68-35.26 0-53.02-42.98-96-96-96S0 74.98 0 128s42.98 96 96 96c4.54 0 8.99-.32 13.36-.93L142.29 256l-32.93 32.93c-4.37-.61-8.83-.93-13.36-.93-53.02 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96c0-12.45-2.37-24.34-6.68-35.26l24.86-24.86L325.69 439.4c32.8 32.8 85.99 32.8 118.79 0 4.69-4.68 4.69-12.28 0-16.97L278.06 256zM96 160c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32zm0 256c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z"]},ei={prefix:"fas",iconName:"database",icon:[448,512,[],"f1c0","M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z"]},ti={prefix:"fas",iconName:"deaf",icon:[512,512,[],"f2a4","M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm268.485-52.201L480.2 3.515c-4.687-4.686-12.284-4.686-16.971 0L376.2 90.544c-4.686 4.686-4.686 12.284 0 16.971l28.285 28.285c4.686 4.686 12.284 4.686 16.97 0l87.03-87.029c4.687-4.688 4.687-12.286 0-16.972zM168.97 314.745c-4.686-4.686-12.284-4.686-16.97 0L3.515 463.23c-4.686 4.686-4.686 12.284 0 16.971L31.8 508.485c4.687 4.686 12.284 4.686 16.971 0L197.256 360c4.686-4.686 4.686-12.284 0-16.971l-28.286-28.284z"]},ni={prefix:"fas",iconName:"desktop",icon:[576,512,[],"f108","M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z"]},ii={prefix:"fas",iconName:"dharmachakra",icon:[512,512,[],"f655","M495 225.06l-17.22 1.08c-5.27-39.49-20.79-75.64-43.86-105.84l12.95-11.43c6.92-6.11 7.25-16.79.73-23.31L426.44 64.4c-6.53-6.53-17.21-6.19-23.31.73L391.7 78.07c-30.2-23.06-66.35-38.58-105.83-43.86L286.94 17c.58-9.21-6.74-17-15.97-17h-29.94c-9.23 0-16.54 7.79-15.97 17l1.08 17.22c-39.49 5.27-75.64 20.79-105.83 43.86l-11.43-12.95c-6.11-6.92-16.79-7.25-23.31-.73L64.4 85.56c-6.53 6.53-6.19 17.21.73 23.31l12.95 11.43c-23.06 30.2-38.58 66.35-43.86 105.84L17 225.06c-9.21-.58-17 6.74-17 15.97v29.94c0 9.23 7.79 16.54 17 15.97l17.22-1.08c5.27 39.49 20.79 75.64 43.86 105.83l-12.95 11.43c-6.92 6.11-7.25 16.79-.73 23.31l21.17 21.17c6.53 6.53 17.21 6.19 23.31-.73l11.43-12.95c30.2 23.06 66.35 38.58 105.84 43.86L225.06 495c-.58 9.21 6.74 17 15.97 17h29.94c9.23 0 16.54-7.79 15.97-17l-1.08-17.22c39.49-5.27 75.64-20.79 105.84-43.86l11.43 12.95c6.11 6.92 16.79 7.25 23.31.73l21.17-21.17c6.53-6.53 6.19-17.21-.73-23.31l-12.95-11.43c23.06-30.2 38.58-66.35 43.86-105.83l17.22 1.08c9.21.58 17-6.74 17-15.97v-29.94c-.01-9.23-7.8-16.54-17.01-15.97zM281.84 98.61c24.81 4.07 47.63 13.66 67.23 27.78l-42.62 48.29c-8.73-5.44-18.32-9.54-28.62-11.95l4.01-64.12zm-51.68 0l4.01 64.12c-10.29 2.41-19.89 6.52-28.62 11.95l-42.62-48.29c19.6-14.12 42.42-23.71 67.23-27.78zm-103.77 64.33l48.3 42.61c-5.44 8.73-9.54 18.33-11.96 28.62l-64.12-4.01c4.07-24.81 13.66-47.62 27.78-67.22zm-27.78 118.9l64.12-4.01c2.41 10.29 6.52 19.89 11.95 28.62l-48.29 42.62c-14.12-19.6-23.71-42.42-27.78-67.23zm131.55 131.55c-24.81-4.07-47.63-13.66-67.23-27.78l42.61-48.3c8.73 5.44 18.33 9.54 28.62 11.96l-4 64.12zM256 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm25.84 125.39l-4.01-64.12c10.29-2.41 19.89-6.52 28.62-11.96l42.61 48.3c-19.6 14.12-42.41 23.71-67.22 27.78zm103.77-64.33l-48.29-42.62c5.44-8.73 9.54-18.32 11.95-28.62l64.12 4.01c-4.07 24.82-13.66 47.64-27.78 67.23zm-36.34-114.89c-2.41-10.29-6.52-19.89-11.96-28.62l48.3-42.61c14.12 19.6 23.71 42.42 27.78 67.23l-64.12 4z"]},ri={prefix:"fas",iconName:"diagnoses",icon:[640,512,[],"f470","M496 256c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm-176-80c48.5 0 88-39.5 88-88S368.5 0 320 0s-88 39.5-88 88 39.5 88 88 88zM59.8 364c10.2 15.3 29.3 17.8 42.9 9.8 16.2-9.6 56.2-31.7 105.3-48.6V416h224v-90.7c49.1 16.8 89.1 39 105.3 48.6 13.6 8 32.7 5.3 42.9-9.8l17.8-26.7c8.8-13.2 7.6-34.6-10-45.1-11.9-7.1-29.7-17-51.1-27.4-28.1 46.1-99.4 17.8-87.7-35.1C409.3 217.2 365.1 208 320 208c-57 0-112.9 14.5-160 32.2-.2 40.2-47.6 63.3-79.2 36-11.2 6-21.3 11.6-28.7 16-17.6 10.5-18.8 31.8-10 45.1L59.8 364zM368 344c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-160 8c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm512 192H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"]},oi={prefix:"fas",iconName:"dice",icon:[640,512,[],"f522","M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},ai={prefix:"fas",iconName:"dice-d20",icon:[480,512,[],"f6cf","M106.75 215.06L1.2 370.95c-3.08 5 .1 11.5 5.93 12.14l208.26 22.07-108.64-190.1zM7.41 315.43L82.7 193.08 6.06 147.1c-2.67-1.6-6.06.32-6.06 3.43v162.81c0 4.03 5.29 5.53 7.41 2.09zM18.25 423.6l194.4 87.66c5.3 2.45 11.35-1.43 11.35-7.26v-65.67l-203.55-22.3c-4.45-.5-6.23 5.59-2.2 7.57zm81.22-257.78L179.4 22.88c4.34-7.06-3.59-15.25-10.78-11.14L17.81 110.35c-2.47 1.62-2.39 5.26.13 6.78l81.53 48.69zM240 176h109.21L253.63 7.62C250.5 2.54 245.25 0 240 0s-10.5 2.54-13.63 7.62L130.79 176H240zm233.94-28.9l-76.64 45.99 75.29 122.35c2.11 3.44 7.41 1.94 7.41-2.1V150.53c0-3.11-3.39-5.03-6.06-3.43zm-93.41 18.72l81.53-48.7c2.53-1.52 2.6-5.16.13-6.78l-150.81-98.6c-7.19-4.11-15.12 4.08-10.78 11.14l79.93 142.94zm79.02 250.21L256 438.32v65.67c0 5.84 6.05 9.71 11.35 7.26l194.4-87.66c4.03-1.97 2.25-8.06-2.2-7.56zm-86.3-200.97l-108.63 190.1 208.26-22.07c5.83-.65 9.01-7.14 5.93-12.14L373.25 215.06zM240 208H139.57L240 383.75 340.43 208H240z"]},si={prefix:"fas",iconName:"dice-d6",icon:[448,512,[],"f6d1","M422.19 109.95L256.21 9.07c-19.91-12.1-44.52-12.1-64.43 0L25.81 109.95c-5.32 3.23-5.29 11.27.06 14.46L224 242.55l198.14-118.14c5.35-3.19 5.38-11.22.05-14.46zm13.84 44.63L240 271.46v223.82c0 12.88 13.39 20.91 24.05 14.43l152.16-92.48c19.68-11.96 31.79-33.94 31.79-57.7v-197.7c0-6.41-6.64-10.43-11.97-7.25zM0 161.83v197.7c0 23.77 12.11 45.74 31.79 57.7l152.16 92.47c10.67 6.48 24.05-1.54 24.05-14.43V271.46L11.97 154.58C6.64 151.4 0 155.42 0 161.83z"]},ci={prefix:"fas",iconName:"dice-five",icon:[448,512,[],"f523","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},li={prefix:"fas",iconName:"dice-four",icon:[448,512,[],"f524","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},ui={prefix:"fas",iconName:"dice-one",icon:[448,512,[],"f525","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM224 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},pi={prefix:"fas",iconName:"dice-six",icon:[448,512,[],"f526","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},hi={prefix:"fas",iconName:"dice-three",icon:[448,512,[],"f527","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},di={prefix:"fas",iconName:"dice-two",icon:[448,512,[],"f528","M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},fi={prefix:"fas",iconName:"digital-tachograph",icon:[640,512,[],"f566","M608 96H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128c0-17.67-14.33-32-32-32zM304 352c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8zM72 288v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H80c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm40-64c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-48c0-8.84 7.16-16 16-16h208c8.84 0 16 7.16 16 16v48zm272 128c0 4.42-3.58 8-8 8H344c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8z"]},_i={prefix:"fas",iconName:"directions",icon:[512,512,[],"f5eb","M502.61 233.32L278.68 9.39c-12.52-12.52-32.83-12.52-45.36 0L9.39 233.32c-12.52 12.53-12.52 32.83 0 45.36l223.93 223.93c12.52 12.53 32.83 12.53 45.36 0l223.93-223.93c12.52-12.53 12.52-32.83 0-45.36zm-100.98 12.56l-84.21 77.73c-5.12 4.73-13.43 1.1-13.43-5.88V264h-96v64c0 4.42-3.58 8-8 8h-32c-4.42 0-8-3.58-8-8v-80c0-17.67 14.33-32 32-32h112v-53.73c0-6.97 8.3-10.61 13.43-5.88l84.21 77.73c3.43 3.17 3.43 8.59 0 11.76z"]},mi={prefix:"fas",iconName:"divide",icon:[448,512,[],"f529","M224 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm0-192c35.35 0 64-28.65 64-64s-28.65-64-64-64-64 28.65-64 64 28.65 64 64 64zm192 48H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},bi={prefix:"fas",iconName:"dizzy",icon:[496,512,[],"f567","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-96 206.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L174.6 192l28.7 28.7c15.2 15.2-7.9 37.4-22.6 22.6L152 214.6zM248 416c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm147.3-195.3c15.2 15.2-7.9 37.4-22.6 22.6L344 214.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L366.6 192l28.7 28.7z"]},gi={prefix:"fas",iconName:"dna",icon:[448,512,[],"f471","M.1 494.1c-1.1 9.5 6.3 17.8 15.9 17.8l32.3.1c8.1 0 14.9-5.9 16-13.9.7-4.9 1.8-11.1 3.4-18.1H380c1.6 6.9 2.9 13.2 3.5 18.1 1.1 8 7.9 14 16 13.9l32.3-.1c9.6 0 17.1-8.3 15.9-17.8-4.6-37.9-25.6-129-118.9-207.7-17.6 12.4-37.1 24.2-58.5 35.4 6.2 4.6 11.4 9.4 17 14.2H159.7c21.3-18.1 47-35.6 78.7-51.4C410.5 199.1 442.1 65.8 447.9 17.9 449 8.4 441.6.1 432 .1L399.6 0c-8.1 0-14.9 5.9-16 13.9-.7 4.9-1.8 11.1-3.4 18.1H67.8c-1.6-7-2.7-13.1-3.4-18.1-1.1-8-7.9-14-16-13.9L16.1.1C6.5.1-1 8.4.1 17.9 5.3 60.8 31.4 171.8 160 256 31.5 340.2 5.3 451.2.1 494.1zM224 219.6c-25.1-13.7-46.4-28.4-64.3-43.6h128.5c-17.8 15.2-39.1 30-64.2 43.6zM355.1 96c-5.8 10.4-12.8 21.1-21 32H114c-8.3-10.9-15.3-21.6-21-32h262.1zM92.9 416c5.8-10.4 12.8-21.1 21-32h219.4c8.3 10.9 15.4 21.6 21.2 32H92.9z"]},vi={prefix:"fas",iconName:"dog",icon:[512,512,[],"f6d3","M496 96h-64l-7.16-14.31A32 32 0 0 0 396.22 64H342.6l-27.28-27.28C305.23 26.64 288 33.78 288 48.03v149.84l128 45.71V208h32c35.35 0 64-28.65 64-64v-32c0-8.84-7.16-16-16-16zm-112 48c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zM96 224c-17.64 0-32-14.36-32-32 0-17.67-14.33-32-32-32S0 174.33 0 192c0 41.66 26.83 76.85 64 90.1V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V384h160v112c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V277.55L266.05 224H96z"]},yi={prefix:"fas",iconName:"dollar-sign",icon:[288,512,[],"f155","M209.2 233.4l-108-31.6C88.7 198.2 80 186.5 80 173.5c0-16.3 13.2-29.5 29.5-29.5h66.3c12.2 0 24.2 3.7 34.2 10.5 6.1 4.1 14.3 3.1 19.5-2l34.8-34c7.1-6.9 6.1-18.4-1.8-24.5C238 74.8 207.4 64.1 176 64V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48h-2.5C45.8 64-5.4 118.7.5 183.6c4.2 46.1 39.4 83.6 83.8 96.6l102.5 30c12.5 3.7 21.2 15.3 21.2 28.3 0 16.3-13.2 29.5-29.5 29.5h-66.3C100 368 88 364.3 78 357.5c-6.1-4.1-14.3-3.1-19.5 2l-34.8 34c-7.1 6.9-6.1 18.4 1.8 24.5 24.5 19.2 55.1 29.9 86.5 30v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48.2c46.6-.9 90.3-28.6 105.7-72.7 21.5-61.6-14.6-124.8-72.5-141.7z"]},Ci={prefix:"fas",iconName:"dolly",icon:[576,512,[],"f472","M294.2 277.7c18 5 34.7 13.4 49.5 24.7l161.5-53.8c8.4-2.8 12.9-11.9 10.1-20.2L454.9 47.2c-2.8-8.4-11.9-12.9-20.2-10.1l-61.1 20.4 33.1 99.4L346 177l-33.1-99.4-61.6 20.5c-8.4 2.8-12.9 11.9-10.1 20.2l53 159.4zm281 48.7L565 296c-2.8-8.4-11.9-12.9-20.2-10.1l-213.5 71.2c-17.2-22-43.6-36.4-73.5-37L158.4 21.9C154 8.8 141.8 0 128 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h88.9l92.2 276.7c-26.1 20.4-41.7 53.6-36 90.5 6.1 39.4 37.9 72.3 77.3 79.2 60.2 10.7 112.3-34.8 113.4-92.6l213.3-71.2c8.3-2.8 12.9-11.8 10.1-20.2zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"]},Ai={prefix:"fas",iconName:"dolly-flatbed",icon:[640,512,[],"f474","M208 320h384c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H448v128l-48-32-48 32V32H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm416 64H128V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h82.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"]},xi={prefix:"fas",iconName:"donate",icon:[512,512,[],"f4b9","M256 416c114.9 0 208-93.1 208-208S370.9 0 256 0 48 93.1 48 208s93.1 208 208 208zM233.8 97.4V80.6c0-9.2 7.4-16.6 16.6-16.6h11.1c9.2 0 16.6 7.4 16.6 16.6v17c15.5.8 30.5 6.1 43 15.4 5.6 4.1 6.2 12.3 1.2 17.1L306 145.6c-3.8 3.7-9.5 3.8-14 1-5.4-3.4-11.4-5.1-17.8-5.1h-38.9c-9 0-16.3 8.2-16.3 18.3 0 8.2 5 15.5 12.1 17.6l62.3 18.7c25.7 7.7 43.7 32.4 43.7 60.1 0 34-26.4 61.5-59.1 62.4v16.8c0 9.2-7.4 16.6-16.6 16.6h-11.1c-9.2 0-16.6-7.4-16.6-16.6v-17c-15.5-.8-30.5-6.1-43-15.4-5.6-4.1-6.2-12.3-1.2-17.1l16.3-15.5c3.8-3.7 9.5-3.8 14-1 5.4 3.4 11.4 5.1 17.8 5.1h38.9c9 0 16.3-8.2 16.3-18.3 0-8.2-5-15.5-12.1-17.6l-62.3-18.7c-25.7-7.7-43.7-32.4-43.7-60.1.1-34 26.4-61.5 59.1-62.4zM480 352h-32.5c-19.6 26-44.6 47.7-73 64h63.8c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8h63.8c-28.4-16.3-53.3-38-73-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32z"]},Si={prefix:"fas",iconName:"door-closed",icon:[640,512,[],"f52a","M624 448H512V50.8C512 22.78 490.47 0 464 0H175.99c-26.47 0-48 22.78-48 50.8V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM415.99 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32c.01 17.67-14.32 32-32 32z"]},Ti={prefix:"fas",iconName:"door-open",icon:[640,512,[],"f52b","M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z"]},Ei={prefix:"fas",iconName:"dot-circle",icon:[512,512,[],"f192","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z"]},Pi={prefix:"fas",iconName:"dove",icon:[512,512,[],"f4ba","M288 167.2v-28.1c-28.2-36.3-47.1-79.3-54.1-125.2-2.1-13.5-19-18.8-27.8-8.3-21.1 24.9-37.7 54.1-48.9 86.5 34.2 38.3 80 64.6 130.8 75.1zM400 64c-44.2 0-80 35.9-80 80.1v59.4C215.6 197.3 127 133 87 41.8c-5.5-12.5-23.2-13.2-29-.9C41.4 76 32 115.2 32 156.6c0 70.8 34.1 136.9 85.1 185.9 13.2 12.7 26.1 23.2 38.9 32.8l-143.9 36C1.4 414-3.4 426.4 2.6 435.7 20 462.6 63 508.2 155.8 512c8 .3 16-2.6 22.1-7.9l65.2-56.1H320c88.4 0 160-71.5 160-159.9V128l32-64H400zm0 96.1c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"]},Oi={prefix:"fas",iconName:"download",icon:[512,512,[],"f019","M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},Mi={prefix:"fas",iconName:"drafting-compass",icon:[512,512,[],"f568","M457.01 344.42c-25.05 20.33-52.63 37.18-82.54 49.05l54.38 94.19 53.95 23.04c9.81 4.19 20.89-2.21 22.17-12.8l7.02-58.25-54.98-95.23zm42.49-94.56c4.86-7.67 1.89-17.99-6.05-22.39l-28.07-15.57c-7.48-4.15-16.61-1.46-21.26 5.72C403.01 281.15 332.25 320 256 320c-23.93 0-47.23-4.25-69.41-11.53l67.36-116.68c.7.02 1.34.21 2.04.21s1.35-.19 2.04-.21l51.09 88.5c31.23-8.96 59.56-25.75 82.61-48.92l-51.79-89.71C347.39 128.03 352 112.63 352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96c0 16.63 4.61 32.03 12.05 45.66l-68.3 118.31c-12.55-11.61-23.96-24.59-33.68-39-4.79-7.1-13.97-9.62-21.38-5.33l-27.75 16.07c-7.85 4.54-10.63 14.9-5.64 22.47 15.57 23.64 34.69 44.21 55.98 62.02L0 439.66l7.02 58.25c1.28 10.59 12.36 16.99 22.17 12.8l53.95-23.04 70.8-122.63C186.13 377.28 220.62 384 256 384c99.05 0 190.88-51.01 243.5-134.14zM256 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32z"]},Ri={prefix:"fas",iconName:"dragon",icon:[640,512,[],"f6d5","M18.32 255.78L192 223.96l-91.28 68.69c-10.08 10.08-2.94 27.31 11.31 27.31h222.7c-9.44-26.4-14.73-54.47-14.73-83.38v-42.27l-119.73-87.6c-23.82-15.88-55.29-14.01-77.06 4.59L5.81 227.64c-12.38 10.33-3.45 30.42 12.51 28.14zm556.87 34.1l-100.66-50.31A47.992 47.992 0 0 1 448 196.65v-36.69h64l28.09 22.63c6 6 14.14 9.37 22.63 9.37h30.97a32 32 0 0 0 28.62-17.69l14.31-28.62a32.005 32.005 0 0 0-3.02-33.51l-74.53-99.38C553.02 4.7 543.54 0 533.47 0H296.02c-7.13 0-10.7 8.57-5.66 13.61L352 63.96 292.42 88.8c-5.9 2.95-5.9 11.36 0 14.31L352 127.96v108.62c0 72.08 36.03 139.39 96 179.38-195.59 6.81-344.56 41.01-434.1 60.91C5.78 478.67 0 485.88 0 494.2 0 504 7.95 512 17.76 512h499.08c63.29.01 119.61-47.56 122.99-110.76 2.52-47.28-22.73-90.4-64.64-111.36zM489.18 66.25l45.65 11.41c-2.75 10.91-12.47 18.89-24.13 18.26-12.96-.71-25.85-12.53-21.52-29.67z"]},Ii={prefix:"fas",iconName:"draw-polygon",icon:[448,512,[],"f5ee","M384 352c-.35 0-.67.1-1.02.1l-39.2-65.32c5.07-9.17 8.22-19.56 8.22-30.78s-3.14-21.61-8.22-30.78l39.2-65.32c.35.01.67.1 1.02.1 35.35 0 64-28.65 64-64s-28.65-64-64-64c-23.63 0-44.04 12.95-55.12 32H119.12C108.04 44.95 87.63 32 64 32 28.65 32 0 60.65 0 96c0 23.63 12.95 44.04 32 55.12v209.75C12.95 371.96 0 392.37 0 416c0 35.35 28.65 64 64 64 23.63 0 44.04-12.95 55.12-32h209.75c11.09 19.05 31.49 32 55.12 32 35.35 0 64-28.65 64-64 .01-35.35-28.64-64-63.99-64zm-288 8.88V151.12A63.825 63.825 0 0 0 119.12 128h208.36l-38.46 64.1c-.35-.01-.67-.1-1.02-.1-35.35 0-64 28.65-64 64s28.65 64 64 64c.35 0 .67-.1 1.02-.1l38.46 64.1H119.12A63.748 63.748 0 0 0 96 360.88zM272 256c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zM400 96c0 8.82-7.18 16-16 16s-16-7.18-16-16 7.18-16 16-16 16 7.18 16 16zM64 80c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zM48 416c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zm336 16c-8.82 0-16-7.18-16-16s7.18-16 16-16 16 7.18 16 16-7.18 16-16 16z"]},wi={prefix:"fas",iconName:"drum",icon:[576,512,[],"f569","M458.08 120.88l102.39-61.43c15.16-9.09 20.06-28.75 10.97-43.91C562.34.39 542.7-4.53 527.53 4.57l-160.69 96.41A629.32 629.32 0 0 0 288 96C128.94 96 0 153.31 0 224v160.83c0 30.46 24.03 58.4 64 80.37v-96.37c0-17.6 14.4-32 32-32s32 14.4 32 32v122.41c37.4 11.13 81 18.44 128 20.75V400.84c0-17.6 14.4-32 32-32s32 14.4 32 32V512c47-2.31 90.6-9.62 128-20.75V368.84c0-17.6 14.4-32 32-32s32 14.4 32 32v96.37c39.97-21.97 64-49.91 64-80.37V224.01c-.01-42.38-46.54-79.84-117.92-103.13zM288 304c-132.55 0-240-35.82-240-80s107.45-80 240-80c2.34 0 4.62.1 6.94.12l-87.41 52.44c-15.16 9.09-20.06 28.75-10.97 43.91 9.56 15.93 29.51 19.61 43.91 10.97l162.71-97.62C477.55 167.41 528 193.74 528 224.01 528 268.19 420.54 304 288 304z"]},Di={prefix:"fas",iconName:"drum-steelpan",icon:[576,512,[],"f56a","M288 32C128.94 32 0 89.31 0 160v192c0 70.69 128.94 128 288 128s288-57.31 288-128V160c0-70.69-128.94-128-288-128zm-82.99 158.36c-4.45 16.61-14.54 30.57-28.31 40.48C100.23 217.46 48 190.78 48 160c0-30.16 50.11-56.39 124.04-70.03l25.6 44.34c9.86 17.09 12.48 36.99 7.37 56.05zM288 240c-21.08 0-41.41-1-60.89-2.7 8.06-26.13 32.15-45.3 60.89-45.3s52.83 19.17 60.89 45.3C329.41 239 309.08 240 288 240zm64-144c0 35.29-28.71 64-64 64s-64-28.71-64-64V82.96c20.4-1.88 41.8-2.96 64-2.96s43.6 1.08 64 2.96V96zm46.93 134.9c-13.81-9.91-23.94-23.9-28.4-40.54-5.11-19.06-2.49-38.96 7.38-56.04l25.65-44.42C477.72 103.5 528 129.79 528 160c0 30.83-52.4 57.54-129.07 70.9z"]},Li={prefix:"fas",iconName:"drumstick-bite",icon:[512,512,[],"f6d7","M462.79 49.57c-66.14-66.09-173.36-66.09-239.5 0C187.81 85.02 160.12 128 160.12 192v85.83l-40.62 40.59c-9.7 9.69-24.04 11.07-36.78 5.98-21.72-8.68-47.42-4.29-65.02 13.29-23.61 23.59-23.61 61.84 0 85.43 15.28 15.27 36.53 19.58 56.14 15.09-4.5 19.6-.18 40.83 15.1 56.1 23.61 23.59 61.88 23.59 85.49 0 17.6-17.58 21.99-43.26 13.31-64.97-5.09-12.73-3.72-27.05 5.99-36.75L234.35 352h85.89c23.2 0 43.57-3.72 61.89-10.03-39.64-43.89-39.83-110.23 1.05-151.07 34.38-34.36 86.76-39.46 128.74-16.8 1.3-44.93-14.81-90.25-49.13-124.53z"]},Ni={prefix:"fas",iconName:"dumbbell",icon:[640,512,[],"f44b","M104 96H56c-13.3 0-24 10.7-24 24v104H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm528 128h-24V120c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM456 32h-48c-13.3 0-24 10.7-24 24v168H256V56c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h128v168c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24z"]},Fi={prefix:"fas",iconName:"dungeon",icon:[512,512,[],"f6d9","M128.73 195.32l-82.81-51.76c-8.04-5.02-18.99-2.17-22.93 6.45A254.19 254.19 0 0 0 .54 239.28C-.05 248.37 7.59 256 16.69 256h97.13c7.96 0 14.08-6.25 15.01-14.16 1.09-9.33 3.24-18.33 6.24-26.94 2.56-7.34.25-15.46-6.34-19.58zM319.03 8C298.86 2.82 277.77 0 256 0s-42.86 2.82-63.03 8c-9.17 2.35-13.91 12.6-10.39 21.39l37.47 104.03A16.003 16.003 0 0 0 235.1 144h41.8c6.75 0 12.77-4.23 15.05-10.58l37.47-104.03c3.52-8.79-1.22-19.03-10.39-21.39zM112 288H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm77.31-283.67l-36.32-90.8c-3.53-8.83-14.13-12.99-22.42-8.31a257.308 257.308 0 0 0-71.61 59.89c-6.06 7.32-3.85 18.48 4.22 23.52l82.93 51.83c6.51 4.07 14.66 2.62 20.11-2.79 5.18-5.15 10.79-9.85 16.79-14.05 6.28-4.41 9.15-12.17 6.3-19.29zM398.18 256h97.13c9.1 0 16.74-7.63 16.15-16.72a254.135 254.135 0 0 0-22.45-89.27c-3.94-8.62-14.89-11.47-22.93-6.45l-82.81 51.76c-6.59 4.12-8.9 12.24-6.34 19.58 3.01 8.61 5.15 17.62 6.24 26.94.93 7.91 7.05 14.16 15.01 14.16zm54.85-162.89a257.308 257.308 0 0 0-71.61-59.89c-8.28-4.68-18.88-.52-22.42 8.31l-36.32 90.8c-2.85 7.12.02 14.88 6.3 19.28 6 4.2 11.61 8.9 16.79 14.05 5.44 5.41 13.6 6.86 20.11 2.79l82.93-51.83c8.07-5.03 10.29-16.19 4.22-23.51zM496 288h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zM240 177.62V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V177.62c-5.23-.89-10.52-1.62-16-1.62s-10.77.73-16 1.62zm-64 41.51V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V189.36c-12.78 7.45-23.84 17.47-32 29.77zm128-29.77V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V219.13c-8.16-12.3-19.22-22.32-32-29.77z"]},Bi={prefix:"fas",iconName:"edit",icon:[576,512,[],"f044","M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z"]},ki={prefix:"fas",iconName:"eject",icon:[448,512,[],"f052","M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z"]},Vi={prefix:"fas",iconName:"ellipsis-h",icon:[512,512,[],"f141","M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z"]},zi={prefix:"fas",iconName:"ellipsis-v",icon:[192,512,[],"f142","M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z"]},ji={prefix:"fas",iconName:"envelope",icon:[512,512,[],"f0e0","M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"]},Ui={prefix:"fas",iconName:"envelope-open",icon:[512,512,[],"f2b6","M512 464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V200.724a48 48 0 0 1 18.387-37.776c24.913-19.529 45.501-35.365 164.2-121.511C199.412 29.17 232.797-.347 256 .003c23.198-.354 56.596 29.172 73.413 41.433 118.687 86.137 139.303 101.995 164.2 121.512A48 48 0 0 1 512 200.724V464zm-65.666-196.605c-2.563-3.728-7.7-4.595-11.339-1.907-22.845 16.873-55.462 40.705-105.582 77.079-16.825 12.266-50.21 41.781-73.413 41.43-23.211.344-56.559-29.143-73.413-41.43-50.114-36.37-82.734-60.204-105.582-77.079-3.639-2.688-8.776-1.821-11.339 1.907l-9.072 13.196a7.998 7.998 0 0 0 1.839 10.967c22.887 16.899 55.454 40.69 105.303 76.868 20.274 14.781 56.524 47.813 92.264 47.573 35.724.242 71.961-32.771 92.263-47.573 49.85-36.179 82.418-59.97 105.303-76.868a7.998 7.998 0 0 0 1.839-10.967l-9.071-13.196z"]},Gi={prefix:"fas",iconName:"envelope-open-text",icon:[512,512,[],"f658","M176 216h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16zm-16 80c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16zm96 121.13c-16.42 0-32.84-5.06-46.86-15.19L0 250.86V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V250.86L302.86 401.94c-14.02 10.12-30.44 15.19-46.86 15.19zm237.61-254.18c-8.85-6.94-17.24-13.47-29.61-22.81V96c0-26.51-21.49-48-48-48h-77.55c-3.04-2.2-5.87-4.26-9.04-6.56C312.6 29.17 279.2-.35 256 0c-23.2-.35-56.59 29.17-73.41 41.44-3.17 2.3-6 4.36-9.04 6.56H96c-26.51 0-48 21.49-48 48v44.14c-12.37 9.33-20.76 15.87-29.61 22.81A47.995 47.995 0 0 0 0 200.72v10.65l96 69.35V96h320v184.72l96-69.35v-10.65c0-14.74-6.78-28.67-18.39-37.77z"]},Hi={prefix:"fas",iconName:"envelope-square",icon:[448,512,[],"f199","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z"]},Wi={prefix:"fas",iconName:"equals",icon:[448,512,[],"f52c","M416 304H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32zm0-192H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},Xi={prefix:"fas",iconName:"eraser",icon:[512,512,[],"f12d","M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z"]},Yi={prefix:"fas",iconName:"euro-sign",icon:[320,512,[],"f153","M310.706 413.765c-1.314-6.63-7.835-10.872-14.424-9.369-10.692 2.439-27.422 5.413-45.426 5.413-56.763 0-101.929-34.79-121.461-85.449h113.689a12 12 0 0 0 11.708-9.369l6.373-28.36c1.686-7.502-4.019-14.631-11.708-14.631H115.22c-1.21-14.328-1.414-28.287.137-42.245H261.95a12 12 0 0 0 11.723-9.434l6.512-29.755c1.638-7.484-4.061-14.566-11.723-14.566H130.184c20.633-44.991 62.69-75.03 117.619-75.03 14.486 0 28.564 2.25 37.851 4.145 6.216 1.268 12.347-2.498 14.002-8.623l11.991-44.368c1.822-6.741-2.465-13.616-9.326-14.917C290.217 34.912 270.71 32 249.635 32 152.451 32 74.03 92.252 45.075 176H12c-6.627 0-12 5.373-12 12v29.755c0 6.627 5.373 12 12 12h21.569c-1.009 13.607-1.181 29.287-.181 42.245H12c-6.627 0-12 5.373-12 12v28.36c0 6.627 5.373 12 12 12h30.114C67.139 414.692 145.264 480 249.635 480c26.301 0 48.562-4.544 61.101-7.788 6.167-1.595 10.027-7.708 8.788-13.957l-8.818-44.49z"]},Qi={prefix:"fas",iconName:"exchange-alt",icon:[512,512,[],"f362","M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z"]},Ki={prefix:"fas",iconName:"exclamation",icon:[192,512,[],"f12a","M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"]},Zi={prefix:"fas",iconName:"exclamation-circle",icon:[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},qi={prefix:"fas",iconName:"exclamation-triangle",icon:[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},Ji={prefix:"fas",iconName:"expand",icon:[448,512,[],"f065","M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"]},$i={prefix:"fas",iconName:"expand-arrows-alt",icon:[448,512,[],"f31e","M448.1 344v112c0 13.3-10.7 24-24 24h-112c-21.4 0-32.1-25.9-17-41l36.2-36.2L224 295.6 116.8 402.9 153 439c15.1 15.1 4.4 41-17 41H24c-13.3 0-24-10.7-24-24V344c0-21.4 25.9-32.1 41-17l36.2 36.2L184.5 256 77.2 148.7 41 185c-15.1 15.1-41 4.4-41-17V56c0-13.3 10.7-24 24-24h112c21.4 0 32.1 25.9 17 41l-36.2 36.2L224 216.4l107.3-107.3L295.1 73c-15.1-15.1-4.4-41 17-41h112c13.3 0 24 10.7 24 24v112c0 21.4-25.9 32.1-41 17l-36.2-36.2L263.6 256l107.3 107.3 36.2-36.2c15.1-15.2 41-4.5 41 16.9z"]},er={prefix:"fas",iconName:"external-link-alt",icon:[576,512,[],"f35d","M576 24v127.984c0 21.461-25.96 31.98-40.971 16.971l-35.707-35.709-243.523 243.523c-9.373 9.373-24.568 9.373-33.941 0l-22.627-22.627c-9.373-9.373-9.373-24.569 0-33.941L442.756 76.676l-35.703-35.705C391.982 25.9 402.656 0 424.024 0H552c13.255 0 24 10.745 24 24zM407.029 270.794l-16 16A23.999 23.999 0 0 0 384 303.765V448H64V128h264a24.003 24.003 0 0 0 16.97-7.029l16-16C376.089 89.851 365.381 64 344 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V287.764c0-21.382-25.852-32.09-40.971-16.97z"]},tr={prefix:"fas",iconName:"external-link-square-alt",icon:[448,512,[],"f360","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-88 16H248.029c-21.313 0-32.08 25.861-16.971 40.971l31.984 31.987L67.515 364.485c-4.686 4.686-4.686 12.284 0 16.971l31.029 31.029c4.687 4.686 12.285 4.686 16.971 0l195.526-195.526 31.988 31.991C358.058 263.977 384 253.425 384 231.979V120c0-13.255-10.745-24-24-24z"]},nr={prefix:"fas",iconName:"eye",icon:[576,512,[],"f06e","M569.354 231.631C512.969 135.949 407.81 72 288 72 168.14 72 63.004 135.994 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.031 376.051 168.19 440 288 440c119.86 0 224.996-63.994 281.354-159.631a47.997 47.997 0 0 0 0-48.738zM288 392c-75.162 0-136-60.827-136-136 0-75.162 60.826-136 136-136 75.162 0 136 60.826 136 136 0 75.162-60.826 136-136 136zm104-136c0 57.438-46.562 104-104 104s-104-46.562-104-104c0-17.708 4.431-34.379 12.236-48.973l-.001.032c0 23.651 19.173 42.823 42.824 42.823s42.824-19.173 42.824-42.823c0-23.651-19.173-42.824-42.824-42.824l-.032.001C253.621 156.431 270.292 152 288 152c57.438 0 104 46.562 104 104z"]},ir={prefix:"fas",iconName:"eye-dropper",icon:[512,512,[],"f1fb","M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z"]},rr={prefix:"fas",iconName:"eye-slash",icon:[576,512,[],"f070","M286.693 391.984l32.579 46.542A333.958 333.958 0 0 1 288 440C168.19 440 63.031 376.051 6.646 280.369a47.999 47.999 0 0 1 0-48.739c24.023-40.766 56.913-75.775 96.024-102.537l57.077 81.539C154.736 224.82 152 240.087 152 256c0 74.736 60.135 135.282 134.693 135.984zm282.661-111.615c-31.667 53.737-78.747 97.46-135.175 125.475l.011.015 41.47 59.2c7.6 10.86 4.96 25.82-5.9 33.42l-13.11 9.18c-10.86 7.6-25.82 4.96-33.42-5.9L100.34 46.94c-7.6-10.86-4.96-25.82 5.9-33.42l13.11-9.18c10.86-7.6 25.82-4.96 33.42 5.9l51.038 72.617C230.68 75.776 258.905 72 288 72c119.81 0 224.969 63.949 281.354 159.631a48.002 48.002 0 0 1 0 48.738zM424 256c0-75.174-60.838-136-136-136-17.939 0-35.056 3.473-50.729 9.772l19.299 27.058c25.869-8.171 55.044-6.163 80.4 7.41h-.03c-23.65 0-42.82 19.17-42.82 42.82 0 23.626 19.147 42.82 42.82 42.82 23.65 0 42.82-19.17 42.82-42.82v-.03c18.462 34.49 16.312 77.914-8.25 110.95v.01l19.314 27.061C411.496 321.2 424 290.074 424 256zM262.014 356.727l-77.53-110.757c-5.014 52.387 29.314 98.354 77.53 110.757z"]},or={prefix:"fas",iconName:"fast-backward",icon:[512,512,[],"f049","M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z"]},ar={prefix:"fas",iconName:"fast-forward",icon:[512,512,[],"f050","M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z"]},sr={prefix:"fas",iconName:"fax",icon:[512,512,[],"f1ac","M64 128H32c-17.67 0-32 14.33-32 32v320c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32zm416 32V77.25c0-8.49-3.37-16.62-9.37-22.63L425.37 9.37c-6-6-14.14-9.37-22.63-9.37H160c-17.67 0-32 14.33-32 32v448c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32V192c0-17.67-14.33-32-32-32zM288 432c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v32zm0-128c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v32zm128 128c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v32zm0-128c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v32zm16-112H176V48h208v32c0 8.84 7.16 16 16 16h32v96z"]},cr={prefix:"fas",iconName:"feather",icon:[512,512,[],"f52d","M467.14 44.84c-62.55-62.48-161.67-64.78-252.28 25.73-78.61 78.52-60.98 60.92-85.75 85.66-60.46 60.39-70.39 150.83-63.64 211.17l178.44-178.25c6.26-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.6 9.37 33.98 0l66.1-66.03C159.42 454.65 279 457.11 353.95 384h-98.19l147.57-49.14c49.99-49.93 36.38-36.18 46.31-46.86h-97.78l131.54-43.8c45.44-74.46 34.31-148.84-16.26-199.36z"]},lr={prefix:"fas",iconName:"feather-alt",icon:[512,512,[],"f56b","M512 0C460.22 3.56 96.44 38.2 71.01 287.61c-3.09 26.66-4.84 53.44-5.99 80.24l178.87-178.69c6.25-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.59 9.37 33.98 0l57.13-57.07c42.09-.14 84.15-2.53 125.96-7.36 53.48-5.44 97.02-26.47 132.58-56.54H255.74l146.79-48.88c11.25-14.89 21.37-30.71 30.45-47.12h-81.14l106.54-53.21C500.29 132.86 510.19 26.26 512 0z"]},ur={prefix:"fas",iconName:"female",icon:[256,512,[],"f182","M128 0c35.346 0 64 28.654 64 64s-28.654 64-64 64c-35.346 0-64-28.654-64-64S92.654 0 128 0m119.283 354.179l-48-192A24 24 0 0 0 176 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H80a24 24 0 0 0-23.283 18.179l-48 192C4.935 369.305 16.383 384 32 384h56v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V384h56c15.591 0 27.071-14.671 23.283-29.821z"]},pr={prefix:"fas",iconName:"fighter-jet",icon:[640,512,[],"f0fb","M544 224l-128-16-48-16h-24L227.158 44h39.509C278.333 44 288 41.375 288 38s-9.667-6-21.333-6H152v12h16v164h-48l-66.667-80H18.667L8 138.667V208h8v16h48v2.666l-64 8v42.667l64 8V288H16v16H8v69.333L18.667 384h34.667L120 304h48v164h-16v12h114.667c11.667 0 21.333-2.625 21.333-6s-9.667-6-21.333-6h-39.509L344 320h24l48-16 128-16c96-21.333 96-26.583 96-32 0-5.417 0-10.667-96-32z"]},hr={prefix:"fas",iconName:"file",icon:[384,512,[],"f15b","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},dr={prefix:"fas",iconName:"file-alt",icon:[384,512,[],"f15c","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},fr={prefix:"fas",iconName:"file-archive",icon:[384,512,[],"f1c6","M224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32V32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6zm32.7-53c0 14.9-14.5 27-32.4 27S96 378 96 363c0-14.9 14.5-27 32.4-27s32.5 12.1 32.5 27zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},_r={prefix:"fas",iconName:"file-audio",icon:[384,512,[],"f1c7","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},mr={prefix:"fas",iconName:"file-code",icon:[384,512,[],"f1c9","M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z"]},br={prefix:"fas",iconName:"file-contract",icon:[384,512,[],"f56c","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm192.81 248H304c8.84 0 16 7.16 16 16s-7.16 16-16 16h-47.19c-16.45 0-31.27-9.14-38.64-23.86-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34a15.986 15.986 0 0 1-14.31 8.84c-.38 0-.75-.02-1.14-.05-6.45-.45-12-4.75-14.03-10.89L144 354.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.77-16.19 54.05-9.7 66 14.16 2.02 4.06 5.96 6.5 10.16 6.5zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},gr={prefix:"fas",iconName:"file-csv",icon:[384,512,[],"f6dd","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},vr={prefix:"fas",iconName:"file-download",icon:[384,512,[],"f56d","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},yr={prefix:"fas",iconName:"file-excel",icon:[384,512,[],"f1c3","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},Cr={prefix:"fas",iconName:"file-export",icon:[576,512,[],"f56e","M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1zM192 336v-32c0-8.84 7.16-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.84 0-16-7.16-16-16zm379.05-28.02l-95.7-96.43c-10.06-10.14-27.36-3.01-27.36 11.27V288H384v64h63.99v65.18c0 14.28 17.29 21.41 27.36 11.27l95.7-96.42c6.6-6.66 6.6-17.4 0-24.05z"]},Ar={prefix:"fas",iconName:"file-image",icon:[384,512,[],"f1c5","M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z"]},xr={prefix:"fas",iconName:"file-import",icon:[512,512,[],"f56f","M16 288c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h112v-64H16zm336-152V0H152c-13.3 0-24 10.7-24 24v264h127.99v-65.18c0-14.28 17.29-21.41 27.36-11.27l95.7 96.43c6.6 6.65 6.6 17.39 0 24.04l-95.7 96.42c-10.06 10.14-27.36 3.01-27.36-11.27V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24zm153-31L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},Sr={prefix:"fas",iconName:"file-invoice",icon:[384,512,[],"f570","M288 256H96v64h192v-64zm89-151L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm256 304c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-200v96c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-96c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16z"]},Tr={prefix:"fas",iconName:"file-invoice-dollar",icon:[384,512,[],"f571","M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 80v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8zm144 263.88V440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V232c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v24.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07z"]},Er={prefix:"fas",iconName:"file-medical",icon:[384,512,[],"f477","M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 160v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8z"]},Pr={prefix:"fas",iconName:"file-medical-alt",icon:[448,512,[],"f478","M288 136V0H88C74.7 0 64 10.7 64 24v232H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h140.9c3 0 5.8 1.7 7.2 4.4l19.9 39.8 56.8-113.7c2.9-5.9 11.4-5.9 14.3 0l34.7 69.5H352c8.8 0 16 7.2 16 16s-7.2 16-16 16h-89.9L240 275.8l-56.8 113.7c-2.9 5.9-11.4 5.9-14.3 0L134.1 320H64v168c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H312c-13.2 0-24-10.8-24-24zm153-31L343.1 7c-4.5-4.5-10.6-7-17-7H320v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},Or={prefix:"fas",iconName:"file-pdf",icon:[384,512,[],"f1c1","M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z"]},Mr={prefix:"fas",iconName:"file-powerpoint",icon:[384,512,[],"f1c4","M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z"]},Rr={prefix:"fas",iconName:"file-prescription",icon:[384,512,[],"f572","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm68.53 179.48l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63l-29.9 29.9L304 409.38c6.25 6.25 6.25 16.38 0 22.63l-11.31 11.31c-6.25 6.25-16.38 6.25-22.63 0L240 413.25l-30.06 30.06c-6.25 6.25-16.38 6.25-22.63 0L176 432c-6.25-6.25-6.25-16.38 0-22.63l30.06-30.06L146.74 320H128v48c0 8.84-7.16 16-16 16H96c-8.84 0-16-7.16-16-16V208c0-8.84 7.16-16 16-16h80c35.35 0 64 28.65 64 64 0 24.22-13.62 45.05-33.46 55.92L240 345.38l29.9-29.9c6.25-6.25 16.38-6.25 22.63 0zM176 272h-48v-32h48c8.82 0 16 7.18 16 16s-7.18 16-16 16zm208-150.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},Ir={prefix:"fas",iconName:"file-signature",icon:[576,512,[],"f573","M218.17 424.14c-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34c-6.37 12.78-25.03 11.37-29.48-2.09L144 386.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.75-16.19 54.06-9.7 66 14.16 1.89 3.78 5.49 5.95 9.36 6.26v-82.12l128-127.09V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24v-40l-128-.11c-16.12-.31-30.58-9.28-37.83-23.75zM384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1zm-96 225.06V416h68.99l161.68-162.78-67.88-67.88L288 346.96zm280.54-179.63l-31.87-31.87c-9.94-9.94-26.07-9.94-36.01 0l-27.25 27.25 67.88 67.88 27.25-27.25c9.95-9.94 9.95-26.07 0-36.01z"]},wr={prefix:"fas",iconName:"file-upload",icon:[384,512,[],"f574","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm65.18 216.01H224v80c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-80H94.82c-14.28 0-21.41-17.29-11.27-27.36l96.42-95.7c6.65-6.61 17.39-6.61 24.04 0l96.42 95.7c10.15 10.07 3.03 27.36-11.25 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z"]},Dr={prefix:"fas",iconName:"file-video",icon:[384,512,[],"f1c8","M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z"]},Lr={prefix:"fas",iconName:"file-word",icon:[384,512,[],"f1c2","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"]},Nr={prefix:"fas",iconName:"fill",icon:[512,512,[],"f575","M502.63 217.06L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.77c-6.24-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.63l86.19 86.18-94.76 94.76c-37.49 37.49-37.49 98.26 0 135.75l117.19 117.19c18.75 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.88-28.12l221.57-221.57c12.49-12.5 12.49-32.76 0-45.26zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.61 58.6c12.49 12.49 32.75 12.49 45.24 0 12.49-12.49 12.49-32.75 0-45.24l-58.61-58.6 58.95-58.95 162.45 162.44-48.35 48.34z"]},Fr={prefix:"fas",iconName:"fill-drip",icon:[576,512,[],"f576","M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z"]},Br={prefix:"fas",iconName:"film",icon:[512,512,[],"f008","M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z"]},kr={prefix:"fas",iconName:"filter",icon:[512,512,[],"f0b0","M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z"]},Vr={prefix:"fas",iconName:"fingerprint",icon:[512,512,[],"f577","M256.12 245.96c-13.25 0-24 10.74-24 24 1.14 72.25-8.14 141.9-27.7 211.55-2.73 9.72 2.15 30.49 23.12 30.49 10.48 0 20.11-6.92 23.09-17.52 13.53-47.91 31.04-125.41 29.48-224.52.01-13.25-10.73-24-23.99-24zm-.86-81.73C194 164.16 151.25 211.3 152.1 265.32c.75 47.94-3.75 95.91-13.37 142.55-2.69 12.98 5.67 25.69 18.64 28.36 13.05 2.67 25.67-5.66 28.36-18.64 10.34-50.09 15.17-101.58 14.37-153.02-.41-25.95 19.92-52.49 54.45-52.34 31.31.47 57.15 25.34 57.62 55.47.77 48.05-2.81 96.33-10.61 143.55-2.17 13.06 6.69 25.42 19.76 27.58 19.97 3.33 26.81-15.1 27.58-19.77 8.28-50.03 12.06-101.21 11.27-152.11-.88-55.8-47.94-101.88-104.91-102.72zm-110.69-19.78c-10.3-8.34-25.37-6.8-33.76 3.48-25.62 31.5-39.39 71.28-38.75 112 .59 37.58-2.47 75.27-9.11 112.05-2.34 13.05 6.31 25.53 19.36 27.89 20.11 3.5 27.07-14.81 27.89-19.36 7.19-39.84 10.5-80.66 9.86-121.33-.47-29.88 9.2-57.88 28-80.97 8.35-10.28 6.79-25.39-3.49-33.76zm109.47-62.33c-15.41-.41-30.87 1.44-45.78 4.97-12.89 3.06-20.87 15.98-17.83 28.89 3.06 12.89 16 20.83 28.89 17.83 11.05-2.61 22.47-3.77 34-3.69 75.43 1.13 137.73 61.5 138.88 134.58.59 37.88-1.28 76.11-5.58 113.63-1.5 13.17 7.95 25.08 21.11 26.58 16.72 1.95 25.51-11.88 26.58-21.11a929.06 929.06 0 0 0 5.89-119.85c-1.56-98.75-85.07-180.33-186.16-181.83zm252.07 121.45c-2.86-12.92-15.51-21.2-28.61-18.27-12.94 2.86-21.12 15.66-18.26 28.61 4.71 21.41 4.91 37.41 4.7 61.6-.11 13.27 10.55 24.09 23.8 24.2h.2c13.17 0 23.89-10.61 24-23.8.18-22.18.4-44.11-5.83-72.34zm-40.12-90.72C417.29 43.46 337.6 1.29 252.81.02 183.02-.82 118.47 24.91 70.46 72.94 24.09 119.37-.9 181.04.14 246.65l-.12 21.47c-.39 13.25 10.03 24.31 23.28 24.69.23.02.48.02.72.02 12.92 0 23.59-10.3 23.97-23.3l.16-23.64c-.83-52.5 19.16-101.86 56.28-139 38.76-38.8 91.34-59.67 147.68-58.86 69.45 1.03 134.73 35.56 174.62 92.39 7.61 10.86 22.56 13.45 33.42 5.86 10.84-7.62 13.46-22.59 5.84-33.43z"]},zr={prefix:"fas",iconName:"fire",icon:[384,512,[],"f06d","M216 23.858c0-23.802-30.653-32.765-44.149-13.038C48 191.851 224 200 224 288c0 35.629-29.114 64.458-64.85 63.994C123.98 351.538 96 322.22 96 287.046v-85.51c0-21.703-26.471-32.225-41.432-16.504C27.801 213.158 0 261.332 0 320c0 105.869 86.131 192 192 192s192-86.131 192-192c0-170.29-168-193.003-168-296.142z"]},jr={prefix:"fas",iconName:"fire-extinguisher",icon:[448,512,[],"f134","M434.027 26.329l-168 28C254.693 56.218 256 67.8 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.312-72-92.97V120h40c0 2.974-1.703 15.716 10.027 17.671l168 28C441.342 166.89 448 161.25 448 153.834V38.166c0-7.416-6.658-13.056-13.973-11.837zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16z"]},Ur={prefix:"fas",iconName:"first-aid",icon:[576,512,[],"f479","M0 80v352c0 26.5 21.5 48 48 48h48V32H48C21.5 32 0 53.5 0 80zm128 400h320V32H128v448zm64-248c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48zM528 32h-48v448h48c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"]},Gr={prefix:"fas",iconName:"fish",icon:[576,512,[],"f578","M327.1 96c-89.97 0-168.54 54.77-212.27 101.63L27.5 131.58c-12.13-9.18-30.24.6-27.14 14.66L24.54 256 .35 365.77c-3.1 14.06 15.01 23.83 27.14 14.66l87.33-66.05C158.55 361.23 237.13 416 327.1 416 464.56 416 576 288 576 256S464.56 96 327.1 96zm87.43 184c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24 13.26 0 24 10.74 24 24 0 13.25-10.75 24-24 24z"]},Hr={prefix:"fas",iconName:"fist-raised",icon:[384,512,[],"f6de","M255.98 160V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v146.93c5.02-1.78 10.34-2.93 15.97-2.93h48.03zm128 95.99c-.01-35.34-28.66-63.99-63.99-63.99H207.85c-8.78 0-15.9 7.07-15.9 15.85v.56c0 26.27 21.3 47.59 47.57 47.59h35.26c9.68 0 13.2 3.58 13.2 8v16.2c0 4.29-3.59 7.78-7.88 8-44.52 2.28-64.16 24.71-96.05 72.55l-6.31 9.47a7.994 7.994 0 0 1-11.09 2.22l-13.31-8.88a7.994 7.994 0 0 1-2.22-11.09l6.31-9.47c15.73-23.6 30.2-43.26 47.31-58.08-17.27-5.51-31.4-18.12-38.87-34.45-6.59 3.41-13.96 5.52-21.87 5.52h-32c-12.34 0-23.49-4.81-32-12.48C71.48 251.19 60.33 256 48 256H16c-5.64 0-10.97-1.15-16-2.95v77.93c0 33.95 13.48 66.5 37.49 90.51L63.99 448v64h255.98v-63.96l35.91-35.92A96.035 96.035 0 0 0 384 344.21l-.02-88.22zm-32.01-90.09V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v112h32c11.28 0 21.94 2.31 32 5.9zM16 224h32c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v128c0 8.84 7.16 16 16 16zm95.99 0h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v160c0 8.84 7.16 16 16 16z"]},Wr={prefix:"fas",iconName:"flag",icon:[512,512,[],"f024","M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z"]},Xr={prefix:"fas",iconName:"flag-checkered",icon:[512,512,[],"f11e","M466.515 66.928C487.731 57.074 512 72.551 512 95.944v243.1c0 10.526-5.161 20.407-13.843 26.358-35.837 24.564-74.335 40.858-122.505 40.858-67.373 0-111.63-34.783-165.217-34.783-50.853 0-86.124 10.058-114.435 22.122V488c0 13.255-10.745 24-24 24H56c-13.255 0-24-10.745-24-24V101.945C17.497 91.825 8 75.026 8 56 8 24.296 34.345-1.254 66.338.048c28.468 1.158 51.779 23.968 53.551 52.404.52 8.342-.81 16.31-3.586 23.562C137.039 68.384 159.393 64 184.348 64c67.373 0 111.63 34.783 165.217 34.783 40.496 0 82.612-15.906 116.95-31.855zM96 134.63v70.49c29-10.67 51.18-17.83 73.6-20.91v-71.57c-23.5 2.17-40.44 9.79-73.6 21.99zm220.8 9.19c-26.417-4.672-49.886-13.979-73.6-21.34v67.42c24.175 6.706 47.566 16.444 73.6 22.31v-68.39zm-147.2 40.39v70.04c32.796-2.978 53.91-.635 73.6 3.8V189.9c-25.247-7.035-46.581-9.423-73.6-5.69zm73.6 142.23c26.338 4.652 49.732 13.927 73.6 21.34v-67.41c-24.277-6.746-47.54-16.45-73.6-22.32v68.39zM96 342.1c23.62-8.39 47.79-13.84 73.6-16.56v-71.29c-26.11 2.35-47.36 8.04-73.6 17.36v70.49zm368-221.6c-21.3 8.85-46.59 17.64-73.6 22.47v71.91c27.31-4.36 50.03-14.1 73.6-23.89V120.5zm0 209.96v-70.49c-22.19 14.2-48.78 22.61-73.6 26.02v71.58c25.07-2.38 48.49-11.04 73.6-27.11zM316.8 212.21v68.16c25.664 7.134 46.616 9.342 73.6 5.62v-71.11c-25.999 4.187-49.943 2.676-73.6-2.67z"]},Yr={prefix:"fas",iconName:"flask",icon:[448,512,[],"f0c3","M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z"]},Qr={prefix:"fas",iconName:"flushed",icon:[496,512,[],"f579","M344 200c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-192 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM80 224c0-39.8 32.2-72 72-72s72 32.2 72 72-32.2 72-72 72-72-32.2-72-72zm232 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-104c-39.8 0-72-32.2-72-72s32.2-72 72-72 72 32.2 72 72-32.2 72-72 72z"]},Kr={prefix:"fas",iconName:"folder",icon:[512,512,[],"f07b","M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"]},Zr={prefix:"fas",iconName:"folder-minus",icon:[512,512,[],"f65d","M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-96 168c0 8.84-7.16 16-16 16H160c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h192c8.84 0 16 7.16 16 16v16z"]},qr={prefix:"fas",iconName:"folder-open",icon:[576,512,[],"f07c","M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"]},Jr={prefix:"fas",iconName:"folder-plus",icon:[512,512,[],"f65e","M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-96 168c0 8.84-7.16 16-16 16h-72v72c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-72h-72c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h72v-72c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v72h72c8.84 0 16 7.16 16 16v16z"]},$r={prefix:"fas",iconName:"font",icon:[448,512,[],"f031","M152 416h-24.013l26.586-80.782H292.8L319.386 416H296c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h136c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16h-26.739L275.495 42.746A16 16 0 0 0 260.382 32h-72.766a16 16 0 0 0-15.113 10.746L42.739 416H16c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h136c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16zm64.353-271.778c4.348-15.216 6.61-28.156 7.586-34.644.839 6.521 2.939 19.476 7.727 34.706l41.335 124.006h-98.619l41.971-124.068z"]},eo={prefix:"fas",iconName:"font-awesome-logo-full",icon:[3992,512,["Font Awesome"],"f4e6","M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z"]},to={prefix:"fas",iconName:"football-ball",icon:[496,512,[],"f44e","M481.5 60.3c-4.8-18.2-19.1-32.5-37.3-37.4C420.3 16.5 383 8.9 339.4 8L496 164.8c-.8-43.5-8.2-80.6-14.5-104.5zm-467 391.4c4.8 18.2 19.1 32.5 37.3 37.4 23.9 6.4 61.2 14 104.8 14.9L0 347.2c.8 43.5 8.2 80.6 14.5 104.5zM4.2 283.4L220.4 500c132.5-19.4 248.8-118.7 271.5-271.4L275.6 12C143.1 31.4 26.8 130.7 4.2 283.4zm317.3-123.6c3.1-3.1 8.2-3.1 11.3 0l11.3 11.3c3.1 3.1 3.1 8.2 0 11.3l-28.3 28.3 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-22.6 22.7 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L248 278.6l-22.6 22.6 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-28.3 28.3c-3.1 3.1-8.2 3.1-11.3 0l-11.3-11.3c-3.1-3.1-3.1-8.2 0-11.3l28.3-28.3-28.3-28.2c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 28.3-28.5z"]},no={prefix:"fas",iconName:"forward",icon:[512,512,[],"f04e","M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z"]},io={prefix:"fas",iconName:"frog",icon:[576,512,[],"f52e","M446.53 97.43C439.67 60.23 407.19 32 368 32c-39.23 0-71.72 28.29-78.54 65.54C126.75 112.96-.5 250.12 0 416.98.11 451.9 29.08 480 64 480h304c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-79.49l35.8-48.33c24.14-36.23 10.35-88.28-33.71-106.6-23.89-9.93-51.55-4.65-72.24 10.88l-32.76 24.59c-7.06 5.31-17.09 3.91-22.41-3.19-5.3-7.08-3.88-17.11 3.19-22.41l34.78-26.09c36.84-27.66 88.28-27.62 125.13 0 10.87 8.15 45.87 39.06 40.8 93.21L469.62 480H560c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-53.63l-98.52-104.68 154.44-86.65A58.16 58.16 0 0 0 576 189.94c0-21.4-11.72-40.95-30.48-51.23-40.56-22.22-98.99-41.28-98.99-41.28zM368 136c-13.26 0-24-10.75-24-24 0-13.26 10.74-24 24-24 13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24z"]},ro={prefix:"fas",iconName:"frown",icon:[496,512,[],"f119","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm170.2 218.2C315.8 367.4 282.9 352 248 352s-67.8 15.4-90.2 42.2c-13.5 16.3-38.1-4.2-24.6-20.5C161.7 339.6 203.6 320 248 320s86.3 19.6 114.7 53.8c13.6 16.2-11 36.7-24.5 20.4z"]},oo={prefix:"fas",iconName:"frown-open",icon:[496,512,[],"f57a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm187.3 183.3c-31.2-9.6-59.4-15.3-75.3-15.3s-44.1 5.7-75.3 15.3c-11.5 3.5-22.5-6.3-20.5-18.1 7-40 60.1-61.2 95.8-61.2s88.8 21.3 95.8 61.2c2 11.9-9.1 21.6-20.5 18.1zM328 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},ao={prefix:"fas",iconName:"funnel-dollar",icon:[640,512,[],"f662","M433.46 165.94l101.2-111.87C554.61 34.12 540.48 0 512.26 0H31.74C3.52 0-10.61 34.12 9.34 54.07L192 256v155.92c0 12.59 5.93 24.44 16 32l79.99 60c20.86 15.64 48.47 6.97 59.22-13.57C310.8 455.38 288 406.35 288 352c0-89.79 62.05-165.17 145.46-186.06zM480 192c-88.37 0-160 71.63-160 160s71.63 160 160 160 160-71.63 160-160-71.63-160-160-160zm16 239.88V448c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V256c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.04 44.44-42.67 45.07z"]},so={prefix:"fas",iconName:"futbol",icon:[512,512,[],"f1e3","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-48 0l-.003-.282-26.064 22.741-62.679-58.5 16.454-84.355 34.303 3.072c-24.889-34.216-60.004-60.089-100.709-73.141l13.651 31.939L256 139l-74.953-41.525 13.651-31.939c-40.631 13.028-75.78 38.87-100.709 73.141l34.565-3.073 16.192 84.355-62.678 58.5-26.064-22.741-.003.282c0 43.015 13.497 83.952 38.472 117.991l7.704-33.897 85.138 10.447 36.301 77.826-29.902 17.786c40.202 13.122 84.29 13.148 124.572 0l-29.902-17.786 36.301-77.826 85.138-10.447 7.704 33.897C442.503 339.952 456 299.015 456 256zm-248.102 69.571l-29.894-91.312L256 177.732l77.996 56.527-29.622 91.312h-96.476z"]},co={prefix:"fas",iconName:"gamepad",icon:[640,512,[],"f11b","M480 96H160C71.6 96 0 167.6 0 256s71.6 160 160 160c44.8 0 85.2-18.4 114.2-48h91.5c29 29.6 69.5 48 114.2 48 88.4 0 160-71.6 160-160S568.4 96 480 96zM256 276c0 6.6-5.4 12-12 12h-52v52c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-52H76c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h52v-52c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h52c6.6 0 12 5.4 12 12v40zm184 68c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-80c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"]},lo={prefix:"fas",iconName:"gas-pump",icon:[512,512,[],"f52f","M336 448H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm157.2-340.7l-81-81c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-6.2 6.2-6.2 16.4 0 22.6L416 97.9V160c0 28.1 20.9 51.3 48 55.2V376c0 13.2-10.8 24-24 24s-24-10.8-24-24v-32c0-48.6-39.4-88-88-88h-8V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64v352h288V304h8c22.1 0 40 17.9 40 40v27.8c0 37.7 27 72 64.5 75.9 43 4.3 79.5-29.5 79.5-71.7V152.6c0-17-6.8-33.3-18.8-45.3zM256 192H96V64h160v128z"]},uo={prefix:"fas",iconName:"gavel",icon:[512,512,[],"f0e3","M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z"]},po={prefix:"fas",iconName:"gem",icon:[576,512,[],"f3a5","M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z"]},ho={prefix:"fas",iconName:"genderless",icon:[288,512,[],"f22d","M144 176c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80 35.9-80 80-80m0-64C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z"]},fo={prefix:"fas",iconName:"ghost",icon:[384,512,[],"f6e2","M186.1.09C81.01 3.24 0 94.92 0 200.05v263.92c0 14.26 17.23 21.39 27.31 11.31l24.92-18.53c6.66-4.95 16-3.99 21.51 2.21l42.95 48.35c6.25 6.25 16.38 6.25 22.63 0l40.72-45.85c6.37-7.17 17.56-7.17 23.92 0l40.72 45.85c6.25 6.25 16.38 6.25 22.63 0l42.95-48.35c5.51-6.2 14.85-7.17 21.51-2.21l24.92 18.53c10.08 10.08 27.31 2.94 27.31-11.31V192C384 84 294.83-3.17 186.1.09zM128 224c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128 0c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},_o={prefix:"fas",iconName:"gift",icon:[512,512,[],"f06b","M32 448c0 17.7 14.3 32 32 32h160V320H32v128zm448-288h-42.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H32c-17.7 0-32 14.3-32 32v80c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-80c0-17.7-14.3-32-32-32zm-326.1 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c19.9 0 34.6 3.3 86.1 80h-86.1zm206.1 0h-86.1c51.4-76.5 65.7-80 86.1-80 22.1 0 40 17.9 40 40s-17.9 40-40 40zm-72 320h160c17.7 0 32-14.3 32-32V320H288v160z"]},mo={prefix:"fas",iconName:"glass-martini",icon:[512,512,[],"f000","M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6z"]},bo={prefix:"fas",iconName:"glass-martini-alt",icon:[512,512,[],"f57b","M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6zM443.77 48l-48 48H116.24l-48-48h375.53z"]},go={prefix:"fas",iconName:"glasses",icon:[576,512,[],"f530","M574.1 280.37L528.75 98.66c-5.91-23.7-21.59-44.05-43-55.81-21.44-11.73-46.97-14.11-70.19-6.33l-15.25 5.08c-8.39 2.79-12.92 11.86-10.12 20.24l5.06 15.18c2.79 8.38 11.85 12.91 20.23 10.12l13.18-4.39c10.87-3.62 23-3.57 33.16 1.73 10.29 5.37 17.57 14.56 20.37 25.82l38.46 153.82c-22.19-6.81-49.79-12.46-81.2-12.46-34.77 0-73.98 7.02-114.85 26.74h-73.18c-40.87-19.74-80.08-26.75-114.86-26.75-31.42 0-59.02 5.65-81.21 12.46l38.46-153.83c2.79-11.25 10.09-20.45 20.38-25.81 10.16-5.3 22.28-5.35 33.15-1.73l13.17 4.39c8.38 2.79 17.44-1.74 20.23-10.12l5.06-15.18c2.8-8.38-1.73-17.45-10.12-20.24l-15.25-5.08c-23.22-7.78-48.75-5.41-70.19 6.33-21.41 11.77-37.09 32.11-43 55.8L1.9 280.37A64.218 64.218 0 0 0 0 295.86v70.25C0 429.01 51.58 480 115.2 480h37.12c60.28 0 110.37-45.94 114.88-105.37l2.93-38.63h35.75l2.93 38.63C313.31 434.06 363.4 480 423.68 480h37.12c63.62 0 115.2-50.99 115.2-113.88v-70.25c0-5.23-.64-10.43-1.9-15.5zm-370.72 89.42c-1.97 25.91-24.4 46.21-51.06 46.21H115.2C86.97 416 64 393.62 64 366.11v-37.54c18.12-6.49 43.42-12.92 72.58-12.92 23.86 0 47.26 4.33 69.93 12.92l-3.13 41.22zM512 366.12c0 27.51-22.97 49.88-51.2 49.88h-37.12c-26.67 0-49.1-20.3-51.06-46.21l-3.13-41.22c22.67-8.59 46.08-12.92 69.95-12.92 29.12 0 54.43 6.44 72.55 12.93v37.54z"]},vo={prefix:"fas",iconName:"globe",icon:[496,512,[],"f0ac","M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z"]},yo={prefix:"fas",iconName:"globe-africa",icon:[496,512,[],"f57c","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm160 215.5v6.93c0 5.87-3.32 11.24-8.57 13.86l-15.39 7.7a15.485 15.485 0 0 1-15.53-.97l-18.21-12.14a15.52 15.52 0 0 0-13.5-1.81l-2.65.88c-9.7 3.23-13.66 14.79-7.99 23.3l13.24 19.86c2.87 4.31 7.71 6.9 12.89 6.9h8.21c8.56 0 15.5 6.94 15.5 15.5v11.34c0 3.35-1.09 6.62-3.1 9.3l-18.74 24.98c-1.42 1.9-2.39 4.1-2.83 6.43l-4.3 22.83c-.62 3.29-2.29 6.29-4.76 8.56a159.608 159.608 0 0 0-25 29.16l-13.03 19.55a27.756 27.756 0 0 1-23.09 12.36c-10.51 0-20.12-5.94-24.82-15.34a78.902 78.902 0 0 1-8.33-35.29V367.5c0-8.56-6.94-15.5-15.5-15.5h-25.88c-14.49 0-28.38-5.76-38.63-16a54.659 54.659 0 0 1-16-38.63v-14.06c0-17.19 8.1-33.38 21.85-43.7l27.58-20.69a54.663 54.663 0 0 1 32.78-10.93h.89c8.48 0 16.85 1.97 24.43 5.77l14.72 7.36c3.68 1.84 7.93 2.14 11.83.84l47.31-15.77c6.33-2.11 10.6-8.03 10.6-14.7 0-8.56-6.94-15.5-15.5-15.5h-10.09c-4.11 0-8.05-1.63-10.96-4.54l-6.92-6.92a15.493 15.493 0 0 0-10.96-4.54H199.5c-8.56 0-15.5-6.94-15.5-15.5v-4.4c0-7.11 4.84-13.31 11.74-15.04l14.45-3.61c3.74-.94 7-3.23 9.14-6.44l8.08-12.11c2.87-4.31 7.71-6.9 12.89-6.9h24.21c8.56 0 15.5-6.94 15.5-15.5v-21.7C359.23 71.63 422.86 131.02 441.93 208H423.5c-8.56 0-15.5 6.94-15.5 15.5z"]},Co={prefix:"fas",iconName:"globe-americas",icon:[496,512,[],"f57d","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm82.29 357.6c-3.9 3.88-7.99 7.95-11.31 11.28-2.99 3-5.1 6.7-6.17 10.71-1.51 5.66-2.73 11.38-4.77 16.87l-17.39 46.85c-13.76 3-28 4.69-42.65 4.69v-27.38c1.69-12.62-7.64-36.26-22.63-51.25-6-6-9.37-14.14-9.37-22.63v-32.01c0-11.64-6.27-22.34-16.46-27.97-14.37-7.95-34.81-19.06-48.81-26.11-11.48-5.78-22.1-13.14-31.65-21.75l-.8-.72a114.792 114.792 0 0 1-18.06-20.74c-9.38-13.77-24.66-36.42-34.59-51.14 20.47-45.5 57.36-82.04 103.2-101.89l24.01 12.01C203.48 89.74 216 82.01 216 70.11v-11.3c7.99-1.29 16.12-2.11 24.39-2.42l28.3 28.3c6.25 6.25 6.25 16.38 0 22.63L264 112l-10.34 10.34c-3.12 3.12-3.12 8.19 0 11.31l4.69 4.69c3.12 3.12 3.12 8.19 0 11.31l-8 8a8.008 8.008 0 0 1-5.66 2.34h-8.99c-2.08 0-4.08.81-5.58 2.27l-9.92 9.65a8.008 8.008 0 0 0-1.58 9.31l15.59 31.19c2.66 5.32-1.21 11.58-7.15 11.58h-5.64c-1.93 0-3.79-.7-5.24-1.96l-9.28-8.06a16.017 16.017 0 0 0-15.55-3.1l-31.17 10.39a11.95 11.95 0 0 0-8.17 11.34c0 4.53 2.56 8.66 6.61 10.69l11.08 5.54c9.41 4.71 19.79 7.16 30.31 7.16s22.59 27.29 32 32h66.75c8.49 0 16.62 3.37 22.63 9.37l13.69 13.69a30.503 30.503 0 0 1 8.93 21.57 46.536 46.536 0 0 1-13.72 32.98zM417 274.25c-5.79-1.45-10.84-5-14.15-9.97l-17.98-26.97a23.97 23.97 0 0 1 0-26.62l19.59-29.38c2.32-3.47 5.5-6.29 9.24-8.15l12.98-6.49C440.2 193.59 448 223.87 448 256c0 8.67-.74 17.16-1.82 25.54L417 274.25z"]},Ao={prefix:"fas",iconName:"globe-asia",icon:[496,512,[],"f57e","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm-11.34 240.23c-2.89 4.82-8.1 7.77-13.72 7.77h-.31c-4.24 0-8.31 1.69-11.31 4.69l-5.66 5.66c-3.12 3.12-3.12 8.19 0 11.31l5.66 5.66c3 3 4.69 7.07 4.69 11.31V304c0 8.84-7.16 16-16 16h-6.11c-6.06 0-11.6-3.42-14.31-8.85l-22.62-45.23c-2.44-4.88-8.95-5.94-12.81-2.08l-19.47 19.46c-3 3-7.07 4.69-11.31 4.69H50.81C49.12 277.55 48 266.92 48 256c0-110.28 89.72-200 200-200 21.51 0 42.2 3.51 61.63 9.82l-50.16 38.53c-5.11 3.41-4.63 11.06.86 13.81l10.83 5.41c5.42 2.71 8.84 8.25 8.84 14.31V216c0 4.42-3.58 8-8 8h-3.06c-3.03 0-5.8-1.71-7.15-4.42-1.56-3.12-5.96-3.29-7.76-.3l-17.37 28.95zM408 358.43c0 4.24-1.69 8.31-4.69 11.31l-9.57 9.57c-3 3-7.07 4.69-11.31 4.69h-15.16c-4.24 0-8.31-1.69-11.31-4.69l-13.01-13.01a26.767 26.767 0 0 0-25.42-7.04l-21.27 5.32c-1.27.32-2.57.48-3.88.48h-10.34c-4.24 0-8.31-1.69-11.31-4.69l-11.91-11.91a8.008 8.008 0 0 1-2.34-5.66v-10.2c0-3.27 1.99-6.21 5.03-7.43l39.34-15.74c1.98-.79 3.86-1.82 5.59-3.05l23.71-16.89a7.978 7.978 0 0 1 4.64-1.48h12.09c3.23 0 6.15 1.94 7.39 4.93l5.35 12.85a4 4 0 0 0 3.69 2.46h3.8c1.78 0 3.35-1.18 3.84-2.88l4.2-14.47c.5-1.71 2.06-2.88 3.84-2.88h6.06c2.21 0 4 1.79 4 4v12.93c0 2.12.84 4.16 2.34 5.66l11.91 11.91c3 3 4.69 7.07 4.69 11.31v24.6z"]},xo={prefix:"fas",iconName:"golf-ball",icon:[416,512,[],"f450","M96 416h224c0 17.7-14.3 32-32 32h-16c-17.7 0-32 14.3-32 32v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-20c0-17.7-14.3-32-32-32h-16c-17.7 0-32-14.3-32-32zm320-208c0 74.2-39 139.2-97.5 176h-221C39 347.2 0 282.2 0 208 0 93.1 93.1 0 208 0s208 93.1 208 208zm-180.1 43.9c18.3 0 33.1-14.8 33.1-33.1 0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1zm49.1 46.9c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1zm64-64c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1z"]},So={prefix:"fas",iconName:"gopuram",icon:[512,512,[],"f664","M496 352h-16V240c0-8.84-7.16-16-16-16h-16v-80c0-8.84-7.16-16-16-16h-16V16c0-8.84-7.16-16-16-16s-16 7.16-16 16v16h-64V16c0-8.84-7.16-16-16-16s-16 7.16-16 16v16h-64V16c0-8.84-7.16-16-16-16s-16 7.16-16 16v16h-64V16c0-8.84-7.16-16-16-16S96 7.16 96 16v112H80c-8.84 0-16 7.16-16 16v80H48c-8.84 0-16 7.16-16 16v112H16c-8.84 0-16 7.16-16 16v128c0 8.84 7.16 16 16 16h80V352h32V224h32v-96h32v96h-32v128h-32v160h80v-80c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v80h80V352h-32V224h-32v-96h32v96h32v128h32v160h80c8.84 0 16-7.16 16-16V368c0-8.84-7.16-16-16-16zm-272 0v-64c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v64h-64zm8-128v-48c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v48h-48z"]},To={prefix:"fas",iconName:"graduation-cap",icon:[640,512,[],"f19d","M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z"]},Eo={prefix:"fas",iconName:"greater-than",icon:[384,512,[],"f531","M365.52 209.85L59.22 67.01c-16.06-7.49-35.15-.54-42.64 15.52L3.01 111.61c-7.49 16.06-.54 35.15 15.52 42.64L236.96 256.1 18.49 357.99C2.47 365.46-4.46 384.5 3.01 400.52l13.52 29C24 445.54 43.04 452.47 59.06 445l306.47-142.91a32.003 32.003 0 0 0 18.48-29v-34.23c-.01-12.45-7.21-23.76-18.49-29.01z"]},Po={prefix:"fas",iconName:"greater-than-equal",icon:[448,512,[],"f532","M55.22 107.69l175.56 68.09-175.44 68.05c-18.39 6.03-27.88 24.39-21.2 41l12.09 30.08c6.68 16.61 26.99 25.19 45.38 19.15L393.02 214.2c13.77-4.52 22.98-16.61 22.98-30.17v-15.96c0-13.56-9.21-25.65-22.98-30.17L91.3 17.92c-18.29-6-38.51 2.53-45.15 19.06L34.12 66.9c-6.64 16.53 2.81 34.79 21.1 40.79zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z"]},Oo={prefix:"fas",iconName:"grimace",icon:[496,512,[],"f57f","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM144 400h-8c-17.7 0-32-14.3-32-32v-8h40v40zm0-56h-40v-8c0-17.7 14.3-32 32-32h8v40zm-8-136c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm72 192h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm-8-104c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64 128c0 17.7-14.3 32-32 32h-8v-40h40v8zm0-24h-40v-40h8c17.7 0 32 14.3 32 32v8z"]},Mo={prefix:"fas",iconName:"grin",icon:[496,512,[],"f580","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm80 256c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},Ro={prefix:"fas",iconName:"grin-alt",icon:[496,512,[],"f581","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm63.7 128.7c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zm-160 0c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},Io={prefix:"fas",iconName:"grin-beam",icon:[496,512,[],"f582","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 144c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},wo={prefix:"fas",iconName:"grin-beam-sweat",icon:[504,512,[],"f583","M456 128c26.5 0 48-21 48-47 0-20-28.5-60.4-41.6-77.8-3.2-4.3-9.6-4.3-12.8 0C436.5 20.6 408 61 408 81c0 26 21.5 47 48 47zm0 32c-44.1 0-80-35.4-80-79 0-4.4.3-14.2 8.1-32.2C345 23.1 298.3 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-35.1-7.4-68.4-20.5-98.6-6.3 1.5-12.7 2.6-19.5 2.6zm-128-8c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},Do={prefix:"fas",iconName:"grin-hearts",icon:[496,512,[],"f584","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM90.4 183.6c6.7-17.6 26.7-26.7 44.9-21.9l7.1 1.9 2-7.1c5-18.1 22.8-30.9 41.5-27.9 21.4 3.4 34.4 24.2 28.8 44.5L195.3 243c-1.2 4.5-5.9 7.2-10.5 6l-70.2-18.2c-20.4-5.4-31.9-27-24.2-47.2zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm133.4-201.3l-70.2 18.2c-4.5 1.2-9.2-1.5-10.5-6L281.3 173c-5.6-20.3 7.4-41.1 28.8-44.5 18.6-3 36.4 9.8 41.5 27.9l2 7.1 7.1-1.9c18.2-4.7 38.2 4.3 44.9 21.9 7.7 20.3-3.8 41.9-24.2 47.2z"]},Lo={prefix:"fas",iconName:"grin-squint",icon:[496,512,[],"f585","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},No={prefix:"fas",iconName:"grin-squint-tears",icon:[512,512,[],"f586","M409.6 111.9c22.6-3.2 73.5-12 88.3-26.8 19.2-19.2 18.9-50.6-.7-70.2S446-5 426.9 14.2c-14.8 14.8-23.5 65.7-26.8 88.3-.8 5.5 3.9 10.2 9.5 9.4zM102.4 400.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm311.7-256.5c-33 3.9-48.6-25.1-45.7-45.7 3.4-24 7.4-42.1 11.5-56.5C285.1-13.4 161.8-.5 80.6 80.6-.5 161.7-13.4 285 41.4 379.9c14.4-4.1 32.4-8 56.5-11.5 33.2-3.9 48.6 25.2 45.7 45.7-3.4 24-7.4 42.1-11.5 56.5 94.8 54.8 218.1 41.9 299.3-39.2s94-204.4 39.2-299.3c-14.4 4.1-32.5 8-56.5 11.5zM255.7 106c3.3-13.2 22.4-11.5 23.6 1.8l4.8 52.3 52.3 4.8c13.4 1.2 14.9 20.3 1.8 23.6l-90.5 22.6c-8.9 2.2-16.7-5.9-14.5-14.5l22.5-90.6zm-90.9 230.3L160 284l-52.3-4.8c-13.4-1.2-14.9-20.3-1.8-23.6l90.5-22.6c8.8-2.2 16.7 5.8 14.5 14.5L188.3 338c-3.1 13.2-22.2 11.7-23.5-1.7zm215.7 44.2c-29.3 29.3-75.7 50.4-116.7 50.4-18.9 0-36.6-4.5-51-14.7-9.8-6.9-8.7-21.8 2-27.2 28.3-14.6 63.9-42.4 97.8-76.3s61.7-69.6 76.3-97.8c5.4-10.5 20.2-11.9 27.3-2 32.3 45.3 7.1 124.7-35.7 167.6z"]},Fo={prefix:"fas",iconName:"grin-stars",icon:[496,512,[],"f587","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z"]},Bo={prefix:"fas",iconName:"grin-tears",icon:[640,512,[],"f588","M102.4 256.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm523.4 26.8c-14.8-14.8-65.7-23.5-88.3-26.8-5.5-.8-10.3 3.9-9.5 9.5 3.2 22.6 12 73.5 26.8 88.3 19.2 19.2 50.6 18.9 70.2-.7s20-51.2.8-70.3zm-129.4-12.8c-3.8-26.6 19.1-49.5 45.7-45.7 8.9 1.3 16.8 2.7 24.3 4.1C552.7 104.5 447.7 8 320 8S87.3 104.5 73.6 228.5c7.5-1.4 15.4-2.8 24.3-4.1 33.2-3.9 48.6 25.3 45.7 45.7-11.8 82.3-29.9 100.4-35.8 106.4-.9.9-2 1.6-3 2.5 42.7 74.6 123 125 215.2 125s172.5-50.4 215.2-125.1c-1-.9-2.1-1.5-3-2.5-5.9-5.9-24-24-35.8-106.3zM400 152c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.7 9.2-21.6 20.7-17.9C227.1 330.5 272 336 320 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z"]},ko={prefix:"fas",iconName:"grin-tongue",icon:[496,512,[],"f589","M248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-34.9 134.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z"]},Vo={prefix:"fas",iconName:"grin-tongue-squint",icon:[496,512,[],"f58a","M293.1 374.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-33.8 210.3l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.7 4.7 7.7 15.9 0 20.6zm163 30c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.8-4.7-7.8-15.9 0-20.6l80-48c11.7-6.9 23.9 7.7 15.4 18L343.6 208l33.6 40.3z"]},zo={prefix:"fas",iconName:"grin-tongue-wink",icon:[496,512,[],"f58b","M344 184c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-56 225l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L112 233c-8.5 7.4-21.6.3-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c1.6 11.1-11.6 18.2-20 10.8zm152 39c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm-50.9 102.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z"]},jo={prefix:"fas",iconName:"grin-wink",icon:[496,512,[],"f58c","M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm168 25l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.6 11-11.5 18.2-20 10.8zm-243.1 87.8C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6 20.7 17.9-9.2 55-83.2 93.3-143.8 93.3s-134.5-38.3-143.8-93.3c-2-11.9 9.3-21.6 20.7-17.9z"]},Uo={prefix:"fas",iconName:"grip-horizontal",icon:[448,512,[],"f58d","M96 288H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM96 96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"]},Go={prefix:"fas",iconName:"grip-vertical",icon:[320,512,[],"f58e","M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z"]},Ho={prefix:"fas",iconName:"h-square",icon:[448,512,[],"f0fd","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-112 48h-32c-8.837 0-16 7.163-16 16v80H160v-80c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v224c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16v-80h128v80c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144c0-8.837-7.163-16-16-16z"]},Wo={prefix:"fas",iconName:"hammer",icon:[576,512,[],"f6e3","M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z"]},Xo={prefix:"fas",iconName:"hamsa",icon:[512,512,[],"f665","M509.34 307.25C504.28 295.56 492.75 288 480 288h-64V80c0-22-18-40-40-40s-40 18-40 40v134c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V40c0-22-18-40-40-40s-40 18-40 40v174c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V80c0-22-18-40-40-40S96 58 96 80v208H32c-12.75 0-24.28 7.56-29.34 19.25a31.966 31.966 0 0 0 5.94 34.58l102.69 110.03C146.97 490.08 199.69 512 256 512s109.03-21.92 144.72-60.14L503.4 341.83a31.966 31.966 0 0 0 5.94-34.58zM256 416c-53.02 0-96-64-96-64s42.98-64 96-64 96 64 96 64-42.98 64-96 64zm0-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"]},Yo={prefix:"fas",iconName:"hand-holding",icon:[576,512,[],"f4bd","M565.3 328.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z"]},Qo={prefix:"fas",iconName:"hand-holding-heart",icon:[576,512,[],"f4be","M275.3 250.5c7 7.4 18.4 7.4 25.5 0l108.9-114.2c31.6-33.2 29.8-88.2-5.6-118.8-30.8-26.7-76.7-21.9-104.9 7.7L288 36.9l-11.1-11.6C248.7-4.4 202.8-9.2 172 17.5c-35.3 30.6-37.2 85.6-5.6 118.8l108.9 114.2zm290 77.6c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z"]},Ko={prefix:"fas",iconName:"hand-holding-usd",icon:[544,512,[],"f4c0","M257.6 144.3l50 14.3c3.6 1 6.1 4.4 6.1 8.1 0 4.6-3.8 8.4-8.4 8.4h-32.8c-3.6 0-7.1-.8-10.3-2.2-4.8-2.2-10.4-1.7-14.1 2l-17.5 17.5c-5.3 5.3-4.7 14.3 1.5 18.4 9.5 6.3 20.3 10.1 31.8 11.5V240c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-17.6c30.3-3.6 53.3-31 49.3-63-2.9-23-20.7-41.3-42.9-47.7l-50-14.3c-3.6-1-6.1-4.4-6.1-8.1 0-4.6 3.8-8.4 8.4-8.4h32.8c3.6 0 7.1.8 10.3 2.2 4.8 2.2 10.4 1.7 14.1-2l17.5-17.5c5.3-5.3 4.7-14.3-1.5-18.4-9.5-6.3-20.3-10.1-31.8-11.5V16c0-8.8-7.2-16-16-16h-16c-8.8 0-16 7.2-16 16v17.6c-30.3 3.6-53.3 31-49.3 63 2.9 23 20.7 41.3 42.9 47.7zm276.3 183.8c-11.2-10.7-28.5-10-40.3 0L406.4 402c-10.7 9.1-24 14-37.8 14H256.9c-8.3 0-15.1-7.2-15.1-16s6.8-16 15.1-16h73.9c15.1 0 29-10.9 31.4-26.6 3.1-20-11.5-37.4-29.8-37.4H181.3c-25.5 0-50.2 9.3-69.9 26.3L67.5 384H15.1C6.8 384 0 391.2 0 400v96c0 8.8 6.8 16 15.1 16H352c13.7 0 27-4.9 37.8-14l142.8-121c14.4-12.1 15.5-35.3 1.3-48.9z"]},Zo={prefix:"fas",iconName:"hand-lizard",icon:[576,512,[],"f258","M384 480h192V363.778a95.998 95.998 0 0 0-14.833-51.263L398.127 54.368A48 48 0 0 0 357.544 32H24C10.745 32 0 42.745 0 56v16c0 30.928 25.072 56 56 56h229.981c12.844 0 21.556 13.067 16.615 24.923l-21.41 51.385A32 32 0 0 1 251.648 224H128c-35.346 0-64 28.654-64 64v8c0 13.255 10.745 24 24 24h147.406a47.995 47.995 0 0 1 25.692 7.455l111.748 70.811A24.001 24.001 0 0 1 384 418.539V480z"]},qo={prefix:"fas",iconName:"hand-paper",icon:[448,512,[],"f256","M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007 209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993z"]},Jo={prefix:"fas",iconName:"hand-peace",icon:[448,512,[],"f25b","M408 216c-22.092 0-40 17.909-40 40h-8v-32c0-22.091-17.908-40-40-40s-40 17.909-40 40v32h-8V48c0-26.51-21.49-48-48-48s-48 21.49-48 48v208h-13.572L92.688 78.449C82.994 53.774 55.134 41.63 30.461 51.324 5.787 61.017-6.356 88.877 3.337 113.551l74.765 190.342-31.09 24.872c-15.381 12.306-19.515 33.978-9.741 51.081l64 112A39.998 39.998 0 0 0 136 512h240c18.562 0 34.686-12.77 38.937-30.838l32-136A39.97 39.97 0 0 0 448 336v-80c0-22.091-17.908-40-40-40z"]},$o={prefix:"fas",iconName:"hand-point-down",icon:[384,512,[],"f0a7","M91.826 467.2V317.966c-8.248 5.841-16.558 10.57-24.918 14.153C35.098 345.752-.014 322.222 0 288c.008-18.616 10.897-32.203 29.092-40 28.286-12.122 64.329-78.648 77.323-107.534 7.956-17.857 25.479-28.453 43.845-28.464l.001-.002h171.526c11.812 0 21.897 8.596 23.703 20.269 7.25 46.837 38.483 61.76 38.315 123.731-.007 2.724.195 13.254.195 16 0 50.654-22.122 81.574-71.263 72.6-9.297 18.597-39.486 30.738-62.315 16.45-21.177 24.645-53.896 22.639-70.944 6.299V467.2c0 24.15-20.201 44.8-43.826 44.8-23.283 0-43.826-21.35-43.826-44.8zM112 72V24c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24zm212-24c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z"]},ea={prefix:"fas",iconName:"hand-point-left",icon:[512,512,[],"f0a5","M44.8 155.826h149.234c-5.841-8.248-10.57-16.558-14.153-24.918C166.248 99.098 189.778 63.986 224 64c18.616.008 32.203 10.897 40 29.092 12.122 28.286 78.648 64.329 107.534 77.323 17.857 7.956 28.453 25.479 28.464 43.845l.002.001v171.526c0 11.812-8.596 21.897-20.269 23.703-46.837 7.25-61.76 38.483-123.731 38.315-2.724-.007-13.254.195-16 .195-50.654 0-81.574-22.122-72.6-71.263-18.597-9.297-30.738-39.486-16.45-62.315-24.645-21.177-22.639-53.896-6.299-70.944H44.8c-24.15 0-44.8-20.201-44.8-43.826 0-23.283 21.35-43.826 44.8-43.826zM440 176h48c13.255 0 24 10.745 24 24v192c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24zm24 212c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z"]},ta={prefix:"fas",iconName:"hand-point-right",icon:[512,512,[],"f0a4","M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z"]},na={prefix:"fas",iconName:"hand-point-up",icon:[384,512,[],"f0a6","M135.652 0c23.625 0 43.826 20.65 43.826 44.8v99.851c17.048-16.34 49.766-18.346 70.944 6.299 22.829-14.288 53.017-2.147 62.315 16.45C361.878 158.426 384 189.346 384 240c0 2.746-.203 13.276-.195 16 .168 61.971-31.065 76.894-38.315 123.731C343.683 391.404 333.599 400 321.786 400H150.261l-.001-.002c-18.366-.011-35.889-10.607-43.845-28.464C93.421 342.648 57.377 276.122 29.092 264 10.897 256.203.008 242.616 0 224c-.014-34.222 35.098-57.752 66.908-44.119 8.359 3.583 16.67 8.312 24.918 14.153V44.8c0-23.45 20.543-44.8 43.826-44.8zM136 416h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24v-48c0-13.255 10.745-24 24-24zm168 28c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z"]},ia={prefix:"fas",iconName:"hand-pointer",icon:[448,512,[],"f25a","M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z"]},ra={prefix:"fas",iconName:"hand-rock",icon:[512,512,[],"f255","M512 128.79c0-26.322-20.861-48.344-47.18-48.783C437.935 79.558 416 101.217 416 128h-8V96.79c0-26.322-20.861-48.344-47.18-48.783C333.935 47.558 312 69.217 312 96v32h-8V80.79c0-26.322-20.861-48.344-47.18-48.783C229.935 31.558 208 53.217 208 80v48h-8V96.79c0-26.322-20.861-48.344-47.18-48.783C125.935 47.558 104 69.217 104 96v136l-8-7.111V176.79c0-26.322-20.861-48.344-47.18-48.783C21.935 127.558 0 149.217 0 176v66.445a95.998 95.998 0 0 0 32.221 71.751l111.668 99.261A47.999 47.999 0 0 1 160 449.333V456c0 13.255 10.745 24 24 24h240c13.255 0 24-10.745 24-24v-2.921a96.01 96.01 0 0 1 7.523-37.254l48.954-116.265A96.002 96.002 0 0 0 512 262.306V128.79z"]},oa={prefix:"fas",iconName:"hand-scissors",icon:[512,512,[],"f257","M216 440c0-22.092 17.909-40 40-40v-8h-32c-22.091 0-40-17.908-40-40s17.909-40 40-40h32v-8H48c-26.51 0-48-21.49-48-48s21.49-48 48-48h208v-13.572l-177.551-69.74c-24.674-9.694-36.818-37.555-27.125-62.228 9.693-24.674 37.554-36.817 62.228-27.124l190.342 74.765 24.872-31.09c12.306-15.381 33.978-19.515 51.081-9.741l112 64A40.002 40.002 0 0 1 512 168v240c0 18.562-12.77 34.686-30.838 38.937l-136 32A39.982 39.982 0 0 1 336 480h-80c-22.091 0-40-17.908-40-40z"]},aa={prefix:"fas",iconName:"hand-spock",icon:[512,512,[],"f259","M10.872 316.585c15.139-16.086 40.454-16.854 56.543-1.713L128 371.893v-79.405L88.995 120.865c-4.896-21.542 8.598-42.974 30.14-47.87 21.549-4.894 42.975 8.599 47.87 30.141L201.747 256h9.833L164.016 48.966c-4.946-21.531 8.498-42.994 30.028-47.94 21.532-4.95 42.994 8.498 47.94 30.028L293.664 256h15.105l48.425-193.702c5.357-21.432 27.075-34.462 48.507-29.104 21.432 5.358 34.463 27.075 29.104 48.507L391.231 256h11.08l30.768-129.265c5.117-21.491 26.685-34.768 48.177-29.647 21.491 5.117 34.765 26.686 29.647 48.177l-36.292 152.467A96.024 96.024 0 0 0 472 319.967v42.102a96.002 96.002 0 0 1-3.96 27.287l-26.174 88.287C435.825 498.022 417.101 512 395.846 512H179.172a48.002 48.002 0 0 1-32.898-13.046L12.585 373.128c-16.087-15.141-16.853-40.456-1.713-56.543z"]},sa={prefix:"fas",iconName:"hands",icon:[640,512,[],"f4c2","M204.8 230.4c-10.6-14.1-30.7-17-44.8-6.4-14.1 10.6-17 30.7-6.4 44.8l38.1 50.8c4.8 6.4 4.1 15.3-1.5 20.9l-12.8 12.8c-6.7 6.7-17.6 6.2-23.6-1.1L64 244.4V96c0-17.7-14.3-32-32-32S0 78.3 0 96v218.4c0 10.9 3.7 21.5 10.5 30l104.1 134.3c5 6.5 8.4 13.9 10.4 21.7 1.8 6.9 8.1 11.6 15.3 11.6H272c8.8 0 16-7.2 16-16V384c0-27.7-9-54.6-25.6-76.8l-57.6-76.8zM608 64c-17.7 0-32 14.3-32 32v148.4l-89.8 107.8c-6 7.2-17 7.7-23.6 1.1l-12.8-12.8c-5.6-5.6-6.3-14.5-1.5-20.9l38.1-50.8c10.6-14.1 7.7-34.2-6.4-44.8-14.1-10.6-34.2-7.7-44.8 6.4l-57.6 76.8C361 329.4 352 356.3 352 384v112c0 8.8 7.2 16 16 16h131.7c7.1 0 13.5-4.7 15.3-11.6 2-7.8 5.4-15.2 10.4-21.7l104.1-134.3c6.8-8.5 10.5-19.1 10.5-30V96c0-17.7-14.3-32-32-32z"]},ca={prefix:"fas",iconName:"hands-helping",icon:[640,512,[],"f4c4","M488 192H336v56c0 39.7-32.3 72-72 72s-72-32.3-72-72V126.4l-64.9 39C107.8 176.9 96 197.8 96 220.2v47.3l-80 46.2C.7 322.5-4.6 342.1 4.3 357.4l80 138.6c8.8 15.3 28.4 20.5 43.7 11.7L231.4 448H368c35.3 0 64-28.7 64-64h16c17.7 0 32-14.3 32-32v-64h8c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm147.7-37.4L555.7 16C546.9.7 527.3-4.5 512 4.3L408.6 64H306.4c-12 0-23.7 3.4-33.9 9.7L239 94.6c-9.4 5.8-15 16.1-15 27.1V248c0 22.1 17.9 40 40 40s40-17.9 40-40v-88h184c30.9 0 56 25.1 56 56v28.5l80-46.2c15.3-8.9 20.5-28.4 11.7-43.7z"]},la={prefix:"fas",iconName:"handshake",icon:[640,512,[],"f2b5","M434.7 64h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.6 15.6-16.3 40.5-2.1 56 12.7 13.9 39.4 17.6 56.1 2.7.1-.1.3-.1.4-.2l79.9-73.2c6.5-5.9 16.7-5.5 22.6 1 6 6.5 5.5 16.6-1 22.6l-26.1 23.9L504 313.8c2.9 2.4 5.5 5 7.9 7.7V128l-54.6-54.6c-5.9-6-14.1-9.4-22.6-9.4zM544 128.2v223.9c0 17.7 14.3 32 32 32h64V128.2h-96zm48 223.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM0 384h64c17.7 0 32-14.3 32-32V128.2H0V384zm48-63.9c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16c0-8.9 7.2-16 16-16zm435.9 18.6L334.6 217.5l-30 27.5c-29.7 27.1-75.2 24.5-101.7-4.4-26.9-29.4-24.8-74.9 4.4-101.7L289.1 64h-83.8c-8.5 0-16.6 3.4-22.6 9.4L128 128v223.9h18.3l90.5 81.9c27.4 22.3 67.7 18.1 90-9.3l.2-.2 17.9 15.5c15.9 13 39.4 10.5 52.3-5.4l31.4-38.6 5.4 4.4c13.7 11.1 33.9 9.1 45-4.7l9.5-11.7c11.2-13.8 9.1-33.9-4.6-45.1z"]},ua={prefix:"fas",iconName:"hanukiah",icon:[640,512,[],"f6e6","M232 160c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm-64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm224 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm88 8c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v120h32V168zm-440-8c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm520 0h-32c-8.84 0-16 7.16-16 16v112c0 17.67-14.33 32-32 32H352V128c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v192H96c-17.67 0-32-14.33-32-32V176c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v112c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V176c0-8.84-7.16-16-16-16zm-16-32c13.25 0 24-11.94 24-26.67S608 48 608 48s-24 38.61-24 53.33S594.75 128 608 128zm-576 0c13.25 0 24-11.94 24-26.67S32 48 32 48 8 86.61 8 101.33 18.75 128 32 128zm288-48c13.25 0 24-11.94 24-26.67S320 0 320 0s-24 38.61-24 53.33S306.75 80 320 80zm-208 48c13.25 0 24-11.94 24-26.67S112 48 112 48s-24 38.61-24 53.33S98.75 128 112 128zm64 0c13.25 0 24-11.94 24-26.67S176 48 176 48s-24 38.61-24 53.33S162.75 128 176 128zm64 0c13.25 0 24-11.94 24-26.67S240 48 240 48s-24 38.61-24 53.33S226.75 128 240 128zm160 0c13.25 0 24-11.94 24-26.67S400 48 400 48s-24 38.61-24 53.33S386.75 128 400 128zm64 0c13.25 0 24-11.94 24-26.67S464 48 464 48s-24 38.61-24 53.33S450.75 128 464 128zm64 0c13.25 0 24-11.94 24-26.67S528 48 528 48s-24 38.61-24 53.33S514.75 128 528 128z"]},pa={prefix:"fas",iconName:"hashtag",icon:[448,512,[],"f292","M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z"]},ha={prefix:"fas",iconName:"hat-wizard",icon:[512,512,[],"f6e8","M496 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-304-64l-64-32 64-32 32-64 32 64 64 32-64 32-16 32h208l-86.41-201.63a63.955 63.955 0 0 1-1.89-45.45L416 0 228.42 107.19a127.989 127.989 0 0 0-53.46 59.15L64 416h144l-16-32zm64-224l16-32 16 32 32 16-32 16-16 32-16-32-32-16 32-16z"]},da={prefix:"fas",iconName:"haykal",icon:[512,512,[],"f666","M496.25 202.52l-110-15.44 41.82-104.34c6.67-16.64-11.6-32.18-26.59-22.63L307.44 120 273.35 12.82C270.64 4.27 263.32 0 256 0c-7.32 0-14.64 4.27-17.35 12.82l-34.09 107.19-94.04-59.89c-14.99-9.55-33.25 5.99-26.59 22.63l41.82 104.34-110 15.43c-17.54 2.46-21.68 26.27-6.03 34.67l98.16 52.66-74.48 83.54c-10.92 12.25-1.72 30.93 13.29 30.93 1.31 0 2.67-.14 4.07-.45l108.57-23.65-4.11 112.55c-.43 11.65 8.87 19.22 18.41 19.22 5.15 0 10.39-2.21 14.2-7.18l68.18-88.9 68.18 88.9c3.81 4.97 9.04 7.18 14.2 7.18 9.54 0 18.84-7.57 18.41-19.22l-4.11-112.55 108.57 23.65c17.36 3.76 29.21-17.2 17.35-30.49l-74.48-83.54 98.16-52.66c15.64-8.39 11.5-32.2-6.04-34.66zM338.51 311.68l-51.89-11.3 1.97 53.79L256 311.68l-32.59 42.49 1.96-53.79-51.89 11.3 35.6-39.93-46.92-25.17 52.57-7.38-19.99-49.87 44.95 28.62L256 166.72l16.29 51.23 44.95-28.62-19.99 49.87 52.57 7.38-46.92 25.17 35.61 39.93z"]},fa={prefix:"fas",iconName:"hdd",icon:[576,512,[],"f0a0","M576 304v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48zm-48-80a79.557 79.557 0 0 1 30.777 6.165L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L17.223 230.165A79.557 79.557 0 0 1 48 224h480zm-48 96c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z"]},_a={prefix:"fas",iconName:"heading",icon:[512,512,[],"f1dc","M496 80V48c0-8.837-7.163-16-16-16H320c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h37.621v128H154.379V96H192c8.837 0 16-7.163 16-16V48c0-8.837-7.163-16-16-16H32c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h37.275v320H32c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h160c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16h-37.621V288H357.62v128H320c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h160c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16h-37.275V96H480c8.837 0 16-7.163 16-16z"]},ma={prefix:"fas",iconName:"headphones",icon:[512,512,[],"f025","M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z"]},ba={prefix:"fas",iconName:"headphones-alt",icon:[512,512,[],"f58f","M160 288h-16c-35.35 0-64 28.7-64 64.12v63.76c0 35.41 28.65 64.12 64 64.12h16c17.67 0 32-14.36 32-32.06V320.06c0-17.71-14.33-32.06-32-32.06zm208 0h-16c-17.67 0-32 14.35-32 32.06v127.88c0 17.7 14.33 32.06 32 32.06h16c35.35 0 64-28.71 64-64.12v-63.76c0-35.41-28.65-64.12-64-64.12zM256 32C112.91 32 4.57 151.13 0 288v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288c0-114.67 93.33-207.8 208-207.82 114.67.02 208 93.15 208 207.82v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288C507.43 151.13 399.09 32 256 32z"]},ga={prefix:"fas",iconName:"headset",icon:[512,512,[],"f590","M192 208c0-17.67-14.33-32-32-32h-16c-35.35 0-64 28.65-64 64v48c0 35.35 28.65 64 64 64h16c17.67 0 32-14.33 32-32V208zm176 144c35.35 0 64-28.65 64-64v-48c0-35.35-28.65-64-64-64h-16c-17.67 0-32 14.33-32 32v112c0 17.67 14.33 32 32 32h16zM256 0C113.18 0 4.58 118.83 0 256v16c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-16c0-114.69 93.31-208 208-208s208 93.31 208 208h-.12c.08 2.43.12 165.72.12 165.72 0 23.35-18.93 42.28-42.28 42.28H320c0-26.51-21.49-48-48-48h-32c-26.51 0-48 21.49-48 48s21.49 48 48 48h181.72c49.86 0 90.28-40.42 90.28-90.28V256C507.42 118.83 398.82 0 256 0z"]},va={prefix:"fas",iconName:"heart",icon:[512,512,[],"f004","M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z"]},ya={prefix:"fas",iconName:"heartbeat",icon:[512,512,[],"f21e","M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z"]},Ca={prefix:"fas",iconName:"helicopter",icon:[640,512,[],"f533","M304 384h272c17.67 0 32-14.33 32-32 0-123.71-100.29-224-224-224V64h176c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H144c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h176v64H112L68.8 70.4C65.78 66.37 61.03 64 56 64H16.01C5.6 64-2.04 73.78.49 83.88L32 192l160 64 86.4 115.2A31.992 31.992 0 0 0 304 384zm112-188.49C478.55 208.3 528.03 257.44 540.79 320H416V195.51zm219.37 263.3l-22.15-22.2c-6.25-6.26-16.24-6.1-22.64.01-7.09 6.77-13.84 11.25-24.64 11.25H240c-8.84 0-16 7.18-16 16.03v32.06c0 8.85 7.16 16.03 16 16.03h325.94c14.88 0 35.3-.47 68.45-29.52 7.02-6.14 7.57-17.05.98-23.66z"]},Aa={prefix:"fas",iconName:"highlighter",icon:[544,512,[],"f591","M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z"]},xa={prefix:"fas",iconName:"hiking",icon:[384,512,[],"f6ec","M80.95 472.23c-4.28 17.16 6.14 34.53 23.28 38.81 2.61.66 5.22.95 7.8.95 14.33 0 27.37-9.7 31.02-24.23l25.24-100.97-52.78-52.78-34.56 138.22zm14.89-196.12L137 117c2.19-8.42-3.14-16.95-11.92-19.06-43.88-10.52-88.35 15.07-99.32 57.17L.49 253.24c-2.19 8.42 3.14 16.95 11.92 19.06l63.56 15.25c8.79 2.1 17.68-3.02 19.87-11.44zM368 160h-16c-8.84 0-16 7.16-16 16v16h-34.75l-46.78-46.78C243.38 134.11 228.61 128 212.91 128c-27.02 0-50.47 18.3-57.03 44.52l-26.92 107.72a32.012 32.012 0 0 0 8.42 30.39L224 397.25V480c0 17.67 14.33 32 32 32s32-14.33 32-32v-82.75c0-17.09-6.66-33.16-18.75-45.25l-46.82-46.82c.15-.5.49-.89.62-1.41l19.89-79.57 22.43 22.43c6 6 14.14 9.38 22.62 9.38h48v240c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V176c.01-8.84-7.15-16-15.99-16zM240 96c26.51 0 48-21.49 48-48S266.51 0 240 0s-48 21.49-48 48 21.49 48 48 48z"]},Sa={prefix:"fas",iconName:"hippo",icon:[640,512,[],"f6ed","M581.12 96.2c-27.67-.15-52.5 17.58-76.6 26.62C489.98 88.27 455.83 64 416 64c-11.28 0-21.95 2.3-32 5.88V56c0-13.26-10.75-24-24-24h-16c-13.25 0-24 10.74-24 24v48.98C286.01 79.58 241.24 64 192 64 85.96 64 0 135.64 0 224v240c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16v-70.79C128.35 407.57 166.72 416 208 416s79.65-8.43 112-22.79V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V288h128v32c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-32c17.67 0 32-14.33 32-32v-92.02c0-34.09-24.79-67.59-58.88-67.78zM448 176c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z"]},Ta={prefix:"fas",iconName:"history",icon:[512,512,[],"f1da","M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z"]},Ea={prefix:"fas",iconName:"hockey-puck",icon:[512,512,[],"f453","M0 160c0-53 114.6-96 256-96s256 43 256 96-114.6 96-256 96S0 213 0 160zm0 82.2V352c0 53 114.6 96 256 96s256-43 256-96V242.2c-113.4 82.3-398.5 82.4-512 0z"]},Pa={prefix:"fas",iconName:"home",icon:[576,512,[],"f015","M488 312.7V456c0 13.3-10.7 24-24 24H348c-6.6 0-12-5.4-12-12V356c0-6.6-5.4-12-12-12h-72c-6.6 0-12 5.4-12 12v112c0 6.6-5.4 12-12 12H112c-13.3 0-24-10.7-24-24V312.7c0-3.6 1.6-7 4.4-9.3l188-154.8c4.4-3.6 10.8-3.6 15.3 0l188 154.8c2.7 2.3 4.3 5.7 4.3 9.3zm83.6-60.9L488 182.9V44.4c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12V117l-89.5-73.7c-17.7-14.6-43.3-14.6-61 0L4.4 251.8c-5.1 4.2-5.8 11.8-1.6 16.9l25.5 31c4.2 5.1 11.8 5.8 16.9 1.6l235.2-193.7c4.4-3.6 10.8-3.6 15.3 0l235.2 193.7c5.1 4.2 12.7 3.5 16.9-1.6l25.5-31c4.2-5.2 3.4-12.7-1.7-16.9z"]},Oa={prefix:"fas",iconName:"horse",icon:[576,512,[],"f6f0","M575.92 76.6c-.01-8.13-3.02-15.87-8.58-21.8-3.78-4.03-8.58-9.12-13.69-14.5 11.06-6.84 19.5-17.49 22.18-30.66C576.85 4.68 572.96 0 567.9 0H447.92c-70.69 0-128 57.31-128 128H160c-28.84 0-54.4 12.98-72 33.11V160c-48.53 0-88 39.47-88 88v56c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-56c0-13.22 6.87-24.39 16.78-31.68-.21 2.58-.78 5.05-.78 7.68 0 27.64 11.84 52.36 30.54 69.88l-25.72 68.6a63.945 63.945 0 0 0-2.16 37.99l24.85 99.41A15.982 15.982 0 0 0 107.02 512h65.96c10.41 0 18.05-9.78 15.52-19.88l-26.31-105.26 23.84-63.59L320 345.6V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V318.22c19.74-20.19 32-47.75 32-78.22 0-.22-.07-.42-.08-.64V136.89l16 7.11 18.9 37.7c7.45 14.87 25.05 21.55 40.49 15.37l32.55-13.02a31.997 31.997 0 0 0 20.12-29.74l-.06-77.71zm-64 19.4c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z"]},Ma={prefix:"fas",iconName:"hospital",icon:[448,512,[],"f0f8","M448 492v20H0v-20c0-6.627 5.373-12 12-12h20V120c0-13.255 10.745-24 24-24h88V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v72h88c13.255 0 24 10.745 24 24v360h20c6.627 0 12 5.373 12 12zM308 192h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-168 64h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm104 128h-40c-6.627 0-12 5.373-12 12v84h64v-84c0-6.627-5.373-12-12-12zm64-96h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-116 12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zM182 96h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6z"]},Ra={prefix:"fas",iconName:"hospital-alt",icon:[576,512,[],"f47d","M544 96H416V32c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32v368c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16V128c0-17.7-14.3-32-32-32zM160 436c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm160 128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm16-170c0 3.3-2.7 6-6 6h-26v26c0 3.3-2.7 6-6 6h-20c-3.3 0-6-2.7-6-6v-26h-26c-3.3 0-6-2.7-6-6v-20c0-3.3 2.7-6 6-6h26V86c0-3.3 2.7-6 6-6h20c3.3 0 6 2.7 6 6v26h26c3.3 0 6 2.7 6 6v20zm144 298c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z"]},Ia={prefix:"fas",iconName:"hospital-symbol",icon:[512,512,[],"f47e","M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm112 376c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-96v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v88h96v-88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v240z"]},wa={prefix:"fas",iconName:"hot-tub",icon:[512,512,[],"f593","M414.21 177.65c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C378.96 6.14 372.22 0 364.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zm-108 0c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C270.96 6.14 264.22 0 256.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zM480 256H256l-110.93-83.2a63.99 63.99 0 0 0-38.4-12.8H64c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V288c0-17.67-14.33-32-32-32zM128 440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zM64 128c35.35 0 64-28.65 64-64S99.35 0 64 0 0 28.65 0 64s28.65 64 64 64z"]},Da={prefix:"fas",iconName:"hotel",icon:[576,512,[],"f594","M560 64c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h15.98v384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h240v-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v80h240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16V64h16zm-304 44.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm0 96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm-128-96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zM179.2 256h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8zM192 384c0-53.02 42.98-96 96-96s96 42.98 96 96H192zm256-140.8c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-96c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4z"]},La={prefix:"fas",iconName:"hourglass",icon:[384,512,[],"f254","M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64z"]},Na={prefix:"fas",iconName:"hourglass-end",icon:[384,512,[],"f253","M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z"]},Fa={prefix:"fas",iconName:"hourglass-half",icon:[384,512,[],"f252","M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z"]},Ba={prefix:"fas",iconName:"hourglass-start",icon:[384,512,[],"f251","M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z"]},ka={prefix:"fas",iconName:"house-damage",icon:[576,512,[],"f6f1","M288 114.96L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496c0 8.84 7.16 16 16 16h149.23L192 439.19l104.11-64-60.16-119.22L384 392.75l-104.11 64L319.81 512H496c8.84 0 16-7.16 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2L288 114.96zm282.69 121.32L512 184.45V48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v51.69L314.75 10.31C307.12 3.45 297.56.01 288 0s-19.1 3.41-26.7 10.27L5.31 236.28c-6.57 5.91-7.12 16.02-1.21 22.6l21.4 23.82c5.9 6.57 16.02 7.12 22.6 1.21L277.42 81.63c6.05-5.33 15.12-5.33 21.17 0L527.91 283.9c6.57 5.9 16.69 5.36 22.6-1.21l21.4-23.82c5.9-6.57 5.36-16.69-1.22-22.59z"]},Va={prefix:"fas",iconName:"hryvnia",icon:[384,512,[],"f6f2","M368 240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-41.86c13.41-28.63 13.74-63.33-4.13-94.05C303.34 49.84 267.1 32 229.96 32h-78.82c-24.32 0-47.86 8.53-66.54 24.09L72.83 65.9c-10.18 8.49-11.56 23.62-3.07 33.8l20.49 24.59c8.49 10.19 23.62 11.56 33.81 3.07l11.73-9.78c4.32-3.6 9.77-5.57 15.39-5.57h83.62c11.69 0 21.2 9.52 21.2 21.2 0 5.91-2.48 11.58-6.81 15.58L219.7 176H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h134.37l-34.67 32H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h41.86c-13.41 28.63-13.74 63.33 4.13 94.05C80.66 462.15 116.9 480 154.04 480h78.82c24.32 0 47.86-8.53 66.54-24.09l11.77-9.81c10.18-8.49 11.56-23.62 3.07-33.8l-20.49-24.59c-8.49-10.19-23.62-11.56-33.81-3.07l-11.75 9.8a23.992 23.992 0 0 1-15.36 5.56H149.2c-11.69 0-21.2-9.52-21.2-21.2 0-5.91 2.48-11.58 6.81-15.58L164.3 336H368c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H233.63l34.67-32H368z"]},za={prefix:"fas",iconName:"i-cursor",icon:[256,512,[],"f246","M256 52.048V12.065C256 5.496 250.726.148 244.158.066 211.621-.344 166.469.011 128 37.959 90.266.736 46.979-.114 11.913.114 5.318.157 0 5.519 0 12.114v39.645c0 6.687 5.458 12.078 12.145 11.998C38.111 63.447 96 67.243 96 112.182V224H60c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h36v112c0 44.932-56.075 48.031-83.95 47.959C5.404 447.942 0 453.306 0 459.952v39.983c0 6.569 5.274 11.917 11.842 11.999 32.537.409 77.689.054 116.158-37.894 37.734 37.223 81.021 38.073 116.087 37.845 6.595-.043 11.913-5.405 11.913-12V460.24c0-6.687-5.458-12.078-12.145-11.998C217.889 448.553 160 444.939 160 400V288h36c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-36V112.182c0-44.932 56.075-48.213 83.95-48.142 6.646.018 12.05-5.346 12.05-11.992z"]},ja={prefix:"fas",iconName:"id-badge",icon:[384,512,[],"f2c1","M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM144 32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16h-96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm48 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 416 80 407.4 80 396.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z"]},Ua={prefix:"fas",iconName:"id-card",icon:[576,512,[],"f2c2","M528 32H48C21.5 32 0 53.5 0 80v16h576V80c0-26.5-21.5-48-48-48zM0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V128H0v304zm352-232c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zM176 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM67.1 396.2C75.5 370.5 99.6 352 128 352h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.9-5.2 19.8-15.6 19.8H82.7c-10.4 0-18.8-10-15.6-19.8z"]},Ga={prefix:"fas",iconName:"id-card-alt",icon:[576,512,[],"f47f","M528 64H384v96H192V64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM288 224c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm93.3 224H194.7c-10.4 0-18.8-10-15.6-19.8 8.3-25.6 32.4-44.2 60.9-44.2h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.8-5.2 19.8-15.6 19.8zM352 32c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v96h128V32z"]},Ha={prefix:"fas",iconName:"image",icon:[512,512,[],"f03e","M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"]},Wa={prefix:"fas",iconName:"images",icon:[576,512,[],"f302","M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z"]},Xa={prefix:"fas",iconName:"inbox",icon:[576,512,[],"f01c","M567.938 243.908L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L8.062 243.908A47.994 47.994 0 0 0 0 270.533V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V270.533a47.994 47.994 0 0 0-8.062-26.625zM162.252 128h251.497l85.333 128H376l-32 64H232l-32-64H76.918l85.334-128z"]},Ya={prefix:"fas",iconName:"indent",icon:[448,512,[],"f03c","M0 84V44c0-8.837 7.163-16 16-16h416c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16zm176 144h256c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H176c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 484h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm160-128h256c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H176c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm-52.687-111.313l-96-95.984C17.266 138.652 0 145.776 0 160.016v191.975c0 14.329 17.325 21.304 27.313 11.313l96-95.992c6.249-6.247 6.249-16.377 0-22.625z"]},Qa={prefix:"fas",iconName:"industry",icon:[512,512,[],"f275","M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z"]},Ka={prefix:"fas",iconName:"infinity",icon:[640,512,[],"f534","M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z"]},Za={prefix:"fas",iconName:"info",icon:[192,512,[],"f129","M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z"]},qa={prefix:"fas",iconName:"info-circle",icon:[512,512,[],"f05a","M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"]},Ja={prefix:"fas",iconName:"italic",icon:[320,512,[],"f033","M204.758 416h-33.849l62.092-320h40.725a16 16 0 0 0 15.704-12.937l6.242-32C297.599 41.184 290.034 32 279.968 32H120.235a16 16 0 0 0-15.704 12.937l-6.242 32C96.362 86.816 103.927 96 113.993 96h33.846l-62.09 320H46.278a16 16 0 0 0-15.704 12.935l-6.245 32C22.402 470.815 29.967 480 40.034 480h158.479a16 16 0 0 0 15.704-12.935l6.245-32c1.927-9.88-5.638-19.065-15.704-19.065z"]},$a={prefix:"fas",iconName:"jedi",icon:[544,512,[],"f669","M479.99 352l58.88-58.87c3.29-16.8 5.13-34.12 5.13-51.86 0-5.81-.68-11.51-1.05-17.27H496l41.25-41.24c-14.5-64.79-52.43-123.05-107.91-162.27-2.77-1.96-5.97-2.99-9.25-2.99-5.37 0-10.41 2.71-13.49 7.24-3.05 4.49-3.64 9.99-1.61 15.09 6.55 16.46 9.86 33.73 9.86 51.31 0 45.12-21.03 86.57-57.69 113.73-4.02 2.98-6.46 7.5-6.7 12.4-.24 4.92 1.76 9.66 5.49 13.03 32.93 29.75 47.35 73.51 38.57 117.07-9.74 48.35-48.84 87.1-97.31 96.5l-2.5-65.34L321.88 397c2.98 2.06 7.39 1.69 10.02-.8a8.002 8.002 0 0 0 1.34-9.92l-20.11-33.73 42.07-8.72c3.7-.75 6.38-4.05 6.38-7.83 0-3.77-2.69-7.06-6.38-7.83l-42.07-8.73 20.13-33.77c1.92-3.23 1.34-7.31-1.38-9.91-2.7-2.55-6.97-2.89-10-.8l-30.39 20.67L279.96 7.7a7.964 7.964 0 0 0-8-7.7c-4.33 0-7.84 3.38-8 7.67l-11.52 287.97-30.39-20.66c-3.14-2.12-7.27-1.83-10 .78-2.72 2.59-3.3 6.67-1.36 9.94l20.11 33.73-42.07 8.73c-3.7.75-6.38 4.05-6.38 7.83s2.67 7.08 6.38 7.83l42.07 8.72-20.13 33.77c-1.92 3.23-1.34 7.33 1.39 9.94 2.59 2.45 7.03 2.75 10 .75l27.16-18.48-2.5 65.26c-56.94-11.64-99.89-61.89-99.89-121.92 0-35.08 14.62-67.6 41.17-91.58 3.72-3.36 5.72-8.11 5.48-13.01-.24-4.9-2.68-9.41-6.69-12.38-36.67-27.16-57.71-68.62-57.71-113.74 0-17.56 3.31-34.81 9.84-51.26 2.02-5.09 1.43-10.59-1.62-15.09-3.08-4.54-8.13-7.25-13.51-7.25-3.3 0-6.5 1.04-9.27 3-55.87 39.52-93.6 97.37-107.97 162.07L47.93 224H.72c-.63 9.92-.97 19.91-.5 29.99.62 13.43 2.54 26.53 5.11 39.41l58.6 58.6H24.02c41.25 90.23 131.13 154.94 235.1 159.71 4.3.2 8.59.29 12.85.29 110.34 0 205.35-65.83 247.98-160h-39.96z"]},es={prefix:"fas",iconName:"joint",icon:[640,512,[],"f595","M444.34 181.1c22.38 15.68 35.66 41.16 35.66 68.59V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-43.24-21.01-83.41-56.34-108.06C463.85 125.02 448 99.34 448 70.31V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v66.4c0 43.69 24.56 81.63 60.34 106.7zM194.97 358.98C126.03 370.07 59.69 394.69 0 432c83.65 52.28 180.3 80 278.94 80h88.57L254.79 380.49c-14.74-17.2-37.45-25.11-59.82-21.51zM553.28 87.09c-5.67-3.8-9.28-9.96-9.28-16.78V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v62.31c0 22.02 10.17 43.41 28.64 55.39C550.79 153.04 576 199.54 576 249.69V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-65.44-32.41-126.19-86.72-162.6zM360.89 352.05c-34.4.06-86.81.15-88.21.17l117.8 137.43A63.987 63.987 0 0 0 439.07 512h88.45L409.57 374.4a63.955 63.955 0 0 0-48.68-22.35zM616 352H432l117.99 137.65A63.987 63.987 0 0 0 598.58 512H616c13.25 0 24-10.75 24-24V376c0-13.26-10.75-24-24-24z"]},ts={prefix:"fas",iconName:"journal-whills",icon:[448,512,[],"f66a","M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM133.08 144.39l21.26 21.26c1.56 1.56 3.61 2.34 5.66 2.34s4.09-.78 5.66-2.34c3.12-3.12 3.12-8.19 0-11.31l-26.42-26.42c10-20.9 26.24-37.97 46.37-49.26C179.62 88.4 176 99.74 176 112c0 19.96 9.33 37.57 23.66 49.31C190.01 171.37 184 184.96 184 200c0 26.94 19.04 49.4 44.38 54.76l1.36-32.71-10.37 7.04c-.69.45-1.47.69-2.25.69-1 0-1.98-.38-2.75-1.09a4.006 4.006 0 0 1-.69-4.95l8.54-14.31-17.91-3.72c-1.86-.39-3.19-2.03-3.19-3.92s1.33-3.53 3.19-3.92l17.91-3.72-8.54-14.31c-.95-1.61-.67-3.67.69-4.95 1.36-1.3 3.44-1.44 5-.41l12.01 8.16L236 71.83c.09-2.14 1.86-3.83 4-3.83s3.91 1.69 4 3.83l4.68 112.29 14.2-9.65a4.067 4.067 0 0 1 5 .41 4.006 4.006 0 0 1 .69 4.95l-8.54 14.31 17.91 3.72c1.86.39 3.19 2.03 3.19 3.92s-1.33 3.53-3.19 3.92l-17.91 3.72 8.54 14.31c.95 1.61.67 3.67-.69 4.95-.77.72-1.77 1.09-2.75 1.09-.78 0-1.56-.23-2.25-.69l-12.68-8.62 1.43 34.28C276.96 249.4 296 226.94 296 200c0-15.04-6.01-28.63-15.66-38.69C294.67 149.57 304 131.96 304 112c0-12.26-3.62-23.6-9.6-33.33 20.13 11.28 36.37 28.36 46.37 49.26l-26.42 26.42c-3.12 3.12-3.12 8.19 0 11.31 1.56 1.56 3.61 2.34 5.66 2.34s4.09-.78 5.66-2.34l21.26-21.26c2.97 10.08 5.07 20.55 5.07 31.6 0 .52-.14.99-.15 1.51l-37.11 32.47a7.975 7.975 0 0 0-.75 11.28 7.97 7.97 0 0 0 6.02 2.73c1.88 0 3.75-.66 5.27-1.98l23.59-20.64C337.32 250.96 293.09 288 240 288s-97.32-37.04-108.86-86.62l23.59 20.64A7.957 7.957 0 0 0 160 224c2.22 0 4.44-.92 6.02-2.73 2.92-3.33 2.58-8.38-.75-11.28l-37.11-32.47c-.01-.52-.15-.99-.15-1.51-.01-11.06 2.09-21.53 5.07-31.62zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z"]},ns={prefix:"fas",iconName:"kaaba",icon:[576,512,[],"f66b","M554.12 83.51L318.36 4.93a95.962 95.962 0 0 0-60.71 0L21.88 83.51A32.006 32.006 0 0 0 0 113.87v49.01l265.02-79.51c15.03-4.5 30.92-4.5 45.98 0l265 79.51v-49.01c0-13.77-8.81-26-21.88-30.36zm-279.9 30.52L0 196.3v228.38c0 15 10.42 27.98 25.06 31.24l242.12 53.8a95.937 95.937 0 0 0 41.65 0l242.12-53.8c14.64-3.25 25.06-16.24 25.06-31.24V196.29l-274.2-82.26c-9.04-2.72-18.59-2.72-27.59 0zM128 230.11c0 3.61-2.41 6.77-5.89 7.72l-80 21.82C37.02 261.03 32 257.2 32 251.93v-16.58c0-3.61 2.41-6.77 5.89-7.72l80-21.82c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm144-39.28c0 3.61-2.41 6.77-5.89 7.72l-96 26.18c-5.09 1.39-10.11-2.44-10.11-7.72v-16.58c0-3.61 2.41-6.77 5.89-7.72l96-26.18c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm176 22.7c0-5.28 5.02-9.11 10.11-7.72l80 21.82c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-80-21.82a7.997 7.997 0 0 1-5.89-7.72v-16.58zm-144-39.27c0-5.28 5.02-9.11 10.11-7.72l96 26.18c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-96-26.18a7.997 7.997 0 0 1-5.89-7.72v-16.58z"]},is={prefix:"fas",iconName:"key",icon:[512,512,[],"f084","M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z"]},rs={prefix:"fas",iconName:"keyboard",icon:[576,512,[],"f11c","M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"]},os={prefix:"fas",iconName:"khanda",icon:[512,512,[],"f66d","M415.81 66c-6.37-3.5-14.37-2.33-19.36 3.02a15.974 15.974 0 0 0-1.91 19.52c16.49 26.16 25.2 56.39 25.2 87.41-.19 53.25-26.77 102.69-71.27 132.41l-76.63 53.35v-20.1l44.05-36.09c3.92-4.2 5-10.09 2.81-15.28L310.85 273c33.84-19.26 56.94-55.25 56.94-96.99 0-40.79-22.02-76.13-54.59-95.71l5.22-11.44c2.34-5.53.93-11.83-3.57-16.04L255.86 0l-58.99 52.81c-4.5 4.21-5.9 10.51-3.57 16.04l5.22 11.44c-32.57 19.58-54.59 54.93-54.59 95.72 0 41.75 23.09 77.73 56.94 96.99l-7.85 17.24c-2.19 5.18-1.1 11.07 2.81 15.28l44.05 36.09v19.9l-76.59-53.33C119.02 278.62 92.44 229.19 92.26 176c0-31.08 8.71-61.31 25.2-87.47 3.87-6.16 2.4-13.77-2.59-19.08-5-5.34-13.68-6.2-20.02-2.7C16.32 109.6-22.3 205.3 13.36 295.99c7.07 17.99 17.89 34.38 30.46 49.06l55.97 65.36c4.87 5.69 13.04 7.24 19.65 3.72l79.35-42.23L228 392.23l-47.08 32.78c-1.67-.37-3.23-1.01-5.01-1.01-13.25 0-23.99 10.74-23.99 24 0 13.25 10.74 24 23.99 24 12.1 0 21.69-9.11 23.33-20.76l40.63-28.28v29.95c-9.39 5.57-15.99 15.38-15.99 27.1 0 17.67 14.32 32 31.98 32s31.98-14.33 31.98-32c0-11.71-6.61-21.52-15.99-27.1v-30.15l40.91 28.48C314.41 462.89 324 472 336.09 472c13.25 0 23.99-10.75 23.99-24 0-13.26-10.74-24-23.99-24-1.78 0-3.34.64-5.01 1.01L284 392.23l29.21-20.34 79.35 42.23c6.61 3.52 14.78 1.97 19.65-3.71l52.51-61.31c18.87-22.02 34-47.5 41.25-75.59 21.62-83.66-16.45-167.27-90.16-207.51zm-95.99 110c0 22.3-11.49 41.92-28.83 53.38l-5.65-12.41c-8.75-24.52-8.75-51.04 0-75.56l7.83-17.18c16.07 11.65 26.65 30.45 26.65 51.77zm-127.93 0c0-21.32 10.58-40.12 26.66-51.76l7.83 17.18c8.75 24.52 8.75 51.03 0 75.56l-5.65 12.41c-17.34-11.46-28.84-31.09-28.84-53.39z"]},as={prefix:"fas",iconName:"kiss",icon:[496,512,[],"f596","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm136 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm24-156c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},ss={prefix:"fas",iconName:"kiss-beam",icon:[496,512,[],"f597","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-39 219.9l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5zM304 396c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm65-168.1l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5z"]},cs={prefix:"fas",iconName:"kiss-wink-heart",icon:[504,512,[],"f598","M501.1 402.5c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zm-177.6-4c-5.6-20.3-2.3-42 9-59.7 29.7-46.3 98.7-45.5 127.8 4.3 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-.3-.7-23.9-84.6-23.9-84.6zM168 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm120 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-5.7-12.3 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.8-3.7-4.6-16.6 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C274.6 368.7 288 383 288 396zm16-179c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S400 181 404 206.2c1.7 11.1-11.3 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 217z"]},ls={prefix:"fas",iconName:"kiwi-bird",icon:[576,512,[],"f535","M575.81 217.98C572.64 157.41 518.28 112 457.63 112h-9.37c-52.82 0-104.25-16.25-147.74-46.24-41.99-28.96-96.04-41.62-153.21-28.7C129.3 41.12-.08 78.24 0 224c.04 70.95 38.68 132.8 95.99 166.01V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-54.26c15.36 3.96 31.4 6.26 48 6.26 5.44 0 10.68-.73 16-1.18V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-59.43c14.24-5.06 27.88-11.39 40.34-19.51C342.07 355.25 393.86 336 448.46 336c25.48 0 16.01-.31 23.05-.78l74.41 136.44c2.86 5.23 8.3 8.34 14.05 8.34 1.31 0 2.64-.16 3.95-.5 7.09-1.8 12.05-8.19 12.05-15.5 0 0 .14-240.24-.16-246.02zM463.97 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm80 153.25l-39.86-73.08c15.12-5.83 28.73-14.6 39.86-25.98v99.06z"]},us={prefix:"fas",iconName:"landmark",icon:[512,512,[],"f66f","M501.62 92.11L267.24 2.04a31.958 31.958 0 0 0-22.47 0L10.38 92.11A16.001 16.001 0 0 0 0 107.09V144c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-36.91c0-6.67-4.14-12.64-10.38-14.98zM64 192v160H48c-8.84 0-16 7.16-16 16v48h448v-48c0-8.84-7.16-16-16-16h-16V192h-64v160h-96V192h-64v160h-96V192H64zm432 256H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},ps={prefix:"fas",iconName:"language",icon:[640,512,[],"f1ab","M304 416H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h280v320zm-120.676-72.622A12 12 0 0 0 194.839 352h22.863c8.22 0 14.007-8.078 11.362-15.861L171.61 167.085a12 12 0 0 0-11.362-8.139h-32.489a12.001 12.001 0 0 0-11.362 8.139L58.942 336.139C56.297 343.922 62.084 352 70.304 352h22.805a12 12 0 0 0 11.535-8.693l9.118-31.807h60.211l9.351 31.878zm-39.051-140.42s4.32 21.061 7.83 33.21l10.8 37.531h-38.07l11.07-37.531c3.51-12.15 7.83-33.21 7.83-33.21h.54zM616 416H336V96h280c13.255 0 24 10.745 24 24v272c0 13.255-10.745 24-24 24zm-36-228h-64v-16c0-6.627-5.373-12-12-12h-16c-6.627 0-12 5.373-12 12v16h-64c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h114.106c-6.263 14.299-16.518 28.972-30.023 43.206-6.56-6.898-12.397-13.91-17.365-20.933-3.639-5.144-10.585-6.675-15.995-3.446l-7.28 4.346-6.498 3.879c-5.956 3.556-7.693 11.421-3.735 17.117 6.065 8.729 13.098 17.336 20.984 25.726-8.122 6.226-16.841 12.244-26.103 17.964-5.521 3.41-7.381 10.556-4.162 16.19l7.941 13.896c3.362 5.883 10.935 7.826 16.706 4.276 12.732-7.831 24.571-16.175 35.443-24.891 10.917 8.761 22.766 17.102 35.396 24.881 5.774 3.556 13.353 1.618 16.717-4.27l7.944-13.903c3.213-5.623 1.37-12.76-4.135-16.171a312.737 312.737 0 0 1-26.06-18.019c21.024-22.425 35.768-46.289 42.713-69.85H580c6.627 0 12-5.373 12-12v-16c0-6.625-5.373-11.998-12-11.998z"]},hs={prefix:"fas",iconName:"laptop",icon:[640,512,[],"f109","M624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z"]},ds={prefix:"fas",iconName:"laptop-code",icon:[640,512,[],"f5fc","M255.03 261.65c6.25 6.25 16.38 6.25 22.63 0l11.31-11.31c6.25-6.25 6.25-16.38 0-22.63L253.25 192l35.71-35.72c6.25-6.25 6.25-16.38 0-22.63l-11.31-11.31c-6.25-6.25-16.38-6.25-22.63 0l-58.34 58.34c-6.25 6.25-6.25 16.38 0 22.63l58.35 58.34zm96.01-11.3l11.31 11.31c6.25 6.25 16.38 6.25 22.63 0l58.34-58.34c6.25-6.25 6.25-16.38 0-22.63l-58.34-58.34c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63L386.75 192l-35.71 35.72c-6.25 6.25-6.25 16.38 0 22.63zM624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z"]},fs={prefix:"fas",iconName:"laugh",icon:[496,512,[],"f599","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 152c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm88 272h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18-8.9 71-69.5 126-142.9 126z"]},_s={prefix:"fas",iconName:"laugh-beam",icon:[496,512,[],"f59a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm24 199.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.8 4.1-15.1-4.5zm-160 0c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z"]},ms={prefix:"fas",iconName:"laugh-squint",icon:[496,512,[],"f59b","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 161.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 180l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z"]},bs={prefix:"fas",iconName:"laugh-wink",icon:[496,512,[],"f59c","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm20.1 198.1c4-25.2 34.2-42.1 59.9-42.1s55.9 16.9 59.9 42.1c1.7 11.1-11.4 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 217c-8.4 7.4-21.6.3-19.9-10.9zM168 160c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm230.9 146C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z"]},gs={prefix:"fas",iconName:"layer-group",icon:[512,512,[],"f5fd","M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z"]},vs={prefix:"fas",iconName:"leaf",icon:[576,512,[],"f06c","M546.2 9.7c-5.6-12.5-21.6-13-28.3-1.2C486.9 62.4 431.4 96 368 96h-80C182 96 96 182 96 288c0 7 .8 13.7 1.5 20.5C161.3 262.8 253.4 224 384 224c8.8 0 16 7.2 16 16s-7.2 16-16 16C132.6 256 26 410.1 2.4 468c-6.6 16.3 1.2 34.9 17.5 41.6 16.4 6.8 35-1.1 41.8-17.3 1.5-3.6 20.9-47.9 71.9-90.6 32.4 43.9 94 85.8 174.9 77.2C465.5 467.5 576 326.7 576 154.3c0-50.2-10.8-102.2-29.8-144.6z"]},ys={prefix:"fas",iconName:"lemon",icon:[512,512,[],"f094","M489.038 22.963C465.944-.13 434.648-5.93 413.947 6.129c-58.906 34.312-181.25-53.077-321.073 86.746S40.441 355.041 6.129 413.945c-12.059 20.702-6.26 51.999 16.833 75.093 23.095 23.095 54.392 28.891 75.095 16.832 58.901-34.31 181.246 53.079 321.068-86.743S471.56 156.96 505.871 98.056c12.059-20.702 6.261-51.999-16.833-75.093zM243.881 95.522c-58.189 14.547-133.808 90.155-148.358 148.358-1.817 7.27-8.342 12.124-15.511 12.124-1.284 0-2.59-.156-3.893-.481-8.572-2.144-13.784-10.83-11.642-19.403C81.901 166.427 166.316 81.93 236.119 64.478c8.575-2.143 17.261 3.069 19.403 11.642s-3.069 17.259-11.641 19.402z"]},Cs={prefix:"fas",iconName:"less-than",icon:[384,512,[],"f536","M365.46 357.74L147.04 255.89l218.47-101.88c16.02-7.47 22.95-26.51 15.48-42.53l-13.52-29C360 66.46 340.96 59.53 324.94 67L18.48 209.91a32.014 32.014 0 0 0-18.48 29v34.24c0 12.44 7.21 23.75 18.48 29l306.31 142.83c16.06 7.49 35.15.54 42.64-15.52l13.56-29.08c7.49-16.06.54-35.15-15.53-42.64z"]},As={prefix:"fas",iconName:"less-than-equal",icon:[448,512,[],"f537","M54.98 214.2l301.41 119.87c18.39 6.03 38.71-2.54 45.38-19.15l12.09-30.08c6.68-16.61-2.82-34.97-21.21-41l-175.44-68.05 175.56-68.09c18.29-6 27.74-24.27 21.1-40.79l-12.03-29.92c-6.64-16.53-26.86-25.06-45.15-19.06L54.98 137.89C41.21 142.41 32 154.5 32 168.07v15.96c0 13.56 9.21 25.65 22.98 30.17zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z"]},xs={prefix:"fas",iconName:"level-down-alt",icon:[320,512,[],"f3be","M313.553 392.331L209.587 504.334c-9.485 10.214-25.676 10.229-35.174 0L70.438 392.331C56.232 377.031 67.062 352 88.025 352H152V80H68.024a11.996 11.996 0 0 1-8.485-3.515l-56-56C-4.021 12.926 1.333 0 12.024 0H208c13.255 0 24 10.745 24 24v328h63.966c20.878 0 31.851 24.969 17.587 40.331z"]},Ss={prefix:"fas",iconName:"level-up-alt",icon:[320,512,[],"f3bf","M313.553 119.669L209.587 7.666c-9.485-10.214-25.676-10.229-35.174 0L70.438 119.669C56.232 134.969 67.062 160 88.025 160H152v272H68.024a11.996 11.996 0 0 0-8.485 3.515l-56 56C-4.021 499.074 1.333 512 12.024 512H208c13.255 0 24-10.745 24-24V160h63.966c20.878 0 31.851-24.969 17.587-40.331z"]},Ts={prefix:"fas",iconName:"life-ring",icon:[512,512,[],"f1cd","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z"]},Es={prefix:"fas",iconName:"lightbulb",icon:[352,512,[],"f0eb","M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"]},Ps={prefix:"fas",iconName:"link",icon:[512,512,[],"f0c1","M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"]},Os={prefix:"fas",iconName:"lira-sign",icon:[384,512,[],"f195","M371.994 256h-48.019C317.64 256 312 260.912 312 267.246 312 368 230.179 416 144 416V256.781l134.603-29.912A12 12 0 0 0 288 215.155v-40.976c0-7.677-7.109-13.38-14.603-11.714L144 191.219V160.78l134.603-29.912A12 12 0 0 0 288 119.154V78.179c0-7.677-7.109-13.38-14.603-11.714L144 95.219V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v68.997L9.397 125.131A12 12 0 0 0 0 136.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 178.558v30.439L9.397 221.131A12 12 0 0 0 0 232.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 274.558V468c0 6.627 5.373 12 12 12h79.583c134.091 0 223.255-77.834 228.408-211.592.261-6.782-5.211-12.408-11.997-12.408z"]},Ms={prefix:"fas",iconName:"list",icon:[512,512,[],"f03a","M128 116V76c0-8.837 7.163-16 16-16h352c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H144c-8.837 0-16-7.163-16-16zm16 176h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 144h64c8.837 0 16-7.163 16-16V64c0-8.837-7.163-16-16-16H16C7.163 48 0 55.163 0 64v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16z"]},Rs={prefix:"fas",iconName:"list-alt",icon:[512,512,[],"f022","M464 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM128 120c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288-136v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12z"]},Is={prefix:"fas",iconName:"list-ol",icon:[512,512,[],"f0cb","M3.263 139.527c0-7.477 3.917-11.572 11.573-11.572h15.131V88.078c0-5.163.534-10.503.534-10.503h-.356s-1.779 2.67-2.848 3.738c-4.451 4.273-10.504 4.451-15.666-1.068l-5.518-6.231c-5.342-5.341-4.984-11.216.534-16.379l21.72-19.938C32.815 33.602 36.732 32 42.785 32H54.89c7.656 0 11.749 3.916 11.749 11.572v84.384h15.488c7.655 0 11.572 4.094 11.572 11.572v8.901c0 7.477-3.917 11.572-11.572 11.572H14.836c-7.656 0-11.573-4.095-11.573-11.572v-8.902zM2.211 304.591c0-47.278 50.955-56.383 50.955-69.165 0-7.18-5.954-8.755-9.28-8.755-3.153 0-6.479 1.051-9.455 3.852-5.079 4.903-10.507 7.004-16.111 2.451l-8.579-6.829c-5.779-4.553-7.18-9.805-2.803-15.409C13.592 201.981 26.025 192 47.387 192c19.437 0 44.476 10.506 44.476 39.573 0 38.347-46.753 46.402-48.679 56.909h39.049c7.529 0 11.557 4.027 11.557 11.382v8.755c0 7.354-4.028 11.382-11.557 11.382h-67.94c-7.005 0-12.083-4.028-12.083-11.382v-4.028zM5.654 454.61l5.603-9.28c3.853-6.654 9.105-7.004 15.584-3.152 4.903 2.101 9.63 3.152 14.359 3.152 10.155 0 14.358-3.502 14.358-8.23 0-6.654-5.604-9.106-15.934-9.106h-4.728c-5.954 0-9.28-2.101-12.258-7.88l-1.05-1.926c-2.451-4.728-1.226-9.806 2.801-14.884l5.604-7.004c6.829-8.405 12.257-13.483 12.257-13.483v-.35s-4.203 1.051-12.608 1.051H16.685c-7.53 0-11.383-4.028-11.383-11.382v-8.755c0-7.53 3.853-11.382 11.383-11.382h58.484c7.529 0 11.382 4.027 11.382 11.382v3.327c0 5.778-1.401 9.806-5.079 14.183l-17.509 20.137c19.611 5.078 28.716 20.487 28.716 34.845 0 21.363-14.358 44.126-48.503 44.126-16.636 0-28.192-4.728-35.896-9.455-5.779-4.202-6.304-9.805-2.626-15.934zM144 132h352c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"]},ws={prefix:"fas",iconName:"list-ul",icon:[512,512,[],"f0ca","M96 96c0 26.51-21.49 48-48 48S0 122.51 0 96s21.49-48 48-48 48 21.49 48 48zM48 208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm0 160c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm96-236h352c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"]},Ds={prefix:"fas",iconName:"location-arrow",icon:[512,512,[],"f124","M444.52 3.52L28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z"]},Ls={prefix:"fas",iconName:"lock",icon:[448,512,[],"f023","M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"]},Ns={prefix:"fas",iconName:"lock-open",icon:[576,512,[],"f3c1","M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z"]},Fs={prefix:"fas",iconName:"long-arrow-alt-down",icon:[256,512,[],"f309","M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z"]},Bs={prefix:"fas",iconName:"long-arrow-alt-left",icon:[448,512,[],"f30a","M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z"]},ks={prefix:"fas",iconName:"long-arrow-alt-right",icon:[448,512,[],"f30b","M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z"]},Vs={prefix:"fas",iconName:"long-arrow-alt-up",icon:[256,512,[],"f30c","M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z"]},zs={prefix:"fas",iconName:"low-vision",icon:[576,512,[],"f2a8","M569.344 231.631C512.96 135.949 407.81 72 288 72c-28.468 0-56.102 3.619-82.451 10.409L152.778 10.24c-7.601-10.858-22.564-13.5-33.423-5.9l-13.114 9.178c-10.86 7.601-13.502 22.566-5.9 33.426l43.131 58.395C89.449 131.73 40.228 174.683 6.682 231.581c-.01.017-.023.033-.034.05-8.765 14.875-8.964 33.528 0 48.739 38.5 65.332 99.742 115.862 172.859 141.349L55.316 244.302A272.194 272.194 0 0 1 83.61 208.39l119.4 170.58h.01l40.63 58.04a330.055 330.055 0 0 0 78.94 1.17l-189.98-271.4a277.628 277.628 0 0 1 38.777-21.563l251.836 356.544c7.601 10.858 22.564 13.499 33.423 5.9l13.114-9.178c10.86-7.601 13.502-22.567 5.9-33.426l-43.12-58.377-.007-.009c57.161-27.978 104.835-72.04 136.81-126.301a47.938 47.938 0 0 0 .001-48.739zM390.026 345.94l-19.066-27.23c24.682-32.567 27.711-76.353 8.8-111.68v.03c0 23.65-19.17 42.82-42.82 42.82-23.828 0-42.82-19.349-42.82-42.82 0-23.65 19.17-42.82 42.82-42.82h.03c-24.75-13.249-53.522-15.643-79.51-7.68l-19.068-27.237C253.758 123.306 270.488 120 288 120c75.162 0 136 60.826 136 136 0 34.504-12.833 65.975-33.974 89.94z"]},js={prefix:"fas",iconName:"luggage-cart",icon:[640,512,[],"f59d","M224 320h32V96h-32c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32zm352-32V128c0-17.67-14.33-32-32-32h-32v224h32c17.67 0 32-14.33 32-32zm48 96H128V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h48v368c0 8.84 7.16 16 16 16h82.94c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16h197.88c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM480 96V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v272h192V96zm-48 0h-96V48h96v48z"]},Us={prefix:"fas",iconName:"magic",icon:[512,512,[],"f0d0","M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.66-53.33L160 80l-53.34-26.67L80 0 53.34 53.33 0 80l53.34 26.67L80 160zm352 128l-26.66 53.33L352 368l53.34 26.67L432 448l26.66-53.33L512 368l-53.34-26.67L432 288zm70.62-193.77L417.77 9.38C411.53 3.12 403.34 0 395.15 0c-8.19 0-16.38 3.12-22.63 9.38L9.38 372.52c-12.5 12.5-12.5 32.76 0 45.25l84.85 84.85c6.25 6.25 14.44 9.37 22.62 9.37 8.19 0 16.38-3.12 22.63-9.37l363.14-363.15c12.5-12.48 12.5-32.75 0-45.24zM359.45 203.46l-50.91-50.91 86.6-86.6 50.91 50.91-86.6 86.6z"]},Gs={prefix:"fas",iconName:"magnet",icon:[512,512,[],"f076","M164.1 160H12c-6.6 0-12-5.4-12-12V68c0-19.9 16.1-36 36-36h104c19.9 0 36 16.1 36 36v80c.1 6.6-5.3 12-11.9 12zm348-12V67.9c0-19.9-16.1-36-36-36h-104c-19.9 0-36 16.1-36 36v80c0 6.6 5.4 12 12 12h152c6.6.1 12-5.3 12-11.9zm-164 44c-6.6 0-12 5.4-12 12v52c0 128.1-160 127.9-160 0v-52c0-6.6-5.4-12-12-12h-152c-6.7 0-12 5.4-12 12.1.1 21.4.6 40.3 0 53.3C.1 408 136.3 504 256.9 504 377.5 504 512 408 512 257.3c-.6-12.8-.2-33 0-53.2 0-6.7-5.3-12.1-12-12.1H348.1z"]},Hs={prefix:"fas",iconName:"mail-bulk",icon:[576,512,[],"f674","M160 448c-25.6 0-51.2-22.4-64-32-64-44.8-83.2-60.8-96-70.4V480c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V345.6c-12.8 9.6-32 25.6-96 70.4-12.8 9.6-38.4 32-64 32zm128-192H32c-17.67 0-32 14.33-32 32v16c25.6 19.2 22.4 19.2 115.2 86.4 9.6 6.4 28.8 25.6 44.8 25.6s35.2-19.2 44.8-22.4c92.8-67.2 89.6-67.2 115.2-86.4V288c0-17.67-14.33-32-32-32zm256-96H224c-17.67 0-32 14.33-32 32v32h96c33.21 0 60.59 25.42 63.71 57.82l.29-.22V416h192c17.67 0 32-14.33 32-32V192c0-17.67-14.33-32-32-32zm-32 128h-64v-64h64v64zm-352-96c0-35.29 28.71-64 64-64h224V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v192h96v-32z"]},Ws={prefix:"fas",iconName:"male",icon:[192,512,[],"f183","M96 0c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64S60.654 0 96 0m48 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H48c-26.51 0-48 21.49-48 48v136c0 13.255 10.745 24 24 24h16v136c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V352h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48z"]},Xs={prefix:"fas",iconName:"map",icon:[576,512,[],"f279","M0 117.66v346.32c0 11.32 11.43 19.06 21.94 14.86L160 416V32L20.12 87.95A32.006 32.006 0 0 0 0 117.66zM192 416l192 64V96L192 32v384zM554.06 33.16L416 96v384l139.88-55.95A31.996 31.996 0 0 0 576 394.34V48.02c0-11.32-11.43-19.06-21.94-14.86z"]},Ys={prefix:"fas",iconName:"map-marked",icon:[576,512,[],"f59f","M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z"]},Qs={prefix:"fas",iconName:"map-marked-alt",icon:[576,512,[],"f5a0","M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z"]},Ks={prefix:"fas",iconName:"map-marker",icon:[384,512,[],"f041","M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z"]},Zs={prefix:"fas",iconName:"map-marker-alt",icon:[384,512,[],"f3c5","M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"]},qs={prefix:"fas",iconName:"map-pin",icon:[288,512,[],"f276","M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z"]},Js={prefix:"fas",iconName:"map-signs",icon:[512,512,[],"f277","M507.31 84.69L464 41.37c-6-6-14.14-9.37-22.63-9.37H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v16H56c-13.25 0-24 10.75-24 24v80c0 13.25 10.75 24 24 24h385.37c8.49 0 16.62-3.37 22.63-9.37l43.31-43.31c6.25-6.26 6.25-16.38 0-22.63zM224 496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-64v112zm232-272H288v-32h-64v32H70.63c-8.49 0-16.62 3.37-22.63 9.37L4.69 276.69c-6.25 6.25-6.25 16.38 0 22.63L48 342.63c6 6 14.14 9.37 22.63 9.37H456c13.25 0 24-10.75 24-24v-80c0-13.25-10.75-24-24-24z"]},$s={prefix:"fas",iconName:"marker",icon:[512,512,[],"f5a1","M93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l75.4-75.4-128.02-128.02-75.4 75.4zM485.49 26.51c-35.35-35.35-92.67-35.35-128.02 0l-21.76 21.76-36.56-36.55c-15.62-15.62-40.95-15.62-56.56 0L138.47 115.84c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0l87.15-87.15 19.59 19.59L191.98 192 320 320.02l165.49-165.49c35.35-35.35 35.35-92.66 0-128.02z"]},ec={prefix:"fas",iconName:"mars",icon:[384,512,[],"f222","M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},tc={prefix:"fas",iconName:"mars-double",icon:[512,512,[],"f227","M340 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C198.5 72.1 172.2 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.5 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 288c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm356-128.1h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7c-18.2-11.4-39-18.9-61.5-21.3-2.1 21.8-8.2 43.3-18.4 63.3 1.1 0 2.2-.1 3.2-.1 44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80c0-1.1 0-2.2.1-3.2-20 10.2-41.5 16.4-63.3 18.4C168.4 455.6 229.6 512 304 512c79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12v-79c0-6.7-5.4-12.1-12-12.1z"]},nc={prefix:"fas",iconName:"mars-stroke",icon:[384,512,[],"f229","M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-17.5 17.5-14.1-14.1c-4.7-4.7-12.3-4.7-17 0L224.5 133c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-18 18c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l18-18 14.1 14.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L329.2 164l17.5-17.5 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c-.1-6.6-5.5-12-12.1-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},ic={prefix:"fas",iconName:"mars-stroke-h",icon:[480,512,[],"f22b","M476.2 247.5l-55.9-55.9c-7.6-7.6-20.5-2.2-20.5 8.5V224H376v-20c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v20h-27.6c-5.8-25.6-18.7-49.9-38.6-69.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 19.9-19.9 32.8-44.2 38.6-69.8H312v20c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-20h23.9v23.9c0 10.7 12.9 16 20.5 8.5l55.9-55.9c4.6-4.7 4.6-12.3-.1-17zm-275.6 65.1c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z"]},rc={prefix:"fas",iconName:"mars-stroke-v",icon:[288,512,[],"f22a","M245.8 234.2c-19.9-19.9-44.2-32.8-69.8-38.6v-25.4h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V81.4h23.9c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L79.6 61c-7.6 7.6-2.2 20.5 8.5 20.5H112v24.7H92c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h20v25.4c-25.6 5.8-49.9 18.7-69.8 38.6-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-45.2 158.4c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z"]},oc={prefix:"fas",iconName:"mask",icon:[640,512,[],"f6fa","M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z"]},ac={prefix:"fas",iconName:"medal",icon:[512,512,[],"f5a2","M223.75 130.75L154.62 15.54A31.997 31.997 0 0 0 127.18 0H16.03C3.08 0-4.5 14.57 2.92 25.18l111.27 158.96c29.72-27.77 67.52-46.83 109.56-53.39zM495.97 0H384.82c-11.24 0-21.66 5.9-27.44 15.54l-69.13 115.21c42.04 6.56 79.84 25.62 109.56 53.38L509.08 25.18C516.5 14.57 508.92 0 495.97 0zM256 160c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm92.52 157.26l-37.93 36.96 8.97 52.22c1.6 9.36-8.26 16.51-16.65 12.09L256 393.88l-46.9 24.65c-8.4 4.45-18.25-2.74-16.65-12.09l8.97-52.22-37.93-36.96c-6.82-6.64-3.05-18.23 6.35-19.59l52.43-7.64 23.43-47.52c2.11-4.28 6.19-6.39 10.28-6.39 4.11 0 8.22 2.14 10.33 6.39l23.43 47.52 52.43 7.64c9.4 1.36 13.17 12.95 6.35 19.59z"]},sc={prefix:"fas",iconName:"medkit",icon:[512,512,[],"f0fa","M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352zm288-208v32c0 8.837-7.163 16-16 16h-48v48c0 8.837-7.163 16-16 16h-32c-8.837 0-16-7.163-16-16v-48h-48c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h48v-48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v48h48c8.837 0 16 7.163 16 16z"]},cc={prefix:"fas",iconName:"meh",icon:[496,512,[],"f11a","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm176 192H152c-21.2 0-21.2-32 0-32h192c21.2 0 21.2 32 0 32zm-16-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},lc={prefix:"fas",iconName:"meh-blank",icon:[496,512,[],"f5a4","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},uc={prefix:"fas",iconName:"meh-rolling-eyes",icon:[496,512,[],"f5a5","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 224c0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64s-64-28.7-64-64zm224 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-112c-35.3 0-64-28.7-64-64 0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64z"]},pc={prefix:"fas",iconName:"memory",icon:[640,512,[],"f538","M640 130.94V96c0-17.67-14.33-32-32-32H32C14.33 64 0 78.33 0 96v34.94c18.6 6.61 32 24.19 32 45.06s-13.4 38.45-32 45.06V320h640v-98.94c-18.6-6.61-32-24.19-32-45.06s13.4-38.45 32-45.06zM224 256h-64V128h64v128zm128 0h-64V128h64v128zm128 0h-64V128h64v128zM0 448h64v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h64v-96H0v96z"]},hc={prefix:"fas",iconName:"menorah",icon:[640,512,[],"f676","M144 128h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm192 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm80-32c17.67 0 32-14.33 32-32S608 0 608 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S512 0 512 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S416 0 416 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S320 0 320 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S224 0 224 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S128 0 128 0 96 46.33 96 64s14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S32 0 32 0 0 46.33 0 64s14.33 32 32 32zm544 192c0 17.67-14.33 32-32 32H352V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v176H96c-17.67 0-32-14.33-32-32V144c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v144c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144z"]},dc={prefix:"fas",iconName:"mercury",icon:[288,512,[],"f223","M288 208c0-44.2-19.9-83.7-51.2-110.1 2.5-1.8 4.9-3.8 7.2-5.8 24.7-21.2 39.8-48.8 43.2-78.8.9-7.1-4.7-13.3-11.9-13.3h-40.5C229 0 224.1 4.1 223 9.8c-2.4 12.5-9.6 24.3-20.7 33.8C187 56.8 166.3 64 144 64s-43-7.2-58.4-20.4C74.5 34.1 67.4 22.3 64.9 9.8 63.8 4.1 58.9 0 53.2 0H12.7C5.5 0-.1 6.2.8 13.3 4.2 43.4 19.2 71 44 92.2c2.3 2 4.7 3.9 7.2 5.8C19.9 124.3 0 163.8 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z"]},fc={prefix:"fas",iconName:"microchip",icon:[512,512,[],"f2db","M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z"]},_c={prefix:"fas",iconName:"microphone",icon:[352,512,[],"f130","M176 352c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96zm160-160h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16z"]},mc={prefix:"fas",iconName:"microphone-alt",icon:[352,512,[],"f3c9","M336 192h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16zM176 352c53.02 0 96-42.98 96-96h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96z"]},bc={prefix:"fas",iconName:"microphone-alt-slash",icon:[640,512,[],"f539","M633.82 458.1L476.26 336.33C488.74 312.21 496 284.98 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67h-43.67l-41.4-32H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.78c11.71-1.62 23.1-4.28 33.96-8.08l-50.4-38.96c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z"]},gc={prefix:"fas",iconName:"microphone-slash",icon:[640,512,[],"f131","M633.82 458.1l-157.8-121.96C488.61 312.13 496 285.01 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67V96c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.77c11.66-1.6 22.85-4.54 33.67-8.31l-50.11-38.73c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z"]},vc={prefix:"fas",iconName:"microscope",icon:[512,512,[],"f610","M160 320h12v16c0 8.84 7.16 16 16 16h40c8.84 0 16-7.16 16-16v-16h12c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32V16c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v16c-17.67 0-32 14.33-32 32v224c0 17.67 14.33 32 32 32zm304 128h-1.29C493.24 413.99 512 369.2 512 320c0-105.88-86.12-192-192-192v64c70.58 0 128 57.42 128 128s-57.42 128-128 128H48c-26.51 0-48 21.49-48 48 0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48zm-360-32h208c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8H104c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8z"]},yc={prefix:"fas",iconName:"minus",icon:[448,512,[],"f068","M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},Cc={prefix:"fas",iconName:"minus-circle",icon:[512,512,[],"f056","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"]},Ac={prefix:"fas",iconName:"minus-square",icon:[448,512,[],"f146","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z"]},xc={prefix:"fas",iconName:"mobile",icon:[320,512,[],"f10b","M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Sc={prefix:"fas",iconName:"mobile-alt",icon:[320,512,[],"f3cd","M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z"]},Tc={prefix:"fas",iconName:"money-bill",icon:[640,512,[],"f0d6","M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 176c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 48h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z"]},Ec={prefix:"fas",iconName:"money-bill-alt",icon:[640,512,[],"f3d1","M352 288h-16v-88c0-4.42-3.58-8-8-8h-13.58c-4.74 0-9.37 1.4-13.31 4.03l-15.33 10.22a7.994 7.994 0 0 0-2.22 11.09l8.88 13.31a7.994 7.994 0 0 0 11.09 2.22l.47-.31V288h-16c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h64c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 192c-53.02 0-96-50.15-96-112 0-61.86 42.98-112 96-112s96 50.14 96 112c0 61.87-43 112-96 112zm272 32h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z"]},Pc={prefix:"fas",iconName:"money-bill-wave",icon:[640,512,[],"f53a","M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM48 132.22c20.12 5.04 41.12 7.57 62.72 8.93C104.84 170.54 79 192.69 48 192.69v-60.47zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28v57.72zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66v48.89z"]},Oc={prefix:"fas",iconName:"money-bill-wave-alt",icon:[640,512,[],"f53b","M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96z"]},Mc={prefix:"fas",iconName:"money-check",icon:[640,512,[],"f53c","M0 448c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128H0v320zm448-208c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-32zm0 120c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H456c-4.42 0-8-3.58-8-8v-16zM64 264c0-4.42 3.58-8 8-8h304c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm0 96c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zM624 32H16C7.16 32 0 39.16 0 48v48h640V48c0-8.84-7.16-16-16-16z"]},Rc={prefix:"fas",iconName:"money-check-alt",icon:[640,512,[],"f53d","M608 32H32C14.33 32 0 46.33 0 64v384c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM176 327.88V344c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V152c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07zM416 312c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm160 0c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h272c4.42 0 8 3.58 8 8v16z"]},Ic={prefix:"fas",iconName:"monument",icon:[384,512,[],"f5a6","M368 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-78.86-347.26a31.97 31.97 0 0 0-9.21-19.44L203.31 4.69c-6.25-6.25-16.38-6.25-22.63 0l-76.6 76.61a31.97 31.97 0 0 0-9.21 19.44L64 416h256l-30.86-315.26zM240 307.2c0 6.4-6.4 12.8-12.8 12.8h-70.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v38.4z"]},wc={prefix:"fas",iconName:"moon",icon:[512,512,[],"f186","M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"]},Dc={prefix:"fas",iconName:"mortar-pestle",icon:[512,512,[],"f5a7","M501.54 60.91c17.22-17.22 12.51-46.25-9.27-57.14a35.696 35.696 0 0 0-37.37 3.37L251.09 160h151.37l99.08-99.09zM496 192H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c0 80.98 50.2 150.11 121.13 178.32-12.76 16.87-21.72 36.8-24.95 58.69-1.46 9.92 6.04 18.98 16.07 18.98h223.5c10.03 0 17.53-9.06 16.07-18.98-3.22-21.89-12.18-41.82-24.95-58.69C429.8 406.11 480 336.98 480 256h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z"]},Lc={prefix:"fas",iconName:"mosque",icon:[640,512,[],"f678","M0 480c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V160H0v320zm579.16-192c17.86-17.39 28.84-37.34 28.84-58.91 0-52.86-41.79-93.79-87.92-122.9-41.94-26.47-80.63-57.77-111.96-96.22L400 0l-8.12 9.97c-31.33 38.45-70.01 69.76-111.96 96.22C233.79 135.3 192 176.23 192 229.09c0 21.57 10.98 41.52 28.84 58.91h358.32zM608 320H192c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h32v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h64v-72c0-48 48-72 48-72s48 24 48 72v72h64v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h32c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM64 0S0 32 0 96v32h128V96c0-64-64-96-64-96z"]},Nc={prefix:"fas",iconName:"motorcycle",icon:[640,512,[],"f21c","M512.949 192.003c-14.862-.108-29.14 2.322-42.434 6.874L437.589 144H520c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24h-45.311a24 24 0 0 0-17.839 7.945l-37.496 41.663-22.774-37.956A24 24 0 0 0 376 64h-80c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h66.411l19.2 32H227.904c-17.727-23.073-44.924-40-99.904-40H72.54c-13.455 0-24.791 11.011-24.536 24.464C48.252 141.505 58.9 152 72 152h56c24.504 0 38.686 10.919 47.787 24.769l-11.291 20.529c-13.006-3.865-26.871-5.736-41.251-5.21C55.857 194.549 1.565 249.605.034 317.021-1.603 389.076 56.317 448 128 448c59.642 0 109.744-40.794 123.953-96h84.236c13.673 0 24.589-11.421 23.976-25.077-2.118-47.12 17.522-93.665 56.185-125.026l12.485 20.808c-27.646 23.654-45.097 58.88-44.831 98.179.47 69.556 57.203 126.452 126.758 127.11 71.629.678 129.839-57.487 129.234-129.099-.588-69.591-57.455-126.386-127.047-126.892zM128 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c4.242 0 8.405.341 12.469.982L98.97 316.434C90.187 332.407 101.762 352 120 352h81.297c-12.37 28.225-40.56 48-73.297 48zm388.351-.116C470.272 402.337 432 365.554 432 320c0-21.363 8.434-40.781 22.125-55.144l49.412 82.352c4.546 7.577 14.375 10.034 21.952 5.488l13.72-8.232c7.577-4.546 10.034-14.375 5.488-21.952l-48.556-80.927A80.005 80.005 0 0 1 512 240c45.554 0 82.338 38.273 79.884 84.352-2.16 40.558-34.974 73.372-75.533 75.532z"]},Fc={prefix:"fas",iconName:"mountain",icon:[640,512,[],"f6fc","M634.92 462.7l-288-448C341.03 5.54 330.89 0 320 0s-21.03 5.54-26.92 14.7l-288 448a32.001 32.001 0 0 0-1.17 32.64A32.004 32.004 0 0 0 32 512h576c11.71 0 22.48-6.39 28.09-16.67a31.983 31.983 0 0 0-1.17-32.63zM320 91.18L405.39 224H320l-64 64-38.06-38.06L320 91.18z"]},Bc={prefix:"fas",iconName:"mouse-pointer",icon:[320,512,[],"f245","M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z"]},kc={prefix:"fas",iconName:"music",icon:[512,512,[],"f001","M511.99 32.01c0-21.71-21.1-37.01-41.6-30.51L150.4 96c-13.3 4.2-22.4 16.5-22.4 30.5v261.42c-10.05-2.38-20.72-3.92-32-3.92-53.02 0-96 28.65-96 64s42.98 64 96 64 96-28.65 96-64V214.31l256-75.02v184.63c-10.05-2.38-20.72-3.92-32-3.92-53.02 0-96 28.65-96 64s42.98 64 96 64 96-28.65 96-64l-.01-351.99z"]},Vc={prefix:"fas",iconName:"network-wired",icon:[640,512,[],"f6ff","M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z"]},zc={prefix:"fas",iconName:"neuter",icon:[288,512,[],"f22c","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V468c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V316.4c64.1-14.5 112-71.9 112-140.4zm-144 80c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},jc={prefix:"fas",iconName:"newspaper",icon:[576,512,[],"f1ea","M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z"]},Uc={prefix:"fas",iconName:"not-equal",icon:[448,512,[],"f53e","M416 208c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32h-23.88l51.87-66.81c5.37-7.02 4.04-17.06-2.97-22.43L415.61 3.3c-7.02-5.38-17.06-4.04-22.44 2.97L311.09 112H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h204.56l-74.53 96H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h55.49l-51.87 66.81c-5.37 7.01-4.04 17.05 2.97 22.43L64 508.7c7.02 5.38 17.06 4.04 22.43-2.97L168.52 400H416c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32H243.05l74.53-96H416z"]},Gc={prefix:"fas",iconName:"notes-medical",icon:[384,512,[],"f481","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm96 304c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm0-192c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16z"]},Hc={prefix:"fas",iconName:"object-group",icon:[512,512,[],"f247","M480 128V96h20c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v20H64V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v40c0 6.627 5.373 12 12 12h20v320H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-20h384v20c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V128zM96 276V140c0-6.627 5.373-12 12-12h168c6.627 0 12 5.373 12 12v136c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12zm320 96c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12v-52h72c13.255 0 24-10.745 24-24v-72h84c6.627 0 12 5.373 12 12v136z"]},Wc={prefix:"fas",iconName:"object-ungroup",icon:[576,512,[],"f248","M64 320v26a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6v-52a6 6 0 0 1 6-6h26V96H6a6 6 0 0 1-6-6V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v26h288V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-26v192h26a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-52a6 6 0 0 1-6-6v-26H64zm480-64v-32h26a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-52a6 6 0 0 0-6 6v26H408v72h8c13.255 0 24 10.745 24 24v64c0 13.255-10.745 24-24 24h-64c-13.255 0-24-10.745-24-24v-8H192v72h-26a6 6 0 0 0-6 6v52a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-26h288v26a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-26V256z"]},Xc={prefix:"fas",iconName:"oil-can",icon:[640,512,[],"f613","M629.8 160.31L416 224l-50.49-25.24a64.07 64.07 0 0 0-28.62-6.76H280v-48h56c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h56v48h-56L37.72 166.86a31.9 31.9 0 0 0-5.79-.53C14.67 166.33 0 180.36 0 198.34v94.95c0 15.46 11.06 28.72 26.28 31.48L96 337.46V384c0 17.67 14.33 32 32 32h274.63c8.55 0 16.75-3.42 22.76-9.51l212.26-214.75c1.5-1.5 2.34-3.54 2.34-5.66V168c.01-5.31-5.08-9.15-10.19-7.69zM96 288.67l-48-8.73v-62.43l48 8.73v62.43zm453.33 84.66c0 23.56 19.1 42.67 42.67 42.67s42.67-19.1 42.67-42.67S592 288 592 288s-42.67 61.77-42.67 85.33z"]},Yc={prefix:"fas",iconName:"om",icon:[512,512,[],"f679","M360.6 60.94a10.43 10.43 0 0 0 14.76 0l21.57-21.56a10.43 10.43 0 0 0 0-14.76L375.35 3.06c-4.08-4.07-10.68-4.07-14.76 0l-21.57 21.56a10.43 10.43 0 0 0 0 14.76l21.58 21.56zM412.11 192c-26.69 0-51.77 10.39-70.64 29.25l-24.25 24.25c-6.78 6.77-15.78 10.5-25.38 10.5H245c10.54-22.1 14.17-48.11 7.73-75.23-10.1-42.55-46.36-76.11-89.52-83.19-36.15-5.93-70.9 5.04-96.01 28.78-7.36 6.96-6.97 18.85 1.12 24.93l26.15 19.63c5.72 4.3 13.66 4.32 19.2-.21 8.45-6.9 19.02-10.71 30.27-10.71 26.47 0 48.01 21.53 48.01 48s-21.54 48-48.01 48h-31.9c-11.96 0-19.74 12.58-14.39 23.28l16.09 32.17c2.53 5.06 7.6 8.1 13.17 8.55h33.03c35.3 0 64.01 28.7 64.01 64s-28.71 64-64.01 64c-96.02 0-122.35-54.02-145.15-92.03-4.53-7.55-14.77-3.58-14.79 5.22C-.09 416 41.13 512 159.94 512c70.59 0 128.02-57.42 128.02-128 0-23.42-6.78-45.1-17.81-64h21.69c26.69 0 51.77-10.39 70.64-29.25l24.25-24.25c6.78-6.77 15.78-10.5 25.38-10.5 19.78 0 35.88 16.09 35.88 35.88V392c0 13.23-18.77 24-32.01 24-39.4 0-66.67-24.24-81.82-42.89-4.77-5.87-14.2-2.54-14.2 5.02V416s0 64 96.02 64c48.54 0 96.02-39.47 96.02-88V291.88c0-55.08-44.8-99.88-99.89-99.88zm42.18-124.73c-85.55 65.12-169.05 2.75-172.58.05-6.02-4.62-14.44-4.38-20.14.55-5.74 4.92-7.27 13.17-3.66 19.8 1.61 2.95 40.37 72.34 118.8 72.34 79.92 0 98.78-31.36 101.75-37.66 1.02-2.12 1.53-4.47 1.53-6.83V80c0-13.22-15.14-20.69-25.7-12.73z"]},Qc={prefix:"fas",iconName:"otter",icon:[640,512,[],"f700","M608 32h-32l-13.25-13.25A63.97 63.97 0 0 0 517.49 0H497c-11.14 0-22.08 2.91-31.75 8.43L312 96h-56C149.96 96 64 181.96 64 288v1.61c0 32.75-16 62.14-39.56 84.89-18.19 17.58-28.1 43.68-23.19 71.8 6.76 38.8 42.9 65.7 82.28 65.7H192c17.67 0 32-14.33 32-32s-14.33-32-32-32H80c-8.83 0-16-7.17-16-16s7.17-16 16-16h224c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-64l149.49-80.5L448 416h80c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-28.22l-55.11-110.21L521.14 192H544c53.02 0 96-42.98 96-96V64c0-17.67-14.33-32-32-32zm-96 16c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm32 96h-34.96L407.2 198.84l-13.77-27.55L512 112h77.05c-6.62 18.58-24.22 32-45.05 32z"]},Kc={prefix:"fas",iconName:"outdent",icon:[448,512,[],"f03b","M0 84V44c0-8.837 7.163-16 16-16h416c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16zm208 144h224c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H208c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 484h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm192-128h224c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H208c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM4.687 267.313l96 95.984C110.734 373.348 128 366.224 128 351.984V160.008c0-14.329-17.325-21.304-27.313-11.313l-96 95.992c-6.249 6.248-6.249 16.378 0 22.626z"]},Zc={prefix:"fas",iconName:"paint-brush",icon:[512,512,[],"f1fc","M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z"]},qc={prefix:"fas",iconName:"paint-roller",icon:[512,512,[],"f5aa","M416 128V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32zm32-64v128c0 17.67-14.33 32-32 32H256c-35.35 0-64 28.65-64 64v32c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32v-32h160c53.02 0 96-42.98 96-96v-64c0-35.35-28.65-64-64-64z"]},Jc={prefix:"fas",iconName:"palette",icon:[512,512,[],"f53f","M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},$c={prefix:"fas",iconName:"pallet",icon:[640,512,[],"f482","M144 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H384v128l-64-32-64 32V0H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm480 128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48v-64h48zm-336 64H128v-64h160v64zm224 0H352v-64h160v64z"]},el={prefix:"fas",iconName:"paper-plane",icon:[512,512,[],"f1d8","M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z"]},tl={prefix:"fas",iconName:"paperclip",icon:[448,512,[],"f0c6","M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z"]},nl={prefix:"fas",iconName:"parachute-box",icon:[512,512,[],"f4cd","M511.9 175c-9.1-75.6-78.4-132.4-158.3-158.7C390 55.7 416 116.9 416 192h28.1L327.5 321.5c-2.5-.6-4.8-1.5-7.5-1.5h-48V192h112C384 76.8 315.1 0 256 0S128 76.8 128 192h112v128h-48c-2.7 0-5 .9-7.5 1.5L67.9 192H96c0-75.1 26-136.3 62.4-175.7C78.5 42.7 9.2 99.5.1 175c-1.1 9.1 6.8 17 16 17h8.7l136.7 151.9c-.7 2.6-1.6 5.2-1.6 8.1v128c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32V352c0-2.9-.9-5.4-1.6-8.1L487.1 192h8.7c9.3 0 17.2-7.8 16.1-17z"]},il={prefix:"fas",iconName:"paragraph",icon:[448,512,[],"f1dd","M408 32H177.531C88.948 32 16.045 103.335 16 191.918 15.956 280.321 87.607 352 176 352v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V112h32v344c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V112h40c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24z"]},rl={prefix:"fas",iconName:"parking",icon:[448,512,[],"f540","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM240 320h-48v48c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h96c52.9 0 96 43.1 96 96s-43.1 96-96 96zm0-128h-48v64h48c17.6 0 32-14.4 32-32s-14.4-32-32-32z"]},ol={prefix:"fas",iconName:"passport",icon:[448,512,[],"f5ab","M129.62 176h39.09c1.49-27.03 6.54-51.35 14.21-70.41-27.71 13.24-48.02 39.19-53.3 70.41zm0 32c5.29 31.22 25.59 57.17 53.3 70.41-7.68-19.06-12.72-43.38-14.21-70.41h-39.09zM224 286.69c7.69-7.45 20.77-34.42 23.43-78.69h-46.87c2.67 44.26 15.75 71.24 23.44 78.69zM200.57 176h46.87c-2.66-44.26-15.74-71.24-23.43-78.69-7.7 7.45-20.78 34.43-23.44 78.69zm64.51 102.41c27.71-13.24 48.02-39.19 53.3-70.41h-39.09c-1.49 27.03-6.53 51.35-14.21 70.41zM416 0H64C28.65 0 0 28.65 0 64v384c0 35.35 28.65 64 64 64h352c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32zm-80 416H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h224c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-112-96c-70.69 0-128-57.31-128-128S153.31 64 224 64s128 57.31 128 128-57.31 128-128 128zm41.08-214.41c7.68 19.06 12.72 43.38 14.21 70.41h39.09c-5.28-31.22-25.59-57.17-53.3-70.41z"]},al={prefix:"fas",iconName:"pastafarianism",icon:[640,512,[],"f67b","M624.54 347.67c-32.7-12.52-57.36 4.25-75.37 16.45-17.06 11.53-23.25 14.42-31.41 11.36-8.12-3.09-10.83-9.38-15.89-29.38-3.33-13.15-7.44-29.32-17.95-42.65 2.24-2.91 4.43-5.79 6.38-8.57C500.47 304.45 513.71 312 532 312c33.95 0 50.87-25.78 62.06-42.83 10.59-16.14 15-21.17 21.94-21.17 13.25 0 24-10.75 24-24s-10.75-24-24-24c-33.95 0-50.87 25.78-62.06 42.83-10.6 16.14-15 21.17-21.94 21.17-17.31 0-37.48-61.43-97.26-101.91l17.25-34.5C485.43 125.5 512 97.98 512 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 13.02 3.94 25.1 10.62 35.21l-18.15 36.3c-16.98-4.6-35.6-7.51-56.46-7.51s-39.49 2.91-56.46 7.51l-18.15-36.3C252.06 89.1 256 77.02 256 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 33.98 26.56 61.5 60.02 63.6l17.25 34.5C145.68 202.44 125.15 264 108 264c-6.94 0-11.34-5.03-21.94-21.17C74.88 225.78 57.96 200 24 200c-13.25 0-24 10.75-24 24s10.75 24 24 24c6.94 0 11.34 5.03 21.94 21.17C57.13 286.22 74.05 312 108 312c18.29 0 31.53-7.55 41.7-17.11 1.95 2.79 4.14 5.66 6.38 8.57-10.51 13.33-14.62 29.5-17.95 42.65-5.06 20-7.77 26.28-15.89 29.38-8.11 3.06-14.33.17-31.41-11.36-18.03-12.2-42.72-28.92-75.37-16.45-12.39 4.72-18.59 18.58-13.87 30.97 4.72 12.41 18.61 18.61 30.97 13.88 8.16-3.09 14.34-.19 31.39 11.36 13.55 9.16 30.83 20.86 52.42 20.84 7.17 0 14.83-1.28 22.97-4.39 32.66-12.44 39.98-41.33 45.33-62.44 2.21-8.72 3.99-14.49 5.95-18.87 16.62 13.61 36.95 25.88 61.64 34.17-9.96 37-32.18 90.8-60.26 90.8-13.25 0-24 10.75-24 24s10.75 24 24 24c66.74 0 97.05-88.63 107.42-129.14 6.69.6 13.42 1.14 20.58 1.14s13.89-.54 20.58-1.14C350.95 423.37 381.26 512 448 512c13.25 0 24-10.75 24-24s-10.75-24-24-24c-27.94 0-50.21-53.81-60.22-90.81 24.69-8.29 45-20.56 61.62-34.16 1.96 4.38 3.74 10.15 5.95 18.87 5.34 21.11 12.67 50 45.33 62.44 8.14 3.11 15.8 4.39 22.97 4.39 21.59 0 38.87-11.69 52.42-20.84 17.05-11.55 23.28-14.45 31.39-11.36 12.39 4.75 26.27-1.47 30.97-13.88 4.71-12.4-1.49-26.26-13.89-30.98zM448 48c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zm-256 0c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16z"]},sl={prefix:"fas",iconName:"paste",icon:[448,512,[],"f0ea","M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z"]},cl={prefix:"fas",iconName:"pause",icon:[448,512,[],"f04c","M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z"]},ll={prefix:"fas",iconName:"pause-circle",icon:[512,512,[],"f28b","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z"]},ul={prefix:"fas",iconName:"paw",icon:[512,512,[],"f1b0","M256 224c-79.41 0-192 122.76-192 200.25 0 34.9 26.81 55.75 71.74 55.75 48.84 0 81.09-25.08 120.26-25.08 39.51 0 71.85 25.08 120.26 25.08 44.93 0 71.74-20.85 71.74-55.75C448 346.76 335.41 224 256 224zm-147.28-12.61c-10.4-34.65-42.44-57.09-71.56-50.13-29.12 6.96-44.29 40.69-33.89 75.34 10.4 34.65 42.44 57.09 71.56 50.13 29.12-6.96 44.29-40.69 33.89-75.34zm84.72-20.78c30.94-8.14 46.42-49.94 34.58-93.36s-46.52-72.01-77.46-63.87-46.42 49.94-34.58 93.36c11.84 43.42 46.53 72.02 77.46 63.87zm281.39-29.34c-29.12-6.96-61.15 15.48-71.56 50.13-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 10.4-34.65-4.77-68.38-33.89-75.34zm-156.27 29.34c30.94 8.14 65.62-20.45 77.46-63.87 11.84-43.42-3.64-85.21-34.58-93.36s-65.62 20.45-77.46 63.87c-11.84 43.42 3.64 85.22 34.58 93.36z"]},pl={prefix:"fas",iconName:"peace",icon:[496,512,[],"f67c","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm184 248c0 31.93-8.2 61.97-22.57 88.17L280 240.63V74.97c86.23 15.21 152 90.5 152 181.03zM216 437.03c-33.86-5.97-64.49-21.2-89.29-43.02L216 322.57v114.46zm64-114.46L369.29 394c-24.8 21.82-55.43 37.05-89.29 43.02V322.57zm-64-247.6v165.66L86.57 344.17C72.2 317.97 64 287.93 64 256c0-90.53 65.77-165.82 152-181.03z"]},hl={prefix:"fas",iconName:"pen",icon:[512,512,[],"f304","M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z"]},dl={prefix:"fas",iconName:"pen-alt",icon:[512,512,[],"f305","M497.94 74.17l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91zm-246.8-20.53c-15.62-15.62-40.94-15.62-56.56 0L75.8 172.43c-6.25 6.25-6.25 16.38 0 22.62l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l101.82-101.82 22.63 22.62L93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l196.79-196.79-82.77-82.77-84.85-84.85z"]},fl={prefix:"fas",iconName:"pen-fancy",icon:[512,512,[],"f5ac","M79.18 282.94a32.005 32.005 0 0 0-20.24 20.24L0 480l4.69 4.69 92.89-92.89c-.66-2.56-1.57-5.03-1.57-7.8 0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32c-2.77 0-5.24-.91-7.8-1.57l-92.89 92.89L32 512l176.82-58.94a31.983 31.983 0 0 0 20.24-20.24l33.07-84.07-98.88-98.88-84.07 33.07zM369.25 28.32L186.14 227.81l97.85 97.85 199.49-183.11C568.4 67.48 443.73-55.94 369.25 28.32z"]},_l={prefix:"fas",iconName:"pen-nib",icon:[512,512,[],"f5ad","M136.6 138.79a64.003 64.003 0 0 0-43.31 41.35L0 460l14.69 14.69L164.8 324.58c-2.99-6.26-4.8-13.18-4.8-20.58 0-26.51 21.49-48 48-48s48 21.49 48 48-21.49 48-48 48c-7.4 0-14.32-1.81-20.58-4.8L37.31 497.31 52 512l279.86-93.29a64.003 64.003 0 0 0 41.35-43.31L416 224 288 96l-151.4 42.79zm361.34-64.62l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91z"]},ml={prefix:"fas",iconName:"pen-square",icon:[448,512,[],"f14b","M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z"]},bl={prefix:"fas",iconName:"pencil-alt",icon:[512,512,[],"f303","M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z"]},gl={prefix:"fas",iconName:"pencil-ruler",icon:[512,512,[],"f5ae","M109.46 244.04l134.58-134.56-44.12-44.12-61.68 61.68a7.919 7.919 0 0 1-11.21 0l-11.21-11.21c-3.1-3.1-3.1-8.12 0-11.21l61.68-61.68-33.64-33.65C131.47-3.1 111.39-3.1 99 9.29L9.29 99c-12.38 12.39-12.39 32.47 0 44.86l100.17 100.18zm388.47-116.8c18.76-18.76 18.75-49.17 0-67.93l-45.25-45.25c-18.76-18.76-49.18-18.76-67.95 0l-46.02 46.01 113.2 113.2 46.02-46.03zM316.08 82.71l-297 296.96L.32 487.11c-2.53 14.49 10.09 27.11 24.59 24.56l107.45-18.84L429.28 195.9 316.08 82.71zm186.63 285.43l-33.64-33.64-61.68 61.68c-3.1 3.1-8.12 3.1-11.21 0l-11.21-11.21c-3.09-3.1-3.09-8.12 0-11.21l61.68-61.68-44.14-44.14L267.93 402.5l100.21 100.2c12.39 12.39 32.47 12.39 44.86 0l89.71-89.7c12.39-12.39 12.39-32.47 0-44.86z"]},vl={prefix:"fas",iconName:"people-carry",icon:[640,512,[],"f4ce","M128 96c26.5 0 48-21.5 48-48S154.5 0 128 0 80 21.5 80 48s21.5 48 48 48zm384 0c26.5 0 48-21.5 48-48S538.5 0 512 0s-48 21.5-48 48 21.5 48 48 48zm125.7 372.1l-44-110-41.1 46.4-2 18.2 27.7 69.2c5 12.5 17 20.1 29.7 20.1 4 0 8-.7 11.9-2.3 16.4-6.6 24.4-25.2 17.8-41.6zm-34.2-209.8L585 178.1c-4.6-20-18.6-36.8-37.5-44.9-18.5-8-39-6.7-56.1 3.3-22.7 13.4-39.7 34.5-48.1 59.4L432 229.8 416 240v-96c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v96l-16.1-10.2-11.3-33.9c-8.3-25-25.4-46-48.1-59.4-17.2-10-37.6-11.3-56.1-3.3-18.9 8.1-32.9 24.9-37.5 44.9l-18.4 80.2c-4.6 20 .7 41.2 14.4 56.7l67.2 75.9 10.1 92.6C130 499.8 143.8 512 160 512c1.2 0 2.3-.1 3.5-.2 17.6-1.9 30.2-17.7 28.3-35.3l-10.1-92.8c-1.5-13-6.9-25.1-15.6-35l-43.3-49 17.6-70.3 6.8 20.4c4.1 12.5 11.9 23.4 24.5 32.6l51.1 32.5c4.6 2.9 12.1 4.6 17.2 5h160c5.1-.4 12.6-2.1 17.2-5l51.1-32.5c12.6-9.2 20.4-20 24.5-32.6l6.8-20.4 17.6 70.3-43.3 49c-8.7 9.9-14.1 22-15.6 35l-10.1 92.8c-1.9 17.6 10.8 33.4 28.3 35.3 1.2.1 2.3.2 3.5.2 16.1 0 30-12.1 31.8-28.5l10.1-92.6 67.2-75.9c13.6-15.5 19-36.7 14.4-56.7zM46.3 358.1l-44 110c-6.6 16.4 1.4 35 17.8 41.6 16.8 6.6 35.1-1.7 41.6-17.8l27.7-69.2-2-18.2-41.1-46.4z"]},yl={prefix:"fas",iconName:"percent",icon:[448,512,[],"f295","M112 224c61.9 0 112-50.1 112-112S173.9 0 112 0 0 50.1 0 112s50.1 112 112 112zm0-160c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm224 224c-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112-50.1-112-112-112zm0 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zM392.3.2l31.6-.1c19.4-.1 30.9 21.8 19.7 37.8L77.4 501.6a23.95 23.95 0 0 1-19.6 10.2l-33.4.1c-19.5 0-30.9-21.9-19.7-37.8l368-463.7C377.2 4 384.5.2 392.3.2z"]},Cl={prefix:"fas",iconName:"percentage",icon:[384,512,[],"f541","M109.25 173.25c24.99-24.99 24.99-65.52 0-90.51-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 25 25 65.52 25 90.51 0zm256 165.49c-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 24.99 24.99 65.52 24.99 90.51 0 25-24.99 25-65.51 0-90.51zm-1.94-231.43l-22.62-22.62c-12.5-12.5-32.76-12.5-45.25 0L20.69 359.44c-12.5 12.5-12.5 32.76 0 45.25l22.62 22.62c12.5 12.5 32.76 12.5 45.25 0l274.75-274.75c12.5-12.49 12.5-32.75 0-45.25z"]},Al={prefix:"fas",iconName:"phone",icon:[512,512,[],"f095","M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z"]},xl={prefix:"fas",iconName:"phone-slash",icon:[640,512,[],"f3dd","M268.2 381.4l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48c-10.7 4.6-16.5 16.1-13.9 27.5l24 104c2.5 10.8 12.1 18.6 23.4 18.6 100.7 0 193.7-32.4 269.7-86.9l-80-61.8c-10.9 6.5-22.1 12.7-33.6 18.1zm365.6 76.7L475.1 335.5C537.9 256.4 576 156.9 576 48c0-11.2-7.7-20.9-18.6-23.4l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-12.2 26.1-27.9 50.3-46 72.8L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z"]},Sl={prefix:"fas",iconName:"phone-square",icon:[448,512,[],"f098","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM94 416c-7.033 0-13.057-4.873-14.616-11.627l-14.998-65a15 15 0 0 1 8.707-17.16l69.998-29.999a15 15 0 0 1 17.518 4.289l30.997 37.885c48.944-22.963 88.297-62.858 110.781-110.78l-37.886-30.997a15.001 15.001 0 0 1-4.289-17.518l30-69.998a15 15 0 0 1 17.16-8.707l65 14.998A14.997 14.997 0 0 1 384 126c0 160.292-129.945 290-290 290z"]},Tl={prefix:"fas",iconName:"phone-volume",icon:[384,512,[],"f2a0","M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z"]},El={prefix:"fas",iconName:"piggy-bank",icon:[576,512,[],"f4d3","M560 224h-29.5c-8.8-20-21.6-37.7-37.4-52.5L512 96h-32c-29.4 0-55.4 13.5-73 34.3-7.6-1.1-15.1-2.3-23-2.3H256c-77.4 0-141.9 55-156.8 128H56c-14.8 0-26.5-13.5-23.5-28.8C34.7 215.8 45.4 208 57 208h1c3.3 0 6-2.7 6-6v-20c0-3.3-2.7-6-6-6-28.5 0-53.9 20.4-57.5 48.6C-3.9 258.8 22.7 288 56 288h40c0 52.2 25.4 98.1 64 127.3V496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-48h128v48c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80.7c11.8-8.9 22.3-19.4 31.3-31.3H560c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16zm-128 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM256 96h128c5.4 0 10.7.4 15.9.8 0-.3.1-.5.1-.8 0-53-43-96-96-96s-96 43-96 96c0 2.1.5 4.1.6 6.2 15.2-3.9 31-6.2 47.4-6.2z"]},Pl={prefix:"fas",iconName:"pills",icon:[576,512,[],"f484","M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm48 224H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm139.7-29.7c-3.5-3.5-9.4-3.1-12.3.8-45.3 62.5-40.4 150.1 15.9 206.4 56.3 56.3 143.9 61.2 206.4 15.9 4-2.9 4.3-8.8.8-12.3L299.7 226.3zm229.8-19c-56.3-56.3-143.9-61.2-206.4-15.9-4 2.9-4.3 8.8-.8 12.3l210.8 210.8c3.5 3.5 9.4 3.1 12.3-.8 45.3-62.6 40.5-150.1-15.9-206.4z"]},Ol={prefix:"fas",iconName:"place-of-worship",icon:[640,512,[],"f67f","M620.61 366.55L512 320v192h112c8.84 0 16-7.16 16-16V395.96a32 32 0 0 0-19.39-29.41zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.55A32 32 0 0 0 0 395.96zm464.46-149.28L416 217.6V102.63c0-8.49-3.37-16.62-9.38-22.63L331.31 4.69c-6.25-6.25-16.38-6.25-22.62 0L233.38 80c-6 6-9.38 14.14-9.38 22.63V217.6l-48.46 29.08A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.66-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44z"]},Ml={prefix:"fas",iconName:"plane",icon:[576,512,[],"f072","M480 192H365.71L260.61 8.06A16.014 16.014 0 0 0 246.71 0h-65.5c-10.63 0-18.3 10.17-15.38 20.39L214.86 192H112l-43.2-57.6c-3.02-4.03-7.77-6.4-12.8-6.4H16.01C5.6 128-2.04 137.78.49 147.88L32 256 .49 364.12C-2.04 374.22 5.6 384 16.01 384H56c5.04 0 9.78-2.37 12.8-6.4L112 320h102.86l-49.03 171.6c-2.92 10.22 4.75 20.4 15.38 20.4h65.5c5.74 0 11.04-3.08 13.89-8.06L365.71 320H480c35.35 0 96-28.65 96-64s-60.65-64-96-64z"]},Rl={prefix:"fas",iconName:"plane-arrival",icon:[640,512,[],"f5af","M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM44.81 205.66l88.74 80a62.607 62.607 0 0 0 25.47 13.93l287.6 78.35c26.48 7.21 54.56 8.72 81 1.36 29.67-8.27 43.44-21.21 47.25-35.71 3.83-14.5-1.73-32.71-23.37-54.96-19.28-19.82-44.35-32.79-70.83-40l-97.51-26.56L282.8 30.22c-1.51-5.81-5.95-10.35-11.66-11.91L206.05.58c-10.56-2.88-20.9 5.32-20.71 16.44l47.92 164.21-102.2-27.84-27.59-67.88c-1.93-4.89-6.01-8.57-11.02-9.93L52.72 64.75c-10.34-2.82-20.53 5-20.72 15.88l.23 101.78c.19 8.91 6.03 17.34 12.58 23.25z"]},Il={prefix:"fas",iconName:"plane-departure",icon:[640,512,[],"f5b0","M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM80.55 341.27c6.28 6.84 15.1 10.72 24.33 10.71l130.54-.18a65.62 65.62 0 0 0 29.64-7.12l290.96-147.65c26.74-13.57 50.71-32.94 67.02-58.31 18.31-28.48 20.3-49.09 13.07-63.65-7.21-14.57-24.74-25.27-58.25-27.45-29.85-1.94-59.54 5.92-86.28 19.48l-98.51 49.99-218.7-82.06a17.799 17.799 0 0 0-18-1.11L90.62 67.29c-10.67 5.41-13.25 19.65-5.17 28.53l156.22 98.1-103.21 52.38-72.35-36.47a17.804 17.804 0 0 0-16.07.02L9.91 230.22c-10.44 5.3-13.19 19.12-5.57 28.08l76.21 82.97z"]},wl={prefix:"fas",iconName:"play",icon:[448,512,[],"f04b","M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"]},Dl={prefix:"fas",iconName:"play-circle",icon:[512,512,[],"f144","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z"]},Ll={prefix:"fas",iconName:"plug",icon:[384,512,[],"f1e6","M256 144V32c0-17.673 14.327-32 32-32s32 14.327 32 32v112h-64zm112 16H16c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h16v32c0 77.406 54.969 141.971 128 156.796V512h64v-99.204c73.031-14.825 128-79.39 128-156.796v-32h16c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16zm-240-16V32c0-17.673-14.327-32-32-32S64 14.327 64 32v112h64z"]},Nl={prefix:"fas",iconName:"plus",icon:[448,512,[],"f067","M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},Fl={prefix:"fas",iconName:"plus-circle",icon:[512,512,[],"f055","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"]},Bl={prefix:"fas",iconName:"plus-square",icon:[448,512,[],"f0fe","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"]},kl={prefix:"fas",iconName:"podcast",icon:[448,512,[],"f2ce","M267.429 488.563C262.286 507.573 242.858 512 224 512c-18.857 0-38.286-4.427-43.428-23.437C172.927 460.134 160 388.898 160 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM156.867 288.554c-18.693-18.308-29.958-44.173-28.784-72.599 2.054-49.724 42.395-89.956 92.124-91.881C274.862 121.958 320 165.807 320 220c0 26.827-11.064 51.116-28.866 68.552-2.675 2.62-2.401 6.986.628 9.187 9.312 6.765 16.46 15.343 21.234 25.363 1.741 3.654 6.497 4.66 9.449 1.891 28.826-27.043 46.553-65.783 45.511-108.565-1.855-76.206-63.595-138.208-139.793-140.369C146.869 73.753 80 139.215 80 220c0 41.361 17.532 78.7 45.55 104.989 2.953 2.771 7.711 1.77 9.453-1.887 4.774-10.021 11.923-18.598 21.235-25.363 3.029-2.2 3.304-6.566.629-9.185zM224 0C100.204 0 0 100.185 0 224c0 89.992 52.602 165.647 125.739 201.408 4.333 2.118 9.267-1.544 8.535-6.31-2.382-15.512-4.342-30.946-5.406-44.339-.146-1.836-1.149-3.486-2.678-4.512-47.4-31.806-78.564-86.016-78.187-147.347.592-96.237 79.29-174.648 175.529-174.899C320.793 47.747 400 126.797 400 224c0 61.932-32.158 116.49-80.65 147.867-.999 14.037-3.069 30.588-5.624 47.23-.732 4.767 4.203 8.429 8.535 6.31C395.227 389.727 448 314.187 448 224 448 100.205 347.815 0 224 0zm0 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z"]},Vl={prefix:"fas",iconName:"poll",icon:[448,512,[],"f681","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM160 368c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V240c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v128zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V144c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v224zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-64c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v64z"]},zl={prefix:"fas",iconName:"poll-h",icon:[448,512,[],"f682","M448 432V80c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48zM112 192c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h128c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-64z"]},jl={prefix:"fas",iconName:"poo",icon:[512,512,[],"f2fe","M451.4 369.1C468.7 356 480 335.4 480 312c0-39.8-32.2-72-72-72h-14.1c13.4-11.7 22.1-28.8 22.1-48 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C250.3 14.6 256 30.6 256 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 19.2 8.7 36.3 22.1 48H104c-39.8 0-72 32.2-72 72 0 23.4 11.3 44 28.6 57.1C26.3 374.6 0 404.1 0 440c0 39.8 32.2 72 72 72h368c39.8 0 72-32.2 72-72 0-35.9-26.3-65.4-60.6-70.9zM192 256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm159.5 139C341 422.9 293 448 256 448s-85-25.1-95.5-53c-2-5.3 2-11 7.8-11h175.4c5.8 0 9.8 5.7 7.8 11zM320 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Ul={prefix:"fas",iconName:"poop",icon:[512,512,[],"f619","M451.36 369.14C468.66 355.99 480 335.41 480 312c0-39.77-32.24-72-72-72h-14.07c13.42-11.73 22.07-28.78 22.07-48 0-35.35-28.65-64-64-64h-5.88c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96-5.17 0-10.15.74-15.11 1.52C250.31 14.64 256 30.62 256 48c0 44.18-35.82 80-80 80h-16c-35.35 0-64 28.65-64 64 0 19.22 8.65 36.27 22.07 48H104c-39.76 0-72 32.23-72 72 0 23.41 11.34 43.99 28.64 57.14C26.31 374.62 0 404.12 0 440c0 39.76 32.24 72 72 72h368c39.76 0 72-32.24 72-72 0-35.88-26.31-65.38-60.64-70.86z"]},Gl={prefix:"fas",iconName:"portrait",icon:[384,512,[],"f3e0","M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM192 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 384 80 375.4 80 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z"]},Hl={prefix:"fas",iconName:"pound-sign",icon:[320,512,[],"f154","M308 352h-45.495c-6.627 0-12 5.373-12 12v50.848H128V288h84c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-84v-63.556c0-32.266 24.562-57.086 61.792-57.086 23.658 0 45.878 11.505 57.652 18.849 5.151 3.213 11.888 2.051 15.688-2.685l28.493-35.513c4.233-5.276 3.279-13.005-2.119-17.081C273.124 54.56 236.576 32 187.931 32 106.026 32 48 84.742 48 157.961V224H20c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h28v128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12V364c0-6.627-5.373-12-12-12z"]},Wl={prefix:"fas",iconName:"power-off",icon:[512,512,[],"f011","M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z"]},Xl={prefix:"fas",iconName:"pray",icon:[384,512,[],"f683","M256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-30.63 169.75c14.06 16.72 39 19.09 55.97 5.22l88-72.02c17.09-13.98 19.59-39.19 5.62-56.28-13.97-17.11-39.19-19.59-56.31-5.62l-57.44 47-38.91-46.31c-15.44-18.39-39.22-27.92-64-25.33-24.19 2.48-45.25 16.27-56.37 36.92l-49.37 92.03c-23.4 43.64-8.69 96.37 34.19 123.75L131.56 432H40c-22.09 0-40 17.91-40 40s17.91 40 40 40h208c34.08 0 53.77-42.79 28.28-68.28L166.42 333.86l34.8-64.87 24.15 28.76z"]},Yl={prefix:"fas",iconName:"praying-hands",icon:[640,512,[],"f684","M272 191.91c-17.6 0-32 14.4-32 32v80c0 8.84-7.16 16-16 16s-16-7.16-16-16v-76.55c0-17.39 4.72-34.47 13.69-49.39l77.75-129.59c9.09-15.16 4.19-34.81-10.97-43.91-14.45-8.67-32.72-4.3-42.3 9.21-.2.23-.62.21-.79.48l-117.26 175.9C117.56 205.9 112 224.31 112 243.29v80.23l-90.12 30.04A31.974 31.974 0 0 0 0 383.91v96c0 10.82 8.52 32 32 32 2.69 0 5.41-.34 8.06-1.03l179.19-46.62C269.16 449.99 304 403.8 304 351.91v-128c0-17.6-14.4-32-32-32zm346.12 161.73L528 323.6v-80.23c0-18.98-5.56-37.39-16.12-53.23L394.62 14.25c-.18-.27-.59-.24-.79-.48-9.58-13.51-27.85-17.88-42.3-9.21-15.16 9.09-20.06 28.75-10.97 43.91l77.75 129.59c8.97 14.92 13.69 32 13.69 49.39V304c0 8.84-7.16 16-16 16s-16-7.16-16-16v-80c0-17.6-14.4-32-32-32s-32 14.4-32 32v128c0 51.89 34.84 98.08 84.75 112.34l179.19 46.62c2.66.69 5.38 1.03 8.06 1.03 23.48 0 32-21.18 32-32v-96c0-13.77-8.81-25.99-21.88-30.35z"]},Ql={prefix:"fas",iconName:"prescription",icon:[384,512,[],"f5b1","M301.26 352l78.06-78.06c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0L256 306.74l-83.96-83.96C219.31 216.8 256 176.89 256 128c0-53.02-42.98-96-96-96H16C7.16 32 0 39.16 0 48v256c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-80h18.75l128 128-78.06 78.06c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0L256 397.25l78.06 78.06c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63L301.26 352zM64 96h96c17.64 0 32 14.36 32 32s-14.36 32-32 32H64V96z"]},Kl={prefix:"fas",iconName:"prescription-bottle",icon:[384,512,[],"f485","M32 192h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v64zM360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24z"]},Zl={prefix:"fas",iconName:"prescription-bottle-alt",icon:[384,512,[],"f486","M360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24zM32 480c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v352zm64-184c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48z"]},ql={prefix:"fas",iconName:"print",icon:[512,512,[],"f02f","M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},Jl={prefix:"fas",iconName:"procedures",icon:[640,512,[],"f487","M528 224H272c-8.8 0-16 7.2-16 16v144H64V144c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v352c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h512v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-61.9-50.1-112-112-112zM136 96h126.1l27.6 55.2c5.9 11.8 22.7 11.8 28.6 0L368 51.8 390.1 96H512c8.8 0 16-7.2 16-16s-7.2-16-16-16H409.9L382.3 8.8C376.4-3 359.6-3 353.7 8.8L304 108.2l-19.9-39.8c-1.4-2.7-4.1-4.4-7.2-4.4H136c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm24 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z"]},$l={prefix:"fas",iconName:"project-diagram",icon:[640,512,[],"f542","M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z"]},eu={prefix:"fas",iconName:"puzzle-piece",icon:[576,512,[],"f12e","M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z"]},tu={prefix:"fas",iconName:"qrcode",icon:[448,512,[],"f029","M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z"]},nu={prefix:"fas",iconName:"question",icon:[384,512,[],"f128","M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"]},iu={prefix:"fas",iconName:"question-circle",icon:[512,512,[],"f059","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z"]},ru={prefix:"fas",iconName:"quidditch",icon:[640,512,[],"f458","M256.5 216.8L343.2 326s-16.6 102.4-76.6 150.1C206.7 523.8 0 510.2 0 510.2s3.8-23.1 11-55.4l94.6-112.2c4-4.7-.9-11.6-6.6-9.5l-60.4 22.1c14.4-41.7 32.7-80 54.6-97.5 59.9-47.8 163.3-40.9 163.3-40.9zm238 135c-44 0-79.8 35.8-79.8 79.9 0 44.1 35.7 79.9 79.8 79.9 44.1 0 79.8-35.8 79.8-79.9 0-44.2-35.8-79.9-79.8-79.9zM636.5 31L616.7 6c-5.5-6.9-15.5-8-22.4-2.6L361.8 181.3l-34.1-43c-5.1-6.4-15.1-5.2-18.6 2.2l-25.3 54.6 86.7 109.2 58.8-12.4c8-1.7 11.4-11.2 6.3-17.6l-34.1-42.9L634 53.5c6.9-5.5 8-15.6 2.5-22.5z"]},ou={prefix:"fas",iconName:"quote-left",icon:[512,512,[],"f10d","M464 256h-80v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8c-88.4 0-160 71.6-160 160v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm-288 0H96v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8C71.6 32 0 103.6 0 192v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"]},au={prefix:"fas",iconName:"quote-right",icon:[512,512,[],"f10e","M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z"]},su={prefix:"fas",iconName:"quran",icon:[448,512,[],"f687","M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM301.08 145.82c.6-1.21 1.76-1.82 2.92-1.82s2.32.61 2.92 1.82l11.18 22.65 25 3.63c2.67.39 3.74 3.67 1.81 5.56l-18.09 17.63 4.27 24.89c.36 2.11-1.31 3.82-3.21 3.82-.5 0-1.02-.12-1.52-.38L304 211.87l-22.36 11.75c-.5.26-1.02.38-1.52.38-1.9 0-3.57-1.71-3.21-3.82l4.27-24.89-18.09-17.63c-1.94-1.89-.87-5.17 1.81-5.56l24.99-3.63 11.19-22.65zm-57.89-69.01c13.67 0 27.26 2.49 40.38 7.41a6.775 6.775 0 1 1-2.38 13.12c-.67 0-3.09-.21-4.13-.21-52.31 0-94.86 42.55-94.86 94.86 0 52.3 42.55 94.86 94.86 94.86 1.03 0 3.48-.21 4.13-.21 3.93 0 6.8 3.14 6.8 6.78 0 2.98-1.94 5.51-4.62 6.42-13.07 4.87-26.59 7.34-40.19 7.34C179.67 307.19 128 255.51 128 192c0-63.52 51.67-115.19 115.19-115.19zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z"]},cu={prefix:"fas",iconName:"random",icon:[512,512,[],"f074","M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z"]},lu={prefix:"fas",iconName:"receipt",icon:[384,512,[],"f543","M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z"]},uu={prefix:"fas",iconName:"recycle",icon:[512,512,[],"f1b8","M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z"]},pu={prefix:"fas",iconName:"redo",icon:[512,512,[],"f01e","M500.333 0h-47.411c-6.853 0-12.314 5.729-11.986 12.574l3.966 82.759C399.416 41.899 331.672 8 256.001 8 119.34 8 7.899 119.526 8 256.187 8.101 393.068 119.096 504 256 504c63.926 0 122.202-24.187 166.178-63.908 5.113-4.618 5.354-12.561.482-17.433l-33.971-33.971c-4.466-4.466-11.64-4.717-16.38-.543C341.308 415.448 300.606 432 256 432c-97.267 0-176-78.716-176-176 0-97.267 78.716-176 176-176 60.892 0 114.506 30.858 146.099 77.8l-101.525-4.865c-6.845-.328-12.574 5.133-12.574 11.986v47.411c0 6.627 5.373 12 12 12h200.333c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12z"]},hu={prefix:"fas",iconName:"redo-alt",icon:[512,512,[],"f2f9","M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z"]},du={prefix:"fas",iconName:"registered",icon:[512,512,[],"f25d","M285.363 207.475c0 18.6-9.831 28.431-28.431 28.431h-29.876v-56.14h23.378c28.668 0 34.929 8.773 34.929 27.709zM504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM363.411 360.414c-46.729-84.825-43.299-78.636-44.702-80.98 23.432-15.172 37.945-42.979 37.945-74.486 0-54.244-31.5-89.252-105.498-89.252h-70.667c-13.255 0-24 10.745-24 24V372c0 13.255 10.745 24 24 24h22.567c13.255 0 24-10.745 24-24v-71.663h25.556l44.129 82.937a24.001 24.001 0 0 0 21.188 12.727h24.464c18.261-.001 29.829-19.591 21.018-35.587z"]},fu={prefix:"fas",iconName:"reply",icon:[512,512,[],"f3e5","M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z"]},_u={prefix:"fas",iconName:"reply-all",icon:[576,512,[],"f122","M136.309 189.836L312.313 37.851C327.72 24.546 352 35.348 352 56.015v82.763c129.182 10.231 224 52.212 224 183.548 0 61.441-39.582 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 38.512-123.162-3.922-169.482-112.59-182.015v84.175c0 20.701-24.3 31.453-39.687 18.164L136.309 226.164c-11.071-9.561-11.086-26.753 0-36.328zm-128 36.328L184.313 378.15C199.7 391.439 224 380.687 224 359.986v-15.818l-108.606-93.785A55.96 55.96 0 0 1 96 207.998a55.953 55.953 0 0 1 19.393-42.38L224 71.832V56.015c0-20.667-24.28-31.469-39.687-18.164L8.309 189.836c-11.086 9.575-11.071 26.767 0 36.328z"]},mu={prefix:"fas",iconName:"retweet",icon:[640,512,[],"f079","M629.657 343.598L528.971 444.284c-9.373 9.372-24.568 9.372-33.941 0L394.343 343.598c-9.373-9.373-9.373-24.569 0-33.941l10.823-10.823c9.562-9.562 25.133-9.34 34.419.492L480 342.118V160H292.451a24.005 24.005 0 0 1-16.971-7.029l-16-16C244.361 121.851 255.069 96 276.451 96H520c13.255 0 24 10.745 24 24v222.118l40.416-42.792c9.285-9.831 24.856-10.054 34.419-.492l10.823 10.823c9.372 9.372 9.372 24.569-.001 33.941zm-265.138 15.431A23.999 23.999 0 0 0 347.548 352H160V169.881l40.416 42.792c9.286 9.831 24.856 10.054 34.419.491l10.822-10.822c9.373-9.373 9.373-24.569 0-33.941L144.971 67.716c-9.373-9.373-24.569-9.373-33.941 0L10.343 168.402c-9.373 9.373-9.373 24.569 0 33.941l10.822 10.822c9.562 9.562 25.133 9.34 34.419-.491L96 169.881V392c0 13.255 10.745 24 24 24h243.549c21.382 0 32.09-25.851 16.971-40.971l-16.001-16z"]},bu={prefix:"fas",iconName:"ribbon",icon:[448,512,[],"f4d6","M6.1 444.3c-9.6 10.8-7.5 27.6 4.5 35.7l68.8 27.9c9.9 6.7 23.3 5 31.3-3.8l91.8-101.9-79.2-87.9-117.2 130zm435.8 0s-292-324.6-295.4-330.1c15.4-8.4 40.2-17.9 77.5-17.9s62.1 9.5 77.5 17.9c-3.3 5.6-56 64.6-56 64.6l79.1 87.7 34.2-38c28.7-31.9 33.3-78.6 11.4-115.5l-43.7-73.5c-4.3-7.2-9.9-13.3-16.8-18-40.7-27.6-127.4-29.7-171.4 0-6.9 4.7-12.5 10.8-16.8 18l-43.6 73.2c-1.5 2.5-37.1 62.2 11.5 116L337.5 504c8 8.9 21.4 10.5 31.3 3.8l68.8-27.9c11.9-8 14-24.8 4.3-35.6z"]},gu={prefix:"fas",iconName:"ring",icon:[512,512,[],"f70b","M256 64C110.06 64 0 125.91 0 208v98.13C0 384.48 114.62 448 256 448s256-63.52 256-141.87V208c0-82.09-110.06-144-256-144zm0 64c106.04 0 192 35.82 192 80 0 9.26-3.97 18.12-10.91 26.39C392.15 208.21 328.23 192 256 192s-136.15 16.21-181.09 42.39C67.97 226.12 64 217.26 64 208c0-44.18 85.96-80 192-80zM120.43 264.64C155.04 249.93 201.64 240 256 240s100.96 9.93 135.57 24.64C356.84 279.07 308.93 288 256 288s-100.84-8.93-135.57-23.36z"]},vu={prefix:"fas",iconName:"road",icon:[576,512,[],"f018","M573.19 402.67l-139.79-320C428.43 71.29 417.6 64 405.68 64h-97.59l2.45 23.16c.5 4.72-3.21 8.84-7.96 8.84h-29.16c-4.75 0-8.46-4.12-7.96-8.84L267.91 64h-97.59c-11.93 0-22.76 7.29-27.73 18.67L2.8 402.67C-6.45 423.86 8.31 448 30.54 448h196.84l10.31-97.68c.86-8.14 7.72-14.32 15.91-14.32h68.8c8.19 0 15.05 6.18 15.91 14.32L348.62 448h196.84c22.23 0 36.99-24.14 27.73-45.33zM260.4 135.16a8 8 0 0 1 7.96-7.16h39.29c4.09 0 7.53 3.09 7.96 7.16l4.6 43.58c.75 7.09-4.81 13.26-11.93 13.26h-40.54c-7.13 0-12.68-6.17-11.93-13.26l4.59-43.58zM315.64 304h-55.29c-9.5 0-16.91-8.23-15.91-17.68l5.07-48c.86-8.14 7.72-14.32 15.91-14.32h45.15c8.19 0 15.05 6.18 15.91 14.32l5.07 48c1 9.45-6.41 17.68-15.91 17.68z"]},yu={prefix:"fas",iconName:"robot",icon:[640,512,[],"f544","M0 256v128c0 17.7 14.3 32 32 32h32V224H32c-17.7 0-32 14.3-32 32zM464 96H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H176c-44.2 0-80 35.8-80 80v272c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V176c0-44.2-35.8-80-80-80zM256 416h-64v-32h64v32zm-32-120c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm128 120h-64v-32h64v32zm96 0h-64v-32h64v32zm-32-120c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm192-72h-32v192h32c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32z"]},Cu={prefix:"fas",iconName:"rocket",icon:[512,512,[],"f135","M505.1 19.1C503.8 13 499 8.2 492.9 6.9 460.7 0 435.5 0 410.4 0 307.2 0 245.3 55.2 199.1 128H94.9c-18.2 0-34.8 10.3-42.9 26.5L2.6 253.3c-8 16 3.6 34.7 21.5 34.7h95.1c-5.9 12.8-11.9 25.5-18 37.7-3.1 6.2-1.9 13.6 3 18.5l63.6 63.6c4.9 4.9 12.3 6.1 18.5 3 12.2-6.1 24.9-12 37.7-17.9V488c0 17.8 18.8 29.4 34.7 21.5l98.7-49.4c16.3-8.1 26.5-24.8 26.5-42.9V312.8c72.6-46.3 128-108.4 128-211.1.1-25.2.1-50.4-6.8-82.6zM400 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"]},Au={prefix:"fas",iconName:"route",icon:[512,512,[],"f4d7","M416 320h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96s96-107 96-160-43-96-96-96-96 43-96 96c0 25.5 22.2 63.4 45.3 96H320c-52.9 0-96 43.1-96 96s43.1 96 96 96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32H185.5c-16 24.8-33.8 47.7-47.3 64H416c52.9 0 96-43.1 96-96s-43.1-96-96-96zm0-256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM96 256c-53 0-96 43-96 96s96 160 96 160 96-107 96-160-43-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},xu={prefix:"fas",iconName:"rss",icon:[448,512,[],"f09e","M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"]},Su={prefix:"fas",iconName:"rss-square",icon:[448,512,[],"f143","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z"]},Tu={prefix:"fas",iconName:"ruble-sign",icon:[384,512,[],"f158","M239.36 320C324.48 320 384 260.542 384 175.071S324.48 32 239.36 32H76c-6.627 0-12 5.373-12 12v206.632H12c-6.627 0-12 5.373-12 12V308c0 6.627 5.373 12 12 12h52v32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v52c0 6.627 5.373 12 12 12h58.56c6.627 0 12-5.373 12-12v-52H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H146.56v-32h92.8zm-92.8-219.252h78.72c46.72 0 74.88 29.11 74.88 74.323 0 45.832-28.16 75.561-76.16 75.561h-77.44V100.748z"]},Eu={prefix:"fas",iconName:"ruler",icon:[640,512,[],"f545","M635.7 167.2L556.1 31.7c-8.8-15-28.3-20.1-43.5-11.5l-69 39.1L503.3 161c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L416 75l-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L333.2 122 278 153.3 337.8 255c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-59.7-101.7-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-27.9-47.5-55.2 31.3 59.7 101.7c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L84.9 262.9l-69 39.1C.7 310.7-4.6 329.8 4.2 344.8l79.6 135.6c8.8 15 28.3 20.1 43.5 11.5L624.1 210c15.2-8.6 20.4-27.8 11.6-42.8z"]},Pu={prefix:"fas",iconName:"ruler-combined",icon:[512,512,[],"f546","M160 288h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56v-64h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56V96h-56c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8h56V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 2.77.91 5.24 1.57 7.8L160 329.38V288zm320 64h-32v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-41.37L24.2 510.43c2.56.66 5.04 1.57 7.8 1.57h448c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z"]},Ou={prefix:"fas",iconName:"ruler-horizontal",icon:[576,512,[],"f547","M544 128h-48v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8H88c-4.42 0-8-3.58-8-8v-88H32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h512c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32z"]},Mu={prefix:"fas",iconName:"ruler-vertical",icon:[256,512,[],"f548","M168 416c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-64h-88z"]},Ru={prefix:"fas",iconName:"running",icon:[416,512,[],"f70c","M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z"]},Iu={prefix:"fas",iconName:"rupee-sign",icon:[320,512,[],"f156","M308 96c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v44.748c0 6.627 5.373 12 12 12h85.28c27.308 0 48.261 9.958 60.97 27.252H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h158.757c-6.217 36.086-32.961 58.632-74.757 58.632H12c-6.627 0-12 5.373-12 12v53.012c0 3.349 1.4 6.546 3.861 8.818l165.052 152.356a12.001 12.001 0 0 0 8.139 3.182h82.562c10.924 0 16.166-13.408 8.139-20.818L116.871 319.906c76.499-2.34 131.144-53.395 138.318-127.906H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-58.69c-3.486-11.541-8.28-22.246-14.252-32H308z"]},wu={prefix:"fas",iconName:"sad-cry",icon:[496,512,[],"f5b3","M248 8C111 8 0 119 0 256c0 90.1 48.2 168.7 120 212.1V288c0-8.8 7.2-16 16-16s16 7.2 16 16v196.7c29.5 12.4 62 19.3 96 19.3s66.5-6.9 96-19.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v180.1C447.8 424.7 496 346 496 256 496 119 385 8 248 8zm-65.5 216.5c-14.8-13.2-46.2-13.2-61 0L112 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c.8 5-1.7 10-6.1 12.4-5.8 3.1-11.2.7-13.7-1.6l-9.7-8.5zM248 416c-26.5 0-48-28.7-48-64s21.5-64 48-64 48 28.7 48 64-21.5 64-48 64zm149.8-181.5c-5.8 3.1-11.2.7-13.7-1.6l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S400 197 404 222.2c.6 4.9-1.8 9.9-6.2 12.3z"]},Du={prefix:"fas",iconName:"sad-tear",icon:[496,512,[],"f5b4","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM152 416c-26.5 0-48-21-48-47 0-20 28.5-60.4 41.6-77.8 3.2-4.3 9.6-4.3 12.8 0C171.5 308.6 200 349 200 369c0 26-21.5 47-48 47zm16-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm170.2 154.2C315.8 367.4 282.9 352 248 352c-21.2 0-21.2-32 0-32 44.4 0 86.3 19.6 114.7 53.8 13.8 16.4-11.2 36.5-24.5 20.4z"]},Lu={prefix:"fas",iconName:"save",icon:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"]},Nu={prefix:"fas",iconName:"school",icon:[640,512,[],"f549","M0 224v272c0 8.84 7.16 16 16 16h80V192H32c-17.67 0-32 14.33-32 32zm360-48h-24v-40c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v64c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm137.75-63.96l-160-106.67a32.02 32.02 0 0 0-35.5 0l-160 106.67A32.002 32.002 0 0 0 128 138.66V512h128V368c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v144h128V138.67c0-10.7-5.35-20.7-14.25-26.63zM320 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm288-64h-64v320h80c8.84 0 16-7.16 16-16V224c0-17.67-14.33-32-32-32z"]},Fu={prefix:"fas",iconName:"screwdriver",icon:[512,512,[],"f54a","M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"]},Bu={prefix:"fas",iconName:"scroll",icon:[640,512,[],"f70e","M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288V96c0-52.94-43.06-96-96-96H111.59C121.74 13.41 128 29.92 128 48v368c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zM288 384v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H288z"]},ku={prefix:"fas",iconName:"search",icon:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"]},Vu={prefix:"fas",iconName:"search-dollar",icon:[512,512,[],"f688","M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm27.11-152.54l-45.01-13.5c-5.16-1.55-8.77-6.78-8.77-12.73 0-7.27 5.3-13.19 11.8-13.19h28.11c4.56 0 8.96 1.29 12.82 3.72 3.24 2.03 7.36 1.91 10.13-.73l11.75-11.21c3.53-3.37 3.33-9.21-.57-12.14-9.1-6.83-20.08-10.77-31.37-11.35V112c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v16.12c-23.63.63-42.68 20.55-42.68 45.07 0 19.97 12.99 37.81 31.58 43.39l45.01 13.5c5.16 1.55 8.77 6.78 8.77 12.73 0 7.27-5.3 13.19-11.8 13.19h-28.1c-4.56 0-8.96-1.29-12.82-3.72-3.24-2.03-7.36-1.91-10.13.73l-11.75 11.21c-3.53 3.37-3.33 9.21.57 12.14 9.1 6.83 20.08 10.77 31.37 11.35V304c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-16.12c23.63-.63 42.68-20.54 42.68-45.07 0-19.97-12.99-37.81-31.59-43.39z"]},zu={prefix:"fas",iconName:"search-location",icon:[512,512,[],"f689","M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm.02-239.96c-40.78 0-73.84 33.05-73.84 73.83 0 32.96 48.26 93.05 66.75 114.86a9.24 9.24 0 0 0 14.18 0c18.49-21.81 66.75-81.89 66.75-114.86 0-40.78-33.06-73.83-73.84-73.83zm0 96c-13.26 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},ju={prefix:"fas",iconName:"search-minus",icon:[512,512,[],"f010","M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z"]},Uu={prefix:"fas",iconName:"search-plus",icon:[512,512,[],"f00e","M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z"]},Gu={prefix:"fas",iconName:"seedling",icon:[512,512,[],"f4d8","M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z"]},Hu={prefix:"fas",iconName:"server",icon:[512,512,[],"f233","M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z"]},Wu={prefix:"fas",iconName:"shapes",icon:[512,512,[],"f61f","M512 320v160c0 17.67-14.33 32-32 32H320c-17.67 0-32-14.33-32-32V320c0-17.67 14.33-32 32-32h160c17.67 0 32 14.33 32 32zm-384-64C57.31 256 0 313.31 0 384s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128zm351.03-32c25.34 0 41.18-26.67 28.51-48L412.51 16c-12.67-21.33-44.35-21.33-57.02 0l-95.03 160c-12.67 21.33 3.17 48 28.51 48h190.06z"]},Xu={prefix:"fas",iconName:"share",icon:[512,512,[],"f064","M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"]},Yu={prefix:"fas",iconName:"share-alt",icon:[448,512,[],"f1e0","M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z"]},Qu={prefix:"fas",iconName:"share-alt-square",icon:[448,512,[],"f1e1","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z"]},Ku={prefix:"fas",iconName:"share-square",icon:[576,512,[],"f14d","M568.482 177.448L424.479 313.433C409.3 327.768 384 317.14 384 295.985v-71.963c-144.575.97-205.566 35.113-164.775 171.353 4.483 14.973-12.846 26.567-25.006 17.33C155.252 383.105 120 326.488 120 269.339c0-143.937 117.599-172.5 264-173.312V24.012c0-21.174 25.317-31.768 40.479-17.448l144.003 135.988c10.02 9.463 10.028 25.425 0 34.896zM384 379.128V448H64V128h50.916a11.99 11.99 0 0 0 8.648-3.693c14.953-15.568 32.237-27.89 51.014-37.676C185.708 80.83 181.584 64 169.033 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-88.806c0-8.288-8.197-14.066-16.011-11.302a71.83 71.83 0 0 1-34.189 3.377c-7.27-1.046-13.8 4.514-13.8 11.859z"]},Zu={prefix:"fas",iconName:"shekel-sign",icon:[448,512,[],"f20b","M248 168v168c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V168c0-75.11-60.89-136-136-136H24C10.75 32 0 42.74 0 56v408c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112h112c30.93 0 56 25.07 56 56zM432 32h-48c-8.84 0-16 7.16-16 16v296c0 30.93-25.07 56-56 56H200V176c0-8.84-7.16-16-16-16h-48c-8.84 0-16 7.16-16 16v280c0 13.25 10.75 24 24 24h168c75.11 0 136-60.89 136-136V48c0-8.84-7.16-16-16-16z"]},qu={prefix:"fas",iconName:"shield-alt",icon:[512,512,[],"f3ed","M496 128c0 221.282-135.934 344.645-221.539 380.308a48 48 0 0 1-36.923 0C130.495 463.713 16 326.487 16 128a48 48 0 0 1 29.539-44.308l192-80a48 48 0 0 1 36.923 0l192 80A48 48 0 0 1 496 128zM256 446.313l.066.034c93.735-46.689 172.497-156.308 175.817-307.729L256 65.333v380.98z"]},Ju={prefix:"fas",iconName:"ship",icon:[640,512,[],"f21a","M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z"]},$u={prefix:"fas",iconName:"shipping-fast",icon:[640,512,[],"f48b","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"]},ep={prefix:"fas",iconName:"shoe-prints",icon:[640,512,[],"f54b","M192 160h32V32h-32c-35.35 0-64 28.65-64 64s28.65 64 64 64zM0 416c0 35.35 28.65 64 64 64h32V352H64c-35.35 0-64 28.65-64 64zm337.46-128c-34.91 0-76.16 13.12-104.73 32-24.79 16.38-44.52 32-104.73 32v128l57.53 15.97c26.21 7.28 53.01 13.12 80.31 15.05 32.69 2.31 65.6.67 97.58-6.2C472.9 481.3 512 429.22 512 384c0-64-84.18-96-174.54-96zM491.42 7.19C459.44.32 426.53-1.33 393.84.99c-27.3 1.93-54.1 7.77-80.31 15.04L256 32v128c60.2 0 79.94 15.62 104.73 32 28.57 18.88 69.82 32 104.73 32C555.82 224 640 192 640 128c0-45.22-39.1-97.3-148.58-120.81z"]},tp={prefix:"fas",iconName:"shopping-bag",icon:[448,512,[],"f290","M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z"]},np={prefix:"fas",iconName:"shopping-basket",icon:[576,512,[],"f291","M576 216v16c0 13.255-10.745 24-24 24h-8l-26.113 182.788C514.509 462.435 494.257 480 470.37 480H105.63c-23.887 0-44.139-17.565-47.518-41.212L32 256h-8c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h67.341l106.78-146.821c10.395-14.292 30.407-17.453 44.701-7.058 14.293 10.395 17.453 30.408 7.058 44.701L170.477 192h235.046L326.12 82.821c-10.395-14.292-7.234-34.306 7.059-44.701 14.291-10.395 34.306-7.235 44.701 7.058L484.659 192H552c13.255 0 24 10.745 24 24zM312 392V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm112 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm-224 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24z"]},ip={prefix:"fas",iconName:"shopping-cart",icon:[576,512,[],"f07a","M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z"]},rp={prefix:"fas",iconName:"shower",icon:[512,512,[],"f2cc","M389.66 135.6L231.6 293.66c-9.37 9.37-24.57 9.37-33.94 0l-11.32-11.32c-9.37-9.37-9.37-24.57 0-33.94l.11-.11c-34.03-40.21-35.16-98.94-3.39-140.38-11.97-7.55-26.14-11.91-41.3-11.91C98.88 96 64 130.88 64 173.76V480H0V173.76C0 95.59 63.59 32 141.76 32c36.93 0 70.61 14.2 95.86 37.42 35.9-11.51 76.5-4.5 106.67 21.03l.11-.11c9.37-9.37 24.57-9.37 33.94 0l11.32 11.32c9.37 9.37 9.37 24.57 0 33.94zM384 208c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm32 0c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16zm96 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-160 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm48-16c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16zm80 16c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-160 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm32 0c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16zm96 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-128 32c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16zm96 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-96 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm64 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-32 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-32 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16z"]},op={prefix:"fas",iconName:"shuttle-van",icon:[640,512,[],"f5b6","M628.88 210.65L494.39 49.27A48.01 48.01 0 0 0 457.52 32H32C14.33 32 0 46.33 0 64v288c0 17.67 14.33 32 32 32h32c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h32c17.67 0 32-14.33 32-32V241.38c0-11.23-3.94-22.1-11.12-30.73zM64 192V96h96v96H64zm96 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm160-240h-96V96h96v96zm160 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-96-240V96h66.02l80 96H384z"]},ap={prefix:"fas",iconName:"sign",icon:[512,512,[],"f4d9","M496 64H128V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V128h368c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM160 384h320V160H160v224z"]},sp={prefix:"fas",iconName:"sign-in-alt",icon:[512,512,[],"f2f6","M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z"]},cp={prefix:"fas",iconName:"sign-language",icon:[448,512,[],"f2a7","M91.434 483.987c-.307-16.018 13.109-29.129 29.13-29.129h62.293v-5.714H56.993c-16.021 0-29.437-13.111-29.13-29.129C28.16 404.491 40.835 392 56.428 392h126.429v-5.714H29.136c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h154.286v-5.714H57.707c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h168.566l-31.085-22.606c-12.762-9.281-15.583-27.149-6.302-39.912 9.281-12.761 27.15-15.582 39.912-6.302l123.361 89.715a34.287 34.287 0 0 1 14.12 27.728v141.136c0 15.91-10.946 29.73-26.433 33.374l-80.471 18.934a137.16 137.16 0 0 1-31.411 3.646H120c-15.593-.001-28.269-12.492-28.566-28.014zm73.249-225.701h36.423l-11.187-8.136c-18.579-13.511-20.313-40.887-3.17-56.536l-13.004-16.7c-9.843-12.641-28.43-15.171-40.88-5.088-12.065 9.771-14.133 27.447-4.553 39.75l36.371 46.71zm283.298-2.103l-5.003-152.452c-.518-15.771-13.722-28.136-29.493-27.619-15.773.518-28.137 13.722-27.619 29.493l1.262 38.415L283.565 11.019c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l76.889 98.745-4.509 3.511-94.79-121.734c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l94.443 121.288-4.509 3.511-77.675-99.754c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l52.053 66.849c12.497-8.257 29.055-8.285 41.69.904l123.36 89.714c10.904 7.93 17.415 20.715 17.415 34.198v16.999l61.064-47.549a34.285 34.285 0 0 0 13.202-28.177z"]},lp={prefix:"fas",iconName:"sign-out-alt",icon:[512,512,[],"f2f5","M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z"]},up={prefix:"fas",iconName:"signal",icon:[640,512,[],"f012","M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm128-96h-48c-8.84 0-16 7.16-16 16v384c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112c0-8.84-7.16-16-16-16zM600 0h-48c-8.84 0-16 7.16-16 16v480c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z"]},pp={prefix:"fas",iconName:"signature",icon:[512,512,[],"f5b7","M496 320h-91.86c-9.27 0-19.72-11.31-25.78-28.52-15.23-43.36-48.11-70.3-85.8-70.3-30.84 0-58.47 18.05-76.11 49.23L194.8 106.5C188.84 81.08 169.34 64 146.28 64c-23.05 0-42.55 17.08-48.5 42.5L56.16 284.2C50.7 307.45 37.75 320 28.33 320H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h12.33c41.97 0 78.19-34.23 90.14-85.2l23.84-101.78 29.25 222.11c1.98 15.05 13.82 27.45 28.94 28.75.99.09 1.96.13 2.93.13 14.08 0 26.64-9.27 30.69-22.95l33.03-112.34c5.88-16.72 15.84-27.52 25.41-27.52 9.58 0 19.55 10.8 25.78 28.52 15.23 43.36 48.11 70.3 85.8 70.3H496c8.84 0 16-7.16 16-16v-32c0-8.86-7.16-16.02-16-16.02z"]},hp={prefix:"fas",iconName:"sitemap",icon:[640,512,[],"f0e8","M128 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm-24-80h192v48h48v-48h192v48h48v-57.59c0-21.17-17.23-38.41-38.41-38.41H344v-64h40c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H256c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h40v64H94.41C73.23 224 56 241.23 56 262.41V320h48v-48zm264 80h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm240 0h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z"]},dp={prefix:"fas",iconName:"skull",icon:[512,512,[],"f54c","M256 0C114.6 0 0 100.3 0 224c0 70.1 36.9 132.6 94.5 173.7 9.6 6.9 15.2 18.1 13.5 29.9l-9.4 66.2c-1.4 9.6 6 18.2 15.7 18.2H192v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h64v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h77.7c9.7 0 17.1-8.6 15.7-18.2l-9.4-66.2c-1.7-11.7 3.8-23 13.5-29.9C475.1 356.6 512 294.1 512 224 512 100.3 397.4 0 256 0zm-96 320c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm192 0c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z"]},fp={prefix:"fas",iconName:"skull-crossbones",icon:[448,512,[],"f714","M439.15 453.06L297.17 384l141.99-69.06c7.9-3.95 11.11-13.56 7.15-21.46L432 264.85c-3.95-7.9-13.56-11.11-21.47-7.16L224 348.41 37.47 257.69c-7.9-3.95-17.51-.75-21.47 7.16L1.69 293.48c-3.95 7.9-.75 17.51 7.15 21.46L150.83 384 8.85 453.06c-7.9 3.95-11.11 13.56-7.15 21.47l14.31 28.63c3.95 7.9 13.56 11.11 21.47 7.15L224 419.59l186.53 90.72c7.9 3.95 17.51.75 21.47-7.15l14.31-28.63c3.95-7.91.74-17.52-7.16-21.47zM150 237.28l-5.48 25.87c-2.67 12.62 5.42 24.85 16.45 24.85h126.08c11.03 0 19.12-12.23 16.45-24.85l-5.5-25.87c41.78-22.41 70-62.75 70-109.28C368 57.31 303.53 0 224 0S80 57.31 80 128c0 46.53 28.22 86.87 70 109.28zM280 112c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32zm-112 0c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32z"]},_p={prefix:"fas",iconName:"slash",icon:[640,512,[],"f715","M594.53 508.63L6.18 53.9c-6.97-5.42-8.23-15.47-2.81-22.45L23.01 6.18C28.43-.8 38.49-2.06 45.47 3.37L633.82 458.1c6.97 5.42 8.23 15.47 2.81 22.45l-19.64 25.27c-5.42 6.98-15.48 8.23-22.46 2.81z"]},mp={prefix:"fas",iconName:"sliders-h",icon:[512,512,[],"f1de","M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"]},bp={prefix:"fas",iconName:"smile",icon:[496,512,[],"f118","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z"]},gp={prefix:"fas",iconName:"smile-beam",icon:[496,512,[],"f5b8","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM112 223.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zm250.8 122.8C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.3 24.6 20.5zm6.2-118.3l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.6 8.6-11 11.9-15.1 4.5z"]},vp={prefix:"fas",iconName:"smile-wink",icon:[496,512,[],"f4da","M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm158.5 16.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.7 11.1-11.4 18.3-19.8 10.8l-9.7-8.5zM157.8 325.8C180.2 352.7 213 368 248 368s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.2 24.6 20.5C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11.2-36.7 24.6-20.4z"]},yp={prefix:"fas",iconName:"smoking",icon:[640,512,[],"f48d","M632 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zM553.3 87.1c-5.7-3.8-9.3-10-9.3-16.8V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v62.3c0 22 10.2 43.4 28.6 55.4 42.2 27.3 67.4 73.8 67.4 124V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-65.5-32.4-126.2-86.7-162.6zM432 352H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h384c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm-32 112H224v-64h176v64zm87.7-322.4C463.8 125 448 99.3 448 70.3V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v66.4c0 43.7 24.6 81.6 60.3 106.7 22.4 15.7 35.7 41.2 35.7 68.6V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-43.3-21-83.4-56.3-108.1zM536 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z"]},Cp={prefix:"fas",iconName:"smoking-ban",icon:[512,512,[],"f54d","M96 304c0 8.8 7.2 16 16 16h117.5l-96-96H112c-8.8 0-16 7.2-16 16v64zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm0 448c-105.9 0-192-86.1-192-192 0-41.4 13.3-79.7 35.7-111.1l267.4 267.4C335.7 434.7 297.4 448 256 448zm45.2-192H384v32h-50.8l-32-32zm111.1 111.1L365.2 320H400c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16H269.2L144.9 99.7C176.3 77.3 214.6 64 256 64c105.9 0 192 86.1 192 192 0 41.4-13.3 79.7-35.7 111.1zM320.6 128c-15.6 0-28.6-11.2-31.4-25.9-.7-3.6-4-6.1-7.7-6.1h-16.2c-5 0-8.7 4.5-8 9.4 4.6 30.9 31.2 54.6 63.3 54.6 15.6 0 28.6 11.2 31.4 25.9.7 3.6 4 6.1 7.7 6.1h16.2c5 0 8.7-4.5 8-9.4-4.6-30.9-31.2-54.6-63.3-54.6z"]},Ap={prefix:"fas",iconName:"snowflake",icon:[448,512,[],"f2dc","M444.816 301.639a24.12 24.12 0 0 0 2.661-16.978c-2.725-12.966-15.339-21.245-28.174-18.492l-87.407 25.046L264 256l67.896-35.215 87.407 25.046c12.835 2.753 25.449-5.526 28.174-18.492 2.725-12.966-5.471-25.708-18.305-28.461l-47.477-7.137 53.077-30.956c11.363-6.627 15.257-21.306 8.696-32.785-6.561-11.479-21.091-15.412-32.454-8.785l-53.077 30.956 17.621-45.104c4.057-12.606-2.768-26.146-15.247-30.245-12.478-4.099-25.883 2.797-29.94 15.402l-22.232 88.99-60.38 35.215V144l65.175-63.945c8.778-9.852 7.987-25.027-1.766-33.894-9.753-8.867-24.775-8.068-33.552 1.784l-29.857 37.967V24c0-13.255-10.637-24-23.758-24s-23.758 10.745-23.758 24v61.912l-29.857-37.967c-8.779-9.852-23.799-10.652-33.552-1.784-9.753 8.867-10.543 24.042-1.766 33.894L200.242 144v70.431l-60.38-35.215-22.232-88.99c-4.057-12.605-17.462-19.501-29.94-15.402-12.478 4.099-19.304 17.64-15.247 30.245l17.62 45.104-53.077-30.956c-11.363-6.627-25.893-2.694-32.454 8.785s-2.667 26.157 8.696 32.785l53.077 30.956-47.477 7.137C5.993 201.634-2.203 214.375.523 227.341c2.725 12.965 15.339 21.245 28.174 18.492l87.407-25.046L184 256l-67.896 35.215-87.406-25.045c-12.835-2.753-25.449 5.526-28.174 18.492-2.725 12.967 5.47 25.708 18.305 28.461l47.477 7.137-53.077 30.956C1.866 357.843-2.027 372.521 4.533 384s21.091 15.412 32.454 8.785l53.077-30.956-17.62 45.104a24.157 24.157 0 0 0 2.022 19.428c2.831 4.953 7.416 8.909 13.224 10.816 12.478 4.099 25.883-2.797 29.94-15.402l22.232-88.99 60.38-35.215V368l-65.175 63.945c-8.778 9.852-7.987 25.027 1.766 33.894 9.754 8.868 24.774 8.068 33.552-1.784l29.857-37.967V488c0 13.255 10.637 24 23.758 24s23.758-10.745 23.758-24v-61.912l29.857 37.967A23.59 23.59 0 0 0 295.282 472a23.534 23.534 0 0 0 15.885-6.161c9.753-8.867 10.544-24.042 1.766-33.894L247.758 368v-70.431l60.38 35.215 22.232 88.99c4.057 12.605 17.462 19.501 29.94 15.402 12.479-4.099 19.304-17.64 15.247-30.245l-17.621-45.104 53.077 30.956c11.363 6.627 25.893 2.694 32.454-8.785s2.667-26.157-8.696-32.785l-53.077-30.956 47.477-7.137c6.86-1.469 12.394-5.793 15.645-11.481z"]},xp={prefix:"fas",iconName:"socks",icon:[512,512,[],"f696","M214.66 311.01L288 256V96H128v176l-86.65 64.61c-39.4 29.56-53.86 84.42-29.21 127.06C30.39 495.25 63.27 512 96.08 512c20.03 0 40.25-6.25 57.52-19.2l21.86-16.39c-29.85-55.38-13.54-125.84 39.2-165.4zM288 32c0-11.05 3.07-21.3 8.02-30.38C293.4.92 290.85 0 288 0H160c-17.67 0-32 14.33-32 32v32h160V32zM480 0H352c-17.67 0-32 14.33-32 32v32h192V32c0-17.67-14.33-32-32-32zM320 272l-86.13 64.61c-39.4 29.56-53.86 84.42-29.21 127.06 18.25 31.58 50.61 48.33 83.42 48.33 20.03 0 40.25-6.25 57.52-19.2l115.2-86.4A127.997 127.997 0 0 0 512 304V96H320v176z"]},Sp={prefix:"fas",iconName:"solar-panel",icon:[640,512,[],"f5ba","M431.98 448.01l-47.97.05V416h-128v32.21l-47.98.05c-8.82.01-15.97 7.16-15.98 15.99l-.05 31.73c-.01 8.85 7.17 16.03 16.02 16.02l223.96-.26c8.82-.01 15.97-7.16 15.98-15.98l.04-31.73c.01-8.85-7.17-16.03-16.02-16.02zM585.2 26.74C582.58 11.31 568.99 0 553.06 0H86.93C71 0 57.41 11.31 54.79 26.74-3.32 369.16.04 348.08.03 352c-.03 17.32 14.29 32 32.6 32h574.74c18.23 0 32.51-14.56 32.59-31.79.02-4.08 3.35 16.95-54.76-325.47zM259.83 64h120.33l9.77 96H250.06l9.77-96zm-75.17 256H71.09L90.1 208h105.97l-11.41 112zm16.29-160H98.24l16.29-96h96.19l-9.77 96zm32.82 160l11.4-112h149.65l11.4 112H233.77zm195.5-256h96.19l16.29 96H439.04l-9.77-96zm26.06 256l-11.4-112H549.9l19.01 112H455.33z"]},Tp={prefix:"fas",iconName:"sort",icon:[320,512,[],"f0dc","M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z"]},Ep={prefix:"fas",iconName:"sort-alpha-down",icon:[448,512,[],"f15d","M187.298 395.314l-79.984 80.002c-6.248 6.247-16.383 6.245-22.627 0L4.705 395.314C-5.365 385.244 1.807 368 16.019 368H64V48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v320h47.984c14.241 0 21.363 17.264 11.314 27.314zm119.075-180.007A12 12 0 0 1 294.838 224h-35.717c-8.22 0-14.007-8.078-11.362-15.861l57.096-168A12 12 0 0 1 316.217 32h39.566c5.139 0 9.708 3.273 11.362 8.139l57.096 168C426.886 215.922 421.1 224 412.879 224h-35.735a12 12 0 0 1-11.515-8.622l-8.301-28.299h-42.863l-8.092 28.228zm22.857-78.697h13.367l-6.6-22.937-6.767 22.937zm12.575 287.323l67.451-95.698a12 12 0 0 0 2.192-6.913V300c0-6.627-5.373-12-12-12H274.522c-6.627 0-12 5.373-12 12v28.93c0 6.627 5.373 12 12 12h56.469c-.739.991-1.497 2.036-2.27 3.133l-67.203 95.205a12.001 12.001 0 0 0-2.196 6.92V468c0 6.627 5.373 12 12 12h129.355c6.627 0 12-5.373 12-12v-28.93c0-6.627-5.373-12-12-12h-61.146c.74-.993 1.5-2.039 2.274-3.137z"]},Pp={prefix:"fas",iconName:"sort-alpha-up",icon:[448,512,[],"f15e","M4.702 116.686l79.984-80.002c6.248-6.247 16.383-6.245 22.627 0l79.981 80.002c10.07 10.07 2.899 27.314-11.314 27.314H128v320c0 8.837-7.163 16-16 16H80c-8.837 0-16-7.163-16-16V144H16.016c-14.241 0-21.363-17.264-11.314-27.314zm301.671 98.621A12 12 0 0 1 294.838 224h-35.717c-8.22 0-14.007-8.078-11.362-15.861l57.096-168A12 12 0 0 1 316.217 32h39.566c5.139 0 9.708 3.273 11.362 8.139l57.096 168C426.886 215.922 421.1 224 412.879 224h-35.735a12 12 0 0 1-11.515-8.622l-8.301-28.299h-42.863l-8.092 28.228zm22.857-78.697h13.367l-6.6-22.937-6.767 22.937zm12.575 287.323l67.451-95.698a12 12 0 0 0 2.192-6.913V300c0-6.627-5.373-12-12-12H274.522c-6.627 0-12 5.373-12 12v28.93c0 6.627 5.373 12 12 12h56.469c-.739.991-1.497 2.036-2.27 3.133l-67.203 95.205a12.001 12.001 0 0 0-2.196 6.92V468c0 6.627 5.373 12 12 12h129.355c6.627 0 12-5.373 12-12v-28.93c0-6.627-5.373-12-12-12h-61.146c.74-.993 1.5-2.039 2.274-3.137z"]},Op={prefix:"fas",iconName:"sort-amount-down",icon:[512,512,[],"f160","M187.298 395.314l-79.984 80.002c-6.248 6.247-16.383 6.245-22.627 0L4.705 395.314C-5.365 385.244 1.807 368 16.019 368H64V48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v320h47.984c14.241 0 21.363 17.264 11.314 27.314zM240 96h256c8.837 0 16-7.163 16-16V48c0-8.837-7.163-16-16-16H240c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16zm-16 112v-32c0-8.837 7.163-16 16-16h192c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H240c-8.837 0-16-7.163-16-16zm0 256v-32c0-8.837 7.163-16 16-16h64c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-64c-8.837 0-16-7.163-16-16zm0-128v-32c0-8.837 7.163-16 16-16h128c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H240c-8.837 0-16-7.163-16-16z"]},Mp={prefix:"fas",iconName:"sort-amount-up",icon:[512,512,[],"f161","M4.702 116.686l79.984-80.002c6.248-6.247 16.383-6.245 22.627 0l79.981 80.002c10.07 10.07 2.899 27.314-11.314 27.314H128v320c0 8.837-7.163 16-16 16H80c-8.837 0-16-7.163-16-16V144H16.016c-14.241 0-21.363-17.264-11.314-27.314zM240 96h256c8.837 0 16-7.163 16-16V48c0-8.837-7.163-16-16-16H240c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16zm-16 112v-32c0-8.837 7.163-16 16-16h192c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H240c-8.837 0-16-7.163-16-16zm0 256v-32c0-8.837 7.163-16 16-16h64c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-64c-8.837 0-16-7.163-16-16zm0-128v-32c0-8.837 7.163-16 16-16h128c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H240c-8.837 0-16-7.163-16-16z"]},Rp={prefix:"fas",iconName:"sort-down",icon:[320,512,[],"f0dd","M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z"]},Ip={prefix:"fas",iconName:"sort-numeric-down",icon:[448,512,[],"f162","M308.811 113.787l-19.448-20.795c-4.522-4.836-4.274-12.421.556-16.95l43.443-40.741a11.999 11.999 0 0 1 8.209-3.247h31.591c6.627 0 12 5.373 12 12v127.07h25.66c6.627 0 12 5.373 12 12v28.93c0 6.627-5.373 12-12 12H301.649c-6.627 0-12-5.373-12-12v-28.93c0-6.627 5.373-12 12-12h25.414v-57.938c-7.254 6.58-14.211 4.921-18.252.601zm-30.57 238.569c0-32.653 23.865-67.356 68.094-67.356 38.253 0 79.424 28.861 79.424 92.228 0 51.276-32.237 105.772-91.983 105.772-17.836 0-30.546-3.557-38.548-6.781-5.79-2.333-8.789-8.746-6.922-14.703l9.237-29.48c2.035-6.496 9.049-9.983 15.467-7.716 13.029 4.602 27.878 5.275 38.103-4.138-38.742 5.072-72.872-25.36-72.872-67.826zm92.273 19.338c0-22.285-15.302-36.505-25.835-36.505-8.642 0-13.164 7.965-13.164 15.832 0 5.669 1.815 24.168 25.168 24.168 9.973 0 13.377-2.154 13.744-2.731.021-.046.087-.291.087-.764zM175.984 368H128V48c0-8.837-7.163-16-16-16H80c-8.837 0-16 7.163-16 16v320H16.019c-14.212 0-21.384 17.244-11.314 27.314l79.981 80.002c6.245 6.245 16.38 6.247 22.627 0l79.984-80.002c10.05-10.05 2.928-27.314-11.313-27.314z"]},wp={prefix:"fas",iconName:"sort-numeric-up",icon:[448,512,[],"f163","M308.811 113.787l-19.448-20.795c-4.522-4.836-4.274-12.421.556-16.95l43.443-40.741a11.999 11.999 0 0 1 8.209-3.247h31.591c6.627 0 12 5.373 12 12v127.07h25.66c6.627 0 12 5.373 12 12v28.93c0 6.627-5.373 12-12 12H301.649c-6.627 0-12-5.373-12-12v-28.93c0-6.627 5.373-12 12-12h25.414v-57.938c-7.254 6.58-14.211 4.921-18.252.601zm-30.57 238.569c0-32.653 23.865-67.356 68.094-67.356 38.253 0 79.424 28.861 79.424 92.228 0 51.276-32.237 105.772-91.983 105.772-17.836 0-30.546-3.557-38.548-6.781-5.79-2.333-8.789-8.746-6.922-14.703l9.237-29.48c2.035-6.496 9.049-9.983 15.467-7.716 13.029 4.602 27.878 5.275 38.103-4.138-38.742 5.072-72.872-25.36-72.872-67.826zm92.273 19.338c0-22.285-15.302-36.505-25.835-36.505-8.642 0-13.164 7.965-13.164 15.832 0 5.669 1.815 24.168 25.168 24.168 9.973 0 13.377-2.154 13.744-2.731.021-.046.087-.291.087-.764zM16.016 144H64v320c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144h47.981c14.212 0 21.384-17.244 11.314-27.314l-79.981-80.002c-6.245-6.245-16.38-6.247-22.627 0L4.702 116.686C-5.347 126.736 1.775 144 16.016 144z"]},Dp={prefix:"fas",iconName:"sort-up",icon:[320,512,[],"f0de","M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z"]},Lp={prefix:"fas",iconName:"spa",icon:[576,512,[],"f5bb","M568.25 192c-29.04.13-135.01 6.16-213.84 83-33.12 29.63-53.36 63.3-66.41 94.86-13.05-31.56-33.29-65.23-66.41-94.86-78.83-76.84-184.8-82.87-213.84-83-4.41-.02-7.79 3.4-7.75 7.82.23 27.92 7.14 126.14 88.77 199.3C172.79 480.94 256 480 288 480s115.19.95 199.23-80.88c81.64-73.17 88.54-171.38 88.77-199.3.04-4.42-3.34-7.84-7.75-7.82zM287.98 302.6c12.82-18.85 27.6-35.78 44.09-50.52 19.09-18.61 39.58-33.3 60.26-45.18-16.44-70.5-51.72-133.05-96.73-172.22-4.11-3.58-11.02-3.58-15.14 0-44.99 39.14-80.27 101.63-96.74 172.07 20.37 11.7 40.5 26.14 59.22 44.39a282.768 282.768 0 0 1 45.04 51.46z"]},Np={prefix:"fas",iconName:"space-shuttle",icon:[640,512,[],"f197","M592.604 208.244C559.735 192.836 515.777 184 472 184H186.327c-4.952-6.555-10.585-11.978-16.72-16H376C229.157 137.747 219.403 32 96.003 32H96v128H80V32c-26.51 0-48 28.654-48 64v64c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v16c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v64c0 35.346 21.49 64 48 64V352h16v128h.003c123.4 0 133.154-105.747 279.997-136H169.606c6.135-4.022 11.768-9.445 16.72-16H472c43.777 0 87.735-8.836 120.604-24.244C622.282 289.845 640 271.992 640 256s-17.718-33.845-47.396-47.756zM488 296a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8c31.909 0 31.942 80 0 80z"]},Fp={prefix:"fas",iconName:"spider",icon:[576,512,[],"f717","M151.17 167.35L177.1 176h4.67l5.22-26.12c.72-3.58 1.8-7.58 3.21-11.79l-20.29-40.58 23.8-71.39c2.79-8.38-1.73-17.44-10.12-20.24L168.42.82c-8.38-2.8-17.45 1.73-20.24 10.12l-25.89 77.68a32.04 32.04 0 0 0 1.73 24.43l27.15 54.3zm422.14 182.03l-52.75-79.12a32.002 32.002 0 0 0-26.62-14.25H416l68.99-24.36a32.03 32.03 0 0 0 16.51-12.61l53.6-80.41c4.9-7.35 2.91-17.29-4.44-22.19l-13.31-8.88c-7.35-4.9-17.29-2.91-22.19 4.44l-50.56 75.83L404.1 208H368l-10.37-51.85C355.44 145.18 340.26 96 288 96c-52.26 0-67.44 49.18-69.63 60.15L208 208h-36.1l-60.49-20.17L60.84 112c-4.9-7.35-14.83-9.34-22.19-4.44l-13.31 8.88c-7.35 4.9-9.34 14.83-4.44 22.19l53.6 80.41a32.03 32.03 0 0 0 16.51 12.61L160 256H82.06a32.02 32.02 0 0 0-26.63 14.25L2.69 349.38c-4.9 7.35-2.92 17.29 4.44 22.19l13.31 8.88c7.35 4.9 17.29 2.91 22.19-4.44l48-72h47.06l-60.83 97.33A31.988 31.988 0 0 0 72 418.3V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-73.11l74.08-118.53c-1.01 14.05-2.08 28.11-2.08 42.21C192 399.64 232.76 448 288 448s96-48.36 96-101.43c0-14.1-1.08-28.16-2.08-42.21L456 422.89V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-77.71c0-6-1.69-11.88-4.86-16.96L438.31 304h47.06l48 72c4.9 7.35 14.84 9.34 22.19 4.44l13.31-8.88c7.36-4.9 9.34-14.83 4.44-22.18zM406.09 97.51l-20.29 40.58c1.41 4.21 2.49 8.21 3.21 11.79l5.22 26.12h4.67l25.93-8.65 27.15-54.3a31.995 31.995 0 0 0 1.73-24.43l-25.89-77.68C425.03 2.56 415.96-1.98 407.58.82l-15.17 5.06c-8.38 2.8-12.91 11.86-10.12 20.24l23.8 71.39z"]},Bp={prefix:"fas",iconName:"spinner",icon:[512,512,[],"f110","M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"]},kp={prefix:"fas",iconName:"splotch",icon:[512,512,[],"f5bc","M472.29 195.89l-67.06-22.95c-19.28-6.6-33.54-20.92-38.14-38.3L351.1 74.19c-11.58-43.77-76.57-57.13-109.98-22.62l-46.14 47.67c-13.26 13.71-33.54 20.93-54.2 19.31l-71.88-5.62c-52.05-4.07-86.93 44.88-59.03 82.83l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24L24.62 355.4c-20.59 41.25 22.84 84.87 73.49 73.81l69.96-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101.04 7.57 104.45-37.22l4.7-61.86c1.35-17.79 12.8-33.86 30.63-42.99l62-31.74c44.88-22.96 39.59-80.17-8.95-96.79z"]},Vp={prefix:"fas",iconName:"spray-can",icon:[512,512,[],"f5bd","M224 32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96h128V32zm256 96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-256 32H96c-53.02 0-96 42.98-96 96v224c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V256c0-53.02-42.98-96-96-96zm-64 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zM480 96c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm-96 32c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-96-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 0c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 192c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"]},zp={prefix:"fas",iconName:"square",icon:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"]},jp={prefix:"fas",iconName:"square-full",icon:[512,512,[],"f45c","M512 512H0V0h512v512z"]},Up={prefix:"fas",iconName:"square-root-alt",icon:[576,512,[],"f698","M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z"]},Gp={prefix:"fas",iconName:"stamp",icon:[512,512,[],"f5bf","M32 512h448v-64H32v64zm384-256h-66.56c-16.26 0-29.44-13.18-29.44-29.44v-9.46c0-27.37 8.88-53.41 21.46-77.72 9.11-17.61 12.9-38.39 9.05-60.42-6.77-38.78-38.47-70.7-77.26-77.45C212.62-9.04 160 37.33 160 96c0 14.16 3.12 27.54 8.69 39.58C182.02 164.43 192 194.7 192 226.49v.07c0 16.26-13.18 29.44-29.44 29.44H96c-53.02 0-96 42.98-96 96v32c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-32c0-53.02-42.98-96-96-96z"]},Hp={prefix:"fas",iconName:"star",icon:[576,512,[],"f005","M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"]},Wp={prefix:"fas",iconName:"star-and-crescent",icon:[512,512,[],"f699","M340.47 466.36c-1.45 0-6.89.46-9.18.46-116.25 0-210.82-94.57-210.82-210.82S215.04 45.18 331.29 45.18c2.32 0 7.7.46 9.18.46 7.13 0 13.33-5.03 14.75-12.07 1.46-7.25-2.55-14.49-9.47-17.09C316.58 5.54 286.39 0 256 0 114.84 0 0 114.84 0 256s114.84 256 256 256c30.23 0 60.28-5.49 89.32-16.32 5.96-2.02 10.28-7.64 10.28-14.26 0-8.09-6.39-15.06-15.13-15.06zm162.99-252.5l-76.38-11.1-34.16-69.21c-1.83-3.7-5.38-5.55-8.93-5.55s-7.1 1.85-8.93 5.55l-34.16 69.21-76.38 11.1c-8.17 1.18-11.43 11.22-5.52 16.99l55.27 53.87-13.05 76.07c-1.11 6.44 4.01 11.66 9.81 11.66 1.53 0 3.11-.36 4.64-1.17L384 335.37l68.31 35.91c1.53.8 3.11 1.17 4.64 1.17 5.8 0 10.92-5.23 9.81-11.66l-13.05-76.07 55.27-53.87c5.91-5.77 2.65-15.81-5.52-16.99z"]},Xp={prefix:"fas",iconName:"star-half",icon:[576,512,[],"f089","M288 0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6V0z"]},Yp={prefix:"fas",iconName:"star-half-alt",icon:[536,512,[],"f5c0","M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z"]},Qp={prefix:"fas",iconName:"star-of-david",icon:[464,512,[],"f69a","M405.68 256l53.21-89.39C473.3 142.4 455.48 112 426.88 112H319.96l-55.95-93.98C256.86 6.01 244.43 0 232 0s-24.86 6.01-32.01 18.02L144.04 112H37.11c-28.6 0-46.42 30.4-32.01 54.61L58.32 256 5.1 345.39C-9.31 369.6 8.51 400 37.11 400h106.93l55.95 93.98C207.14 505.99 219.57 512 232 512s24.86-6.01 32.01-18.02L319.96 400h106.93c28.6 0 46.42-30.4 32.01-54.61L405.68 256zm-12.78-88l-19.8 33.26L353.3 168h39.6zm-52.39 88l-52.39 88H175.88l-52.39-88 52.38-88h112.25l52.39 88zM232 73.72L254.79 112h-45.57L232 73.72zM71.1 168h39.6l-19.8 33.26L71.1 168zm0 176l19.8-33.26L110.7 344H71.1zM232 438.28L209.21 400h45.57L232 438.28zM353.29 344l19.8-33.26L392.9 344h-39.61z"]},Kp={prefix:"fas",iconName:"star-of-life",icon:[480,512,[],"f621","M471.99 334.43L336.06 256l135.93-78.43c7.66-4.42 10.28-14.2 5.86-21.86l-32.02-55.43c-4.42-7.65-14.21-10.28-21.87-5.86l-135.93 78.43V16c0-8.84-7.17-16-16.01-16h-64.04c-8.84 0-16.01 7.16-16.01 16v156.86L56.04 94.43c-7.66-4.42-17.45-1.79-21.87 5.86L2.15 155.71c-4.42 7.65-1.8 17.44 5.86 21.86L143.94 256 8.01 334.43c-7.66 4.42-10.28 14.21-5.86 21.86l32.02 55.43c4.42 7.65 14.21 10.27 21.87 5.86l135.93-78.43V496c0 8.84 7.17 16 16.01 16h64.04c8.84 0 16.01-7.16 16.01-16V339.14l135.93 78.43c7.66 4.42 17.45 1.8 21.87-5.86l32.02-55.43c4.42-7.65 1.8-17.43-5.86-21.85z"]},Zp={prefix:"fas",iconName:"step-backward",icon:[448,512,[],"f048","M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z"]},qp={prefix:"fas",iconName:"step-forward",icon:[448,512,[],"f051","M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"]},Jp={prefix:"fas",iconName:"stethoscope",icon:[512,512,[],"f0f1","M447.1 112c-34.2.5-62.3 28.4-63 62.6-.5 24.3 12.5 45.6 32 56.8V344c0 57.3-50.2 104-112 104-60 0-109.2-44.1-111.9-99.2C265 333.8 320 269.2 320 192V36.6c0-11.4-8.1-21.3-19.3-23.5L237.8.5c-13-2.6-25.6 5.8-28.2 18.8L206.4 35c-2.6 13 5.8 25.6 18.8 28.2l30.7 6.1v121.4c0 52.9-42.2 96.7-95.1 97.2-53.4.5-96.9-42.7-96.9-96V69.4l30.7-6.1c13-2.6 21.4-15.2 18.8-28.2l-3.1-15.7C107.7 6.4 95.1-2 82.1.6L19.3 13C8.1 15.3 0 25.1 0 36.6V192c0 77.3 55.1 142 128.1 156.8C130.7 439.2 208.6 512 304 512c97 0 176-75.4 176-168V231.4c19.1-11.1 32-31.7 32-55.4 0-35.7-29.2-64.5-64.9-64zm.9 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"]},$p={prefix:"fas",iconName:"sticky-note",icon:[448,512,[],"f249","M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z"]},eh={prefix:"fas",iconName:"stop",icon:[448,512,[],"f04d","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"]},th={prefix:"fas",iconName:"stop-circle",icon:[512,512,[],"f28d","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z"]},nh={prefix:"fas",iconName:"stopwatch",icon:[448,512,[],"f2f2","M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"]},ih={prefix:"fas",iconName:"store",icon:[616,512,[],"f54e","M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z"]},rh={prefix:"fas",iconName:"store-alt",icon:[640,512,[],"f54f","M320 384H128V224H64v256c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V224h-64v160zm314.6-241.8l-85.3-128c-6-8.9-16-14.2-26.7-14.2H117.4c-10.7 0-20.7 5.3-26.6 14.2l-85.3 128c-14.2 21.3 1 49.8 26.6 49.8H608c25.5 0 40.7-28.5 26.6-49.8zM512 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h-64v272z"]},oh={prefix:"fas",iconName:"stream",icon:[512,512,[],"f550","M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z"]},ah={prefix:"fas",iconName:"street-view",icon:[512,512,[],"f21d","M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z"]},sh={prefix:"fas",iconName:"strikethrough",icon:[512,512,[],"f0cc","M496 288H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h480c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16zm-214.666 16c27.258 12.937 46.524 28.683 46.524 56.243 0 33.108-28.977 53.676-75.621 53.676-32.325 0-76.874-12.08-76.874-44.271V368c0-8.837-7.164-16-16-16H113.75c-8.836 0-16 7.163-16 16v19.204c0 66.845 77.717 101.82 154.487 101.82 88.578 0 162.013-45.438 162.013-134.424 0-19.815-3.618-36.417-10.143-50.6H281.334zm-30.952-96c-32.422-13.505-56.836-28.946-56.836-59.683 0-33.92 30.901-47.406 64.962-47.406 42.647 0 64.962 16.593 64.962 32.985V136c0 8.837 7.164 16 16 16h45.613c8.836 0 16-7.163 16-16v-30.318c0-52.438-71.725-79.875-142.575-79.875-85.203 0-150.726 40.972-150.726 125.646 0 22.71 4.665 41.176 12.777 56.547h129.823z"]},ch={prefix:"fas",iconName:"stroopwafel",icon:[512,512,[],"f551","M188.12 210.74L142.86 256l45.25 45.25L233.37 256l-45.25-45.26zm113.13-22.62L256 142.86l-45.25 45.25L256 233.37l45.25-45.25zm-90.5 135.76L256 369.14l45.26-45.26L256 278.63l-45.25 45.25zM256 0C114.62 0 0 114.62 0 256s114.62 256 256 256 256-114.62 256-256S397.38 0 256 0zm186.68 295.6l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-28.29-28.29-45.25 45.25 33.94 33.94 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-33.94-33.94-45.26 45.26 28.29 28.29c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0L256 414.39l-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l28.29-28.29-45.25-45.26-33.94 33.94 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 33.94-33.94-45.25-45.25-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0L69.32 295.6c-3.12-3.12-3.12-8.19 0-11.31L97.61 256l-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l28.29 28.29 45.25-45.26-33.94-33.94-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 33.94 33.94 45.26-45.25-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0L256 97.61l28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-28.29 28.29 45.26 45.25 33.94-33.94-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-33.94 33.94 45.25 45.26 28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31L414.39 256l28.29 28.28a8.015 8.015 0 0 1 0 11.32zM278.63 256l45.26 45.25L369.14 256l-45.25-45.26L278.63 256z"]},lh={prefix:"fas",iconName:"subscript",icon:[512,512,[],"f12c","M395.198 416c3.461-10.526 18.796-21.28 36.265-32.425 16.625-10.605 35.467-22.626 50.341-38.862 17.458-19.054 25.944-40.175 25.944-64.567 0-60.562-50.702-88.146-97.81-88.146-42.491 0-76.378 22.016-94.432 50.447-4.654 7.329-2.592 17.036 4.623 21.865l30.328 20.296c7.032 4.706 16.46 3.084 21.63-3.614 8.022-10.394 18.818-18.225 31.667-18.225 19.387 0 26.266 12.901 26.266 23.948 0 36.159-119.437 57.023-119.437 160.024 0 6.654.561 13.014 1.415 19.331 1.076 7.964 7.834 13.928 15.87 13.928H496c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16H395.198zM272 256c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-62.399a16 16 0 0 1-13.541-7.478l-45.701-72.615c-2.297-3.352-4.422-6.969-6.195-10.209-1.65 3.244-3.647 6.937-5.874 10.582l-44.712 72.147a15.999 15.999 0 0 1-13.6 7.572H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h26.325l56.552-82.709L46.111 96H16C7.163 96 0 88.837 0 80V48c0-8.837 7.163-16 16-16h68.806a16 16 0 0 1 13.645 7.644l39.882 65.126c2.072 3.523 4.053 7.171 5.727 10.37 1.777-3.244 3.92-6.954 6.237-10.537l40.332-65.035A15.999 15.999 0 0 1 204.226 32H272c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-27.979l-52.69 75.671L249.974 256H272z"]},uh={prefix:"fas",iconName:"subway",icon:[448,512,[],"f239","M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zM200 232V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm200 0V120c0-13.255-10.745-24-24-24H272c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm-48 56c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-256 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z"]},ph={prefix:"fas",iconName:"suitcase",icon:[512,512,[],"f0f2","M128 480h256V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v400zm64-384h128v32H192V96zm320 80v256c0 26.5-21.5 48-48 48h-48V128h48c26.5 0 48 21.5 48 48zM96 480H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h48v352z"]},hh={prefix:"fas",iconName:"suitcase-rolling",icon:[384,512,[],"f5c1","M336 160H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h16v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h128v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h16c26.51 0 48-21.49 48-48V208c0-26.51-21.49-48-48-48zm-16 216c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zM144 48h96v80h48V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v80h48V48z"]},dh={prefix:"fas",iconName:"sun",icon:[512,512,[],"f185","M274.835 12.646l25.516 62.393c4.213 10.301 16.671 14.349 26.134 8.492l57.316-35.479c15.49-9.588 34.808 4.447 30.475 22.142l-16.03 65.475c-2.647 10.81 5.053 21.408 16.152 22.231l67.224 4.987c18.167 1.348 25.546 24.057 11.641 35.826L441.81 242.26c-8.495 7.19-8.495 20.289 0 27.479l51.454 43.548c13.906 11.769 6.527 34.478-11.641 35.826l-67.224 4.987c-11.099.823-18.799 11.421-16.152 22.231l16.03 65.475c4.332 17.695-14.986 31.73-30.475 22.142l-57.316-35.479c-9.463-5.858-21.922-1.81-26.134 8.492l-25.516 62.393c-6.896 16.862-30.774 16.862-37.67 0l-25.516-62.393c-4.213-10.301-16.671-14.349-26.134-8.492l-57.317 35.479c-15.49 9.588-34.808-4.447-30.475-22.142l16.03-65.475c2.647-10.81-5.053-21.408-16.152-22.231l-67.224-4.987c-18.167-1.348-25.546-24.057-11.641-35.826L70.19 269.74c8.495-7.19 8.495-20.289 0-27.479l-51.454-43.548c-13.906-11.769-6.527-34.478 11.641-35.826l67.224-4.987c11.099-.823 18.799-11.421 16.152-22.231l-16.03-65.475c-4.332-17.695 14.986-31.73 30.475-22.142l57.317 35.479c9.463 5.858 21.921 1.81 26.134-8.492l25.516-62.393c6.896-16.861 30.774-16.861 37.67 0zM392 256c0-74.991-61.01-136-136-136-74.991 0-136 61.009-136 136s61.009 136 136 136c74.99 0 136-61.009 136-136zm-32 0c0 57.346-46.654 104-104 104s-104-46.654-104-104 46.654-104 104-104 104 46.654 104 104z"]},fh={prefix:"fas",iconName:"superscript",icon:[512,512,[],"f12b","M395.198 256c3.461-10.526 18.796-21.28 36.265-32.425 16.625-10.605 35.467-22.626 50.341-38.862 17.458-19.054 25.944-40.175 25.944-64.567 0-60.562-50.702-88.146-97.81-88.146-42.491 0-76.378 22.016-94.432 50.447-4.654 7.329-2.592 17.036 4.623 21.865l30.328 20.296c7.032 4.706 16.46 3.084 21.63-3.614 8.022-10.394 18.818-18.225 31.667-18.225 19.387 0 26.266 12.901 26.266 23.948 0 36.159-119.437 57.023-119.437 160.024 0 6.654.561 13.014 1.415 19.331 1.076 7.964 7.834 13.928 15.87 13.928H496c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16H395.198zM272 416c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-62.399a16 16 0 0 1-13.541-7.478l-45.701-72.615c-2.297-3.352-4.422-6.969-6.195-10.209-1.65 3.244-3.647 6.937-5.874 10.582l-44.712 72.147a15.999 15.999 0 0 1-13.6 7.572H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h26.325l56.552-82.709L46.111 256H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h68.806a16 16 0 0 1 13.645 7.644l39.882 65.126c2.072 3.523 4.053 7.171 5.727 10.37 1.777-3.244 3.92-6.954 6.237-10.537l40.332-65.035a16 16 0 0 1 13.598-7.567H272c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-27.979l-52.69 75.671L249.974 416H272z"]},_h={prefix:"fas",iconName:"surprise",icon:[496,512,[],"f5c2","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm112 208c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm80-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},mh={prefix:"fas",iconName:"swatchbook",icon:[511,512,[],"f5c3","M479.06 320H372.29L186.15 506.51c-2.06 2.07-4.49 3.58-6.67 5.49h299.58c17.64 0 31.94-14.33 31.94-32V352c0-17.67-14.3-32-31.94-32zm-44.5-152.9l-90.33-90.51c-12.47-12.5-32.69-12.5-45.17 0l-75.5 75.65V416c0 2.96-.67 5.73-.87 8.64l211.87-212.28c12.47-12.5 12.47-32.77 0-45.26zM191.62 32c0-17.67-14.3-32-31.94-32H31.94C14.3 0 0 14.33 0 32v384c0 53.02 42.9 96 95.81 96s95.81-42.98 95.81-96V32zM95.81 440c-13.23 0-23.95-10.75-23.95-24 0-13.26 10.73-24 23.95-24s23.95 10.74 23.95 24c.01 13.25-10.72 24-23.95 24zm31.94-184H63.88v-64h63.88v64zm0-128H63.88V64h63.88v64z"]},bh={prefix:"fas",iconName:"swimmer",icon:[640,512,[],"f5c4","M189.61 310.58c3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c16.02-14.77 34.5-22.58 53.46-22.58h16.3c18.96 0 37.45 7.81 53.46 22.58 3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c14.86-13.71 31.88-21.12 49.39-22.16l-112.84-80.6 18-12.86c3.64-2.58 8.28-3.52 12.62-2.61l100.35 21.53c25.91 5.53 51.44-10.97 57-36.88 5.55-25.92-10.95-51.44-36.88-57L437.68 98.47c-30.73-6.58-63.02.12-88.56 18.38l-80.02 57.17c-10.38 7.39-19.36 16.44-26.72 26.94L173.75 299c5.47 3.23 10.82 6.93 15.86 11.58zM624 352h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 343.58 442.04 352 416 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 343.58 250.04 352 224 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 343.58 58.04 352 32 352H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-512-96c44.18 0 80-35.82 80-80s-35.82-80-80-80-80 35.82-80 80 35.82 80 80 80z"]},gh={prefix:"fas",iconName:"swimming-pool",icon:[640,512,[],"f5c5","M624 416h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 407.58 442.04 416 416 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 407.58 250.04 416 224 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 407.58 58.04 416 32 416H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-400-32v-96h192v96c19.12 0 30.86-6.16 34.39-9.42 9.17-8.46 19.2-14.34 29.61-18.07V128c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v96H224v-96c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v228.5c10.41 3.73 20.44 9.62 29.61 18.07 3.53 3.27 15.27 9.43 34.39 9.43z"]},vh={prefix:"fas",iconName:"synagogue",icon:[640,512,[],"f69b","M70 196.51L6.67 268.29A26.643 26.643 0 0 0 0 285.93V512h128V239.58l-38-43.07c-5.31-6.01-14.69-6.01-20 0zm563.33 71.78L570 196.51c-5.31-6.02-14.69-6.02-20 0l-38 43.07V512h128V285.93c0-6.5-2.37-12.77-6.67-17.64zM339.99 7.01c-11.69-9.35-28.29-9.35-39.98 0l-128 102.4A32.005 32.005 0 0 0 160 134.4V512h96v-92.57c0-31.88 21.78-61.43 53.25-66.55C349.34 346.35 384 377.13 384 416v96h96V134.4c0-9.72-4.42-18.92-12.01-24.99l-128-102.4zm52.07 215.55c1.98 3.15-.29 7.24-4 7.24h-38.94L324 269.79c-1.85 2.95-6.15 2.95-8 0l-25.12-39.98h-38.94c-3.72 0-5.98-4.09-4-7.24l19.2-30.56-19.2-30.56c-1.98-3.15.29-7.24 4-7.24h38.94l25.12-40c1.85-2.95 6.15-2.95 8 0l25.12 39.98h38.95c3.71 0 5.98 4.09 4 7.24L372.87 192l19.19 30.56z"]},yh={prefix:"fas",iconName:"sync",icon:[512,512,[],"f021","M440.935 12.574l3.966 82.766C399.416 41.904 331.674 8 256 8 134.813 8 33.933 94.924 12.296 209.824 10.908 217.193 16.604 224 24.103 224h49.084c5.57 0 10.377-3.842 11.676-9.259C103.407 137.408 172.931 80 256 80c60.893 0 114.512 30.856 146.104 77.801l-101.53-4.865c-6.845-.328-12.574 5.133-12.574 11.986v47.411c0 6.627 5.373 12 12 12h200.333c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12h-47.411c-6.853 0-12.315 5.729-11.987 12.574zM256 432c-60.895 0-114.517-30.858-146.109-77.805l101.868 4.871c6.845.327 12.573-5.134 12.573-11.986v-47.412c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12V500c0 6.627 5.373 12 12 12h47.385c6.863 0 12.328-5.745 11.985-12.599l-4.129-82.575C112.725 470.166 180.405 504 256 504c121.187 0 222.067-86.924 243.704-201.824 1.388-7.369-4.308-14.176-11.807-14.176h-49.084c-5.57 0-10.377 3.842-11.676 9.259C408.593 374.592 339.069 432 256 432z"]},Ch={prefix:"fas",iconName:"sync-alt",icon:[512,512,[],"f2f1","M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"]},Ah={prefix:"fas",iconName:"syringe",icon:[512,512,[],"f48e","M201.5 174.8l55.7 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-55.7-55.8-45.3 45.3 55.8 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L111 265.2l-26.4 26.4c-17.3 17.3-25.6 41.1-23 65.4l7.1 63.6L2.3 487c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l66.3-66.3 63.6 7.1c23.9 2.6 47.9-5.4 65.4-23l181.9-181.9-135.7-135.7-64.9 65zm308.2-93.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-45.3 45.3-56.6-56.6-17-17c-3.1-3.1-8.2-3.1-11.3 0l-33.9 33.9c-3.1 3.1-3.1 8.2 0 11.3l17 17L424.8 223l17 17c3.1 3.1 8.2 3.1 11.3 0l33.9-34c3.1-3.1 3.1-8.2 0-11.3l-73.5-73.5 45.3-45.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.2 3.1-8.2 0-11.4z"]},xh={prefix:"fas",iconName:"table",icon:[512,512,[],"f0ce","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"]},Sh={prefix:"fas",iconName:"table-tennis",icon:[512,512,[],"f45d","M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z"]},Th={prefix:"fas",iconName:"tablet",icon:[448,512,[],"f10a","M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"]},Eh={prefix:"fas",iconName:"tablet-alt",icon:[448,512,[],"f3fa","M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h328c6.6 0 12 5.4 12 12v312z"]},Ph={prefix:"fas",iconName:"tablets",icon:[640,512,[],"f490","M160 192C78.9 192 12.5 250.5.1 326.7c-.8 4.8 3.3 9.3 8.3 9.3h303.3c5 0 9.1-4.5 8.3-9.3C307.5 250.5 241.1 192 160 192zm151.6 176H8.4c-5 0-9.1 4.5-8.3 9.3C12.5 453.5 78.9 512 160 512s147.5-58.5 159.9-134.7c.8-4.8-3.3-9.3-8.3-9.3zM593.4 46.6c-56.5-56.5-144.2-61.4-206.9-16-4 2.9-4.3 8.9-.8 12.3L597 254.3c3.5 3.5 9.5 3.2 12.3-.8 45.5-62.7 40.6-150.4-15.9-206.9zM363 65.7c-3.5-3.5-9.5-3.2-12.3.8-45.4 62.7-40.5 150.4 15.9 206.9 56.5 56.5 144.2 61.4 206.9 15.9 4-2.9 4.3-8.9.8-12.3L363 65.7z"]},Oh={prefix:"fas",iconName:"tachometer-alt",icon:[576,512,[],"f3fd","M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Mh={prefix:"fas",iconName:"tag",icon:[512,512,[],"f02b","M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z"]},Rh={prefix:"fas",iconName:"tags",icon:[640,512,[],"f02c","M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z"]},Ih={prefix:"fas",iconName:"tape",icon:[640,512,[],"f4db","M224 192c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm400 224H380.6c41.5-40.7 67.4-97.3 67.4-160 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h400c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400-64c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z"]},wh={prefix:"fas",iconName:"tasks",icon:[512,512,[],"f0ae","M208 132h288c8.8 0 16-7.2 16-16V76c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16zm0 160h288c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16zm0 160h288c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16zM64 368c-26.5 0-48.6 21.5-48.6 48s22.1 48 48.6 48 48-21.5 48-48-21.5-48-48-48zm92.5-299l-72.2 72.2-15.6 15.6c-4.7 4.7-12.9 4.7-17.6 0L3.5 109.4c-4.7-4.7-4.7-12.3 0-17l15.7-15.7c4.7-4.7 12.3-4.7 17 0l22.7 22.1 63.7-63.3c4.7-4.7 12.3-4.7 17 0l17 16.5c4.6 4.7 4.6 12.3-.1 17zm0 159.6l-72.2 72.2-15.7 15.7c-4.7 4.7-12.9 4.7-17.6 0L3.5 269c-4.7-4.7-4.7-12.3 0-17l15.7-15.7c4.7-4.7 12.3-4.7 17 0l22.7 22.1 63.7-63.7c4.7-4.7 12.3-4.7 17 0l17 17c4.6 4.6 4.6 12.2-.1 16.9z"]},Dh={prefix:"fas",iconName:"taxi",icon:[512,512,[],"f1ba","M462 241.64l-22-84.84c-9.6-35.2-41.6-60.8-76.8-60.8H352V64c0-17.67-14.33-32-32-32H192c-17.67 0-32 14.33-32 32v32h-11.2c-35.2 0-67.2 25.6-76.8 60.8l-22 84.84C21.41 248.04 0 273.47 0 304v48c0 23.63 12.95 44.04 32 55.12V448c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-40.88c19.05-11.09 32-31.5 32-55.12v-48c0-30.53-21.41-55.96-50-62.36zM96 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm20.55-112l17.2-66.36c2.23-8.16 9.59-13.64 15.06-13.64h214.4c5.47 0 12.83 5.48 14.85 12.86L395.45 240h-278.9zM416 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},Lh={prefix:"fas",iconName:"teeth",icon:[640,512,[],"f62e","M544 0H96C42.98 0 0 42.98 0 96v320c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96zM160 368c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm128 128c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64z"]},Nh={prefix:"fas",iconName:"teeth-open",icon:[640,512,[],"f62f","M544 0H96C42.98 0 0 42.98 0 96v64c0 35.35 28.66 64 64 64h512c35.34 0 64-28.65 64-64V96c0-53.02-42.98-96-96-96zM160 176c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm128 0c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm0 144H64c-35.34 0-64 28.65-64 64v32c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96v-32c0-35.35-28.66-64-64-64zm-416 80c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32zm144-8c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm144 0c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm128 8c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32z"]},Fh={prefix:"fas",iconName:"terminal",icon:[640,512,[],"f120","M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z"]},Bh={prefix:"fas",iconName:"text-height",icon:[576,512,[],"f034","M16 32h288c8.837 0 16 7.163 16 16v96c0 8.837-7.163 16-16 16h-35.496c-8.837 0-16-7.163-16-16V96h-54.761v320H232c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H88c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h34.257V96H67.496v48c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16V48c0-8.837 7.163-16 16-16zm475.308 4.685l79.995 80.001C581.309 126.693 574.297 144 559.99 144H512v224h48c15.639 0 20.635 17.991 11.313 27.314l-79.995 80.001c-6.247 6.247-16.381 6.245-22.626 0l-79.995-80.001C378.691 385.307 385.703 368 400.01 368H448V144h-48c-15.639 0-20.635-17.991-11.313-27.314l79.995-80.001c6.247-6.248 16.381-6.245 22.626 0z"]},kh={prefix:"fas",iconName:"text-width",icon:[448,512,[],"f035","M16 32h416c8.837 0 16 7.163 16 16v96c0 8.837-7.163 16-16 16h-35.496c-8.837 0-16-7.163-16-16V96H261.743v128H296c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H152c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h34.257V96H67.496v48c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16V48c0-8.837 7.163-16 16-16zm427.315 340.682l-80.001-79.995C353.991 283.365 336 288.362 336 304v48H112v-47.99c0-14.307-17.307-21.319-27.314-11.313L4.685 372.692c-6.245 6.245-6.247 16.379 0 22.626l80.001 79.995C94.009 484.635 112 479.638 112 464v-48h224v47.99c0 14.307 17.307 21.319 27.314 11.313l80.001-79.995c6.245-6.245 6.248-16.379 0-22.626z"]},Vh={prefix:"fas",iconName:"th",icon:[512,512,[],"f00a","M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z"]},zh={prefix:"fas",iconName:"th-large",icon:[512,512,[],"f009","M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z"]},jh={prefix:"fas",iconName:"th-list",icon:[512,512,[],"f00b","M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z"]},Uh={prefix:"fas",iconName:"theater-masks",icon:[640,512,[],"f630","M206.86 245.15c-35.88 10.45-59.95 41.2-57.53 74.1 11.4-12.72 28.81-23.7 49.9-30.92l7.63-43.18zM95.81 295L64.08 115.49c-.29-1.62.28-2.62.24-2.65 57.76-32.06 123.12-49.01 189.01-49.01 1.61 0 3.23.17 4.85.19 13.95-13.47 31.73-22.83 51.59-26 18.89-3.02 38.05-4.55 57.18-5.32-9.99-13.95-24.48-24.23-41.77-27C301.27 1.89 277.24 0 253.32 0 176.66 0 101.02 19.42 33.2 57.06 9.03 70.48-3.92 98.48 1.05 126.58l31.73 179.51c14.23 80.52 136.33 142.08 204.45 142.08 3.59 0 6.75-.46 10.01-.8-13.52-17.08-28.94-40.48-39.5-67.58-47.61-12.98-106.06-51.62-111.93-84.79zm97.55-137.46c-.73-4.12-2.23-7.87-4.07-11.4-8.25 8.91-20.67 15.75-35.32 18.32-14.65 2.58-28.67.4-39.48-5.17-.52 3.94-.64 7.98.09 12.1 3.84 21.7 24.58 36.19 46.34 32.37 21.75-3.82 36.28-24.52 32.44-46.22zM606.8 120.9c-88.98-49.38-191.43-67.41-291.98-51.35-27.31 4.36-49.08 26.26-54.04 54.36l-31.73 179.51c-15.39 87.05 95.28 196.27 158.31 207.35 63.03 11.09 204.47-53.79 219.86-140.84l31.73-179.51c4.97-28.11-7.98-56.11-32.15-69.52zm-273.24 96.8c3.84-21.7 24.58-36.19 46.34-32.36 21.76 3.83 36.28 24.52 32.45 46.22-.73 4.12-2.23 7.87-4.07 11.4-8.25-8.91-20.67-15.75-35.32-18.32-14.65-2.58-28.67-.4-39.48 5.17-.53-3.95-.65-7.99.08-12.11zm70.47 198.76c-55.68-9.79-93.52-59.27-89.04-112.9 20.6 25.54 56.21 46.17 99.49 53.78 43.28 7.61 83.82.37 111.93-16.6-14.18 51.94-66.71 85.51-122.38 75.72zm130.3-151.34c-8.25-8.91-20.68-15.75-35.33-18.32-14.65-2.58-28.67-.4-39.48 5.17-.52-3.94-.64-7.98.09-12.1 3.84-21.7 24.58-36.19 46.34-32.37 21.75 3.83 36.28 24.52 32.45 46.22-.73 4.13-2.23 7.88-4.07 11.4z"]},Gh={prefix:"fas",iconName:"thermometer",icon:[512,512,[],"f491","M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2l-45.7 46 50.5 50.5c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.4-50.5-45.1 45.4 50.3 50.4c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L209 167.4l-45.1 45.4L214 263c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.1-50.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2z"]},Hh={prefix:"fas",iconName:"thermometer-empty",icon:[256,512,[],"f2cb","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},Wh={prefix:"fas",iconName:"thermometer-full",icon:[256,512,[],"f2c7","M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z"]},Xh={prefix:"fas",iconName:"thermometer-half",icon:[256,512,[],"f2c9","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},Yh={prefix:"fas",iconName:"thermometer-quarter",icon:[256,512,[],"f2ca","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V288c0-17.673 14.327-32 32-32s32 14.327 32 32v40.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},Qh={prefix:"fas",iconName:"thermometer-three-quarters",icon:[256,512,[],"f2c8","M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"]},Kh={prefix:"fas",iconName:"thumbs-down",icon:[512,512,[],"f165","M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z"]},Zh={prefix:"fas",iconName:"thumbs-up",icon:[512,512,[],"f164","M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z"]},qh={prefix:"fas",iconName:"thumbtack",icon:[384,512,[],"f08d","M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z"]},Jh={prefix:"fas",iconName:"ticket-alt",icon:[576,512,[],"f3ff","M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z"]},$h={prefix:"fas",iconName:"times",icon:[352,512,[],"f00d","M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"]},ed={prefix:"fas",iconName:"times-circle",icon:[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"]},td={prefix:"fas",iconName:"tint",icon:[352,512,[],"f043","M205.22 22.09c-7.94-28.78-49.44-30.12-58.44 0C100.01 179.85 0 222.72 0 333.91 0 432.35 78.72 512 176 512s176-79.65 176-178.09c0-111.75-99.79-153.34-146.78-311.82zM176 448c-61.75 0-112-50.25-112-112 0-8.84 7.16-16 16-16s16 7.16 16 16c0 44.11 35.89 80 80 80 8.84 0 16 7.16 16 16s-7.16 16-16 16z"]},nd={prefix:"fas",iconName:"tint-slash",icon:[640,512,[],"f5c7","M633.82 458.1L494.97 350.78c.52-5.57 1.03-11.16 1.03-16.87 0-111.76-99.79-153.34-146.78-311.82-7.94-28.78-49.44-30.12-58.44 0-15.52 52.34-36.87 91.96-58.49 125.68L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM144 333.91C144 432.35 222.72 512 320 512c44.71 0 85.37-16.96 116.4-44.7L162.72 255.78c-11.41 23.5-18.72 48.35-18.72 78.13z"]},id={prefix:"fas",iconName:"tired",icon:[496,512,[],"f5c8","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 288c51.9 0 115.3 43.8 123.2 106.7 1.7 13.6-8 24.6-17.7 20.4-25.9-11.1-64.4-17.4-105.5-17.4s-79.6 6.3-105.5 17.4c-9.8 4.2-19.4-7-17.7-20.4C132.7 331.8 196.1 288 248 288z"]},rd={prefix:"fas",iconName:"toggle-off",icon:[576,512,[],"f204","M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z"]},od={prefix:"fas",iconName:"toggle-on",icon:[576,512,[],"f205","M576 256c0 106.039-85.961 192-192 192H192C85.961 448 0 362.039 0 256S85.961 64 192 64h192c106.039 0 192 85.961 192 192zM384 128c-70.741 0-128 57.249-128 128 0 70.741 57.249 128 128 128 70.741 0 128-57.249 128-128 0-70.741-57.249-128-128-128"]},ad={prefix:"fas",iconName:"toilet-paper",icon:[576,512,[],"f71e","M128 0C74.98 0 32 85.96 32 192v172.07c0 41.12-9.8 62.77-31.17 126.87C-2.62 501.3 5.09 512 16.01 512h280.92c13.77 0 26-8.81 30.36-21.88 12.83-38.48 24.71-72.4 24.71-126.05V192c0-83.6 23.67-153.52 60.44-192H128zM96 224c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zM480 0c-53.02 0-96 85.96-96 192s42.98 192 96 192 96-85.96 96-192S533.02 0 480 0zm0 256c-17.67 0-32-28.65-32-64s14.33-64 32-64 32 28.65 32 64-14.33 64-32 64z"]},sd={prefix:"fas",iconName:"toolbox",icon:[512,512,[],"f552","M502.63 214.63l-45.25-45.25c-6-6-14.14-9.37-22.63-9.37H384V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v80H77.25c-8.49 0-16.62 3.37-22.63 9.37L9.37 214.63c-6 6-9.37 14.14-9.37 22.63V320h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-82.75c0-8.48-3.37-16.62-9.37-22.62zM320 160H192V96h128v64zm64 208c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H192v16c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H0v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96H384v16z"]},cd={prefix:"fas",iconName:"tooth",icon:[448,512,[],"f5c9","M443.98 96.25c-11.01-45.22-47.11-82.06-92.01-93.72-32.19-8.36-63 5.1-89.14 24.33-3.25 2.39-6.96 3.73-10.5 5.48l28.32 18.21c7.42 4.77 9.58 14.67 4.8 22.11-4.46 6.95-14.27 9.86-22.11 4.8L162.83 12.84c-20.7-10.85-43.38-16.4-66.81-10.31-44.9 11.67-81 48.5-92.01 93.72-10.13 41.62-.42 80.81 21.5 110.43 23.36 31.57 32.68 68.66 36.29 107.35 4.4 47.16 10.33 94.16 20.94 140.32l7.8 33.95c3.19 13.87 15.49 23.7 29.67 23.7 13.97 0 26.15-9.55 29.54-23.16l34.47-138.42c4.56-18.32 20.96-31.16 39.76-31.16s35.2 12.85 39.76 31.16l34.47 138.42c3.39 13.61 15.57 23.16 29.54 23.16 14.18 0 26.48-9.83 29.67-23.7l7.8-33.95c10.61-46.15 16.53-93.16 20.94-140.32 3.61-38.7 12.93-75.78 36.29-107.35 21.95-29.61 31.66-68.8 21.53-110.43z"]},ld={prefix:"fas",iconName:"torah",icon:[448,512,[],"f6a0","M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM139.11 141.21c-2.77-4.41.4-10.14 5.6-10.14h53.08c.9 0 1.73-.46 2.21-1.22l34.4-54.76c2.6-4.13 8.61-4.13 11.21 0l34.4 54.76a2.61 2.61 0 0 0 2.21 1.22h53.08c5.2 0 8.37 5.73 5.6 10.14L314.01 184l26.88 42.79c2.77 4.4-.4 10.13-5.6 10.13h-53.08c-.9 0-1.73.46-2.21 1.22l-34.4 54.76c-2.6 4.13-8.61 4.13-11.21 0L200 238.15a2.61 2.61 0 0 0-2.21-1.22h-53.08c-5.2 0-8.37-5.73-5.6-10.13l26.88-42.8-26.88-42.79zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z"]},ud={prefix:"fas",iconName:"torii-gate",icon:[512,512,[],"f6a1","M376.45 32h-240.9A303.17 303.17 0 0 1 0 0v96c0 17.67 14.33 32 32 32h32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h256v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h48c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-48v-64h32c17.67 0 32-14.33 32-32V0a303.17 303.17 0 0 1-135.55 32zM128 128h96v64h-96v-64zm256 64h-96v-64h96v64z"]},pd={prefix:"fas",iconName:"tractor",icon:[640,512,[],"f722","M528 336c-48.6 0-88 39.4-88 88s39.4 88 88 88 88-39.4 88-88-39.4-88-88-88zm0 112c-13.23 0-24-10.77-24-24s10.77-24 24-24 24 10.77 24 24-10.77 24-24 24zm80-288h-64v-40.2c0-14.12 4.7-27.76 13.15-38.84 4.42-5.8 3.55-14.06-1.32-19.49L534.2 37.3c-6.66-7.45-18.32-6.92-24.7.78C490.58 60.9 480 89.81 480 119.8V160H377.67L321.58 29.14A47.914 47.914 0 0 0 277.45 0H144c-26.47 0-48 21.53-48 48v146.52c-8.63-6.73-20.96-6.46-28.89 1.47L36 227.1c-8.59 8.59-8.59 22.52 0 31.11l5.06 5.06c-4.99 9.26-8.96 18.82-11.91 28.72H22c-12.15 0-22 9.85-22 22v44c0 12.15 9.85 22 22 22h7.14c2.96 9.91 6.92 19.46 11.91 28.73l-5.06 5.06c-8.59 8.59-8.59 22.52 0 31.11L67.1 476c8.59 8.59 22.52 8.59 31.11 0l5.06-5.06c9.26 4.99 18.82 8.96 28.72 11.91V490c0 12.15 9.85 22 22 22h44c12.15 0 22-9.85 22-22v-7.14c9.9-2.95 19.46-6.92 28.72-11.91l5.06 5.06c8.59 8.59 22.52 8.59 31.11 0l31.11-31.11c8.59-8.59 8.59-22.52 0-31.11l-5.06-5.06c4.99-9.26 8.96-18.82 11.91-28.72H330c12.15 0 22-9.85 22-22v-6h80.54c21.91-28.99 56.32-48 95.46-48 18.64 0 36.07 4.61 51.8 12.2l50.82-50.82c6-6 9.37-14.14 9.37-22.63V192c.01-17.67-14.32-32-31.99-32zM176 416c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm22-256h-38V64h106.89l41.15 96H198z"]},hd={prefix:"fas",iconName:"trademark",icon:[640,512,[],"f25c","M97.119 163.133H12c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h248.559c6.627 0 12 5.373 12 12v43.133c0 6.627-5.373 12-12 12H175.44V404c0 6.627-5.373 12-12 12h-54.322c-6.627 0-12-5.373-12-12V163.133zM329.825 96h65.425a12 12 0 0 1 11.346 8.093l43.759 127.068c7.161 20.588 16.111 52.812 16.111 52.812h.896s8.95-32.224 16.111-52.812l43.758-127.068A12 12 0 0 1 538.577 96h65.41a12 12 0 0 1 11.961 11.03l24.012 296c.567 6.987-4.951 12.97-11.961 12.97h-54.101a12 12 0 0 1-11.972-11.182l-9.082-132.93c-1.79-24.168 0-53.706 0-53.706h-.896s-10.741 33.566-17.902 53.706l-30.7 84.731a12 12 0 0 1-11.282 7.912h-50.302a12 12 0 0 1-11.282-7.912l-30.7-84.731c-7.161-20.14-17.903-53.706-17.903-53.706h-.895s1.79 29.538 0 53.706l-9.082 132.93c-.428 6.295-5.66 11.182-11.97 11.182H305.4c-7.017 0-12.536-5.994-11.959-12.987l24.425-296A11.999 11.999 0 0 1 329.825 96z"]},dd={prefix:"fas",iconName:"traffic-light",icon:[384,512,[],"f637","M384 192h-64v-37.88c37.2-13.22 64-48.38 64-90.12h-64V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v32H0c0 41.74 26.8 76.9 64 90.12V192H0c0 41.74 26.8 76.9 64 90.12V320H0c0 42.84 28.25 78.69 66.99 91.05C79.42 468.72 130.6 512 192 512s112.58-43.28 125.01-100.95C355.75 398.69 384 362.84 384 320h-64v-37.88c37.2-13.22 64-48.38 64-90.12zM192 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z"]},fd={prefix:"fas",iconName:"train",icon:[448,512,[],"f238","M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z"]},_d={prefix:"fas",iconName:"transgender",icon:[384,512,[],"f224","M372 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C198.5 104.1 172.2 96 144 96 64.5 96 0 160.5 0 240c0 68.5 47.9 125.9 112 140.4V408H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},md={prefix:"fas",iconName:"transgender-alt",icon:[480,512,[],"f225","M468 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C294.5 104.1 268.2 96 240 96c-28.2 0-54.5 8.1-76.7 22.1l-16.5-16.5 19.8-19.8c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8-19-19 16.9-16.9C107.1 12.9 101.7 0 91 0H12C5.4 0 0 5.4 0 12v79c0 10.7 12.9 16 20.5 8.5l16.9-16.9 19 19-19.8 19.8c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l19.8-19.8 16.5 16.5C104.1 185.5 96 211.8 96 240c0 68.5 47.9 125.9 112 140.4V408h-36c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},bd={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M0 84V56c0-13.3 10.7-24 24-24h112l9.4-18.7c4-8.2 12.3-13.3 21.4-13.3h114.3c9.1 0 17.4 5.1 21.5 13.3L312 32h112c13.3 0 24 10.7 24 24v28c0 6.6-5.4 12-12 12H12C5.4 96 0 90.6 0 84zm415.2 56.7L394.8 467c-1.6 25.3-22.6 45-47.9 45H101.1c-25.3 0-46.3-19.7-47.9-45L32.8 140.7c-.4-6.9 5.1-12.7 12-12.7h358.5c6.8 0 12.3 5.8 11.9 12.7z"]},gd={prefix:"fas",iconName:"trash-alt",icon:[448,512,[],"f2ed","M0 84V56c0-13.3 10.7-24 24-24h112l9.4-18.7c4-8.2 12.3-13.3 21.4-13.3h114.3c9.1 0 17.4 5.1 21.5 13.3L312 32h112c13.3 0 24 10.7 24 24v28c0 6.6-5.4 12-12 12H12C5.4 96 0 90.6 0 84zm416 56v324c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V140c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12zm-272 68c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V208zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V208zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V208z"]},vd={prefix:"fas",iconName:"tree",icon:[384,512,[],"f1bb","M378.31 378.49L298.42 288h30.63c9.01 0 16.98-5 20.78-13.06 3.8-8.04 2.55-17.26-3.28-24.05L268.42 160h28.89c9.1 0 17.3-5.35 20.86-13.61 3.52-8.13 1.86-17.59-4.24-24.08L203.66 4.83c-6.03-6.45-17.28-6.45-23.32 0L70.06 122.31c-6.1 6.49-7.75 15.95-4.24 24.08C69.38 154.65 77.59 160 86.69 160h28.89l-78.14 90.91c-5.81 6.78-7.06 15.99-3.27 24.04C37.97 283 45.93 288 54.95 288h30.63L5.69 378.49c-6 6.79-7.36 16.09-3.56 24.26 3.75 8.05 12 13.25 21.01 13.25H160v24.45l-30.29 48.4c-5.32 10.64 2.42 23.16 14.31 23.16h95.96c11.89 0 19.63-12.52 14.31-23.16L224 440.45V416h136.86c9.01 0 17.26-5.2 21.01-13.25 3.8-8.17 2.44-17.47-3.56-24.26z"]},yd={prefix:"fas",iconName:"trophy",icon:[576,512,[],"f091","M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z"]},Cd={prefix:"fas",iconName:"truck",icon:[640,512,[],"f0d1","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"]},Ad={prefix:"fas",iconName:"truck-loading",icon:[640,512,[],"f4de","M50.2 375.6c2.3 8.5 11.1 13.6 19.6 11.3l216.4-58c8.5-2.3 13.6-11.1 11.3-19.6l-49.7-185.5c-2.3-8.5-11.1-13.6-19.6-11.3L151 133.3l24.8 92.7-61.8 16.5-24.8-92.7-77.3 20.7C3.4 172.8-1.7 181.6.6 190.1l49.6 185.5zM384 0c-17.7 0-32 14.3-32 32v323.6L5.9 450c-4.3 1.2-6.8 5.6-5.6 9.8l12.6 46.3c1.2 4.3 5.6 6.8 9.8 5.6l393.7-107.4C418.8 464.1 467.6 512 528 512c61.9 0 112-50.1 112-112V0H384zm144 448c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"]},xd={prefix:"fas",iconName:"truck-monster",icon:[640,512,[],"f63b","M624 224h-16v-64c0-17.67-14.33-32-32-32h-73.6L419.22 24.02A64.025 64.025 0 0 0 369.24 0H256c-17.67 0-32 14.33-32 32v96H48c-8.84 0-16 7.16-16 16v80H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16.72c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64h65.45c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-336-96V64h81.24l51.2 64H288zm304 224h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 512 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67A110.85 110.85 0 0 0 373.2 352H368c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32c-.02-8.84-7.18-16-16.02-16zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-208-80h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 192 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0L58.18 304.8c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67a110.85 110.85 0 0 0-8.65 20.89H48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32C288 359.16 280.84 352 272 352zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z"]},Sd={prefix:"fas",iconName:"truck-moving",icon:[640,512,[],"f4df","M621.3 237.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H480V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v336c0 44.2 35.8 80 80 80 26.3 0 49.4-12.9 64-32.4 14.6 19.6 37.7 32.4 64 32.4 44.2 0 80-35.8 80-80 0-5.5-.6-10.8-1.6-16h163.2c-1.1 5.2-1.6 10.5-1.6 16 0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16v-85.5c0-17-6.7-33.2-18.7-45.2zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm272-224h37.5c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480v-48zm48 224c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z"]},Td={prefix:"fas",iconName:"truck-pickup",icon:[640,512,[],"f63c","M624 288h-16v-64c0-17.67-14.33-32-32-32h-48L419.22 56.02A64.025 64.025 0 0 0 369.24 32H256c-17.67 0-32 14.33-32 32v128H64c-17.67 0-32 14.33-32 32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h49.61c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16h67.23c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM288 96h81.24l76.8 96H288V96zM176 416c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm288 0c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z"]},Ed={prefix:"fas",iconName:"tshirt",icon:[640,512,[],"f553","M631.2 96.5L436.5 0C416.4 27.8 371.9 47.2 320 47.2S223.6 27.8 203.5 0L8.8 96.5c-7.9 4-11.1 13.6-7.2 21.5l57.2 114.5c4 7.9 13.6 11.1 21.5 7.2l56.6-27.7c10.6-5.2 23 2.5 23 14.4V480c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V226.3c0-11.8 12.4-19.6 23-14.4l56.6 27.7c7.9 4 17.5.8 21.5-7.2L638.3 118c4-7.9.8-17.6-7.1-21.5z"]},Pd={prefix:"fas",iconName:"tty",icon:[512,512,[],"f1e4","M5.37 103.822c138.532-138.532 362.936-138.326 501.262 0 6.078 6.078 7.074 15.496 2.583 22.681l-43.214 69.138a18.332 18.332 0 0 1-22.356 7.305l-86.422-34.569a18.335 18.335 0 0 1-11.434-18.846L351.741 90c-62.145-22.454-130.636-21.986-191.483 0l5.953 59.532a18.331 18.331 0 0 1-11.434 18.846l-86.423 34.568a18.334 18.334 0 0 1-22.356-7.305L2.787 126.502a18.333 18.333 0 0 1 2.583-22.68zM96 308v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H92c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zM96 500v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"]},Od={prefix:"fas",iconName:"tv",icon:[640,512,[],"f26c","M592 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h245.1v32h-160c-17.7 0-32 14.3-32 32s14.3 32 32 32h384c17.7 0 32-14.3 32-32s-14.3-32-32-32h-160v-32H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h512v288z"]},Md={prefix:"fas",iconName:"umbrella",icon:[576,512,[],"f0e9","M557.011 267.631c-51.432-45.217-107.572-43.698-158.567 30.731-5.298 7.861-14.906 7.165-19.736 0-2.483-3.624-32.218-60.808-90.708-60.808-45.766 0-70.542 31.378-90.709 60.808-4.829 7.165-14.436 7.861-19.734 0-50.904-74.285-106.613-76.406-158.567-30.731-10.21 8.264-20.912-1.109-18.696-9.481C32.146 134.573 158.516 64.612 288.001 64.612c128.793 0 256.546 69.961 287.706 193.538 2.206 8.322-8.426 17.793-18.696 9.481zM256 261.001V416c0 17.645-14.355 32-32 32s-32-14.355-32-32c0-17.673-14.327-32-32-32s-32 14.327-32 32c0 52.935 43.065 96 96 96s96-43.065 96-96V261.288c-21.836-10.806-45.425-9.737-64-.287zm64-211.007V32c0-17.673-14.327-32-32-32s-32 14.327-32 32v17.987a372.105 372.105 0 0 1 64 .007z"]},Rd={prefix:"fas",iconName:"umbrella-beach",icon:[640,512,[],"f5ca","M115.38 136.9l102.11 37.18c35.19-81.54 86.21-144.29 139-173.7-95.88-4.89-188.78 36.96-248.53 111.8-6.69 8.4-2.66 21.05 7.42 24.72zm132.25 48.16l238.48 86.83c35.76-121.38 18.7-231.66-42.63-253.98-7.4-2.7-15.13-4-23.09-4-58.02.01-128.27 69.17-172.76 171.15zM521.48 60.5c6.22 16.3 10.83 34.6 13.2 55.19 5.74 49.89-1.42 108.23-18.95 166.98l102.62 37.36c10.09 3.67 21.31-3.43 21.57-14.17 2.32-95.69-41.91-187.44-118.44-245.36zM560 447.98H321.06L386 269.5l-60.14-21.9-72.9 200.37H16c-8.84 0-16 7.16-16 16.01v32.01C0 504.83 7.16 512 16 512h544c8.84 0 16-7.17 16-16.01v-32.01c0-8.84-7.16-16-16-16z"]},Id={prefix:"fas",iconName:"underline",icon:[448,512,[],"f0cd","M224.264 388.24c-91.669 0-156.603-51.165-156.603-151.392V64H39.37c-8.837 0-16-7.163-16-16V16c0-8.837 7.163-16 16-16h137.39c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-28.813v172.848c0 53.699 28.314 79.444 76.317 79.444 46.966 0 75.796-25.434 75.796-79.965V64h-28.291c-8.837 0-16-7.163-16-16V16c0-8.837 7.163-16 16-16h136.868c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-28.291v172.848c0 99.405-64.881 151.392-156.082 151.392zM16 448h416c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16z"]},wd={prefix:"fas",iconName:"undo",icon:[512,512,[],"f0e2","M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z"]},Dd={prefix:"fas",iconName:"undo-alt",icon:[512,512,[],"f2ea","M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z"]},Ld={prefix:"fas",iconName:"universal-access",icon:[512,512,[],"f29a","M256 48c114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208m0-40C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 56C149.961 64 64 149.961 64 256s85.961 192 192 192 192-85.961 192-192S362.039 64 256 64zm0 44c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zm117.741 98.023c-28.712 6.779-55.511 12.748-82.14 15.807.851 101.023 12.306 123.052 25.037 155.621 3.617 9.26-.957 19.698-10.217 23.315-9.261 3.617-19.699-.957-23.316-10.217-8.705-22.308-17.086-40.636-22.261-78.549h-9.686c-5.167 37.851-13.534 56.208-22.262 78.549-3.615 9.255-14.05 13.836-23.315 10.217-9.26-3.617-13.834-14.056-10.217-23.315 12.713-32.541 24.185-54.541 25.037-155.621-26.629-3.058-53.428-9.027-82.141-15.807-8.6-2.031-13.926-10.648-11.895-19.249s10.647-13.926 19.249-11.895c96.686 22.829 124.283 22.783 220.775 0 8.599-2.03 17.218 3.294 19.249 11.895 2.029 8.601-3.297 17.219-11.897 19.249z"]},Nd={prefix:"fas",iconName:"university",icon:[512,512,[],"f19c","M496 128v16a8 8 0 0 1-8 8h-24v12c0 6.627-5.373 12-12 12H60c-6.627 0-12-5.373-12-12v-12H24a8 8 0 0 1-8-8v-16a8 8 0 0 1 4.941-7.392l232-88a7.996 7.996 0 0 1 6.118 0l232 88A8 8 0 0 1 496 128zm-24 304H40c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zM96 192v192H60c-6.627 0-12 5.373-12 12v20h416v-20c0-6.627-5.373-12-12-12h-36V192h-64v192h-64V192h-64v192h-64V192H96z"]},Fd={prefix:"fas",iconName:"unlink",icon:[512,512,[],"f127","M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z"]},Bd={prefix:"fas",iconName:"unlock",icon:[448,512,[],"f09c","M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"]},kd={prefix:"fas",iconName:"unlock-alt",icon:[448,512,[],"f13e","M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z"]},Vd={prefix:"fas",iconName:"upload",icon:[512,512,[],"f093","M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},zd={prefix:"fas",iconName:"user",icon:[448,512,[],"f007","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},jd={prefix:"fas",iconName:"user-alt",icon:[512,512,[],"f406","M256 288c79.5 0 144-64.5 144-144S335.5 0 256 0 112 64.5 112 144s64.5 144 144 144zm128 32h-55.1c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16H128C57.3 320 0 377.3 0 448v16c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-16c0-70.7-57.3-128-128-128z"]},Ud={prefix:"fas",iconName:"user-alt-slash",icon:[640,512,[],"f4fa","M633.8 458.1L389.6 269.3C433.8 244.7 464 198.1 464 144 464 64.5 399.5 0 320 0c-67.1 0-123 46.1-139 108.2L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM198.4 320C124.2 320 64 380.2 64 454.4v9.6c0 26.5 21.5 48 48 48h382.2L245.8 320h-47.4z"]},Gd={prefix:"fas",iconName:"user-astronaut",icon:[448,512,[],"f4fb","M64 224h13.5c24.7 56.5 80.9 96 146.5 96s121.8-39.5 146.5-96H384c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-13.5C345.8 39.5 289.6 0 224 0S102.2 39.5 77.5 96H64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm40-88c0-22.1 21.5-40 48-40h144c26.5 0 48 17.9 48 40v24c0 53-43 96-96 96h-48c-53 0-96-43-96-96v-24zm72 72l12-36 36-12-36-12-12-36-12 36-36 12 36 12 12 36zm151.6 113.4C297.7 340.7 262.2 352 224 352s-73.7-11.3-103.6-30.6C52.9 328.5 0 385 0 454.4v9.6c0 26.5 21.5 48 48 48h80v-64c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v64h80c26.5 0 48-21.5 48-48v-9.6c0-69.4-52.9-125.9-120.4-133zM272 448c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-96 0c-8.8 0-16 7.2-16 16v48h32v-48c0-8.8-7.2-16-16-16z"]},Hd={prefix:"fas",iconName:"user-check",icon:[640,512,[],"f4fc","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z"]},Wd={prefix:"fas",iconName:"user-circle",icon:[496,512,[],"f2bd","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 96c48.6 0 88 39.4 88 88s-39.4 88-88 88-88-39.4-88-88 39.4-88 88-88zm0 344c-58.7 0-111.3-26.6-146.5-68.2 18.8-35.4 55.6-59.8 98.5-59.8 2.4 0 4.8.4 7.1 1.1 13 4.2 26.6 6.9 40.9 6.9 14.3 0 28-2.7 40.9-6.9 2.3-.7 4.7-1.1 7.1-1.1 42.9 0 79.7 24.4 98.5 59.8C359.3 421.4 306.7 448 248 448z"]},Xd={prefix:"fas",iconName:"user-clock",icon:[640,512,[],"f4fd","M496 224c-79.6 0-144 64.4-144 144s64.4 144 144 144 144-64.4 144-144-64.4-144-144-144zm64 150.3c0 5.3-4.4 9.7-9.7 9.7h-60.6c-5.3 0-9.7-4.4-9.7-9.7v-76.6c0-5.3 4.4-9.7 9.7-9.7h12.6c5.3 0 9.7 4.4 9.7 9.7V352h38.3c5.3 0 9.7 4.4 9.7 9.7v12.6zM320 368c0-27.8 6.7-54.1 18.2-77.5-8-1.5-16.2-2.5-24.6-2.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h347.1c-45.3-31.9-75.1-84.5-75.1-144zm-96-112c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128z"]},Yd={prefix:"fas",iconName:"user-cog",icon:[640,512,[],"f4fe","M610.5 373.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 400.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm201.2 226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9 4.6c-6 3.4-12.8 5.3-19.6 5.3-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7 1.9-36.4 17.9-45.7l7.9-4.6c-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9 2.2-5.8 3.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c10.1 0 19.5-3.2 27.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z"]},Qd={prefix:"fas",iconName:"user-edit",icon:[640,512,[],"f4ff","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h274.9c-2.4-6.8-3.4-14-2.6-21.3l6.8-60.9 1.2-11.1 7.9-7.9 77.3-77.3c-24.5-27.7-60-45.5-99.9-45.5zm45.3 145.3l-6.8 61c-1.1 10.2 7.5 18.8 17.6 17.6l60.9-6.8 137.9-137.9-71.7-71.7-137.9 137.8zM633 268.9L595.1 231c-9.3-9.3-24.5-9.3-33.8 0l-37.8 37.8-4.1 4.1 71.8 71.7 41.8-41.8c9.3-9.4 9.3-24.5 0-33.9z"]},Kd={prefix:"fas",iconName:"user-friends",icon:[640,512,[],"f500","M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z"]},Zd={prefix:"fas",iconName:"user-graduate",icon:[448,512,[],"f501","M319.4 320.6L224 416l-95.4-95.4C57.1 323.7 0 382.2 0 454.4v9.6c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-9.6c0-72.2-57.1-130.7-128.6-133.8zM13.6 79.8l6.4 1.5v58.4c-7 4.2-12 11.5-12 20.3 0 8.4 4.6 15.4 11.1 19.7L3.5 242c-1.7 6.9 2.1 14 7.6 14h41.8c5.5 0 9.3-7.1 7.6-14l-15.6-62.3C51.4 175.4 56 168.4 56 160c0-8.8-5-16.1-12-20.3V87.1l66 15.9c-8.6 17.2-14 36.4-14 57 0 70.7 57.3 128 128 128s128-57.3 128-128c0-20.6-5.3-39.8-14-57l96.3-23.2c18.2-4.4 18.2-27.1 0-31.5l-190.4-46c-13-3.1-26.7-3.1-39.7 0L13.6 48.2c-18.1 4.4-18.1 27.2 0 31.6z"]},qd={prefix:"fas",iconName:"user-injured",icon:[448,512,[],"f728","M277.37 11.98C261.08 4.47 243.11 0 224 0c-53.69 0-99.5 33.13-118.51 80h81.19l90.69-68.02zM342.51 80c-7.9-19.47-20.67-36.2-36.49-49.52L239.99 80h102.52zM224 256c70.69 0 128-57.31 128-128 0-5.48-.95-10.7-1.61-16H97.61c-.67 5.3-1.61 10.52-1.61 16 0 70.69 57.31 128 128 128zM80 299.7V512h128.26l-98.45-221.52A132.835 132.835 0 0 0 80 299.7zM0 464c0 26.51 21.49 48 48 48V320.24C18.88 344.89 0 381.26 0 422.4V464zm256-48h-55.38l42.67 96H256c26.47 0 48-21.53 48-48s-21.53-48-48-48zm57.6-128h-16.71c-22.24 10.18-46.88 16-72.89 16s-50.65-5.82-72.89-16h-7.37l42.67 96H256c44.11 0 80 35.89 80 80 0 18.08-6.26 34.59-16.41 48H400c26.51 0 48-21.49 48-48v-41.6c0-74.23-60.17-134.4-134.4-134.4z"]},Jd={prefix:"fas",iconName:"user-lock",icon:[640,512,[],"f502","M320 320c0-11.1 3.1-21.4 8.1-30.5-4.8-.5-9.5-1.5-14.5-1.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h280.9c-5.5-9.5-8.9-20.3-8.9-32V320zm-96-64c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm384 32h-32v-48c0-44.2-35.8-80-80-80s-80 35.8-80 80v48h-32c-17.7 0-32 14.3-32 32v160c0 17.7 14.3 32 32 32h224c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32zm-80 0h-64v-48c0-17.6 14.4-32 32-32s32 14.4 32 32v48z"]},$d={prefix:"fas",iconName:"user-md",icon:[448,512,[],"f0f0","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zM104 424c0 13.3 10.7 24 24 24s24-10.7 24-24-10.7-24-24-24-24 10.7-24 24zm216-135.4v49c36.5 7.4 64 39.8 64 78.4v41.7c0 7.6-5.4 14.2-12.9 15.7l-32.2 6.4c-4.3.9-8.5-1.9-9.4-6.3l-3.1-15.7c-.9-4.3 1.9-8.6 6.3-9.4l19.3-3.9V416c0-62.8-96-65.1-96 1.9v26.7l19.3 3.9c4.3.9 7.1 5.1 6.3 9.4l-3.1 15.7c-.9 4.3-5.1 7.1-9.4 6.3l-31.2-4.2c-7.9-1.1-13.8-7.8-13.8-15.9V416c0-38.6 27.5-70.9 64-78.4v-45.2c-2.2.7-4.4 1.1-6.6 1.9-18 6.3-37.3 9.8-57.4 9.8s-39.4-3.5-57.4-9.8c-7.4-2.6-14.9-4.2-22.6-5.2v81.6c23.1 6.9 40 28.1 40 53.4 0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.3 16.9-46.5 40-53.4v-80.4C48.5 301 0 355.8 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-72-56.8-130.3-128-133.8z"]},ef={prefix:"fas",iconName:"user-minus",icon:[640,512,[],"f503","M624 208H432c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h192c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},tf={prefix:"fas",iconName:"user-ninja",icon:[448,512,[],"f504","M325.4 289.2L224 390.6 122.6 289.2C54 295.3 0 352.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-70.2-54-127.1-122.6-133.2zM32 192c27.3 0 51.8-11.5 69.2-29.7 15.1 53.9 64 93.7 122.8 93.7 70.7 0 128-57.3 128-128S294.7 0 224 0c-50.4 0-93.6 29.4-114.5 71.8C92.1 47.8 64 32 32 32c0 33.4 17.1 62.8 43.1 80-26 17.2-43.1 46.6-43.1 80zm144-96h96c17.7 0 32 14.3 32 32H144c0-17.7 14.3-32 32-32z"]},nf={prefix:"fas",iconName:"user-plus",icon:[640,512,[],"f234","M624 208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v64h-64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},rf={prefix:"fas",iconName:"user-secret",icon:[448,512,[],"f21b","M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z"]},of={prefix:"fas",iconName:"user-shield",icon:[640,512,[],"f505","M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z"]},af={prefix:"fas",iconName:"user-slash",icon:[640,512,[],"f506","M633.8 458.1L362.3 248.3C412.1 230.7 448 183.8 448 128 448 57.3 390.7 0 320 0c-67.1 0-121.5 51.8-126.9 117.4L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM96 422.4V464c0 26.5 21.5 48 48 48h350.2L207.4 290.3C144.2 301.3 96 356 96 422.4z"]},sf={prefix:"fas",iconName:"user-tag",icon:[640,512,[],"f507","M630.6 364.9l-90.3-90.2c-12-12-28.3-18.7-45.3-18.7h-79.3c-17.7 0-32 14.3-32 32v79.2c0 17 6.7 33.2 18.7 45.2l90.3 90.2c12.5 12.5 32.8 12.5 45.3 0l92.5-92.5c12.6-12.5 12.6-32.7.1-45.2zm-182.8-21c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24c0 13.2-10.7 24-24 24zm-223.8-88c70.7 0 128-57.3 128-128C352 57.3 294.7 0 224 0S96 57.3 96 128c0 70.6 57.3 127.9 128 127.9zm127.8 111.2V294c-12.2-3.6-24.9-6.2-38.2-6.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 287.9 0 348.1 0 422.3v41.6c0 26.5 21.5 48 48 48h352c15.5 0 29.1-7.5 37.9-18.9l-58-58c-18.1-18.1-28.1-42.2-28.1-67.9z"]},cf={prefix:"fas",iconName:"user-tie",icon:[448,512,[],"f508","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm95.8 32.6L272 480l-32-136 32-56h-96l32 56-32 136-47.8-191.4C56.9 292 0 350.3 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-72.1-56.9-130.4-128.2-133.8z"]},lf={prefix:"fas",iconName:"user-times",icon:[640,512,[],"f235","M589.6 240l45.6-45.6c6.3-6.3 6.3-16.5 0-22.8l-22.8-22.8c-6.3-6.3-16.5-6.3-22.8 0L544 194.4l-45.6-45.6c-6.3-6.3-16.5-6.3-22.8 0l-22.8 22.8c-6.3 6.3-6.3 16.5 0 22.8l45.6 45.6-45.6 45.6c-6.3 6.3-6.3 16.5 0 22.8l22.8 22.8c6.3 6.3 16.5 6.3 22.8 0l45.6-45.6 45.6 45.6c6.3 6.3 16.5 6.3 22.8 0l22.8-22.8c6.3-6.3 6.3-16.5 0-22.8L589.6 240zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"]},uf={prefix:"fas",iconName:"users",icon:[640,512,[],"f0c0","M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z"]},pf={prefix:"fas",iconName:"users-cog",icon:[640,512,[],"f509","M610.5 341.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 368.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm224 32c1.9 0 3.7-.5 5.6-.6 8.3-21.7 20.5-42.1 36.3-59.2 7.4-8 17.9-12.6 28.9-12.6 6.9 0 13.7 1.8 19.6 5.3l7.9 4.6c.8-.5 1.6-.9 2.4-1.4 7-14.6 11.2-30.8 11.2-48 0-61.9-50.1-112-112-112S208 82.1 208 144c0 61.9 50.1 112 112 112zm105.2 194.5c-2.3-1.2-4.6-2.6-6.8-3.9-8.2 4.8-15.3 9.8-27.5 9.8-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-10.7-34.5 24.9-49.7 25.8-50.3-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-3.8-2.2-7-5-9.8-8.1-3.3.2-6.5.6-9.8.6-24.6 0-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h255.4c-3.7-6-6.2-12.8-6.2-20.3v-9.2zM173.1 274.6C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z"]},hf={prefix:"fas",iconName:"utensil-spoon",icon:[512,512,[],"f2e5","M480.1 31.9c-55-55.1-164.9-34.5-227.8 28.5-49.3 49.3-55.1 110-28.8 160.4L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l192.4-214.4c50.4 26.3 111.1 20.5 160.4-28.8 63-62.9 83.6-172.8 28.5-227.8z"]},df={prefix:"fas",iconName:"utensils",icon:[416,512,[],"f2e7","M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z"]},ff={prefix:"fas",iconName:"vector-square",icon:[512,512,[],"f5cb","M512 128V32c0-17.67-14.33-32-32-32h-96c-17.67 0-32 14.33-32 32H160c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32v192c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32h192c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32V160c17.67 0 32-14.33 32-32zm-96-64h32v32h-32V64zM64 64h32v32H64V64zm32 384H64v-32h32v32zm352 0h-32v-32h32v32zm-32-96h-32c-17.67 0-32 14.33-32 32v32H160v-32c0-17.67-14.33-32-32-32H96V160h32c17.67 0 32-14.33 32-32V96h192v32c0 17.67 14.33 32 32 32h32v192z"]},_f={prefix:"fas",iconName:"venus",icon:[288,512,[],"f221","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z"]},mf={prefix:"fas",iconName:"venus-double",icon:[512,512,[],"f226","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80zm336 140.4V368h36c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-36v36c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-36h-36c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h36v-51.6c-21.2-4.8-40.6-14.3-57.2-27.3 14-16.7 25-36 32.1-57.1 14.5 14.8 34.7 24 57.1 24 44.1 0 80-35.9 80-80s-35.9-80-80-80c-22.3 0-42.6 9.2-57.1 24-7.1-21.1-18-40.4-32.1-57.1C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 68.5-47.9 125.9-112 140.4z"]},bf={prefix:"fas",iconName:"venus-mars",icon:[576,512,[],"f228","M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"]},gf={prefix:"fas",iconName:"vial",icon:[480,512,[],"f492","M477.7 186.1L309.5 18.3c-3.1-3.1-8.2-3.1-11.3 0l-34 33.9c-3.1 3.1-3.1 8.2 0 11.3l11.2 11.1L33 316.5c-38.8 38.7-45.1 102-9.4 143.5 20.6 24 49.5 36 78.4 35.9 26.4 0 52.8-10 72.9-30.1l246.3-245.7 11.2 11.1c3.1 3.1 8.2 3.1 11.3 0l34-33.9c3.1-3 3.1-8.1 0-11.2zM318 256H161l148-147.7 78.5 78.3L318 256z"]},vf={prefix:"fas",iconName:"vials",icon:[640,512,[],"f493","M72 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64zm480 384H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM360 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64z"]},yf={prefix:"fas",iconName:"video",icon:[576,512,[],"f03d","M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z"]},Cf={prefix:"fas",iconName:"video-slash",icon:[640,512,[],"f4e2","M633.8 458.1l-55-42.5c15.4-1.4 29.2-13.7 29.2-31.1v-257c0-25.5-29.1-40.4-50.4-25.8L448 177.3v137.2l-32-24.7v-178c0-26.4-21.4-47.8-47.8-47.8H123.9L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4L42.7 82 416 370.6l178.5 138c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.5-6.9 4.2-17-2.8-22.4zM32 400.2c0 26.4 21.4 47.8 47.8 47.8h288.4c11.2 0 21.4-4 29.6-10.5L32 154.7v245.5z"]},Af={prefix:"fas",iconName:"vihara",icon:[640,512,[],"f6a7","M632.88 400.71L544 352v-64l55.16-17.69c11.79-5.9 11.79-22.72 0-28.62L480 192v-64l27.31-16.3c7.72-7.72 5.61-20.74-4.16-25.62L320 0 136.85 86.07c-9.77 4.88-11.88 17.9-4.16 25.62L160 128v64L40.84 241.69c-11.79 5.9-11.79 22.72 0 28.62L96 288v64L7.12 400.71c-5.42 3.62-7.7 9.63-7 15.29.62 5.01 3.57 9.75 8.72 12.33L64 448v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48l55.15-19.67c5.16-2.58 8.1-7.32 8.72-12.33.71-5.67-1.57-11.68-6.99-15.29zM224 128h192v64H224v-64zm-64 224v-64h320v64H160z"]},xf={prefix:"fas",iconName:"volleyball-ball",icon:[495,512,[],"f45f","M223.3 243.4c-.9-37-8.6-72.8-22.7-105.7-90.8 42.4-157.5 122.4-180.3 216.8 13.4 30.8 32.9 58.3 56.9 81.1 22.7-79.2 74.2-147.8 146.1-192.2zM186.4 109c-15-26.4-34.5-50.1-57.4-70.7C38 88.1-15.8 191.2 4 300.5c33.4-83.1 98.4-152 182.4-191.5zM374 274.1c8.6-99.8-27.3-197.5-97.5-264.4-14.7-1.7-51.6-5.5-98.9 8.5 57.3 59.3 91 138.2 93.5 222.7 32.5 17.7 67.3 29 102.9 33.2zm-124.7 9.5c-31.6 19.3-58.7 43.9-80.2 72.6 82 57.3 184.5 75.1 277.5 47.8 19.7-26.4 34.2-56.8 42.2-89.9-26.6 6.6-53.7 10.4-80.9 10.4-54.6-.1-108.9-14.1-158.6-40.9zM151 383.3c-15.2 26-25.7 54.4-32.1 84.2 37.6 23 81.7 36.5 129.1 36.5 61 0 116.7-22.1 159.9-58.6C295 461.5 204.6 420.6 151 383.3zM331.3 22.7c55.3 70.4 82.5 161.2 74.6 253.6 30.3.2 60.5-4.8 89.7-14.2 0-2 .3-4 .3-6 0-107.8-68.7-199.1-164.6-233.4z"]},Sf={prefix:"fas",iconName:"volume-down",icon:[384,512,[],"f027","M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z"]},Tf={prefix:"fas",iconName:"volume-mute",icon:[512,512,[],"f6a9","M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z"]},Ef={prefix:"fas",iconName:"volume-off",icon:[257,512,[],"f026","M216.36 71.04L127.39 160H25.33c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.47-25.96-31.98-40.97-16.98z"]},Pf={prefix:"fas",iconName:"volume-up",icon:[576,512,[],"f028","M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"]},Of={prefix:"fas",iconName:"vr-cardboard",icon:[640,512,[],"f729","M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h160.22c25.19 0 48.03-14.77 58.36-37.74l27.74-61.64C286.21 331.08 302.35 320 320 320s33.79 11.08 41.68 28.62l27.74 61.64C399.75 433.23 422.6 448 447.78 448H608c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM160 304c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64zm320 0c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64z"]},Mf={prefix:"fas",iconName:"walking",icon:[320,512,[],"f554","M208 96c26.5 0 48-21.5 48-48S234.5 0 208 0s-48 21.5-48 48 21.5 48 48 48zm94.5 149.1l-23.3-11.8-9.7-29.4c-14.7-44.6-55.7-75.8-102.2-75.9-36-.1-55.9 10.1-93.3 25.2-21.6 8.7-39.3 25.2-49.7 46.2L17.6 213c-7.8 15.8-1.5 35 14.2 42.9 15.6 7.9 34.6 1.5 42.5-14.3L81 228c3.5-7 9.3-12.5 16.5-15.4l26.8-10.8-15.2 60.7c-5.2 20.8.4 42.9 14.9 58.8l59.9 65.4c7.2 7.9 12.3 17.4 14.9 27.7l18.3 73.3c4.3 17.1 21.7 27.6 38.8 23.3 17.1-4.3 27.6-21.7 23.3-38.8l-22.2-89c-2.6-10.3-7.7-19.9-14.9-27.7l-45.5-49.7 17.2-68.7 5.5 16.5c5.3 16.1 16.7 29.4 31.7 37l23.3 11.8c15.6 7.9 34.6 1.5 42.5-14.3 7.7-15.7 1.4-35.1-14.3-43zM73.6 385.8c-3.2 8.1-8 15.4-14.2 21.5l-50 50.1c-12.5 12.5-12.5 32.8 0 45.3s32.7 12.5 45.2 0l59.4-59.4c6.1-6.1 10.9-13.4 14.2-21.5l13.5-33.8c-55.3-60.3-38.7-41.8-47.4-53.7l-20.7 51.5z"]},Rf={prefix:"fas",iconName:"wallet",icon:[512,512,[],"f555","M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z"]},If={prefix:"fas",iconName:"warehouse",icon:[640,512,[],"f494","M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z"]},wf={prefix:"fas",iconName:"weight",icon:[512,512,[],"f496","M448 64h-25.98C438.44 92.28 448 125.01 448 160c0 105.87-86.13 192-192 192S64 265.87 64 160c0-34.99 9.56-67.72 25.98-96H64C28.71 64 0 92.71 0 128v320c0 35.29 28.71 64 64 64h384c35.29 0 64-28.71 64-64V128c0-35.29-28.71-64-64-64zM256 320c88.37 0 160-71.63 160-160S344.37 0 256 0 96 71.63 96 160s71.63 160 160 160zm-.3-151.94l33.58-78.36c3.5-8.17 12.94-11.92 21.03-8.41 8.12 3.48 11.88 12.89 8.41 21l-33.67 78.55C291.73 188 296 197.45 296 208c0 22.09-17.91 40-40 40s-40-17.91-40-40c0-21.98 17.76-39.77 39.7-39.94z"]},Df={prefix:"fas",iconName:"weight-hanging",icon:[512,512,[],"f5cd","M510.28 445.86l-73.03-292.13c-3.8-15.19-16.44-25.72-30.87-25.72h-60.25c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96s-96 42.98-96 96c0 11.28 2.3 21.95 5.88 32h-60.25c-14.43 0-27.08 10.54-30.87 25.72L1.72 445.86C-6.61 479.17 16.38 512 48.03 512h415.95c31.64 0 54.63-32.83 46.3-66.14zM256 128c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z"]},Lf={prefix:"fas",iconName:"wheelchair",icon:[512,512,[],"f193","M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z"]},Nf={prefix:"fas",iconName:"wifi",icon:[640,512,[],"f1eb","M634.91 154.88C457.74-8.99 182.19-8.93 5.09 154.88c-6.66 6.16-6.79 16.59-.35 22.98l34.24 33.97c6.14 6.1 16.02 6.23 22.4.38 145.92-133.68 371.3-133.71 517.25 0 6.38 5.85 16.26 5.71 22.4-.38l34.24-33.97c6.43-6.39 6.3-16.82-.36-22.98zM320 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm202.67-83.59c-115.26-101.93-290.21-101.82-405.34 0-6.9 6.1-7.12 16.69-.57 23.15l34.44 33.99c6 5.92 15.66 6.32 22.05.8 83.95-72.57 209.74-72.41 293.49 0 6.39 5.52 16.05 5.13 22.05-.8l34.44-33.99c6.56-6.46 6.33-17.06-.56-23.15z"]},Ff={prefix:"fas",iconName:"wind",icon:[512,512,[],"f72e","M156.66 256H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h142.19c15.95 0 30.77 10.85 33.37 26.58C194.86 366.6 179.42 384 160 384c-14.11 0-26.13-9.19-30.37-21.9-2.11-6.31-8.6-10.1-15.25-10.1H81.63c-9.8 0-17.73 8.81-15.86 18.43C74.39 414.58 113.37 448 160 448c57.09 0 102.7-50.09 95.19-108.63-6.21-48.39-49.74-83.37-98.53-83.37zM16 224h336c59.7 0 106.83-54.76 93.83-116.69-7.61-36.23-36.91-65.53-73.14-73.14-55.44-11.64-105.13 24.91-114.93 75.53-1.86 9.57 6.09 18.3 15.84 18.3h32.8c6.65 0 13.14-3.79 15.25-10.1C325.88 105.19 337.89 96 352 96c19.42 0 34.86 17.39 31.55 37.41-2.6 15.73-17.42 26.59-33.37 26.59H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16zm384 32H243.68c19.34 16.57 33.19 38.79 39.77 64H400c26.47 0 48 21.53 48 48s-21.53 48-48 48c-17.86 0-33.33-9.86-41.56-24.38-2.85-5.03-8.69-7.62-14.47-7.62h-33.82c-10.91 0-18.96 10.81-15.35 21.1 17.77 50.6 70.54 84.75 129.41 72.35 41.22-8.69 75.1-41.65 84.67-82.68C525.98 321.46 470.48 256 400 256z"]},Bf={prefix:"fas",iconName:"window-close",icon:[512,512,[],"f410","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-83.6 290.5c4.8 4.8 4.8 12.6 0 17.4l-40.5 40.5c-4.8 4.8-12.6 4.8-17.4 0L256 313.3l-66.5 67.1c-4.8 4.8-12.6 4.8-17.4 0l-40.5-40.5c-4.8-4.8-4.8-12.6 0-17.4l67.1-66.5-67.1-66.5c-4.8-4.8-4.8-12.6 0-17.4l40.5-40.5c4.8-4.8 12.6-4.8 17.4 0l66.5 67.1 66.5-67.1c4.8-4.8 12.6-4.8 17.4 0l40.5 40.5c4.8 4.8 4.8 12.6 0 17.4L313.3 256l67.1 66.5z"]},kf={prefix:"fas",iconName:"window-maximize",icon:[512,512,[],"f2d0","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16 160H64v-84c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v84z"]},Vf={prefix:"fas",iconName:"window-minimize",icon:[512,512,[],"f2d1","M464 352H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48z"]},zf={prefix:"fas",iconName:"window-restore",icon:[512,512,[],"f2d2","M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z"]},jf={prefix:"fas",iconName:"wine-bottle",icon:[512,512,[],"f72f","M507.31 72.57L439.43 4.69c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l-76.67 76.67c-46.58-19.7-102.4-10.73-140.37 27.23L18.75 312.23c-24.99 24.99-24.99 65.52 0 90.51l90.51 90.51c24.99 24.99 65.52 24.99 90.51 0l158.39-158.39c37.96-37.96 46.93-93.79 27.23-140.37l76.67-76.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.24-6.24 6.24-16.37-.01-22.62zM179.22 423.29l-90.51-90.51 122.04-122.04 90.51 90.51-122.04 122.04z"]},Uf={prefix:"fas",iconName:"wine-glass",icon:[288,512,[],"f4e3","M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40z"]},Gf={prefix:"fas",iconName:"wine-glass-alt",icon:[288,512,[],"f5ce","M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM61.75 48h164.5l7.17 80H54.58l7.17-80z"]},Hf={prefix:"fas",iconName:"won-sign",icon:[576,512,[],"f159","M564 192c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-48.028l18.572-80.61c1.732-7.518-3.978-14.694-11.693-14.694h-46.107a11.998 11.998 0 0 0-11.736 9.5L450.73 128H340.839l-19.725-85.987a12 12 0 0 0-11.696-9.317H265.43a12 12 0 0 0-11.687 9.277L233.696 128H124.975L107.5 42.299a12 12 0 0 0-11.758-9.602H53.628c-7.686 0-13.39 7.124-11.709 14.624L60 128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h62.342l7.171 32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h83.856l40.927 182.624A12 12 0 0 0 148.492 480h56.767c5.583 0 10.428-3.85 11.689-9.288L259.335 288h55.086l42.386 182.712A12 12 0 0 0 368.496 480h56.826a12 12 0 0 0 11.694-9.306L479.108 288H564c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-70.146l7.373-32H564zm-425.976 0h80.757l-7.457 32h-66.776l-6.524-32zm45.796 150.029c-6.194 25.831-6.758 47.25-7.321 47.25h-1.126s-1.689-22.05-6.758-47.25L157.599 288h38.812l-12.591 54.029zM274.182 224l1.996-8.602c1.856-7.962 3.457-15.968 4.803-23.398h11.794c1.347 7.43 2.947 15.436 4.803 23.398l1.996 8.602h-25.392zm130.959 118.029c-5.068 25.2-6.758 47.25-6.758 47.25h-1.126c-.563 0-1.126-21.42-7.321-47.25L377.542 288h39.107l-11.508 54.029zM430.281 224h-67.42l-7.34-32h81.577l-6.817 32z"]},Wf={prefix:"fas",iconName:"wrench",icon:[512,512,[],"f0ad","M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"]},Xf={prefix:"fas",iconName:"x-ray",icon:[640,512,[],"f497","M240 384c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm160 32c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zM624 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zm0 448h-48V96H64v352H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM480 248c0 4.4-3.6 8-8 8H336v32h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h64c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48v-16h-64v16c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48h64v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-32H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h136v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-24c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v24h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h136c4.4 0 8 3.6 8 8v16z"]},Yf={prefix:"fas",iconName:"yen-sign",icon:[384,512,[],"f157","M351.208 32h-65.277a12 12 0 0 0-10.778 6.724l-55.39 113.163c-14.513 34.704-27.133 71.932-27.133 71.932h-1.262s-12.62-37.228-27.133-71.932l-55.39-113.163A11.997 11.997 0 0 0 98.068 32H32.792c-9.057 0-14.85 9.65-10.59 17.643L102.322 200H44c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h88.162L152 293.228V320H44c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h108v92c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-92h108c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H232v-26.772L251.838 256H340c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12h-58.322l80.12-150.357C366.058 41.65 360.266 32 351.208 32z"]},Qf={prefix:"fas",iconName:"yin-yang",icon:[496,512,[],"f6ad","M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 376c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-128c-53.02 0-96 42.98-96 96s42.98 96 96 96c-106.04 0-192-85.96-192-192S141.96 64 248 64c53.02 0 96 42.98 96 96s-42.98 96-96 96zm0-128c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"]},Kf={faAd:r,faAddressBook:o,faAddressCard:a,faAdjust:s,faAirFreshener:c,faAlignCenter:l,faAlignJustify:u,faAlignLeft:p,faAlignRight:h,faAllergies:d,faAmbulance:f,faAmericanSignLanguageInterpreting:_,faAnchor:m,faAngleDoubleDown:b,faAngleDoubleLeft:g,faAngleDoubleRight:v,faAngleDoubleUp:y,faAngleDown:C,faAngleLeft:A,faAngleRight:x,faAngleUp:S,faAngry:T,faAnkh:E,faAppleAlt:P,faArchive:O,faArchway:M,faArrowAltCircleDown:R,faArrowAltCircleLeft:I,faArrowAltCircleRight:w,faArrowAltCircleUp:D,faArrowCircleDown:L,faArrowCircleLeft:N,faArrowCircleRight:F,faArrowCircleUp:B,faArrowDown:k,faArrowLeft:V,faArrowRight:z,faArrowUp:j,faArrowsAlt:U,faArrowsAltH:G,faArrowsAltV:H,faAssistiveListeningSystems:W,faAsterisk:X,faAt:Y,faAtlas:Q,faAtom:K,faAudioDescription:Z,faAward:q,faBackspace:J,faBackward:$,faBalanceScale:ee,faBan:te,faBandAid:ne,faBarcode:ie,faBars:re,faBaseballBall:oe,faBasketballBall:ae,faBath:se,faBatteryEmpty:ce,faBatteryFull:le,faBatteryHalf:ue,faBatteryQuarter:pe,faBatteryThreeQuarters:he,faBed:de,faBeer:fe,faBell:_e,faBellSlash:me,faBezierCurve:be,faBible:ge,faBicycle:ve,faBinoculars:ye,faBirthdayCake:Ce,faBlender:Ae,faBlenderPhone:xe,faBlind:Se,faBold:Te,faBolt:Ee,faBomb:Pe,faBone:Oe,faBong:Me,faBook:Re,faBookDead:Ie,faBookOpen:we,faBookReader:De,faBookmark:Le,faBowlingBall:Ne,faBox:Fe,faBoxOpen:Be,faBoxes:ke,faBraille:Ve,faBrain:ze,faBriefcase:je,faBriefcaseMedical:Ue,faBroadcastTower:Ge,faBroom:He,faBrush:We,faBug:Xe,faBuilding:Ye,faBullhorn:Qe,faBullseye:Ke,faBurn:Ze,faBus:qe,faBusAlt:Je,faBusinessTime:$e,faCalculator:et,faCalendar:tt,faCalendarAlt:nt,faCalendarCheck:it,faCalendarMinus:rt,faCalendarPlus:ot,faCalendarTimes:at,faCamera:st,faCameraRetro:ct,faCampground:lt,faCannabis:ut,faCapsules:pt,faCar:ht,faCarAlt:dt,faCarBattery:ft,faCarCrash:_t,faCarSide:mt,faCaretDown:bt,faCaretLeft:gt,faCaretRight:vt,faCaretSquareDown:yt,faCaretSquareLeft:Ct,faCaretSquareRight:At,faCaretSquareUp:xt,faCaretUp:St,faCartArrowDown:Tt,faCartPlus:Et,faCat:Pt,faCertificate:Ot,faChair:Mt,faChalkboard:Rt,faChalkboardTeacher:It,faChargingStation:wt,faChartArea:Dt,faChartBar:Lt,faChartLine:Nt,faChartPie:Ft,faCheck:Bt,faCheckCircle:kt,faCheckDouble:Vt,faCheckSquare:zt,faChess:jt,faChessBishop:Ut,faChessBoard:Gt,faChessKing:Ht,faChessKnight:Wt,faChessPawn:Xt,faChessQueen:Yt,faChessRook:Qt,faChevronCircleDown:Kt,faChevronCircleLeft:Zt,faChevronCircleRight:qt,faChevronCircleUp:Jt,faChevronDown:$t,faChevronLeft:en,faChevronRight:tn,faChevronUp:nn,faChild:rn,faChurch:on,faCircle:an,faCircleNotch:sn,faCity:cn,faClipboard:ln,faClipboardCheck:un,faClipboardList:pn,faClock:hn,faClone:dn,faClosedCaptioning:fn,faCloud:_n,faCloudDownloadAlt:mn,faCloudMoon:bn,faCloudSun:gn,faCloudUploadAlt:vn,faCocktail:yn,faCode:Cn,faCodeBranch:An,faCoffee:xn,faCog:Sn,faCogs:Tn,faCoins:En,faColumns:Pn,faComment:On,faCommentAlt:Mn,faCommentDollar:Rn,faCommentDots:In,faCommentSlash:wn,faComments:Dn,faCommentsDollar:Ln,faCompactDisc:Nn,faCompass:Fn,faCompress:Bn,faConciergeBell:kn,faCookie:Vn,faCookieBite:zn,faCopy:jn,faCopyright:Un,faCouch:Gn,faCreditCard:Hn,faCrop:Wn,faCropAlt:Xn,faCross:Yn,faCrosshairs:Qn,faCrow:Kn,faCrown:Zn,faCube:qn,faCubes:Jn,faCut:$n,faDatabase:ei,faDeaf:ti,faDesktop:ni,faDharmachakra:ii,faDiagnoses:ri,faDice:oi,faDiceD20:ai,faDiceD6:si,faDiceFive:ci,faDiceFour:li,faDiceOne:ui,faDiceSix:pi,faDiceThree:hi,faDiceTwo:di,faDigitalTachograph:fi,faDirections:_i,faDivide:mi,faDizzy:bi,faDna:gi,faDog:vi,faDollarSign:yi,faDolly:Ci,faDollyFlatbed:Ai,faDonate:xi,faDoorClosed:Si,faDoorOpen:Ti,faDotCircle:Ei,faDove:Pi,faDownload:Oi,faDraftingCompass:Mi,faDragon:Ri,faDrawPolygon:Ii,faDrum:wi,faDrumSteelpan:Di,faDrumstickBite:Li,faDumbbell:Ni,faDungeon:Fi,faEdit:Bi,faEject:ki,faEllipsisH:Vi,faEllipsisV:zi,faEnvelope:ji,faEnvelopeOpen:Ui,faEnvelopeOpenText:Gi,faEnvelopeSquare:Hi,faEquals:Wi,faEraser:Xi,faEuroSign:Yi,faExchangeAlt:Qi,faExclamation:Ki,faExclamationCircle:Zi,faExclamationTriangle:qi,faExpand:Ji,faExpandArrowsAlt:$i,faExternalLinkAlt:er,faExternalLinkSquareAlt:tr,faEye:nr,faEyeDropper:ir,faEyeSlash:rr,faFastBackward:or,faFastForward:ar,faFax:sr,faFeather:cr,faFeatherAlt:lr,faFemale:ur,faFighterJet:pr,faFile:hr,faFileAlt:dr,faFileArchive:fr,faFileAudio:_r,faFileCode:mr,faFileContract:br,faFileCsv:gr,faFileDownload:vr,faFileExcel:yr,faFileExport:Cr,faFileImage:Ar,faFileImport:xr,faFileInvoice:Sr,faFileInvoiceDollar:Tr,faFileMedical:Er,faFileMedicalAlt:Pr,faFilePdf:Or,faFilePowerpoint:Mr,faFilePrescription:Rr,faFileSignature:Ir,faFileUpload:wr,faFileVideo:Dr,faFileWord:Lr,faFill:Nr,faFillDrip:Fr,faFilm:Br,faFilter:kr,faFingerprint:Vr,faFire:zr,faFireExtinguisher:jr,faFirstAid:Ur,faFish:Gr,faFistRaised:Hr,faFlag:Wr,faFlagCheckered:Xr,faFlask:Yr,faFlushed:Qr,faFolder:Kr,faFolderMinus:Zr,faFolderOpen:qr,faFolderPlus:Jr,faFont:$r,faFontAwesomeLogoFull:eo,faFootballBall:to,faForward:no,faFrog:io,faFrown:ro,faFrownOpen:oo,faFunnelDollar:ao,faFutbol:so,faGamepad:co,faGasPump:lo,faGavel:uo,faGem:po,faGenderless:ho,faGhost:fo,faGift:_o,faGlassMartini:mo,faGlassMartiniAlt:bo,faGlasses:go,faGlobe:vo,faGlobeAfrica:yo,faGlobeAmericas:Co,faGlobeAsia:Ao,faGolfBall:xo,faGopuram:So,faGraduationCap:To,faGreaterThan:Eo,faGreaterThanEqual:Po,faGrimace:Oo,faGrin:Mo,faGrinAlt:Ro,faGrinBeam:Io,faGrinBeamSweat:wo,faGrinHearts:Do,faGrinSquint:Lo,faGrinSquintTears:No,faGrinStars:Fo,faGrinTears:Bo,faGrinTongue:ko,faGrinTongueSquint:Vo,faGrinTongueWink:zo,faGrinWink:jo,faGripHorizontal:Uo,faGripVertical:Go,faHSquare:Ho,faHammer:Wo,faHamsa:Xo,faHandHolding:Yo,faHandHoldingHeart:Qo,faHandHoldingUsd:Ko,faHandLizard:Zo,faHandPaper:qo,faHandPeace:Jo,faHandPointDown:$o,faHandPointLeft:ea,faHandPointRight:ta,faHandPointUp:na,faHandPointer:ia,faHandRock:ra,faHandScissors:oa,faHandSpock:aa,faHands:sa,faHandsHelping:ca,faHandshake:la,faHanukiah:ua,faHashtag:pa,faHatWizard:ha,faHaykal:da,faHdd:fa,faHeading:_a,faHeadphones:ma,faHeadphonesAlt:ba,faHeadset:ga,faHeart:va,faHeartbeat:ya,faHelicopter:Ca,faHighlighter:Aa,faHiking:xa,faHippo:Sa,faHistory:Ta,faHockeyPuck:Ea,faHome:Pa,faHorse:Oa,faHospital:Ma,faHospitalAlt:Ra,faHospitalSymbol:Ia,faHotTub:wa,faHotel:Da,faHourglass:La,faHourglassEnd:Na,faHourglassHalf:Fa,faHourglassStart:Ba,faHouseDamage:ka,faHryvnia:Va,faICursor:za,faIdBadge:ja,faIdCard:Ua,faIdCardAlt:Ga,faImage:Ha,faImages:Wa,faInbox:Xa,faIndent:Ya,faIndustry:Qa,faInfinity:Ka,faInfo:Za,faInfoCircle:qa,faItalic:Ja,faJedi:$a,faJoint:es,faJournalWhills:ts,faKaaba:ns,faKey:is,faKeyboard:rs,faKhanda:os,faKiss:as,faKissBeam:ss,faKissWinkHeart:cs,faKiwiBird:ls,faLandmark:us,faLanguage:ps,faLaptop:hs,faLaptopCode:ds,faLaugh:fs,faLaughBeam:_s,faLaughSquint:ms,faLaughWink:bs,faLayerGroup:gs,faLeaf:vs,faLemon:ys,faLessThan:Cs,faLessThanEqual:As,faLevelDownAlt:xs,faLevelUpAlt:Ss,faLifeRing:Ts,faLightbulb:Es,faLink:Ps,faLiraSign:Os,faList:Ms,faListAlt:Rs,faListOl:Is,faListUl:ws,faLocationArrow:Ds,faLock:Ls,faLockOpen:Ns,faLongArrowAltDown:Fs,faLongArrowAltLeft:Bs,faLongArrowAltRight:ks,faLongArrowAltUp:Vs,faLowVision:zs,faLuggageCart:js,faMagic:Us,faMagnet:Gs,faMailBulk:Hs,faMale:Ws,faMap:Xs,faMapMarked:Ys,faMapMarkedAlt:Qs,faMapMarker:Ks,faMapMarkerAlt:Zs,faMapPin:qs,faMapSigns:Js,faMarker:$s,faMars:ec,faMarsDouble:tc,faMarsStroke:nc,faMarsStrokeH:ic,faMarsStrokeV:rc,faMask:oc,faMedal:ac,faMedkit:sc,faMeh:cc,faMehBlank:lc,faMehRollingEyes:uc,faMemory:pc,faMenorah:hc,faMercury:dc,faMicrochip:fc,faMicrophone:_c,faMicrophoneAlt:mc,faMicrophoneAltSlash:bc,faMicrophoneSlash:gc,faMicroscope:vc,faMinus:yc,faMinusCircle:Cc,faMinusSquare:Ac,faMobile:xc,faMobileAlt:Sc,faMoneyBill:Tc,faMoneyBillAlt:Ec,faMoneyBillWave:Pc,faMoneyBillWaveAlt:Oc,faMoneyCheck:Mc,faMoneyCheckAlt:Rc,faMonument:Ic,faMoon:wc,faMortarPestle:Dc,faMosque:Lc,faMotorcycle:Nc,faMountain:Fc,faMousePointer:Bc,faMusic:kc,faNetworkWired:Vc,faNeuter:zc,faNewspaper:jc,faNotEqual:Uc,faNotesMedical:Gc,faObjectGroup:Hc,faObjectUngroup:Wc,faOilCan:Xc,faOm:Yc,faOtter:Qc,faOutdent:Kc,faPaintBrush:Zc,faPaintRoller:qc,faPalette:Jc,faPallet:$c,faPaperPlane:el,faPaperclip:tl,faParachuteBox:nl,faParagraph:il,faParking:rl,faPassport:ol,faPastafarianism:al,faPaste:sl,faPause:cl,faPauseCircle:ll,faPaw:ul,faPeace:pl,faPen:hl,faPenAlt:dl,faPenFancy:fl,faPenNib:_l,faPenSquare:ml,faPencilAlt:bl,faPencilRuler:gl,faPeopleCarry:vl,faPercent:yl,faPercentage:Cl,faPhone:Al,faPhoneSlash:xl,faPhoneSquare:Sl,faPhoneVolume:Tl,faPiggyBank:El,faPills:Pl,faPlaceOfWorship:Ol,faPlane:Ml,faPlaneArrival:Rl,faPlaneDeparture:Il,faPlay:wl,faPlayCircle:Dl,faPlug:Ll,faPlus:Nl,faPlusCircle:Fl,faPlusSquare:Bl,faPodcast:kl,faPoll:Vl,faPollH:zl,faPoo:jl,faPoop:Ul,faPortrait:Gl,faPoundSign:Hl,faPowerOff:Wl,faPray:Xl,faPrayingHands:Yl,faPrescription:Ql,faPrescriptionBottle:Kl,faPrescriptionBottleAlt:Zl,faPrint:ql,faProcedures:Jl,faProjectDiagram:$l,faPuzzlePiece:eu,faQrcode:tu,faQuestion:nu,faQuestionCircle:iu,faQuidditch:ru,faQuoteLeft:ou,faQuoteRight:au,faQuran:su,faRandom:cu,faReceipt:lu,faRecycle:uu,faRedo:pu,faRedoAlt:hu,faRegistered:du,faReply:fu,faReplyAll:_u,faRetweet:mu,faRibbon:bu,faRing:gu,faRoad:vu,faRobot:yu,faRocket:Cu,faRoute:Au,faRss:xu,faRssSquare:Su,faRubleSign:Tu,faRuler:Eu,faRulerCombined:Pu,faRulerHorizontal:Ou,faRulerVertical:Mu,faRunning:Ru,faRupeeSign:Iu,faSadCry:wu,faSadTear:Du,faSave:Lu,faSchool:Nu,faScrewdriver:Fu,faScroll:Bu,faSearch:ku,faSearchDollar:Vu,faSearchLocation:zu,faSearchMinus:ju,faSearchPlus:Uu,faSeedling:Gu,faServer:Hu,faShapes:Wu,faShare:Xu,faShareAlt:Yu,faShareAltSquare:Qu,faShareSquare:Ku,faShekelSign:Zu,faShieldAlt:qu,faShip:Ju,faShippingFast:$u,faShoePrints:ep,faShoppingBag:tp,faShoppingBasket:np,faShoppingCart:ip,faShower:rp,faShuttleVan:op,faSign:ap,faSignInAlt:sp,faSignLanguage:cp,faSignOutAlt:lp,faSignal:up,faSignature:pp,faSitemap:hp,faSkull:dp,faSkullCrossbones:fp,faSlash:_p,faSlidersH:mp,faSmile:bp,faSmileBeam:gp,faSmileWink:vp,faSmoking:yp,faSmokingBan:Cp,faSnowflake:Ap,faSocks:xp,faSolarPanel:Sp,faSort:Tp,faSortAlphaDown:Ep,faSortAlphaUp:Pp,faSortAmountDown:Op,faSortAmountUp:Mp,faSortDown:Rp,faSortNumericDown:Ip,faSortNumericUp:wp,faSortUp:Dp,faSpa:Lp,faSpaceShuttle:Np,faSpider:Fp,faSpinner:Bp,faSplotch:kp,faSprayCan:Vp,faSquare:zp,faSquareFull:jp,faSquareRootAlt:Up,faStamp:Gp,faStar:Hp,faStarAndCrescent:Wp,faStarHalf:Xp,faStarHalfAlt:Yp,faStarOfDavid:Qp,faStarOfLife:Kp,faStepBackward:Zp,faStepForward:qp,faStethoscope:Jp,faStickyNote:$p,faStop:eh,faStopCircle:th,faStopwatch:nh,faStore:ih,faStoreAlt:rh,faStream:oh,faStreetView:ah,faStrikethrough:sh,faStroopwafel:ch,faSubscript:lh,faSubway:uh,faSuitcase:ph,faSuitcaseRolling:hh,faSun:dh,faSuperscript:fh,faSurprise:_h,faSwatchbook:mh,faSwimmer:bh,faSwimmingPool:gh,faSynagogue:vh,faSync:yh,faSyncAlt:Ch,faSyringe:Ah,faTable:xh,faTableTennis:Sh,faTablet:Th,faTabletAlt:Eh,faTablets:Ph,faTachometerAlt:Oh,faTag:Mh,faTags:Rh,faTape:Ih,faTasks:wh,faTaxi:Dh,faTeeth:Lh,faTeethOpen:Nh,faTerminal:Fh,faTextHeight:Bh,faTextWidth:kh,faTh:Vh,faThLarge:zh,faThList:jh,faTheaterMasks:Uh,faThermometer:Gh,faThermometerEmpty:Hh,faThermometerFull:Wh,faThermometerHalf:Xh,faThermometerQuarter:Yh,faThermometerThreeQuarters:Qh,faThumbsDown:Kh,faThumbsUp:Zh,faThumbtack:qh,faTicketAlt:Jh,faTimes:$h,faTimesCircle:ed,faTint:td,faTintSlash:nd,faTired:id,faToggleOff:rd,faToggleOn:od,faToiletPaper:ad,faToolbox:sd,faTooth:cd,faTorah:ld,faToriiGate:ud,faTractor:pd,faTrademark:hd,faTrafficLight:dd,faTrain:fd,faTransgender:_d,faTransgenderAlt:md,faTrash:bd,faTrashAlt:gd,faTree:vd,faTrophy:yd,faTruck:Cd,faTruckLoading:Ad,faTruckMonster:xd,faTruckMoving:Sd,faTruckPickup:Td,faTshirt:Ed,faTty:Pd,faTv:Od,faUmbrella:Md,faUmbrellaBeach:Rd,faUnderline:Id,faUndo:wd,faUndoAlt:Dd,faUniversalAccess:Ld,faUniversity:Nd,faUnlink:Fd,faUnlock:Bd,faUnlockAlt:kd,faUpload:Vd,faUser:zd,faUserAlt:jd,faUserAltSlash:Ud,faUserAstronaut:Gd,faUserCheck:Hd,faUserCircle:Wd,faUserClock:Xd,faUserCog:Yd,faUserEdit:Qd,faUserFriends:Kd,faUserGraduate:Zd,faUserInjured:qd,faUserLock:Jd,faUserMd:$d,faUserMinus:ef,faUserNinja:tf,faUserPlus:nf,faUserSecret:rf,faUserShield:of,faUserSlash:af,faUserTag:sf,faUserTie:cf,faUserTimes:lf,faUsers:uf,faUsersCog:pf,faUtensilSpoon:hf,faUtensils:df,faVectorSquare:ff,faVenus:_f,faVenusDouble:mf,faVenusMars:bf,faVial:gf,faVials:vf,faVideo:yf,faVideoSlash:Cf,faVihara:Af,faVolleyballBall:xf,faVolumeDown:Sf,faVolumeMute:Tf,faVolumeOff:Ef,faVolumeUp:Pf,faVrCardboard:Of,faWalking:Mf,faWallet:Rf,faWarehouse:If,faWeight:wf,faWeightHanging:Df,faWheelchair:Lf,faWifi:Nf,faWind:Ff,faWindowClose:Bf,faWindowMaximize:kf,faWindowMinimize:Vf,faWindowRestore:zf,faWineBottle:jf,faWineGlass:Uf,faWineGlassAlt:Gf,faWonSign:Hf,faWrench:Wf,faXRay:Xf,faYenSign:Yf,faYinYang:Qf}},"../../../../node_modules/@fortawesome/react-fontawesome/index.es.js":function(e,t,n){"use strict";n.r(t),function(e){n.d(t,"FontAwesomeIcon",(function(){return v}));var i=n("../../../../node_modules/@fortawesome/fontawesome-svg-core/index.es.js"),r=n("../../../../node_modules/prop-types/index.js"),o=n.n(r),a=n("../../../../node_modules/react/index.js"),s=n.n(a);function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function h(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0||!Array.isArray(t)&&t?l({},e,t):{}}function g(e){return null===e?null:"object"===c(e)&&e.prefix&&e.iconName?e:Array.isArray(e)&&2===e.length?{prefix:e[0],iconName:e[1]}:"string"==typeof e?{prefix:"fas",iconName:e}:void 0}function v(e){var t=e.icon,n=e.mask,r=e.symbol,o=e.className,a=e.title,s=g(t),c=b("classes",[].concat(h(function(e){var t,n=(l(t={"fa-spin":e.spin,"fa-pulse":e.pulse,"fa-fw":e.fixedWidth,"fa-inverse":e.inverse,"fa-border":e.border,"fa-li":e.listItem,"fa-flip-horizontal":"horizontal"===e.flip||"both"===e.flip,"fa-flip-vertical":"vertical"===e.flip||"both"===e.flip},"fa-".concat(e.size),null!==e.size),l(t,"fa-rotate-".concat(e.rotation),null!==e.rotation),l(t,"fa-pull-".concat(e.pull),null!==e.pull),t);return Object.keys(n).map((function(e){return n[e]?e:null})).filter((function(e){return e}))}(e)),h(o.split(" ")))),p=b("transform","string"==typeof e.transform?i.parse.transform(e.transform):e.transform),d=b("mask",g(n)),f=Object(i.icon)(s,u({},c,p,d,{symbol:r,title:a}));if(!f)return function(){var e;!m&&console&&"function"==typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find icon",s),null;var _=f.abstract,C={};return Object.keys(e).forEach((function(t){v.defaultProps.hasOwnProperty(t)||(C[t]=e[t])})),y(_[0],C)}v.displayName="FontAwesomeIcon",v.propTypes={border:o.a.bool,className:o.a.string,mask:o.a.oneOfType([o.a.object,o.a.array,o.a.string]),fixedWidth:o.a.bool,inverse:o.a.bool,flip:o.a.oneOf(["horizontal","vertical","both"]),icon:o.a.oneOfType([o.a.object,o.a.array,o.a.string]),listItem:o.a.bool,pull:o.a.oneOf(["right","left"]),pulse:o.a.bool,rotation:o.a.oneOf([90,180,270]),size:o.a.oneOf(["lg","xs","sm","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:o.a.bool,symbol:o.a.oneOfType([o.a.bool,o.a.string]),title:o.a.string,transform:o.a.oneOfType([o.a.string,o.a.object])},v.defaultProps={border:!1,className:"",mask:null,fixedWidth:!1,inverse:!1,flip:null,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,symbol:!1,title:"",transform:null};var y=function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof n)return n;var r=(n.children||[]).map((function(n){return e(t,n)})),o=Object.keys(n.attributes||{}).reduce((function(e,t){var i=n.attributes[t];switch(t){case"class":e.attrs.className=i,delete n.attributes.class;break;case"style":e.attrs.style=_(i);break;default:0===t.indexOf("aria-")||0===t.indexOf("data-")?e.attrs[t.toLowerCase()]=i:e.attrs[f.camelize(t)]=i}return e}),{attrs:{}}),a=i.style,s=void 0===a?{}:a,c=p(i,["style"]);return o.attrs.style=u({},o.attrs.style,s),t.apply(void 0,[n.tag,u({},o.attrs,c)].concat(h(r)))}.bind(null,s.a.createElement)}.call(this,n("../../../../node_modules/webpack/buildin/global.js"))},"../../../../node_modules/classnames/index.js":function(e,t,n){var i;!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e=[],t=0;t div:not(:last-child) {\n border-bottom: 0.5px solid rgba(255, 255, 255, 0.1); }\n #actionTabs .tabs .panes .pane .paneContainer .paneContainer-content .fragment > div:not(:last-child) {\n border-bottom: 0.5px solid rgba(255, 255, 255, 0.1); }\n',""])},"../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./components/embedHost/embedHost.scss":function(e,t,n){(e.exports=n("../../../../node_modules/css-loader/lib/css-base.js")(!1)).push([e.i,'#embed-host {\n position: absolute;\n right: 0px;\n top: 0px;\n bottom: 0px; }\n\n#__resizable_base__ {\n display: none; }\n\n#embed {\n background: #333333;\n height: 100%;\n margin: 0;\n padding: 0;\n display: grid;\n grid-template-rows: 30px 1fr;\n font: 14px "Arial";\n overflow: hidden; }\n #embed #header {\n font-size: 16px;\n color: white;\n background: #222222;\n grid-row: 1;\n text-align: center;\n display: grid;\n grid-template-columns: 30px 1fr 50px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n #embed #header #logo {\n grid-column: 1;\n width: 24px;\n height: 24px;\n display: flex;\n align-self: center;\n justify-self: center; }\n #embed #header #back {\n grid-column: 1;\n display: grid;\n align-self: center;\n justify-self: center;\n cursor: pointer; }\n #embed #header #title {\n grid-column: 2;\n display: grid;\n align-items: center;\n text-align: center; }\n #embed #header #commands {\n grid-column: 3;\n display: grid;\n align-items: center;\n grid-template-columns: 1fr 1fr; }\n #embed #header #commands .expand {\n grid-column: 1;\n display: grid;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #embed #header #commands .close {\n grid-column: 2;\n display: grid;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #embed #split {\n grid-row: 2;\n overflow: hidden; }\n #embed #split.splitPopup {\n display: grid;\n grid-template-rows: 300px 2px 1fr; }\n #embed #split.splitPopup .panes {\n margin-bottom: 1px; }\n #embed #split #topPart {\n grid-row: 1;\n overflow: hidden;\n display: grid;\n grid-auto-rows: 100%; }\n #embed #split #separator {\n grid-row: 2;\n background: white;\n opacity: 0.1; }\n #embed #split #bottomPart {\n overflow: hidden;\n grid-row: 3;\n display: grid;\n grid-auto-rows: 100%; }\n #embed #split .gutter.gutter-vertical {\n background-image: none;\n background: #444444;\n cursor: row-resize; }\n',""])},"../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./components/sceneExplorer/sceneExplorer.scss":function(e,t,n){(e.exports=n("../../../../node_modules/css-loader/lib/css-base.js")(!1)).push([e.i,'#scene-explorer-host {\n position: absolute;\n left: 0px;\n top: 0px;\n bottom: 0px; }\n #scene-explorer-host:focus {\n outline: none; }\n\n#__resizable_base__ {\n display: none; }\n\n.context-menu {\n background: #222222; }\n .context-menu .react-contextmenu-item {\n padding: 10px;\n cursor: pointer; }\n .context-menu .react-contextmenu-item:hover {\n background: #555555; }\n\n.react-contextmenu.context-menu.react-contextmenu--visible {\n z-index: 99;\n transform: scale(1); }\n\n#sceneExplorer {\n background: #333333;\n height: 100%;\n margin: 0;\n padding: 0;\n display: grid;\n grid-template-rows: auto 1fr;\n font: 14px "Arial"; }\n #sceneExplorer:focus {\n outline: none; }\n #sceneExplorer #header {\n height: 30px;\n font-size: 16px;\n color: white;\n background: #222222;\n grid-row: 1;\n text-align: center;\n display: grid;\n grid-template-columns: 30px 1fr 50px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n #sceneExplorer #header #logo {\n position: relative;\n grid-column: 1;\n width: 24px;\n height: 24px;\n left: 0;\n display: flex;\n align-self: center;\n justify-self: center; }\n #sceneExplorer #header #title {\n grid-column: 2;\n display: grid;\n align-items: center;\n text-align: center; }\n #sceneExplorer #header #commands {\n grid-column: 3;\n display: grid;\n align-items: center;\n grid-template-columns: 1fr 1fr; }\n #sceneExplorer #header #commands .expand {\n grid-column: 1;\n display: grid;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #sceneExplorer #header #commands .close {\n grid-column: 2;\n display: grid;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #sceneExplorer #tree {\n grid-row: 2;\n overflow-x: hidden;\n overflow-y: auto; }\n #sceneExplorer .filter {\n display: flex;\n align-items: stretch; }\n #sceneExplorer .filter input {\n width: 100%;\n margin: 10px 40px 5px 40px;\n display: block;\n border: none;\n padding: 0;\n border-bottom: solid 1px #337ab7;\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 96%, #337ab7 4%);\n background-position: -1000px 0;\n background-size: 1000px 100%;\n background-repeat: no-repeat;\n color: white; }\n #sceneExplorer .filter input::placeholder {\n color: lightgray; }\n #sceneExplorer .filter input:focus {\n box-shadow: none;\n outline: none;\n background-position: 0 0; }\n #sceneExplorer .groupContainer {\n margin-left: 0px;\n color: white;\n margin-top: 0px;\n margin-bottom: 0px;\n height: 24px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n align-self: center;\n display: grid;\n align-items: center; }\n #sceneExplorer .groupContainer:hover {\n background: #444444; }\n #sceneExplorer .groupContainer .expandableHeader {\n display: grid;\n grid-template-columns: 1fr 20px; }\n #sceneExplorer .groupContainer .expandableHeader .text {\n grid-column: 1;\n display: grid;\n grid-template-columns: 20px 1fr; }\n #sceneExplorer .groupContainer .expandableHeader .text .arrow {\n grid-column: 1;\n margin-left: 0px;\n color: white;\n cursor: pointer;\n display: inline-block;\n margin-right: 6px;\n opacity: 0.5; }\n #sceneExplorer .groupContainer .expandableHeader .text .text-value {\n grid-column: 2;\n display: flex;\n align-items: center; }\n #sceneExplorer .groupContainer .expandableHeader .expandAll {\n opacity: 0.5;\n grid-column: 2;\n margin-right: 10px; }\n #sceneExplorer .icon {\n display: grid;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #sceneExplorer .itemContainer {\n margin-left: 0px;\n color: white;\n margin-top: 0px;\n margin-bottom: 0px;\n height: 24px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: grid;\n grid-template-columns: 20px 1fr; }\n #sceneExplorer .itemContainer:hover {\n background: #444444; }\n #sceneExplorer .itemContainer.selected {\n background: #bbbbbb;\n color: black; }\n #sceneExplorer .itemContainer .isNotActive {\n opacity: 0.3; }\n #sceneExplorer .itemContainer .arrow {\n grid-column: 1;\n color: white;\n opacity: 0.6; }\n #sceneExplorer .itemContainer .popup {\n width: 200px;\n visibility: hidden;\n background-color: #444444;\n color: #fff;\n border: 1px solid rgba(255, 255, 255, 0.5);\n position: absolute;\n z-index: 1;\n margin-left: -180px;\n box-sizing: border-box; }\n #sceneExplorer .itemContainer .popup.show {\n visibility: visible; }\n #sceneExplorer .itemContainer .popup:focus {\n outline: none; }\n #sceneExplorer .itemContainer .popup .popupMenu {\n padding: 6px 5px 5px 10px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n height: 18px; }\n #sceneExplorer .itemContainer .popup .popupMenu:hover {\n background: white;\n color: #333333; }\n #sceneExplorer .itemContainer .sceneNode {\n grid-column: 2;\n margin-left: -10px;\n display: grid;\n grid-template-columns: 1fr 20px 20px 20px 20px 10px 20px 20px auto 5px;\n align-items: center;\n cursor: pointer; }\n #sceneExplorer .itemContainer .sceneNode .sceneTitle {\n grid-column: 1;\n margin-right: 5px;\n display: flex;\n align-items: center;\n height: 24px; }\n #sceneExplorer .itemContainer .sceneNode .translation {\n grid-column: 2;\n opacity: 0.6; }\n #sceneExplorer .itemContainer .sceneNode .translation.selected {\n opacity: 1; }\n #sceneExplorer .itemContainer .sceneNode .rotation {\n grid-column: 3;\n opacity: 0.6; }\n #sceneExplorer .itemContainer .sceneNode .rotation.selected {\n opacity: 1; }\n #sceneExplorer .itemContainer .sceneNode .scaling {\n grid-column: 4;\n opacity: 0.6; }\n #sceneExplorer .itemContainer .sceneNode .scaling.selected {\n opacity: 1; }\n #sceneExplorer .itemContainer .sceneNode .bounding {\n grid-column: 5;\n opacity: 0.6; }\n #sceneExplorer .itemContainer .sceneNode .bounding.selected {\n opacity: 1; }\n #sceneExplorer .itemContainer .sceneNode .separator {\n grid-column: 6;\n margin-left: 5px;\n width: 5px;\n display: flex;\n align-items: center;\n height: 18px;\n border-left: solid 1px #337ab7; }\n #sceneExplorer .itemContainer .sceneNode .pickingMode {\n grid-column: 7;\n opacity: 0.6; }\n #sceneExplorer .itemContainer .sceneNode .pickingMode.selected {\n opacity: 1; }\n #sceneExplorer .itemContainer .sceneNode .refresh {\n grid-column: 8; }\n #sceneExplorer .itemContainer .sceneNode .extensions {\n width: 20px;\n grid-column: 9; }\n #sceneExplorer .itemContainer .animationGroupTools {\n grid-column: 2;\n width: 100%;\n display: grid;\n grid-template-columns: 1fr auto 5px;\n align-items: center;\n min-width: 0; }\n #sceneExplorer .itemContainer .animationGroupTools .extensions {\n width: 20px;\n grid-column: 2; }\n #sceneExplorer .itemContainer .meshTools {\n grid-column: 2;\n width: 100%;\n display: grid;\n grid-template-columns: 1fr 20px 20px auto 5px;\n align-items: center;\n min-width: 0; }\n #sceneExplorer .itemContainer .meshTools .bounding-box {\n grid-column: 2;\n opacity: 0.5; }\n #sceneExplorer .itemContainer .meshTools .bounding-box.selected {\n opacity: 1; }\n #sceneExplorer .itemContainer .meshTools .visibility {\n grid-column: 3; }\n #sceneExplorer .itemContainer .meshTools .extensions {\n width: 20px;\n grid-column: 4; }\n #sceneExplorer .itemContainer .cameraTools {\n grid-column: 2;\n display: grid;\n grid-template-columns: 1fr 20px auto 5px;\n align-items: center; }\n #sceneExplorer .itemContainer .cameraTools .activeCamera {\n grid-column: 2; }\n #sceneExplorer .itemContainer .cameraTools .extensions {\n width: 20px;\n grid-column: 3; }\n #sceneExplorer .itemContainer .lightTools {\n grid-column: 2;\n display: grid;\n grid-template-columns: 1fr 20px 20px auto 5px;\n align-items: center; }\n #sceneExplorer .itemContainer .lightTools .enableLight {\n grid-column: 2; }\n #sceneExplorer .itemContainer .lightTools .extensions {\n width: 20px;\n grid-column: 3; }\n #sceneExplorer .itemContainer .materialTools {\n grid-column: 2;\n display: grid;\n grid-template-columns: 1fr auto 5px;\n align-items: center; }\n #sceneExplorer .itemContainer .materialTools .extensions {\n width: 20px;\n grid-column: 2; }\n #sceneExplorer .itemContainer .postProcessTools {\n grid-column: 2;\n display: grid;\n grid-template-columns: 1fr auto 5px;\n align-items: center; }\n #sceneExplorer .itemContainer .postProcessTools .extensions {\n width: 20px;\n grid-column: 2; }\n #sceneExplorer .itemContainer .renderingPipelineTools {\n grid-column: 2;\n display: grid;\n grid-template-columns: 1fr auto 5px;\n align-items: center; }\n #sceneExplorer .itemContainer .renderingPipelineTools .extensions {\n width: 20px;\n grid-column: 2; }\n #sceneExplorer .itemContainer .textureTools {\n grid-column: 2;\n display: grid;\n grid-template-columns: 1fr auto 5px;\n align-items: center; }\n #sceneExplorer .itemContainer .textureTools .extensions {\n width: 20px;\n grid-column: 2; }\n #sceneExplorer .itemContainer .adtextureTools {\n grid-column: 2;\n display: grid;\n grid-template-columns: 1fr 20px auto 5px;\n align-items: center; }\n #sceneExplorer .itemContainer .adtextureTools .pickingMode {\n grid-column: 2;\n opacity: 0.6; }\n #sceneExplorer .itemContainer .adtextureTools .pickingMode.selected {\n opacity: 1; }\n #sceneExplorer .itemContainer .adtextureTools .extensions {\n width: 20px;\n grid-column: 3; }\n #sceneExplorer .itemContainer .controlTools {\n grid-column: 2;\n display: grid;\n grid-template-columns: 1fr 20px 20px auto 5px;\n align-items: center; }\n #sceneExplorer .itemContainer .controlTools .highlight {\n grid-column: 2; }\n #sceneExplorer .itemContainer .controlTools .visibility {\n grid-column: 3; }\n #sceneExplorer .itemContainer .controlTools .extensions {\n width: 20px;\n grid-column: 4; }\n #sceneExplorer .itemContainer .transformNodeTools {\n grid-column: 2;\n display: grid;\n grid-template-columns: 1fr auto 5px;\n align-items: center; }\n #sceneExplorer .itemContainer .transformNodeTools .extensions {\n width: 20px;\n grid-column: 2; }\n #sceneExplorer .itemContainer .skeletonTools {\n grid-column: 2;\n display: grid;\n grid-template-columns: 1fr auto 5px;\n align-items: center; }\n #sceneExplorer .itemContainer .skeletonTools .extensions {\n width: 20px;\n grid-column: 2; }\n #sceneExplorer .itemContainer .title {\n grid-column: 1;\n background: transparent;\n white-space: nowrap;\n overflow: hidden;\n min-width: 0;\n margin-right: 5px;\n display: grid;\n align-items: center;\n grid-template-columns: 25px 1fr;\n height: 24px;\n cursor: pointer; }\n #sceneExplorer .itemContainer .title .titleIcon {\n grid-column: 1;\n display: grid;\n align-items: center;\n justify-items: center; }\n #sceneExplorer .itemContainer .title .titleText {\n grid-column: 2;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden; }\n',""])},"../../../../node_modules/css-loader/lib/css-base.js":function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,i=e[1]||"",r=e[3];if(!r)return i;if(t&&"function"==typeof btoa){var o=(n=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),a=r.sources.map((function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"}));return[i].concat(a).concat([o]).join("\n")}return[i].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},r=0;r1)for(var n=1;n1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),l;function t(t,n,i,r,o){for(var a=t[n],s=0;s0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i={top:t,left:e};if(!n.menu)return i;var r=window,o=r.innerWidth,a=r.innerHeight,s=n.menu.getBoundingClientRect();return t+s.height>a&&(i.top-=s.height),e+s.width>o&&(i.left-=s.width),i.top<0&&(i.top=s.height0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i={top:t,left:e};if(!n.menu)return i;var r=window,o=r.innerWidth,a=r.innerHeight,s=n.menu.getBoundingClientRect();return i.left=e-s.width,t+s.height>a&&(i.top-=s.height),i.left<0&&(i.left+=s.width),i.top<0&&(i.top=s.heighto&&(i.left=s.width=0&&0===e.button&&(e.persist(),e.stopPropagation(),i.mouseDownTimeoutId=setTimeout((function(){return i.handleContextClick(e)}),i.props.holdToDisplay)),Object(h.callIfExists)(i.props.attributes.onMouseDown,e)},i.handleMouseUp=function(e){0===e.button&&clearTimeout(i.mouseDownTimeoutId),Object(h.callIfExists)(i.props.attributes.onMouseUp,e)},i.handleMouseOut=function(e){0===e.button&&clearTimeout(i.mouseDownTimeoutId),Object(h.callIfExists)(i.props.attributes.onMouseOut,e)},i.handleTouchstart=function(e){i.touchHandled=!1,i.props.holdToDisplay>=0&&(e.persist(),e.stopPropagation(),i.touchstartTimeoutId=setTimeout((function(){i.handleContextClick(e),i.touchHandled=!0}),i.props.holdToDisplay)),Object(h.callIfExists)(i.props.attributes.onTouchStart,e)},i.handleTouchEnd=function(e){i.touchHandled&&e.preventDefault(),clearTimeout(i.touchstartTimeoutId),Object(h.callIfExists)(i.props.attributes.onTouchEnd,e)},i.handleContextMenu=function(e){i.handleContextClick(e),Object(h.callIfExists)(i.props.attributes.onContextMenu,e)},i.handleContextClick=function(e){if(!i.props.disable){e.preventDefault(),e.stopPropagation();var t=e.clientX||e.touches&&e.touches[0].pageX,n=e.clientY||e.touches&&e.touches[0].pageY;i.props.posX&&(t-=i.props.posX),i.props.posY&&(n-=i.props.posY),Object(p.hideMenu)();var r=Object(h.callIfExists)(i.props.collect,i.props),o={position:{x:t,y:n},target:i.elem,id:i.props.id,data:r};r&&"function"==typeof r.then?r.then((function(e){o.data=e,Object(p.showMenu)(o)})):Object(p.showMenu)(o)}},i.elemRef=function(e){i.elem=e},_(i,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),d(t,[{key:"render",value:function(){var e=this.props,t=e.renderTag,n=e.attributes,i=e.children,o=u()({},n,{className:c()(h.cssClasses.menuWrapper,n.className),onContextMenu:this.handleContextMenu,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp,onTouchStart:this.handleTouchstart,onTouchEnd:this.handleTouchEnd,onMouseOut:this.handleMouseOut,ref:this.elemRef});return r.a.createElement(t,o,i)}}]),t}(i.Component);m.propTypes={id:a.a.string.isRequired,children:a.a.node.isRequired,attributes:a.a.object,collect:a.a.func,disable:a.a.bool,holdToDisplay:a.a.number,posX:a.a.number,posY:a.a.number,renderTag:a.a.oneOfType([a.a.node,a.a.func])},m.defaultProps={attributes:{},collect:function(){return null},disable:!1,holdToDisplay:1e3,renderTag:"div",posX:0,posY:0},t.default=m},"../../../../node_modules/react-contextmenu/es6/MenuItem.js":function(e,t,n){"use strict";n.r(t);var i=n("../../../../node_modules/react/index.js"),r=n.n(i),o=n("../../../../node_modules/prop-types/index.js"),a=n.n(o),s=n("../../../../node_modules/classnames/index.js"),c=n.n(s),l=n("../../../../node_modules/object-assign/index.js"),u=n.n(l),p=n("../../../../node_modules/react-contextmenu/es6/actions.js"),h=n("../../../../node_modules/react-contextmenu/es6/helpers.js"),d=Object.assign||function(e){for(var t=1;ti?o.bottom=0:o.top=0,r.righte?i.bottom=0:i.top=0,t.left<0?i.left="100%":i.right="100%",i},n.hideMenu=function(e){e.detail&&e.detail.id&&n.menu&&e.detail.id!==n.menu.id||(n.props.forceOpen&&n.props.forceClose(),n.setState({visible:!1,selectedItem:null}),n.unregisterHandlers())},n.handleClick=function(e){e.preventDefault(),n.props.disabled||Object(h.callIfExists)(n.props.onClick,e,u()({},n.props.data,h.store.data),h.store.target)},n.handleMouseEnter=function(){n.closetimer&&clearTimeout(n.closetimer),n.props.disabled||n.state.visible||(n.opentimer=setTimeout((function(){return n.setState({visible:!0,selectedItem:null})}),n.props.hoverDelay))},n.handleMouseLeave=function(){n.opentimer&&clearTimeout(n.opentimer),n.state.visible&&(n.closetimer=setTimeout((function(){return n.setState({visible:!1,selectedItem:null})}),n.props.hoverDelay))},n.menuRef=function(e){n.menu=e},n.subMenuRef=function(e){n.subMenu=e},n.registerHandlers=function(){document.removeEventListener("keydown",n.props.parentKeyNavigationHandler),document.addEventListener("keydown",n.handleKeyNavigation)},n.unregisterHandlers=function(e){document.removeEventListener("keydown",n.handleKeyNavigation),e||document.addEventListener("keydown",n.props.parentKeyNavigationHandler)},n.state=u()({},n.state,{visible:!1}),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),_(t,[{key:"componentDidMount",value:function(){this.listenId=d.default.register((function(){}),this.hideMenu)}},{key:"getSubMenuType",value:function(){return t}},{key:"shouldComponentUpdate",value:function(e,t){return this.isVisibilityChange=!(this.state.visible===t.visible&&this.props.forceOpen===e.forceOpen||this.state.visible&&e.forceOpen||this.props.forceOpen&&t.visible),!0}},{key:"componentDidUpdate",value:function(){var e=this;this.isVisibilityChange&&(this.props.forceOpen||this.state.visible?(window.requestAnimationFrame||setTimeout)((function(){var t=e.props.rtl?e.getRTLMenuPosition():e.getMenuPosition();e.subMenu.style.removeProperty("top"),e.subMenu.style.removeProperty("bottom"),e.subMenu.style.removeProperty("left"),e.subMenu.style.removeProperty("right"),Object(h.hasOwnProp)(t,"top")&&(e.subMenu.style.top=t.top),Object(h.hasOwnProp)(t,"left")&&(e.subMenu.style.left=t.left),Object(h.hasOwnProp)(t,"bottom")&&(e.subMenu.style.bottom=t.bottom),Object(h.hasOwnProp)(t,"right")&&(e.subMenu.style.right=t.right),e.subMenu.classList.add(h.cssClasses.menuVisible),e.registerHandlers(),e.setState({selectedItem:null})})):(this.subMenu.addEventListener("transitionend",(function t(){e.subMenu.removeEventListener("transitionend",t),e.subMenu.style.removeProperty("bottom"),e.subMenu.style.removeProperty("right"),e.subMenu.style.top=0,e.subMenu.style.left="100%",e.unregisterHandlers()})),this.subMenu.classList.remove(h.cssClasses.menuVisible)))}},{key:"componentWillUnmount",value:function(){this.listenId&&d.default.unregister(this.listenId),this.opentimer&&clearTimeout(this.opentimer),this.closetimer&&clearTimeout(this.closetimer),this.unregisterHandlers(!0)}},{key:"render",value:function(){var e,t=this.props,n=t.children,i=t.attributes,o=t.disabled,a=t.title,s=t.selected,l=this.state.visible,u={ref:this.menuRef,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,className:c()(h.cssClasses.menuItem,h.cssClasses.subMenu,i.listClassName),style:{position:"relative"}},p={className:c()(h.cssClasses.menuItem,i.className,(e={},m(e,c()(h.cssClasses.menuItemDisabled,i.disabledClassName),o),m(e,c()(h.cssClasses.menuItemActive,i.visibleClassName),l),m(e,c()(h.cssClasses.menuItemSelected,i.selectedClassName),s),e)),onMouseMove:this.props.onMouseMove,onMouseOut:this.props.onMouseOut,onClick:this.handleClick},d={ref:this.subMenuRef,style:{position:"absolute",transition:"opacity 1ms",top:0,left:"100%"},className:c()(h.cssClasses.menu,this.props.className)};return r.a.createElement("nav",f({},u,{role:"menuitem",tabIndex:"-1","aria-haspopup":"true"}),r.a.createElement("div",f({},i,p),a),r.a.createElement("nav",f({},d,{role:"menu",tabIndex:"-1"}),this.renderChildren(n)))}}]),t}(p.default);b.propTypes={children:a.a.node.isRequired,attributes:a.a.object,title:a.a.node.isRequired,className:a.a.string,disabled:a.a.bool,hoverDelay:a.a.number,rtl:a.a.bool,selected:a.a.bool,onMouseMove:a.a.func,onMouseOut:a.a.func,forceOpen:a.a.bool,forceClose:a.a.func,parentKeyNavigationHandler:a.a.func},b.defaultProps={disabled:!1,hoverDelay:500,attributes:{},className:"",rtl:!1,selected:!1,onMouseMove:function(){return null},onMouseOut:function(){return null},forceOpen:!1,forceClose:function(){return null},parentKeyNavigationHandler:function(){return null}},t.default=b},"../../../../node_modules/react-contextmenu/es6/actions.js":function(e,t,n){"use strict";n.r(t),n.d(t,"MENU_SHOW",(function(){return a})),n.d(t,"MENU_HIDE",(function(){return s})),n.d(t,"dispatchGlobalEvent",(function(){return c})),n.d(t,"showMenu",(function(){return l})),n.d(t,"hideMenu",(function(){return u}));var i=n("../../../../node_modules/object-assign/index.js"),r=n.n(i),o=n("../../../../node_modules/react-contextmenu/es6/helpers.js"),a="REACT_CONTEXTMENU_SHOW",s="REACT_CONTEXTMENU_HIDE";function c(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window,i=void 0;"function"==typeof window.CustomEvent?i=new window.CustomEvent(e,{detail:t}):(i=document.createEvent("CustomEvent")).initCustomEvent(e,!1,!0,t),n&&(n.dispatchEvent(i),r()(o.store,t))}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];c(a,r()({},e,{type:a}),t)}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];c(s,r()({},e,{type:s}),t)}},"../../../../node_modules/react-contextmenu/es6/connectMenu.js":function(e,t,n){"use strict";n.r(t);var i=n("../../../../node_modules/react/index.js"),r=n.n(i),o=n("../../../../node_modules/react-contextmenu/es6/ContextMenuTrigger.js"),a=n("../../../../node_modules/react-contextmenu/es6/globalEventListener.js"),s=Object.assign||function(e){for(var t=1;t1?t-1:0),i=1;i-1))throw s(Error("EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `"+e+"`."))}(),!d[n]){!function(){if(!t.extractEvents)throw s(Error("EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `"+e+"` does not."))}(),d[n]=t;var i=t.eventTypes;for(var r in i)!function(){if(!p(i[r],t,r))throw s(Error("EventPluginRegistry: Failed to publish event `"+r+"` for plugin `"+e+"`."))}()}}}function p(e,t,n){!function(){if(f.hasOwnProperty(n))throw s(Error("EventPluginHub: More than one plugin attempted to publish the same event name, `"+n+"`."))}(),f[n]=e;var i=e.phasedRegistrationNames;if(i){for(var r in i)i.hasOwnProperty(r)&&h(i[r],t,n);return!0}return!!e.registrationName&&(h(e.registrationName,t,n),!0)}function h(e,t,n){!function(){if(_[e])throw s(Error("EventPluginHub: More than one plugin attempted to publish the same registration name, `"+e+"`."))}(),_[e]=t,m[e]=t.eventTypes[n].dependencies;var i=e.toLowerCase();b[i]=e,"onDoubleClick"===e&&(b.ondblclick=e)}var d=[],f={},_={},m={},b={},g=function(e,t,n,i,r,o,a,s,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this.onError(e)}};if("undefined"!=typeof window&&"function"==typeof window.dispatchEvent&&"undefined"!=typeof document&&"function"==typeof document.createEvent){var v=document.createElement("react");g=function(e,t,n,i,r,o,a,c,l){!function(){if("undefined"==typeof document)throw s(Error("The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous."))}();var u=document.createEvent("Event"),p=!0,h=window.event,d=Object.getOwnPropertyDescriptor(window,"event"),f=Array.prototype.slice.call(arguments,3);function _(){v.removeEventListener(C,_,!1),void 0!==window.event&&window.hasOwnProperty("event")&&(window.event=h),t.apply(n,f),p=!1}var m=void 0,b=!1,g=!1;function y(e){if(m=e.error,b=!0,null===m&&0===e.colno&&0===e.lineno&&(g=!0),e.defaultPrevented&&null!=m&&"object"==typeof m)try{m._suppressLogging=!0}catch(e){}}var C="react-"+(e||"invokeguardedcallback");window.addEventListener("error",y),v.addEventListener(C,_,!1),u.initEvent(C,!1,!1),v.dispatchEvent(u),d&&Object.defineProperty(window,"event",d),p&&(b?g&&(m=new Error("A cross-origin error was thrown. React doesn't have access to the actual error object in development. See https://fb.me/react-crossorigin-error for more information.")):m=new Error("An error was thrown inside one of your components, but React doesn't know what it was. This is likely due to browser flakiness. React does its best to preserve the \"Pause on exceptions\" behavior of the DevTools, which requires some DEV-mode only tricks. It's possible that these don't work in your browser. Try triggering the error in production mode, or switching to a modern browser. If you suspect that this is actually an issue with React, please file an issue."),this.onError(m)),window.removeEventListener("error",y)}}var y=g,C=!1,A=null,x=!1,S=null,T={onError:function(e){C=!0,A=e}};function E(e,t,n,i,r,o,a,s,c){C=!1,A=null,y.apply(T,arguments)}function P(e,t,n,i,r,o,a,s,c){if(E.apply(this,arguments),C){var l=M();x||(x=!0,S=l)}}function O(){return C}function M(){if(C){var e=A;return C=!1,A=null,e}!function(){throw s(Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue."))}()}var R,I=function(e,t){for(var n=arguments.length,i=Array(n>2?n-2:0),r=2;r8)throw new Error("warningWithoutStack() currently supports at most 8 arguments.");if(!e){if("undefined"!=typeof console){var o=i.map((function(e){return""+e}));o.unshift("Warning: "+t),Function.prototype.apply.call(console.error,console,o)}try{var a=0,s="Warning: "+t.replace(/%s/g,(function(){return i[a++]}));throw new Error(s)}catch(e){}}},w=null,D=null,L=null;function N(e,t,n){var i=e.type||"unknown-event";e.currentTarget=L(n),P(i,t,void 0,e),e.currentTarget=null}function F(e,t){return function(){if(null==t)throw s(Error("accumulateInto(...): Accumulated items must not be null or undefined."))}(),null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function B(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}R=function(e){var t=e._dispatchListeners,n=e._dispatchInstances,i=Array.isArray(t),r=i?t.length:t?1:0,o=Array.isArray(n),a=o?n.length:n?1:0;(o!==i||a!==r)&&I(!1,"EventPluginUtils: Invalid `event`.")};var k=null,V=function(e){e&&(function(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(R(e),Array.isArray(t))for(var i=0;i0;)e=ue(e),n--;for(;r-n>0;)t=ue(t),r--;for(var a=n;a--;){if(e===t||e===t.alternate)return e;e=ue(e),t=ue(t)}return null}(e,t):null,a=[];e&&e!==o;){var s=e.alternate;if(null!==s&&s===o)break;a.push(e),e=ue(e)}for(var c=[];t&&t!==o;){var l=t.alternate;if(null!==l&&l===o)break;c.push(t),t=ue(t)}for(var u=0;u0;)n(c[p],"captured",r)}function he(e,t,n){e||I(!1,"Dispatching inst must not be null");var i=function(e,t,n){return G(e,t.dispatchConfig.phasedRegistrationNames[n])}(e,n,t);i&&(n._dispatchListeners=F(n._dispatchListeners,i),n._dispatchInstances=F(n._dispatchInstances,e))}function de(e){e&&e.dispatchConfig.phasedRegistrationNames&&function(e,t,n){for(var i=[];e;)i.push(e),e=ue(e);var r=void 0;for(r=i.length;r-- >0;)t(i[r],"captured",n);for(r=0;r1?1-i:void 0;return qt=r.slice(e,s)}function $t(){return"value"in Kt?Kt.value:Kt.textContent}var en={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};function tn(){return!0}function nn(){return!1}function rn(e,t,n,i){delete this.nativeEvent,delete this.preventDefault,delete this.stopPropagation,delete this.isDefaultPrevented,delete this.isPropagationStopped,this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n;var r=this.constructor.Interface;for(var o in r)if(r.hasOwnProperty(o)){delete this[o];var a=r[o];a?this[o]=a(n):"target"===o?this.target=i:this[o]=n[o]}var s=null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue;return this.isDefaultPrevented=s?tn:nn,this.isPropagationStopped=nn,this}function on(e,t){var n="function"==typeof t;return{configurable:!0,set:function(e){return i(n?"setting the method":"setting the property","This is effectively a no-op"),e},get:function(){return i(n?"accessing the method":"accessing the property",n?"This is a no-op function":"This is set to null"),t}};function i(t,n){I(!1,"This synthetic event is reused for performance reasons. If you're seeing this, you're %s `%s` on a released/nullified synthetic event. %s. If you must keep the original synthetic event around, use event.persist(). See https://fb.me/react-event-pooling for more information.",t,e,n)}}function an(e,t,n,i){var r=this;if(r.eventPool.length){var o=r.eventPool.pop();return r.call(o,e,t,n,i),o}return new r(e,t,n,i)}function sn(e){var t=this;!function(){if(!(e instanceof t))throw s(Error("Trying to release an event instance into a pool of a different type."))}(),e.destructor(),t.eventPool.length<10&&t.eventPool.push(e)}function cn(e){e.eventPool=[],e.getPooled=an,e.release=sn}i(rn.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=tn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=tn)},persist:function(){this.isPersistent=tn},isPersistent:nn,destructor:function(){var e=this.constructor.Interface;for(var t in e)Object.defineProperty(this,t,on(t,e[t]));this.dispatchConfig=null,this._targetInst=null,this.nativeEvent=null,this.isDefaultPrevented=nn,this.isPropagationStopped=nn,this._dispatchListeners=null,this._dispatchInstances=null,Object.defineProperty(this,"nativeEvent",on("nativeEvent",null)),Object.defineProperty(this,"isDefaultPrevented",on("isDefaultPrevented",nn)),Object.defineProperty(this,"isPropagationStopped",on("isPropagationStopped",nn)),Object.defineProperty(this,"preventDefault",on("preventDefault",(function(){}))),Object.defineProperty(this,"stopPropagation",on("stopPropagation",(function(){})))}}),rn.Interface=en,rn.extend=function(e){var t=this,n=function(){};n.prototype=t.prototype;var r=new n;function o(){return t.apply(this,arguments)}return i(r,o.prototype),o.prototype=r,o.prototype.constructor=o,o.Interface=i({},t.Interface,e),o.extend=t.extend,cn(o),o},cn(rn);var ln=rn.extend({data:null}),un=rn.extend({data:null}),pn=[9,13,27,32],hn=be&&"CompositionEvent"in window,dn=null;be&&"documentMode"in document&&(dn=document.documentMode);var fn=be&&"TextEvent"in window&&!dn,_n=be&&(!hn||dn&&dn>8&&dn<=11),mn=String.fromCharCode(32),bn={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:[Le,ot,Bt,bt]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:[Pe,Le,rt,ot,at,ht]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:[Pe,Ne,rt,ot,at,ht]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:[Pe,Fe,rt,ot,at,ht]}},gn=!1;function vn(e,t){switch(e){case at:return-1!==pn.indexOf(t.keyCode);case rt:return 229!==t.keyCode;case ot:case ht:case Pe:return!0;default:return!1}}function yn(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function Cn(e){return"ko"===e.locale}var An=!1;function xn(e,t,n,i){var r=void 0,o=void 0;if(hn?r=function(e){switch(e){case Ne:return bn.compositionStart;case Le:return bn.compositionEnd;case Fe:return bn.compositionUpdate}}(e):An?vn(e,n)&&(r=bn.compositionEnd):function(e,t){return e===rt&&229===t.keyCode}(e,n)&&(r=bn.compositionStart),!r)return null;_n&&!Cn(n)&&(An||r!==bn.compositionStart?r===bn.compositionEnd&&An&&(o=Jt()):An=function(e){return Kt=e,Zt=$t(),!0}(i));var a=ln.getPooled(r,t,n,i);if(o)a.data=o;else{var s=yn(n);null!==s&&(a.data=s)}return me(a),a}function Sn(e,t){if(An){if(e===Le||!hn&&vn(e,t)){var n=Jt();return Kt=null,Zt=null,qt=null,An=!1,n}return null}switch(e){case bt:return null;case ot:if(!function(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}(t)){if(t.char&&t.char.length>1)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case Le:return _n&&!Cn(t)?null:t.data;default:return null}}function Tn(e,t,n,i){var r=void 0;if(!(r=fn?function(e,t){switch(e){case Le:return yn(t);case ot:return 32!==t.which?null:(gn=!0,mn);case Bt:var n=t.data;return n===mn&&gn?null:n;default:return null}}(e,n):Sn(e,n)))return null;var o=un.getPooled(bn.beforeInput,t,n,i);return o.data=r,me(o),o}var En={eventTypes:bn,extractEvents:function(e,t,n,i){var r=xn(e,t,n,i),o=Tn(e,t,n,i);return null===r?o:null===o?r:[r,o]}},Pn=null,On=null,Mn=null;function Rn(e){var t=D(e);if(t){!function(){if("function"!=typeof Pn)throw s(Error("setRestoreImplementation() needs to be called to handle a target for controlled events. This error is likely caused by a bug in React. Please file an issue."))}();var n=w(t.stateNode);Pn(t.stateNode,t.type,n)}}function In(e){On?Mn?Mn.push(e):Mn=[e]:On=e}function wn(){if(On){var e=On,t=Mn;if(On=null,Mn=null,Rn(e),t)for(var n=0;n2?r-2:0),a=2;a2&&("o"===e[0]||"O"===e[0])&&("n"===e[1]||"N"===e[1])}function Fi(e,t,n,i){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":if(i)return!1;if(null!==n)return!n.acceptsBooleans;var r=e.toLowerCase().slice(0,5);return"data-"!==r&&"aria-"!==r;default:return!1}}function Bi(e,t,n,i){if(null==t)return!0;if(Fi(e,t,n,i))return!0;if(i)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||t<1}return!1}function ki(e){return zi.hasOwnProperty(e)?zi[e]:null}function Vi(e,t,n,i,r,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o}var zi={};["children","dangerouslySetInnerHTML","defaultValue","defaultChecked","innerHTML","suppressContentEditableWarning","suppressHydrationWarning","style"].forEach((function(e){zi[e]=new Vi(e,0,!1,e,null,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0],n=e[1];zi[t]=new Vi(t,1,!1,n,null,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){zi[e]=new Vi(e,2,!1,e.toLowerCase(),null,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){zi[e]=new Vi(e,2,!1,e,null,!1)})),["allowFullScreen","async","autoFocus","autoPlay","controls","default","defer","disabled","disablePictureInPicture","formNoValidate","hidden","loop","noModule","noValidate","open","playsInline","readOnly","required","reversed","scoped","seamless","itemScope"].forEach((function(e){zi[e]=new Vi(e,3,!1,e.toLowerCase(),null,!1)})),["checked","multiple","muted","selected"].forEach((function(e){zi[e]=new Vi(e,3,!0,e,null,!1)})),["capture","download"].forEach((function(e){zi[e]=new Vi(e,4,!1,e,null,!1)})),["cols","rows","size","span"].forEach((function(e){zi[e]=new Vi(e,6,!1,e,null,!1)})),["rowSpan","start"].forEach((function(e){zi[e]=new Vi(e,5,!1,e.toLowerCase(),null,!1)}));var ji=/[\-\:]([a-z])/g,Ui=function(e){return e[1].toUpperCase()};["accent-height","alignment-baseline","arabic-form","baseline-shift","cap-height","clip-path","clip-rule","color-interpolation","color-interpolation-filters","color-profile","color-rendering","dominant-baseline","enable-background","fill-opacity","fill-rule","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","glyph-name","glyph-orientation-horizontal","glyph-orientation-vertical","horiz-adv-x","horiz-origin-x","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","overline-position","overline-thickness","paint-order","panose-1","pointer-events","rendering-intent","shape-rendering","stop-color","stop-opacity","strikethrough-position","strikethrough-thickness","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-rendering","underline-position","underline-thickness","unicode-bidi","unicode-range","units-per-em","v-alphabetic","v-hanging","v-ideographic","v-mathematical","vector-effect","vert-adv-y","vert-origin-x","vert-origin-y","word-spacing","writing-mode","xmlns:xlink","x-height"].forEach((function(e){var t=e.replace(ji,Ui);zi[t]=new Vi(t,1,!1,e,null,!1)})),["xlink:actuate","xlink:arcrole","xlink:role","xlink:show","xlink:title","xlink:type"].forEach((function(e){var t=e.replace(ji,Ui);zi[t]=new Vi(t,1,!1,e,"http://www.w3.org/1999/xlink",!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(ji,Ui);zi[t]=new Vi(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1)})),["tabIndex","crossOrigin"].forEach((function(e){zi[e]=new Vi(e,1,!1,e.toLowerCase(),null,!1)})),zi.xlinkHref=new Vi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0),["src","href","action","formAction"].forEach((function(e){zi[e]=new Vi(e,1,!1,e.toLowerCase(),null,!0)})),Zn.ReactDebugCurrentFrame;var Gi=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i,Hi=!1;function Wi(e){!Hi&&Gi.test(e)&&(Hi=!0,Ei(!1,"A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.",JSON.stringify(e)))}function Xi(e,t,n,i){if(i.mustUseProperty)return e[i.propertyName];i.sanitizeURL&&Wi(""+n);var r=i.attributeName,o=null;if(4===i.type){if(e.hasAttribute(r)){var a=e.getAttribute(r);return""===a||(Bi(t,n,i,!1)?a:a===""+n?n:a)}}else if(e.hasAttribute(r)){if(Bi(t,n,i,!1))return e.getAttribute(r);if(3===i.type)return n;o=e.getAttribute(r)}return Bi(t,n,i,!1)?null===o?n:o:o===""+n?n:o}function Yi(e,t,n){if(Li(t)){if(!e.hasAttribute(t))return void 0===n?void 0:null;var i=e.getAttribute(t);return i===""+n?n:i}}function Qi(e,t,n,i){var r=ki(t);if(!Ni(t,r,i))if(Bi(t,n,r,i)&&(n=null),i||null===r){if(Li(t)){var o=t;null===n?e.removeAttribute(o):e.setAttribute(o,""+n)}}else if(r.mustUseProperty){var a=r.propertyName;if(null===n){var s=r.type;e[a]=3!==s&&""}else e[a]=n}else{var c=r.attributeName,l=r.attributeNamespace;if(null===n)e.removeAttribute(c);else{var u=r.type,p=void 0;3===u||4===u&&!0===n?p="":(p=""+n,r.sanitizeURL&&Wi(p)),l?e.setAttributeNS(l,c,p):e.setAttribute(c,p)}}}function Ki(e){return""+e}function Zi(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}var qi,Ji={checkPropTypes:null};qi=Zn.ReactDebugCurrentFrame;var $i={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0},er={value:function(e,t,n){return $i[e.type]||e.onChange||e.readOnly||e.disabled||null==e[t]?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return e.onChange||e.readOnly||e.disabled||null==e[t]?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")}};Ji.checkPropTypes=function(e,t){r(er,t,"prop",e,qi.getStackAddendum)};var tr=!1,nr=!1,ir=!1,rr=!1;function or(e){return"checkbox"===e.type||"radio"===e.type?null!=e.checked:null!=e.value}function ar(e,t){var n=e,r=t.checked;return i({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=r?r:n._wrapperState.initialChecked})}function sr(e,t){Ji.checkPropTypes("input",t),void 0===t.checked||void 0===t.defaultChecked||nr||(Ei(!1,"%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://fb.me/react-controlled-components",Ci()||"A component",t.type),nr=!0),void 0===t.value||void 0===t.defaultValue||tr||(Ei(!1,"%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://fb.me/react-controlled-components",Ci()||"A component",t.type),tr=!0);var n=e,i=null==t.defaultValue?"":t.defaultValue;n._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:Zi(null!=t.value?t.value:i),controlled:or(t)}}function cr(e,t){var n=e,i=t.checked;null!=i&&Qi(n,"checked",i,!1)}function lr(e,t){var n=e,i=or(t);n._wrapperState.controlled||!i||rr||(Ei(!1,"A component is changing an uncontrolled input of type %s to be controlled. Input elements should not switch from uncontrolled to controlled (or vice versa). Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://fb.me/react-controlled-components",t.type),rr=!0),!n._wrapperState.controlled||i||ir||(Ei(!1,"A component is changing a controlled input of type %s to be uncontrolled. Input elements should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://fb.me/react-controlled-components",t.type),ir=!0),cr(e,t);var r=Zi(t.value),o=t.type;if(null!=r)"number"===o?(0===r&&""===n.value||n.value!=r)&&(n.value=Ki(r)):n.value!==Ki(r)&&(n.value=Ki(r));else if("submit"===o||"reset"===o)return void n.removeAttribute("value");t.hasOwnProperty("value")?hr(n,t.type,r):t.hasOwnProperty("defaultValue")&&hr(n,t.type,Zi(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(n.defaultChecked=!!t.defaultChecked)}function ur(e,t,n){var i=e;if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type,o="submit"===r||"reset"===r;if(o&&(void 0===t.value||null===t.value))return;var a=Ki(i._wrapperState.initialValue);n||a!==i.value&&(i.value=a),i.defaultValue=a}var s=i.name;""!==s&&(i.name=""),i.defaultChecked=!i.defaultChecked,i.defaultChecked=!!i._wrapperState.initialChecked,""!==s&&(i.name=s)}function pr(e,t){var n=e;lr(n,t),function(e,t){var n=t.name;if("radio"===t.type&&null!=n){for(var i=e;i.parentNode;)i=i.parentNode;for(var r=i.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),o=0;o9));var Or={eventTypes:dr,_isInputEventSupported:Cr,extractEvents:function(e,t,n,i){var r,o,a,s,c=t?se(t):window,l=void 0,u=void 0;if("select"===(o=(r=c).nodeName&&r.nodeName.toLowerCase())||"input"===o&&"file"===r.type?l=yr:Gn(c)?Cr?l=Pr:(l=Tr,u=Sr):function(e){var t=e.nodeName;return t&&"input"===t.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}(c)&&(l=Er),l){var p=l(e,t);if(p)return fr(p,n,i)}u&&u(e,c,t),e===Pe&&(s=(a=c)._wrapperState)&&s.controlled&&"number"===a.type&&hr(a,"number",a.value)}},Mr=rn.extend({view:null,detail:null}),Rr={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Ir(e){var t=this.nativeEvent;if(t.getModifierState)return t.getModifierState(e);var n=Rr[e];return!!n&&!!t[n]}function wr(e){return Ir}var Dr=0,Lr=0,Nr=!1,Fr=!1,Br=Mr.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:wr,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if("movementX"in e)return e.movementX;var t=Dr;return Dr=e.screenX,Nr?"mousemove"===e.type?e.screenX-t:0:(Nr=!0,0)},movementY:function(e){if("movementY"in e)return e.movementY;var t=Lr;return Lr=e.screenY,Fr?"mousemove"===e.type?e.screenY-t:0:(Fr=!0,0)}}),kr=Br.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Vr={mouseEnter:{registrationName:"onMouseEnter",dependencies:[ft,_t]},mouseLeave:{registrationName:"onMouseLeave",dependencies:[ft,_t]},pointerEnter:{registrationName:"onPointerEnter",dependencies:[St,Tt]},pointerLeave:{registrationName:"onPointerLeave",dependencies:[St,Tt]}},zr={eventTypes:Vr,extractEvents:function(e,t,n,i){var r=e===_t||e===Tt,o=e===ft||e===St;if(r&&(n.relatedTarget||n.fromElement))return null;if(!o&&!r)return null;var a=void 0;if(i.window===i)a=i;else{var s=i.ownerDocument;a=s?s.defaultView||s.parentWindow:window}var c=void 0,l=void 0;if(o){c=t;var u=n.relatedTarget||n.toElement;l=u?oe(u):null}else c=null,l=t;if(c===l)return null;var p=void 0,h=void 0,d=void 0,f=void 0;e===ft||e===_t?(p=Br,h=Vr.mouseLeave,d=Vr.mouseEnter,f="mouse"):e!==St&&e!==Tt||(p=kr,h=Vr.pointerLeave,d=Vr.pointerEnter,f="pointer");var _=null==c?a:se(c),m=null==l?a:se(l),b=p.getPooled(h,c,n,i);b.type=f+"leave",b.target=_,b.relatedTarget=m;var g=p.getPooled(d,l,n,i);return g.type=f+"enter",g.target=m,g.relatedTarget=_,function(e,t,n,i){pe(n,i,fe,e,t)}(b,g,c,l),[b,g]}};function jr(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}var Ur=Object.prototype.hasOwnProperty;function Gr(e,t){if(jr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(var r=0;r=32||13===t?t:0}for(var lo={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},uo={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},po=Mr.extend({key:function(e){if(e.key){var t=lo[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=co(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?uo[e.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:wr,charCode:function(e){return"keypress"===e.type?co(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?co(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),ho=Br.extend({dataTransfer:null}),fo=Mr.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:wr}),_o=rn.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),mo=Br.extend({deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),bo=[[Pe,"blur",0],[Re,"cancel",0],[we,"click",0],[De,"close",0],[Be,"contextMenu",0],[ke,"copy",0],["cut","cut",0],[ze,"auxClick",0],[Ve,"doubleClick",0],[Ue,"dragEnd",0],[Ye,"dragStart",0],[Qe,"drop",0],[et,"focus",0],[nt,"input",0],[it,"invalid",0],[rt,"keyDown",0],[ot,"keyPress",0],[at,"keyUp",0],[ht,"mouseDown",0],[mt,"mouseUp",0],[bt,"paste",0],[gt,"pause",0],[vt,"play",0],[Ct,"pointerCancel",0],[At,"pointerDown",0],[Et,"pointerUp",0],[Ot,"rateChange",0],[Mt,"reset",0],[It,"seeked",0],[Nt,"submit",0],[zt,"touchCancel",0],[jt,"touchEnd",0],[Gt,"touchStart",0],[Wt,"volumeChange",0],[je,"drag",1],[Ge,"dragEnter",1],[He,"dragExit",1],[We,"dragLeave",1],[Xe,"dragOver",1],[dt,"mouseMove",1],[ft,"mouseOut",1],[_t,"mouseOver",1],[xt,"pointerMove",1],[St,"pointerOut",1],[Tt,"pointerOver",1],[Rt,"scroll",1],[Vt,"toggle",1],[Ut,"touchMove",1],[Yt,"wheel",1],[xe,"abort",2],[Se,"animationEnd",2],[Te,"animationIteration",2],[Ee,"animationStart",2],[Oe,"canPlay",2],[Me,"canPlayThrough",2],[Ke,"durationChange",2],[Ze,"emptied",2],[qe,"encrypted",2],[Je,"ended",2],[$e,"error",2],[tt,"gotPointerCapture",2],[st,"load",2],[lt,"loadedData",2],[ut,"loadedMetadata",2],[ct,"loadStart",2],[pt,"lostPointerCapture",2],[yt,"playing",2],[Pt,"progress",2],[wt,"seeking",2],[Lt,"stalled",2],[Ft,"suspend",2],[kt,"timeUpdate",2],[Ht,"transitionEnd",2],[Xt,"waiting",2]],go={},vo={},yo=0;yo=t)return{node:n,offset:t-i};i=r}n=Wo(Xo(n))}}function Qo(e){var t=e.ownerDocument,n=t&&t.defaultView||window,i=n.getSelection&&n.getSelection();if(!i||0===i.rangeCount)return null;var r=i.anchorNode,o=i.anchorOffset,a=i.focusNode,s=i.focusOffset;try{r.nodeType,a.nodeType}catch(e){return null}return function(e,t,n,i,r){var o=0,a=-1,s=-1,c=0,l=0,u=e,p=null;e:for(;;){for(var h=null;u!==t||0!==n&&3!==u.nodeType||(a=o+n),u!==i||0!==r&&3!==u.nodeType||(s=o+r),3===u.nodeType&&(o+=u.nodeValue.length),null!==(h=u.firstChild);)p=u,u=h;for(;;){if(u===e)break e;if(p===t&&++c===n&&(a=o),p===i&&++l===r&&(s=o),null!==(h=u.nextSibling))break;p=(u=p).parentNode}u=h}return-1===a||-1===s?null:{start:a,end:s}}(e,r,o,a,s)}function Ko(e){return e&&3===e.nodeType}function Zo(e,t){return!(!e||!t)&&(e===t||!Ko(e)&&(Ko(t)?Zo(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function qo(e){return e&&e.ownerDocument&&Zo(e.ownerDocument.documentElement,e)}function Jo(e){try{return"string"==typeof e.contentWindow.location.href}catch(e){return!1}}function $o(){for(var e=window,t=Ho();t instanceof e.HTMLIFrameElement;){if(!Jo(t))return t;t=Ho((e=t.contentWindow).document)}return t}function ea(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function ta(e){var t,n,i,r,o=$o(),a=e.focusedElem,s=e.selectionRange;if(o!==a&&qo(a)){null!==s&&ea(a)&&(t=a,i=(n=s).start,void 0===(r=n.end)&&(r=i),"selectionStart"in t?(t.selectionStart=i,t.selectionEnd=Math.min(r,t.value.length)):function(e,t){var n=e.ownerDocument||document,i=n&&n.defaultView||window;if(i.getSelection){var r=i.getSelection(),o=e.textContent.length,a=Math.min(t.start,o),s=void 0===t.end?a:Math.min(t.end,o);if(!r.extend&&a>s){var c=s;s=a,a=c}var l=Yo(e,a),u=Yo(e,s);if(l&&u){if(1===r.rangeCount&&r.anchorNode===l.node&&r.anchorOffset===l.offset&&r.focusNode===u.node&&r.focusOffset===u.offset)return;var p=n.createRange();p.setStart(l.node,l.offset),r.removeAllRanges(),a>s?(r.addRange(p),r.extend(u.node,u.offset)):(p.setEnd(u.node,u.offset),r.addRange(p))}}}(t,n));for(var c=[],l=a;l=l.parentNode;)1===l.nodeType&&c.push({element:l,left:l.scrollLeft,top:l.scrollTop});"function"==typeof a.focus&&a.focus();for(var u=0;u children.")))})),null==n.selected||ha||(Ei(!1,"Use the `defaultValue` or `value` props on must be a scalar value if `multiple` is false.%s",n,ba())}}}(t),n._wrapperState={wasMultiple:!!t.multiple},void 0===t.value||void 0===t.defaultValue||ma||(Ei(!1,"Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://fb.me/react-controlled-components"),ma=!0)}var Aa=!1;function xa(e,t){var n=e;return function(){if(null!=t.dangerouslySetInnerHTML)throw s(Error("`dangerouslySetInnerHTML` does not make sense on