UNPKG

oxygen-core

Version:

Oxygen game engine (Xenon Core for browsers)

1 lines 577 kB
var OxygenCore=function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=116)}([function(t,e,n){var i=n(3),r=n(9),o=n(14),s=n(11),a=n(21),c=function(t,e,n){var l,h,u,m,p=t&c.F,_=t&c.G,f=t&c.S,y=t&c.P,d=t&c.B,g=_?i:f?i[e]||(i[e]={}):(i[e]||{}).prototype,x=_?r:r[e]||(r[e]={}),v=x.prototype||(x.prototype={});for(l in _&&(n=e),n)u=((h=!p&&g&&void 0!==g[l])?g:n)[l],m=d&&h?a(u,i):y&&"function"==typeof u?a(Function.call,u):u,g&&s(g,l,u,t&c.U),x[l]!=u&&o(x,l,m),y&&v[l]!=u&&(v[l]=u)};i.core=r,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e,n){"use strict";n.r(e),n.d(e,"Box2D",function(){return o});var i=n(44);for(var r in i)["Box2D","default"].indexOf(r)<0&&function(t){n.d(e,t,function(){return i[t]})}(r);const o=i.Box2D;e.default={...i,...i.Box2D}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var i=n(4);t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var i=n(59)("wks"),r=n(30),o=n(3).Symbol,s="function"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)("Symbol."+t))}).store=i},function(t,e,n){var i=n(5),r=n(83),o=n(27),s=Object.defineProperty;e.f=n(8)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){t.exports=!n(2)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){var n=t.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},function(t,e,n){var i=n(25),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(3),r=n(14),o=n(13),s=n(30)("src"),a=Function.toString,c=(""+a).split("toString");n(9).inspectSource=function(t){return a.call(t)},(t.exports=function(t,e,n,a){var l="function"==typeof n;l&&(o(n,"name")||r(n,"name",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?""+t[e]:c.join(String(e)))),t===i?t[e]=n:a?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[s]||a.call(this)})},function(t,e,n){var i=n(0),r=n(2),o=n(24),s=/"/g,a=function(t,e,n,i){var r=String(o(t)),a="<"+e;return""!==n&&(a+=" "+n+'="'+String(i).replace(s,"&quot;")+'"'),a+">"+r+"</"+e+">"};t.exports=function(t,e){var n={};n[t]=e(a),i(i.P+i.F*r(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(7),r=n(29);t.exports=n(8)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(45),r=n(24);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(24);t.exports=function(t){return Object(i(t))}},function(t,e,n){"use strict";var i=n(2);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var i=n(46),r=n(29),o=n(15),s=n(27),a=n(13),c=n(83),l=Object.getOwnPropertyDescriptor;e.f=n(8)?l:function(t,e){if(t=o(t),e=s(e,!0),c)try{return l(t,e)}catch(t){}if(a(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(0),r=n(9),o=n(2);t.exports=function(t,e){var n=(r.Object||{})[t]||Object[t],s={};s[t]=e(n),i(i.S+i.F*o(function(){n(1)}),"Object",s)}},function(t,e,n){var i=n(21),r=n(45),o=n(16),s=n(10),a=n(211);t.exports=function(t,e){var n=1==t,c=2==t,l=3==t,h=4==t,u=6==t,m=5==t||u,p=e||a;return function(e,a,_){for(var f,y,d=o(e),g=r(d),x=i(a,_,3),v=s(g.length),b=0,w=n?p(e,v):c?p(e,0):void 0;v>b;b++)if((m||b in g)&&(y=x(f=g[b],b,d),t))if(n)w[b]=y;else if(y)switch(t){case 3:return!0;case 5:return f;case 6:return b;case 2:w.push(f)}else if(h)return!1;return u?-1:l||h?h:w}}},function(t,e,n){var i=n(22);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){"use strict";if(n(8)){var i=n(31),r=n(3),o=n(2),s=n(0),a=n(57),c=n(82),l=n(21),h=n(41),u=n(29),m=n(14),p=n(42),_=n(25),f=n(10),y=n(108),d=n(33),g=n(27),x=n(13),v=n(49),b=n(4),w=n(16),A=n(75),S=n(34),C=n(36),M=n(35).f,E=n(77),T=n(30),D=n(6),B=n(20),P=n(47),I=n(54),R=n(79),V=n(38),L=n(51),F=n(40),G=n(78),O=n(100),N=n(7),U=n(18),J=N.f,k=U.f,z=r.RangeError,j=r.TypeError,W=r.Uint8Array,$=Array.prototype,q=c.ArrayBuffer,K=c.DataView,X=B(0),H=B(2),Y=B(3),Z=B(4),Q=B(5),tt=B(6),et=P(!0),nt=P(!1),it=R.values,rt=R.keys,ot=R.entries,st=$.lastIndexOf,at=$.reduce,ct=$.reduceRight,lt=$.join,ht=$.sort,ut=$.slice,mt=$.toString,pt=$.toLocaleString,_t=D("iterator"),ft=D("toStringTag"),yt=T("typed_constructor"),dt=T("def_constructor"),gt=a.CONSTR,xt=a.TYPED,vt=a.VIEW,bt=B(1,function(t,e){return Mt(I(t,t[dt]),e)}),wt=o(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),At=!!W&&!!W.prototype.set&&o(function(){new W(1).set({})}),St=function(t,e){var n=_(t);if(n<0||n%e)throw z("Wrong offset!");return n},Ct=function(t){if(b(t)&&xt in t)return t;throw j(t+" is not a typed array!")},Mt=function(t,e){if(!(b(t)&&yt in t))throw j("It is not a typed array constructor!");return new t(e)},Et=function(t,e){return Tt(I(t,t[dt]),e)},Tt=function(t,e){for(var n=0,i=e.length,r=Mt(t,i);i>n;)r[n]=e[n++];return r},Dt=function(t,e,n){J(t,e,{get:function(){return this._d[n]}})},Bt=function(t){var e,n,i,r,o,s,a=w(t),c=arguments.length,h=c>1?arguments[1]:void 0,u=void 0!==h,m=E(a);if(void 0!=m&&!A(m)){for(s=m.call(a),i=[],e=0;!(o=s.next()).done;e++)i.push(o.value);a=i}for(u&&c>2&&(h=l(h,arguments[2],2)),e=0,n=f(a.length),r=Mt(this,n);n>e;e++)r[e]=u?h(a[e],e):a[e];return r},Pt=function(){for(var t=0,e=arguments.length,n=Mt(this,e);e>t;)n[t]=arguments[t++];return n},It=!!W&&o(function(){pt.call(new W(1))}),Rt=function(){return pt.apply(It?ut.call(Ct(this)):Ct(this),arguments)},Vt={copyWithin:function(t,e){return O.call(Ct(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return Z(Ct(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return G.apply(Ct(this),arguments)},filter:function(t){return Et(this,H(Ct(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(Ct(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Ct(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){X(Ct(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(Ct(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(Ct(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return lt.apply(Ct(this),arguments)},lastIndexOf:function(t){return st.apply(Ct(this),arguments)},map:function(t){return bt(Ct(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return at.apply(Ct(this),arguments)},reduceRight:function(t){return ct.apply(Ct(this),arguments)},reverse:function(){for(var t,e=Ct(this).length,n=Math.floor(e/2),i=0;i<n;)t=this[i],this[i++]=this[--e],this[e]=t;return this},some:function(t){return Y(Ct(this),t,arguments.length>1?arguments[1]:void 0)},sort:function(t){return ht.call(Ct(this),t)},subarray:function(t,e){var n=Ct(this),i=n.length,r=d(t,i);return new(I(n,n[dt]))(n.buffer,n.byteOffset+r*n.BYTES_PER_ELEMENT,f((void 0===e?i:d(e,i))-r))}},Lt=function(t,e){return Et(this,ut.call(Ct(this),t,e))},Ft=function(t){Ct(this);var e=St(arguments[1],1),n=this.length,i=w(t),r=f(i.length),o=0;if(r+e>n)throw z("Wrong length!");for(;o<r;)this[e+o]=i[o++]},Gt={entries:function(){return ot.call(Ct(this))},keys:function(){return rt.call(Ct(this))},values:function(){return it.call(Ct(this))}},Ot=function(t,e){return b(t)&&t[xt]&&"symbol"!=typeof e&&e in t&&String(+e)==String(e)},Nt=function(t,e){return Ot(t,e=g(e,!0))?u(2,t[e]):k(t,e)},Ut=function(t,e,n){return!(Ot(t,e=g(e,!0))&&b(n)&&x(n,"value"))||x(n,"get")||x(n,"set")||n.configurable||x(n,"writable")&&!n.writable||x(n,"enumerable")&&!n.enumerable?J(t,e,n):(t[e]=n.value,t)};gt||(U.f=Nt,N.f=Ut),s(s.S+s.F*!gt,"Object",{getOwnPropertyDescriptor:Nt,defineProperty:Ut}),o(function(){mt.call({})})&&(mt=pt=function(){return lt.call(this)});var Jt=p({},Vt);p(Jt,Gt),m(Jt,_t,Gt.values),p(Jt,{slice:Lt,set:Ft,constructor:function(){},toString:mt,toLocaleString:Rt}),Dt(Jt,"buffer","b"),Dt(Jt,"byteOffset","o"),Dt(Jt,"byteLength","l"),Dt(Jt,"length","e"),J(Jt,ft,{get:function(){return this[xt]}}),t.exports=function(t,e,n,c){var l=t+((c=!!c)?"Clamped":"")+"Array",u="get"+t,p="set"+t,_=r[l],d=_||{},g=_&&C(_),x=!_||!a.ABV,w={},A=_&&_.prototype,E=function(t,n){J(t,n,{get:function(){return function(t,n){var i=t._d;return i.v[u](n*e+i.o,wt)}(this,n)},set:function(t){return function(t,n,i){var r=t._d;c&&(i=(i=Math.round(i))<0?0:i>255?255:255&i),r.v[p](n*e+r.o,i,wt)}(this,n,t)},enumerable:!0})};x?(_=n(function(t,n,i,r){h(t,_,l,"_d");var o,s,a,c,u=0,p=0;if(b(n)){if(!(n instanceof q||"ArrayBuffer"==(c=v(n))||"SharedArrayBuffer"==c))return xt in n?Tt(_,n):Bt.call(_,n);o=n,p=St(i,e);var d=n.byteLength;if(void 0===r){if(d%e)throw z("Wrong length!");if((s=d-p)<0)throw z("Wrong length!")}else if((s=f(r)*e)+p>d)throw z("Wrong length!");a=s/e}else a=y(n),o=new q(s=a*e);for(m(t,"_d",{b:o,o:p,l:s,e:a,v:new K(o)});u<a;)E(t,u++)}),A=_.prototype=S(Jt),m(A,"constructor",_)):o(function(){_(1)})&&o(function(){new _(-1)})&&L(function(t){new _,new _(null),new _(1.5),new _(t)},!0)||(_=n(function(t,n,i,r){var o;return h(t,_,l),b(n)?n instanceof q||"ArrayBuffer"==(o=v(n))||"SharedArrayBuffer"==o?void 0!==r?new d(n,St(i,e),r):void 0!==i?new d(n,St(i,e)):new d(n):xt in n?Tt(_,n):Bt.call(_,n):new d(y(n))}),X(g!==Function.prototype?M(d).concat(M(g)):M(d),function(t){t in _||m(_,t,d[t])}),_.prototype=A,i||(A.constructor=_));var T=A[_t],D=!!T&&("values"==T.name||void 0==T.name),B=Gt.values;m(_,yt,!0),m(A,xt,l),m(A,vt,!0),m(A,dt,_),(c?new _(1)[ft]==l:ft in A)||J(A,ft,{get:function(){return l}}),w[l]=_,s(s.G+s.W+s.F*(_!=d),w),s(s.S,l,{BYTES_PER_ELEMENT:e}),s(s.S+s.F*o(function(){d.of.call(_,1)}),l,{from:Bt,of:Pt}),"BYTES_PER_ELEMENT"in A||m(A,"BYTES_PER_ELEMENT",e),s(s.P,l,Vt),F(l),s(s.P+s.F*At,l,{set:Ft}),s(s.P+s.F*!D,l,Gt),i||A.toString==mt||(A.toString=mt),s(s.P+s.F*o(function(){new _(1).slice()}),l,{slice:Lt}),s(s.P+s.F*(o(function(){return[1,2].toLocaleString()!=new _([1,2]).toLocaleString()})||!o(function(){A.toLocaleString.call([1,2])})),l,{toLocaleString:Rt}),V[l]=D?T:B,i||D||m(A,_t,B)}}else t.exports=function(){}},function(t,e,n){var i=n(4);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var i=n(30)("meta"),r=n(4),o=n(13),s=n(7).f,a=0,c=Object.isExtensible||function(){return!0},l=!n(2)(function(){return c(Object.preventExtensions({}))}),h=function(t){s(t,i,{value:{i:"O"+ ++a,w:{}}})},u=t.exports={KEY:i,NEED:!1,fastKey:function(t,e){if(!r(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,i)){if(!c(t))return"F";if(!e)return"E";h(t)}return t[i].i},getWeak:function(t,e){if(!o(t,i)){if(!c(t))return!0;if(!e)return!1;h(t)}return t[i].w},onFreeze:function(t){return l&&u.NEED&&c(t)&&!o(t,i)&&h(t),t}}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+i).toString(36))}},function(t,e){t.exports=!1},function(t,e,n){var i=n(85),r=n(62);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e,n){var i=n(25),r=Math.max,o=Math.min;t.exports=function(t,e){return(t=i(t))<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(5),r=n(86),o=n(62),s=n(61)("IE_PROTO"),a=function(){},c=function(){var t,e=n(58)("iframe"),i=o.length;for(e.style.display="none",n(64).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),c=t.F;i--;)delete c.prototype[o[i]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(a.prototype=i(t),n=new a,a.prototype=null,n[s]=t):n=c(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(85),r=n(62).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e,n){var i=n(13),r=n(16),o=n(61)("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e,n){var i=n(7).f,r=n(13),o=n(6)("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e){t.exports={}},function(t,e,n){var i=n(6)("unscopables"),r=Array.prototype;void 0==r[i]&&n(14)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){"use strict";var i=n(3),r=n(7),o=n(8),s=n(6)("species");t.exports=function(t){var e=i[t];o&&e&&!e[s]&&r.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=function(t,e,n,i){if(!(t instanceof e)||void 0!==i&&i in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var i=n(11);t.exports=function(t,e,n){for(var r in e)i(t,r,e[r],n);return t}},function(t,e,n){var i=n(4);t.exports=function(t,e){if(!i(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e){var n={};!function(t,e){function n(){}!Object.defineProperty&&Object.prototype.__defineGetter__ instanceof Function&&Object.prototype.__defineSetter__ instanceof Function&&(Object.defineProperty=function(t,e,n){n.get instanceof Function&&t.__defineGetter__(e,n.get),n.set instanceof Function&&t.__defineSetter__(e,n.set)}),t.inherit=function(t,e){var i=t;n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=i},t.generateCallback=function(t,e){return function(){e.apply(t,arguments)}},t.NVector=function(t){void 0===t&&(t=0);for(var e=new Array(t||0),n=0;n<t;++n)e[n]=0;return e},t.is=function(t,e){return null!==t&&(e instanceof Function&&t instanceof e||!(void 0==t.constructor.__implements||!t.constructor.__implements[e]))},t.parseUInt=function(t){return Math.abs(parseInt(t))}}(n);var i,r=Array,o=n.NVector;for(void 0===n&&(n={}),void 0===n.Collision&&(n.Collision={}),void 0===n.Collision.Shapes&&(n.Collision.Shapes={}),void 0===n.Common&&(n.Common={}),void 0===n.Common.Math&&(n.Common.Math={}),void 0===n.Dynamics&&(n.Dynamics={}),void 0===n.Dynamics.Contacts&&(n.Dynamics.Contacts={}),void 0===n.Dynamics.Controllers&&(n.Dynamics.Controllers={}),void 0===n.Dynamics.Joints&&(n.Dynamics.Joints={}),function(){n.Collision.IBroadPhase="Box2D.Collision.IBroadPhase",n.Collision.b2AABB=function t(){t.b2AABB.apply(this,arguments)},n.Collision.b2Bound=function t(){t.b2Bound.apply(this,arguments)},n.Collision.b2BoundValues=function t(){t.b2BoundValues.apply(this,arguments),this.constructor===t&&this.b2BoundValues.apply(this,arguments)},n.Collision.b2Collision=function t(){t.b2Collision.apply(this,arguments)},n.Collision.b2ContactID=function t(){t.b2ContactID.apply(this,arguments),this.constructor===t&&this.b2ContactID.apply(this,arguments)},n.Collision.b2ContactPoint=function t(){t.b2ContactPoint.apply(this,arguments)},n.Collision.b2Distance=function t(){t.b2Distance.apply(this,arguments)},n.Collision.b2DistanceInput=function t(){t.b2DistanceInput.apply(this,arguments)},n.Collision.b2DistanceOutput=function t(){t.b2DistanceOutput.apply(this,arguments)},n.Collision.b2DistanceProxy=function t(){t.b2DistanceProxy.apply(this,arguments)},n.Collision.b2DynamicTree=function t(){t.b2DynamicTree.apply(this,arguments),this.constructor===t&&this.b2DynamicTree.apply(this,arguments)},n.Collision.b2DynamicTreeBroadPhase=function t(){t.b2DynamicTreeBroadPhase.apply(this,arguments)},n.Collision.b2DynamicTreeNode=function t(){t.b2DynamicTreeNode.apply(this,arguments)},n.Collision.b2DynamicTreePair=function t(){t.b2DynamicTreePair.apply(this,arguments)},n.Collision.b2Manifold=function t(){t.b2Manifold.apply(this,arguments),this.constructor===t&&this.b2Manifold.apply(this,arguments)},n.Collision.b2ManifoldPoint=function t(){t.b2ManifoldPoint.apply(this,arguments),this.constructor===t&&this.b2ManifoldPoint.apply(this,arguments)},n.Collision.b2Point=function t(){t.b2Point.apply(this,arguments)},n.Collision.b2RayCastInput=function t(){t.b2RayCastInput.apply(this,arguments),this.constructor===t&&this.b2RayCastInput.apply(this,arguments)},n.Collision.b2RayCastOutput=function t(){t.b2RayCastOutput.apply(this,arguments)},n.Collision.b2Segment=function t(){t.b2Segment.apply(this,arguments)},n.Collision.b2SeparationFunction=function t(){t.b2SeparationFunction.apply(this,arguments)},n.Collision.b2Simplex=function t(){t.b2Simplex.apply(this,arguments),this.constructor===t&&this.b2Simplex.apply(this,arguments)},n.Collision.b2SimplexCache=function t(){t.b2SimplexCache.apply(this,arguments)},n.Collision.b2SimplexVertex=function t(){t.b2SimplexVertex.apply(this,arguments)},n.Collision.b2TimeOfImpact=function t(){t.b2TimeOfImpact.apply(this,arguments)},n.Collision.b2TOIInput=function t(){t.b2TOIInput.apply(this,arguments)},n.Collision.b2WorldManifold=function t(){t.b2WorldManifold.apply(this,arguments),this.constructor===t&&this.b2WorldManifold.apply(this,arguments)},n.Collision.ClipVertex=function t(){t.ClipVertex.apply(this,arguments)},n.Collision.Features=function t(){t.Features.apply(this,arguments)},n.Collision.Shapes.b2CircleShape=function t(){t.b2CircleShape.apply(this,arguments),this.constructor===t&&this.b2CircleShape.apply(this,arguments)},n.Collision.Shapes.b2EdgeChainDef=function t(){t.b2EdgeChainDef.apply(this,arguments),this.constructor===t&&this.b2EdgeChainDef.apply(this,arguments)},n.Collision.Shapes.b2EdgeShape=function t(){t.b2EdgeShape.apply(this,arguments),this.constructor===t&&this.b2EdgeShape.apply(this,arguments)},n.Collision.Shapes.b2MassData=function t(){t.b2MassData.apply(this,arguments)},n.Collision.Shapes.b2PolygonShape=function t(){t.b2PolygonShape.apply(this,arguments),this.constructor===t&&this.b2PolygonShape.apply(this,arguments)},n.Collision.Shapes.b2Shape=function t(){t.b2Shape.apply(this,arguments),this.constructor===t&&this.b2Shape.apply(this,arguments)},n.Common.b2internal="Box2D.Common.b2internal",n.Common.b2Color=function t(){t.b2Color.apply(this,arguments),this.constructor===t&&this.b2Color.apply(this,arguments)},n.Common.b2Settings=function t(){t.b2Settings.apply(this,arguments)},n.Common.Math.b2Mat22=function t(){t.b2Mat22.apply(this,arguments),this.constructor===t&&this.b2Mat22.apply(this,arguments)},n.Common.Math.b2Mat33=function t(){t.b2Mat33.apply(this,arguments),this.constructor===t&&this.b2Mat33.apply(this,arguments)},n.Common.Math.b2Math=function t(){t.b2Math.apply(this,arguments)},n.Common.Math.b2Sweep=function t(){t.b2Sweep.apply(this,arguments)},n.Common.Math.b2Transform=function t(){t.b2Transform.apply(this,arguments),this.constructor===t&&this.b2Transform.apply(this,arguments)},n.Common.Math.b2Vec2=function t(){t.b2Vec2.apply(this,arguments),this.constructor===t&&this.b2Vec2.apply(this,arguments)},n.Common.Math.b2Vec3=function t(){t.b2Vec3.apply(this,arguments),this.constructor===t&&this.b2Vec3.apply(this,arguments)},n.Dynamics.b2Body=function t(){t.b2Body.apply(this,arguments),this.constructor===t&&this.b2Body.apply(this,arguments)},n.Dynamics.b2BodyDef=function t(){t.b2BodyDef.apply(this,arguments),this.constructor===t&&this.b2BodyDef.apply(this,arguments)},n.Dynamics.b2ContactFilter=function t(){t.b2ContactFilter.apply(this,arguments)},n.Dynamics.b2ContactImpulse=function t(){t.b2ContactImpulse.apply(this,arguments)},n.Dynamics.b2ContactListener=function t(){t.b2ContactListener.apply(this,arguments)},n.Dynamics.b2ContactManager=function t(){t.b2ContactManager.apply(this,arguments),this.constructor===t&&this.b2ContactManager.apply(this,arguments)},n.Dynamics.b2DebugDraw=function t(){t.b2DebugDraw.apply(this,arguments),this.constructor===t&&this.b2DebugDraw.apply(this,arguments)},n.Dynamics.b2DestructionListener=function t(){t.b2DestructionListener.apply(this,arguments)},n.Dynamics.b2FilterData=function t(){t.b2FilterData.apply(this,arguments)},n.Dynamics.b2Fixture=function t(){t.b2Fixture.apply(this,arguments),this.constructor===t&&this.b2Fixture.apply(this,arguments)},n.Dynamics.b2FixtureDef=function t(){t.b2FixtureDef.apply(this,arguments),this.constructor===t&&this.b2FixtureDef.apply(this,arguments)},n.Dynamics.b2Island=function t(){t.b2Island.apply(this,arguments),this.constructor===t&&this.b2Island.apply(this,arguments)},n.Dynamics.b2TimeStep=function t(){t.b2TimeStep.apply(this,arguments)},n.Dynamics.b2World=function t(){t.b2World.apply(this,arguments),this.constructor===t&&this.b2World.apply(this,arguments)},n.Dynamics.Contacts.b2CircleContact=function t(){t.b2CircleContact.apply(this,arguments)},n.Dynamics.Contacts.b2Contact=function t(){t.b2Contact.apply(this,arguments),this.constructor===t&&this.b2Contact.apply(this,arguments)},n.Dynamics.Contacts.b2ContactConstraint=function t(){t.b2ContactConstraint.apply(this,arguments),this.constructor===t&&this.b2ContactConstraint.apply(this,arguments)},n.Dynamics.Contacts.b2ContactConstraintPoint=function t(){t.b2ContactConstraintPoint.apply(this,arguments)},n.Dynamics.Contacts.b2ContactEdge=function t(){t.b2ContactEdge.apply(this,arguments)},n.Dynamics.Contacts.b2ContactFactory=function t(){t.b2ContactFactory.apply(this,arguments),this.constructor===t&&this.b2ContactFactory.apply(this,arguments)},n.Dynamics.Contacts.b2ContactRegister=function t(){t.b2ContactRegister.apply(this,arguments)},n.Dynamics.Contacts.b2ContactResult=function t(){t.b2ContactResult.apply(this,arguments)},n.Dynamics.Contacts.b2ContactSolver=function t(){t.b2ContactSolver.apply(this,arguments),this.constructor===t&&this.b2ContactSolver.apply(this,arguments)},n.Dynamics.Contacts.b2EdgeAndCircleContact=function t(){t.b2EdgeAndCircleContact.apply(this,arguments)},n.Dynamics.Contacts.b2NullContact=function t(){t.b2NullContact.apply(this,arguments),this.constructor===t&&this.b2NullContact.apply(this,arguments)},n.Dynamics.Contacts.b2PolyAndCircleContact=function t(){t.b2PolyAndCircleContact.apply(this,arguments)},n.Dynamics.Contacts.b2PolyAndEdgeContact=function t(){t.b2PolyAndEdgeContact.apply(this,arguments)},n.Dynamics.Contacts.b2PolygonContact=function t(){t.b2PolygonContact.apply(this,arguments)},n.Dynamics.Contacts.b2PositionSolverManifold=function t(){t.b2PositionSolverManifold.apply(this,arguments),this.constructor===t&&this.b2PositionSolverManifold.apply(this,arguments)},n.Dynamics.Controllers.b2BuoyancyController=function t(){t.b2BuoyancyController.apply(this,arguments)},n.Dynamics.Controllers.b2ConstantAccelController=function t(){t.b2ConstantAccelController.apply(this,arguments)},n.Dynamics.Controllers.b2ConstantForceController=function t(){t.b2ConstantForceController.apply(this,arguments)},n.Dynamics.Controllers.b2Controller=function t(){t.b2Controller.apply(this,arguments)},n.Dynamics.Controllers.b2ControllerEdge=function t(){t.b2ControllerEdge.apply(this,arguments)},n.Dynamics.Controllers.b2GravityController=function t(){t.b2GravityController.apply(this,arguments)},n.Dynamics.Controllers.b2TensorDampingController=function t(){t.b2TensorDampingController.apply(this,arguments)},n.Dynamics.Joints.b2DistanceJoint=function t(){t.b2DistanceJoint.apply(this,arguments),this.constructor===t&&this.b2DistanceJoint.apply(this,arguments)},n.Dynamics.Joints.b2DistanceJointDef=function t(){t.b2DistanceJointDef.apply(this,arguments),this.constructor===t&&this.b2DistanceJointDef.apply(this,arguments)},n.Dynamics.Joints.b2FrictionJoint=function t(){t.b2FrictionJoint.apply(this,arguments),this.constructor===t&&this.b2FrictionJoint.apply(this,arguments)},n.Dynamics.Joints.b2FrictionJointDef=function t(){t.b2FrictionJointDef.apply(this,arguments),this.constructor===t&&this.b2FrictionJointDef.apply(this,arguments)},n.Dynamics.Joints.b2GearJoint=function t(){t.b2GearJoint.apply(this,arguments),this.constructor===t&&this.b2GearJoint.apply(this,arguments)},n.Dynamics.Joints.b2GearJointDef=function t(){t.b2GearJointDef.apply(this,arguments),this.constructor===t&&this.b2GearJointDef.apply(this,arguments)},n.Dynamics.Joints.b2Jacobian=function t(){t.b2Jacobian.apply(this,arguments)},n.Dynamics.Joints.b2Joint=function t(){t.b2Joint.apply(this,arguments),this.constructor===t&&this.b2Joint.apply(this,arguments)},n.Dynamics.Joints.b2JointDef=function t(){t.b2JointDef.apply(this,arguments),this.constructor===t&&this.b2JointDef.apply(this,arguments)},n.Dynamics.Joints.b2JointEdge=function t(){t.b2JointEdge.apply(this,arguments)},n.Dynamics.Joints.b2LineJoint=function t(){t.b2LineJoint.apply(this,arguments),this.constructor===t&&this.b2LineJoint.apply(this,arguments)},n.Dynamics.Joints.b2LineJointDef=function t(){t.b2LineJointDef.apply(this,arguments),this.constructor===t&&this.b2LineJointDef.apply(this,arguments)},n.Dynamics.Joints.b2MouseJoint=function t(){t.b2MouseJoint.apply(this,arguments),this.constructor===t&&this.b2MouseJoint.apply(this,arguments)},n.Dynamics.Joints.b2MouseJointDef=function t(){t.b2MouseJointDef.apply(this,arguments),this.constructor===t&&this.b2MouseJointDef.apply(this,arguments)},n.Dynamics.Joints.b2PrismaticJoint=function t(){t.b2PrismaticJoint.apply(this,arguments),this.constructor===t&&this.b2PrismaticJoint.apply(this,arguments)},n.Dynamics.Joints.b2PrismaticJointDef=function t(){t.b2PrismaticJointDef.apply(this,arguments),this.constructor===t&&this.b2PrismaticJointDef.apply(this,arguments)},n.Dynamics.Joints.b2PulleyJoint=function t(){t.b2PulleyJoint.apply(this,arguments),this.constructor===t&&this.b2PulleyJoint.apply(this,arguments)},n.Dynamics.Joints.b2PulleyJointDef=function t(){t.b2PulleyJointDef.apply(this,arguments),this.constructor===t&&this.b2PulleyJointDef.apply(this,arguments)},n.Dynamics.Joints.b2RevoluteJoint=function t(){t.b2RevoluteJoint.apply(this,arguments),this.constructor===t&&this.b2RevoluteJoint.apply(this,arguments)},n.Dynamics.Joints.b2RevoluteJointDef=function t(){t.b2RevoluteJointDef.apply(this,arguments),this.constructor===t&&this.b2RevoluteJointDef.apply(this,arguments)},n.Dynamics.Joints.b2WeldJoint=function t(){t.b2WeldJoint.apply(this,arguments),this.constructor===t&&this.b2WeldJoint.apply(this,arguments)},n.Dynamics.Joints.b2WeldJointDef=function t(){t.b2WeldJointDef.apply(this,arguments),this.constructor===t&&this.b2WeldJointDef.apply(this,arguments)}}(),n.postDefs=[],function(){var t=n.Collision.Shapes.b2CircleShape,e=(n.Collision.Shapes.b2EdgeChainDef,n.Collision.Shapes.b2EdgeShape,n.Collision.Shapes.b2MassData,n.Collision.Shapes.b2PolygonShape),i=n.Collision.Shapes.b2Shape,s=(n.Common.b2Color,n.Common.b2internal,n.Common.b2Settings),a=(n.Common.Math.b2Mat22,n.Common.Math.b2Mat33,n.Common.Math.b2Math),c=n.Common.Math.b2Sweep,l=n.Common.Math.b2Transform,h=n.Common.Math.b2Vec2,u=(n.Common.Math.b2Vec3,n.Collision.b2AABB),m=n.Collision.b2Bound,p=n.Collision.b2BoundValues,_=n.Collision.b2Collision,f=n.Collision.b2ContactID,y=n.Collision.b2ContactPoint,d=n.Collision.b2Distance,g=n.Collision.b2DistanceInput,x=n.Collision.b2DistanceOutput,v=n.Collision.b2DistanceProxy,b=n.Collision.b2DynamicTree,w=n.Collision.b2DynamicTreeBroadPhase,A=n.Collision.b2DynamicTreeNode,S=n.Collision.b2DynamicTreePair,C=n.Collision.b2Manifold,M=n.Collision.b2ManifoldPoint,E=n.Collision.b2Point,T=n.Collision.b2RayCastInput,D=n.Collision.b2RayCastOutput,B=n.Collision.b2Segment,P=n.Collision.b2SeparationFunction,I=n.Collision.b2Simplex,R=n.Collision.b2SimplexCache,V=n.Collision.b2SimplexVertex,L=n.Collision.b2TimeOfImpact,F=n.Collision.b2TOIInput,G=n.Collision.b2WorldManifold,O=n.Collision.ClipVertex,N=n.Collision.Features,U=n.Collision.IBroadPhase;u.b2AABB=function(){this.lowerBound=new h,this.upperBound=new h},u.prototype.IsValid=function(){var t=this.upperBound.x-this.lowerBound.x,e=this.upperBound.y-this.lowerBound.y,n=t>=0&&e>=0;return n=n&&this.lowerBound.IsValid()&&this.upperBound.IsValid()},u.prototype.GetCenter=function(){return new h((this.lowerBound.x+this.upperBound.x)/2,(this.lowerBound.y+this.upperBound.y)/2)},u.prototype.GetExtents=function(){return new h((this.upperBound.x-this.lowerBound.x)/2,(this.upperBound.y-this.lowerBound.y)/2)},u.prototype.Contains=function(t){var e=!0;return e=(e=(e=(e=e&&this.lowerBound.x<=t.lowerBound.x)&&this.lowerBound.y<=t.lowerBound.y)&&t.upperBound.x<=this.upperBound.x)&&t.upperBound.y<=this.upperBound.y},u.prototype.RayCast=function(t,e){var n=-Number.MAX_VALUE,i=Number.MAX_VALUE,r=e.p1.x,o=e.p1.y,s=e.p2.x-e.p1.x,a=e.p2.y-e.p1.y,c=Math.abs(s),l=Math.abs(a),h=t.normal,u=0,m=0,p=0,_=0,f=0;if(c<Number.MIN_VALUE){if(r<this.lowerBound.x||this.upperBound.x<r)return!1}else if(u=1/s,f=-1,(m=(this.lowerBound.x-r)*u)>(p=(this.upperBound.x-r)*u)&&(_=m,m=p,p=_,f=1),m>n&&(h.x=f,h.y=0,n=m),n>(i=Math.min(i,p)))return!1;if(l<Number.MIN_VALUE){if(o<this.lowerBound.y||this.upperBound.y<o)return!1}else if(u=1/a,f=-1,(m=(this.lowerBound.y-o)*u)>(p=(this.upperBound.y-o)*u)&&(_=m,m=p,p=_,f=1),m>n&&(h.y=f,h.x=0,n=m),n>(i=Math.min(i,p)))return!1;return t.fraction=n,!0},u.prototype.TestOverlap=function(t){var e=t.lowerBound.x-this.upperBound.x,n=t.lowerBound.y-this.upperBound.y,i=this.lowerBound.x-t.upperBound.x,r=this.lowerBound.y-t.upperBound.y;return!(e>0||n>0)&&!(i>0||r>0)},u.Combine=function(t,e){var n=new u;return n.Combine(t,e),n},u.prototype.Combine=function(t,e){this.lowerBound.x=Math.min(t.lowerBound.x,e.lowerBound.x),this.lowerBound.y=Math.min(t.lowerBound.y,e.lowerBound.y),this.upperBound.x=Math.max(t.upperBound.x,e.upperBound.x),this.upperBound.y=Math.max(t.upperBound.y,e.upperBound.y)},m.b2Bound=function(){},m.prototype.IsLower=function(){return 0==(1&this.value)},m.prototype.IsUpper=function(){return 1==(1&this.value)},m.prototype.Swap=function(t){var e=this.value,n=this.proxy,i=this.stabbingCount;this.value=t.value,this.proxy=t.proxy,this.stabbingCount=t.stabbingCount,t.value=e,t.proxy=n,t.stabbingCount=i},p.b2BoundValues=function(){},p.prototype.b2BoundValues=function(){this.lowerValues=new o,this.lowerValues[0]=0,this.lowerValues[1]=0,this.upperValues=new o,this.upperValues[0]=0,this.upperValues[1]=0},_.b2Collision=function(){},_.ClipSegmentToLine=function(t,e,n,i){var r;void 0===i&&(i=0);var o=0,s=(r=e[0]).v,a=(r=e[1]).v,c=n.x*s.x+n.y*s.y-i,l=n.x*a.x+n.y*a.y-i;if(c<=0&&t[o++].Set(e[0]),l<=0&&t[o++].Set(e[1]),c*l<0){var h,u=c/(c-l),m=(r=t[o]).v;m.x=s.x+u*(a.x-s.x),m.y=s.y+u*(a.y-s.y),r=t[o],c>0?(h=e[0],r.id=h.id):(h=e[1],r.id=h.id),++o}return o},_.EdgeSeparation=function(t,e,n,i,r){void 0===n&&(n=0);parseInt(t.m_vertexCount);var o,s,a=t.m_vertices,c=t.m_normals,l=parseInt(i.m_vertexCount),h=i.m_vertices;o=e.R,s=c[n];for(var u=o.col1.x*s.x+o.col2.x*s.y,m=o.col1.y*s.x+o.col2.y*s.y,p=(o=r.R).col1.x*u+o.col1.y*m,_=o.col2.x*u+o.col2.y*m,f=0,y=Number.MAX_VALUE,d=0;d<l;++d){var g=(s=h[d]).x*p+s.y*_;g<y&&(y=g,f=d)}s=a[n],o=e.R;var x=e.position.x+(o.col1.x*s.x+o.col2.x*s.y),v=e.position.y+(o.col1.y*s.x+o.col2.y*s.y);s=h[f],o=r.R;var b=r.position.x+(o.col1.x*s.x+o.col2.x*s.y),w=r.position.y+(o.col1.y*s.x+o.col2.y*s.y);return(b-=x)*u+(w-=v)*m},_.FindMaxSeparation=function(t,e,n,i,r){var o,s,a=parseInt(e.m_vertexCount),c=e.m_normals;s=r.R,o=i.m_centroid;var l=r.position.x+(s.col1.x*o.x+s.col2.x*o.y),h=r.position.y+(s.col1.y*o.x+s.col2.y*o.y);s=n.R,o=e.m_centroid,l-=n.position.x+(s.col1.x*o.x+s.col2.x*o.y),h-=n.position.y+(s.col1.y*o.x+s.col2.y*o.y);for(var u=l*n.R.col1.x+h*n.R.col1.y,m=l*n.R.col2.x+h*n.R.col2.y,p=0,f=-Number.MAX_VALUE,y=0;y<a;++y){var d=(o=c[y]).x*u+o.y*m;d>f&&(f=d,p=y)}var g=_.EdgeSeparation(e,n,p,i,r),x=parseInt(p-1>=0?p-1:a-1),v=_.EdgeSeparation(e,n,x,i,r),b=parseInt(p+1<a?p+1:0),w=_.EdgeSeparation(e,n,b,i,r),A=0,S=0,C=0;if(v>g&&v>w)C=-1,A=x,S=v;else{if(!(w>g))return t[0]=p,g;C=1,A=b,S=w}for(;p=-1==C?A-1>=0?A-1:a-1:A+1<a?A+1:0,(g=_.EdgeSeparation(e,n,p,i,r))>S;)A=p,S=g;return t[0]=A,S},_.FindIncidentEdge=function(t,e,n,i,r,o){void 0===i&&(i=0);parseInt(e.m_vertexCount);var s,a,c=e.m_normals,l=parseInt(r.m_vertexCount),h=r.m_vertices,u=r.m_normals;s=n.R,a=c[i];var m=s.col1.x*a.x+s.col2.x*a.y,p=s.col1.y*a.x+s.col2.y*a.y,_=(s=o.R).col1.x*m+s.col1.y*p;p=s.col2.x*m+s.col2.y*p,m=_;for(var f,y=0,d=Number.MAX_VALUE,g=0;g<l;++g){var x=m*(a=u[g]).x+p*a.y;x<d&&(d=x,y=g)}var v=parseInt(y),b=parseInt(v+1<l?v+1:0);f=t[0],a=h[v],s=o.R,f.v.x=o.position.x+(s.col1.x*a.x+s.col2.x*a.y),f.v.y=o.position.y+(s.col1.y*a.x+s.col2.y*a.y),f.id.features.referenceEdge=i,f.id.features.incidentEdge=v,f.id.features.incidentVertex=0,f=t[1],a=h[b],s=o.R,f.v.x=o.position.x+(s.col1.x*a.x+s.col2.x*a.y),f.v.y=o.position.y+(s.col1.y*a.x+s.col2.y*a.y),f.id.features.referenceEdge=i,f.id.features.incidentEdge=b,f.id.features.incidentVertex=1},_.MakeClipPointVector=function(){var t=new r(2);return t[0]=new O,t[1]=new O,t},_.CollidePolygons=function(t,e,n,i,r){var o;t.m_pointCount=0;var a=e.m_radius+i.m_radius,c=0;_.s_edgeAO[0]=c;var l=_.FindMaxSeparation(_.s_edgeAO,e,n,i,r);if(c=_.s_edgeAO[0],!(l>a)){var h=0;_.s_edgeBO[0]=h;var u=_.FindMaxSeparation(_.s_edgeBO,i,r,e,n);if(h=_.s_edgeBO[0],!(u>a)){var m,p,f,y,d,g=0,x=0;u>.98*l+.001?(m=i,p=e,f=r,y=n,g=h,t.m_type=C.e_faceB,x=1):(m=e,p=i,f=n,y=r,g=c,t.m_type=C.e_faceA,x=0);var v=_.s_incidentEdge;_.FindIncidentEdge(v,m,f,g,p,y);var b,w=parseInt(m.m_vertexCount),A=m.m_vertices,S=A[g];b=g+1<w?A[parseInt(g+1)]:A[0];var M=_.s_localTangent;M.Set(b.x-S.x,b.y-S.y),M.Normalize();var E=_.s_localNormal;E.x=M.y,E.y=-M.x;var T=_.s_planePoint;T.Set(.5*(S.x+b.x),.5*(S.y+b.y));var D=_.s_tangent;d=f.R,D.x=d.col1.x*M.x+d.col2.x*M.y,D.y=d.col1.y*M.x+d.col2.y*M.y;var B=_.s_tangent2;B.x=-D.x,B.y=-D.y;var P=_.s_normal;P.x=D.y,P.y=-D.x;var I=_.s_v11,R=_.s_v12;I.x=f.position.x+(d.col1.x*S.x+d.col2.x*S.y),I.y=f.position.y+(d.col1.y*S.x+d.col2.y*S.y),R.x=f.position.x+(d.col1.x*b.x+d.col2.x*b.y),R.y=f.position.y+(d.col1.y*b.x+d.col2.y*b.y);var V=P.x*I.x+P.y*I.y,L=-D.x*I.x-D.y*I.y+a,F=D.x*R.x+D.y*R.y+a,G=_.s_clipPoints1,O=_.s_clipPoints2;if(!(_.ClipSegmentToLine(G,v,B,L)<2||_.ClipSegmentToLine(O,G,D,F)<2)){t.m_localPlaneNormal.SetV(E),t.m_localPoint.SetV(T);for(var N=0,U=0;U<s.b2_maxManifoldPoints;++U){if(o=O[U],P.x*o.v.x+P.y*o.v.y-V<=a){var J=t.m_points[N];d=y.R;var k=o.v.x-y.position.x,z=o.v.y-y.position.y;J.m_localPoint.x=k*d.col1.x+z*d.col1.y,J.m_localPoint.y=k*d.col2.x+z*d.col2.y,J.m_id.Set(o.id),J.m_id.features.flip=x,++N}}t.m_pointCount=N}}}},_.CollideCircles=function(t,e,n,i,r){var o,s;t.m_pointCount=0,o=n.R,s=e.m_p;var a=n.position.x+(o.col1.x*s.x+o.col2.x*s.y),c=n.position.y+(o.col1.y*s.x+o.col2.y*s.y);o=r.R,s=i.m_p;var l=r.position.x+(o.col1.x*s.x+o.col2.x*s.y)-a,h=r.position.y+(o.col1.y*s.x+o.col2.y*s.y)-c,u=l*l+h*h,m=e.m_radius+i.m_radius;u>m*m||(t.m_type=C.e_circles,t.m_localPoint.SetV(e.m_p),t.m_localPlaneNormal.SetZero(),t.m_pointCount=1,t.m_points[0].m_localPoint.SetV(i.m_p),t.m_points[0].m_id.key=0)},_.CollidePolygonAndCircle=function(t,e,n,i,r){t.m_pointCount=0;var o,s,a=0,c=0;s=r.R,o=i.m_p;var l=r.position.x+(s.col1.x*o.x+s.col2.x*o.y),h=r.position.y+(s.col1.y*o.x+s.col2.y*o.y);a=l-n.position.x,c=h-n.position.y;for(var u=a*(s=n.R).col1.x+c*s.col1.y,m=a*s.col2.x+c*s.col2.y,p=0,_=-Number.MAX_VALUE,f=e.m_radius+i.m_radius,y=parseInt(e.m_vertexCount),d=e.m_vertices,g=e.m_normals,x=0;x<y;++x){a=u-(o=d[x]).x,c=m-o.y;var v=(o=g[x]).x*a+o.y*c;if(v>f)return;v>_&&(_=v,p=x)}var b=parseInt(p),w=parseInt(b+1<y?b+1:0),A=d[b],S=d[w];if(_<Number.MIN_VALUE)return t.m_pointCount=1,t.m_type=C.e_faceA,t.m_localPlaneNormal.SetV(g[p]),t.m_localPoint.x=.5*(A.x+S.x),t.m_localPoint.y=.5*(A.y+S.y),t.m_points[0].m_localPoint.SetV(i.m_p),void(t.m_points[0].m_id.key=0);var M=(u-A.x)*(S.x-A.x)+(m-A.y)*(S.y-A.y),E=(u-S.x)*(A.x-S.x)+(m-S.y)*(A.y-S.y);if(M<=0){if((u-A.x)*(u-A.x)+(m-A.y)*(m-A.y)>f*f)return;t.m_pointCount=1,t.m_type=C.e_faceA,t.m_localPlaneNormal.x=u-A.x,t.m_localPlaneNormal.y=m-A.y,t.m_localPlaneNormal.Normalize(),t.m_localPoint.SetV(A),t.m_points[0].m_localPoint.SetV(i.m_p),t.m_points[0].m_id.key=0}else if(E<=0){if((u-S.x)*(u-S.x)+(m-S.y)*(m-S.y)>f*f)return;t.m_pointCount=1,t.m_type=C.e_faceA,t.m_localPlaneNormal.x=u-S.x,t.m_localPlaneNormal.y=m-S.y,t.m_localPlaneNormal.Normalize(),t.m_localPoint.SetV(S),t.m_points[0].m_localPoint.SetV(i.m_p),t.m_points[0].m_id.key=0}else{var T=.5*(A.x+S.x),D=.5*(A.y+S.y);if((_=(u-T)*g[b].x+(m-D)*g[b].y)>f)return;t.m_pointCount=1,t.m_type=C.e_faceA,t.m_localPlaneNormal.x=g[b].x,t.m_localPlaneNormal.y=g[b].y,t.m_localPlaneNormal.Normalize(),t.m_localPoint.Set(T,D),t.m_points[0].m_localPoint.SetV(i.m_p),t.m_points[0].m_id.key=0}},_.TestOverlap=function(t,e){var n=e.lowerBound,i=t.upperBound,r=n.x-i.x,o=n.y-i.y;n=t.lowerBound,i=e.upperBound;var s=n.x-i.x,a=n.y-i.y;return!(r>0||o>0)&&!(s>0||a>0)},n.postDefs.push(function(){n.Collision.b2Collision.s_incidentEdge=_.MakeClipPointVector(),n.Collision.b2Collision.s_clipPoints1=_.MakeClipPointVector(),n.Collision.b2Collision.s_clipPoints2=_.MakeClipPointVector(),n.Collision.b2Collision.s_edgeAO=new o(1),n.Collision.b2Collision.s_edgeBO=new o(1),n.Collision.b2Collision.s_localTangent=new h,n.Collision.b2Collision.s_localNormal=new h,n.Collision.b2Collision.s_planePoint=new h,n.Collision.b2Collision.s_normal=new h,n.Collision.b2Collision.s_tangent=new h,n.Collision.b2Collision.s_tangent2=new h,n.Collision.b2Collision.s_v11=new h,n.Collision.b2Collision.s_v12=new h,n.Collision.b2Collision.b2CollidePolyTempVec=new h,n.Collision.b2Collision.b2_nullFeature=255}),f.b2ContactID=function(){this.features=new N},f.prototype.b2ContactID=function(){this.features._m_id=this},f.prototype.Set=function(t){this.key=t._key},f.prototype.Copy=function(){var t=new f;return t.key=this.key,t},Object.defineProperty(f.prototype,"key",{enumerable:!1,configurable:!0,get:function(){return this._key}}),Object.defineProperty(f.prototype,"key",{enumerable:!1,configurable:!0,set:function(t){void 0===t&&(t=0),this._key=t,this.features._referenceEdge=255&this._key,this.features._incidentEdge=(65280&this._key)>>8&255,this.features._incidentVertex=(16711680&this._key)>>16&255,this.features._flip=(4278190080&this._key)>>24&255}}),y.b2ContactPoint=function(){this.position=new h,this.velocity=new h,this.normal=new h,this.id=new f},d.b2Distance=function(){},d.Distance=function(t,e,n){++d.b2_gjkCalls;var i=n.proxyA,r=n.proxyB,o=n.transformA,c=n.transformB,l=d.s_simplex;l.ReadCache(e,i,o,r,c);for(var u,m=l.m_vertices,p=d.s_saveA,_=d.s_saveB,f=0,y=(l.GetClosestPoint().LengthSquared(),0),g=0;g<20;){for(f=l.m_count,y=0;y<f;y++)p[y]=m[y].indexA,_[y]=m[y].indexB;switch(l.m_count){case 1:break;case 2:l.Solve2();break;case 3:l.Solve3();break;default:s.b2Assert(!1)}if(3==l.m_count)break;(u=l.GetClosestPoint()).LengthSquared();var x=l.GetSearchDirection();if(x.LengthSquared()<Number.MIN_VALUE*Number.MIN_VALUE)break;var v=m[l.m_count];v.indexA=i.GetSupport(a.MulTMV(o.R,x.GetNegative())),v.wA=a.MulX(o,i.GetVertex(v.indexA)),v.indexB=r.GetSupport(a.MulTMV(c.R,x)),v.wB=a.MulX(c,r.GetVertex(v.indexB)),v.w=a.SubtractVV(v.wB,v.wA),++g,++d.b2_gjkIters;var b=!1;for(y=0;y<f;y++)if(v.indexA==p[y]&&v.indexB==_[y]){b=!0;break}if(b)break;++l.m_count}if(d.b2_gjkMaxIters=a.Max(d.b2_gjkMaxIters,g),l.GetWitnessPoints(t.pointA,t.pointB),t.distance=a.SubtractVV(t.pointA,t.pointB).Length(),t.iterations=g,l.WriteCache(e),n.useRadii){var w=i.m_radius,A=r.m_radius;if(t.distance>w+A&&t.distance>Number.MIN_VALUE){t.distance-=w+A;var S=a.SubtractVV(t.pointB,t.pointA);S.Normalize(),t.pointA.x+=w*S.x,t.pointA.y+=w*S.y,t.pointB.x-=A*S.x,t.pointB.y-=A*S.y}else(u=new h).x=.5*(t.pointA.x+t.pointB.x),u.y=.5*(t.pointA.y+t.pointB.y),t.pointA.x=t.pointB.x=u.x,t.pointA.y=t.pointB.y=u.y,t.distance=0}},n.postDefs.push(function(){n.Collision.b2Distance.s_simplex=new I,n.Collision.b2Distance.s_saveA=new o(3),n.Collision.b2Distance.s_saveB=new o(3)}),g.b2DistanceInput=function(){},x.b2DistanceOutput=function(){this.pointA=new h,this.pointB=new h},v.b2DistanceProxy=function(){},v.prototype.Set=function(n){switch(n.GetType()){case i.e_circleShape:var o=n instanceof t?n:null;this.m_vertices=new r(1,!0),this.m_vertices[0]=o.m_p,this.m_count=1,this.m_radius=o.m_radius;break;case i.e_polygonShape:var a=n instanceof e?n:null;this.m_vertices=a.m_vertices,this.m_count=a.m_vertexCount,this.m_radius=a.m_radius;break;default:s.b2Assert(!1)}},v.prototype.GetSupport=function(t){for(var e=0,n=this.m_vertices[0].x*t.x+this.m_vertices[0].y*t.y,i=1;i<this.m_count;++i){var r=this.m_vertices[i].x*t.x+this.m_vertices[i].y*t.y;r>n&&(e=i,n=r)}return e},v.prototype.GetSupportVertex=function(t){for(var e=0,n=this.m_vertices[0].x*t.x+this.m_vertices[0].y*t.y,i=1;i<this.m_count;++i){var r=this.m_vertices[i].x*t.x+this.m_vertices[i].y*t.y;r>n&&(e=i,n=r)}return this.m_vertices[e]},v.prototype.GetVertexCount=function(){return this.m_count},v.prototype.GetVertex=function(t){return void 0===t&&(t=0),s.b2Assert(0<=t&&t<this.m_count),this.m_vertices[t]},b.b2DynamicTree=function(){},b.prototype.b2DynamicTree=function(){this.m_root=null,this.m_freeList=null,this.m_path=0,this.m_insertionCount=0},b.prototype.CreateProxy=function(t,e){var n=this.AllocateNode(),i=s.b2_aabbExtension,r=s.b2_aabbExtension;return n.aabb.lowerBound.x=t.lowerBound.x-i,n.aabb.lowerBound.y=t.lowerBound.y-r,n.aabb.upperBound.x=t.upperBound.x+i,n.aabb.upperBound.y=t.upperBound.y+r,n.userData=e,this.InsertLeaf(n),n},b.prototype.DestroyProxy=function(t){this.RemoveLeaf(t),this.FreeNode(t)},b.prototype.MoveProxy=function(t,e,n){if(s.b2Assert(t.IsLeaf()),t.aabb.Contains(e))return!1;this.RemoveLeaf(t);var i=s.b2_aabbExtension+s.b2_aabbMultiplier*(n.x>0?n.x:-n.x),r=s.b2_aabbExtension+s.b2_aabbMultiplier*(n.y>0?n.y:-n.y);return t.aabb.lowerBound.x=e.lowerBound.x-i,t.aabb.lowerBound.y=e.lowerBound.y-r,t.aabb.upperBound.x=e.upperBound.x+i,t.aabb.upperBound.y=e.upperBound.y+r,this.InsertLeaf(t),!0},b.prototype.Rebalance=function(t){if(void 0===t&&(t=0),null!=this.m_root)for(var e=0;e<t;e++){for(var n=this.m_root,i=0;0==n.IsLeaf();)n=this.m_path>>i&1?n.child2:n.child1,i=i+1&31;++this.m_path,this.RemoveLeaf(n),this.InsertLeaf(n)}},b.prototype.GetFatAABB=function(t){return t.aabb},b.prototype.GetUserData=function(t){return t.userData},b.prototype.Query=function(t,e){if(null!=this.m_root){var n=new r,i=0;for(n[i++]=this.m_root;i>0;){var o=n[--i];if(o.aabb.TestOverlap(e))if(o.IsLeaf()){if(!t(o))return}else n[i++]=o.child1,n[i++]=o.child2}}},b.prototype.RayCast=function(t,e){if(null!=this.m_root){var n=e.p1,i=e.p2,o=a.SubtractVV(n,i);o.Normalize();var s=a.CrossFV(1,o),c=a.AbsV(s),l=e.maxFraction,h=new u,m=0,p=0;m=n.x+l*(i.x-n.x),p=n.y+l*(i.y-n.y),h.lowerBound.x=Math.min(n.x,m),h.lowerBound.y=Math.min(n.y,p),h.upperBound.x=Math.max(n.x,m),h.upperBound.y=Math.max(n.y,p);var _=new r,f=0;for(_[f++]=this.m_root;f>0;){var y=_[--f];if(0!=y.aabb.TestOverlap(h)){var d=y.aabb.GetCenter(),g=y.aabb.GetExtents();if(!(Math.abs(s.x*(n.x-d.x)+s.y*(n.y-d.y))-c.x*g.x-c.y*g.y>0))if(y.IsLeaf()){var x=new T;if(x.p1=e.p1,x.p2=e.p2,x.maxFraction=e.maxFraction,0==(l=t(x,y)))return;l>0&&(m=n.x+l*(i.x-n.x),p=n.y+l*(i.y-n.y),h.lowerBound.x=Math.min(n.x,m),h.lowerBound.y=Math.min(n.y,p),h.upperBound.x=Math.max(n.x,m),h.upperBound.y=Math.max(n.y,p))}else _[f++]=y.child1,_[f++]=y.child2}}}},b.prototype.AllocateNode=function(){if(this.m_freeList){var t=this.m_freeList;return this.m_freeList=t.parent,t.parent=null,t.child1=null,t.child2=null,t}return new A},b.prototype.FreeNode=function(t){t.parent=this.m_freeList,this.m_freeList=t},b.prototype.InsertLeaf=function(t){if(++this.m_insertionCount,null==this.m_root)return this.m_root=t,void(this.m_root.parent=null);var e=t.aabb.GetCenter(),n=this.m_root;if(0==n.IsLeaf())do{var i=n.child1,r=n.child2;n=Math.abs((i.aabb.lowerBound.x+i.aabb.upperBound.x)/2-e.x)+Math.abs((i.aabb.lowerBound.y+i.aabb.upperBound.y)/2-e.y)<Math.abs((r.aabb.lowerBound.x+r.aabb.upperBound.x)/2-e.x)+Math.abs((r.aabb.lowerBound.y+r.aabb.upperBound.y)/2-e.y)?i:r}while(0==n.IsLeaf());var o=n.parent,s=this.AllocateNode();if(s.parent=o,s.userData=null,s.aabb.Combine(t.aabb,n.aabb),o){n.parent.child1==n?o.child1=s:o.child2=s,s.child1=n,s.child2=t,n.parent=s,t.parent=s;do{if(o.aabb.Contains(s.aabb))break;o.aabb.Combine(o.child1.aabb,o.child2.aabb),s=o,o=o.parent}while(o)}else s.child1=n,s.child2=t,n.parent=s,t.parent=s,this.m_root=s},b.prototype.RemoveLeaf=function(t){if(t!=this.m_root){var e,n=t.parent,i=n.parent;if(e=n.child1==t?n.child2:n.child1,i)for(i.child1==n?i.child1=e:i.child2=e,e.parent=i,this.FreeNode(n);i;){var r=i.aabb;if(i.aabb=u.Combine(i.child1.aabb,i.child2.aabb),r.Contains(i.aabb))break;i=i.parent}else this.m_root=e,e.parent=null,this.FreeNode(n)}else this.m_root=null},w.b2DynamicTreeBroadPhase=function(){this.m_tree=new b,this.m_moveBuffer=new r,this.m_pairBuffer=new r,this.m_pairCount=0},w.prototype.CreateProxy=function(t,e){var n=this.m_tree.CreateProxy(t,e);return++this.m_proxyCount,this.BufferMove(n),n},w.prototype.DestroyProxy=function(t){this.UnBufferMove(t),--this.m_proxyCount,this.m_tree.DestroyProxy(t)},w.prototype.MoveProxy=function(t,e,n){this.m_tree.MoveProxy(t,e,n)&&this.BufferMove(t)},w.prototype.TestOverlap=function(t,e){var n=this.m_tree.GetFatAABB(t),i=this.m_tree.GetFatAABB(e);return n.TestOverlap(i)},w.prototype.GetUserData=function(t){return this.m_tree.GetUserData(t)},w.prototype.GetFatAABB=function(t){return this.m_tree.GetFatAABB(t)},w.prototype.GetProxyCount=function(){return this.m_proxyCount},w.prototype.UpdatePairs=function(t){var e=this;e.m_pairCount=0;var n,i=0;for(i=0;i<e.m_moveBuffer.length;++i){function r(t){if(t==n)return!0;e.m_pairCount==e.m_pairBuffer.length&&(e.m_pairBuffer[e.m_pairCount]=new S);var i=e.m_pairBuffer[e.m_pairCount];return i.proxyA=t<n?t:n,i.proxyB=t>=n?t:n,++e.m_pairCount,!0}n=e.m_moveBuffer[i];var o=e.m_tree.GetFatAABB(n);e.m_tree.Query(r,o)}e.m_moveBuffer.length=0;for(i=0;i<e.m_pairCount;){var s=e.m_pairBuffer[i];for(t(e.m_tree.GetUserData(s.proxyA),e.m_tree.GetUserData(s.proxyB)),++i;i<e.m_pairCount;){var a=e.m_pairBuffer[i];if(a.proxyA!=s.proxyA||a.proxyB!=s.proxyB)break;++i}}},w.prototype.Query=function(t,e){this.m_tree.Query(t,e)},w.prototype.RayCast=function(t,e){this.m_tree.RayCast(t,e)},w.prototype.Validate=function(){},w.prototype.Rebalance=function(t){void 0===t&&(t=0),this.m_tree.Rebalance(t)},w.prototype.BufferMove=function(t){this.m_moveBuffer[this.m_moveBuffer.length]=t},w.prototype.UnBufferMove=function(t){var e=parseInt(this.m_moveBuffer.indexOf(t));this.m_moveBuffer.splice(e,1)},w.prototype.ComparePairs=function(t,e){return 0},w.__implements={},w.__implements[U]=!0,A.b2DynamicTreeNode=function(){this.aabb=new u},A.prototype.IsLeaf=function(){return null==this.child1},S.b2DynamicTreePair=function(){},C.b2Manifold=function(){this.m_pointCount=0},C.prototype.b2Manifold=function(){this.m_points=new r(s.b2_maxManifoldPoints);for(var t=0;t<s.b2_maxManifoldPoints;t++)this.m_points[t]=new M;this.m_localPlaneNormal=new h,this.m_localPoint=new h},C.prototype.Reset=function(){for(var t=0;t<s.b2_maxManifoldPoints;t++)(this.m_points[t]instanceof M?this.m_points[t]:null).Reset();this.m_localPlaneNormal.SetZero(),this.m_localPoint.SetZero(),this.m_type=0,this.m_pointCount=0},C.prototype.Set=function(t){this.m_pointCount=t.m_pointCount;for(var e=0;e<s.b2_maxManifoldPoints;e++)(this.m_points[e]instanceof M?this.m_points[e]:null).Set(t.m_points[e]);this.m_localPlaneNormal.SetV(t.m_localPlaneNormal),this.m_localPoint.SetV(t.m_localPoint),this.m_type=t.m_type},C.prototype.Copy=function(){var t=new C;return t.Set(this),t},n.postDefs.push(function(){n.Collision.b2Manifold.e_circles=1,n.Collision.b2Manifold.e_faceA=2,n.Collision.b2Manifold.e_faceB=4}),M.b2ManifoldPoint=function(){this.m_localPoint=new h,this.m_id=new f},M.prototype.b2ManifoldPoint=function(){this.Reset()},M.prototype.Reset=function(){this.m_localPoint.SetZero(),this.m_normalImpulse=0,this.m_tangentImpulse=0,this.m_id.key=0},M.prototype.Set=function(t){this.m_localPoint.SetV(t.m_localPoint),this.m_normalImpulse=t.m_normalImpulse,this.m_tangentImpulse=t.m_tangentImpulse,this.m_id.Set(t.m_id)},E.b2Point=function(){this.p=new h},E.prototype.Support=function(t,e,n){return void 0===e&&(e=0),void 0===n&&(n=0),this.p},E.prototype.GetFirstVertex=function(t){return this.p},T.b2RayCastInput=function(){this.p1=new h,this.p2=ne